Harita Oylama (Map Chooser)
Moderatör: Moderatörler
-
- Mesajlar: 1761
- Kayıt: Çrş Şub 22, 2017 11:28 pm
- Konum: Istanbul
- Server Ip/DNS: Cs.teknoklan.com
- Clan İsmi: TeknoKlan
- İletişim:
Harita Oylama (Map Chooser)
o zaman sayaci menude saydirmayip huda koyuyorum. ?
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 1531
- Kayıt: Sal May 10, 2016 12:21 pm
- Konum: İstanbul
- Server Ip/DNS: 213.238.173.117
- Clan İsmi: Holigan | Clan
Harita Oylama (Map Chooser)
Daha önce forumda yapılmıştı sanırım dediğin taktik oy verdikten sonra hud olarak gözüküyor oylama durumu.PaZee yazdı:o zaman sayaci menude saydirmayip huda koyuyorum. ?
Link: | |
Linklerini gizle |
-
- Mesajlar: 1761
- Kayıt: Çrş Şub 22, 2017 11:28 pm
- Konum: Istanbul
- Server Ip/DNS: Cs.teknoklan.com
- Clan İsmi: TeknoKlan
- İletişim:
Harita Oylama (Map Chooser)
Kod: Tümünü seç
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#define MAX_MAP 250
new g_iTimerVote[33];
new g_iNumRTV;
new g_iPlayerProcc;
new bool:g_LastRound;
new b_HasRTV[33];
new Float:g_iLastSec[33];
new bool:g_Vote;
new bool:b_HasAlreadyVoted[33];
new iAllVoted;
new sonuc;
new SmiLe[MAX_MAP][250],configsdir[250],komutdosyasi[250],CSmiLeFaCe[MAX_MAP][250],CSmiLeFaCee,FaCe[6],LeFa[6];
new REKLAMCVAR;
new REKLAM[32];
#define TimeVote 30
new bironcekiharita;
new bironcekiharitacevir[32];
new ondanbironcekiharita;
new ondanbironcekiharitacevir[32];
new ondanbirbironcekiharita;
new ondanbirbironcekiharitacevir[32];
new elsonunubekle
public plugin_init()
{
register_plugin("CSM Harita Sistemi [RTV]", "2.0", "-CSmiLeFaCe");
register_clcmd("say /RTV", "RockTheVote")
register_clcmd("say !RTV", "RockTheVote")
register_clcmd("say .RTV", "RockTheVote")
register_clcmd("say /haritalar", "oynanilanharitalarinsirasi")
register_clcmd("say !haritalar", "oynanilanharitalarinsirasi")
register_clcmd("say .haritalar", "oynanilanharitalarinsirasi")
register_concmd("say nextmap", "Show_Nextmap")
register_menucmd(register_menuid("VoteMenu"), 1023, "ActionVoteMenu");
register_logevent("RoundEnd", 2, "1=Round_End")
elsonunubekle = register_cvar("csm_elsonunubekle","1")
bironcekiharita = register_cvar("csm_bironcekiharita","YOK")
get_pcvar_string(bironcekiharita,bironcekiharitacevir,31)
ondanbironcekiharita = register_cvar("csm_ondanbironcekiharita","YOK")
get_pcvar_string(ondanbironcekiharita,ondanbironcekiharitacevir,31)
ondanbirbironcekiharita = register_cvar("csm_ondanbirbironcekiharita","YOK")
get_pcvar_string(ondanbirbironcekiharita,ondanbirbironcekiharitacevir,31)
new suankimap[250];
get_mapname(suankimap,249);
set_cvar_string("csm_ondanbirbironcekiharita", ondanbironcekiharitacevir);
set_cvar_string("csm_ondanbironcekiharita", bironcekiharitacevir);
set_cvar_string("csm_bironcekiharita", suankimap);
set_task(45.0, "ClCmdVote", _, _, _, "d") //Buradaki 45 timeleft'in bitmesine kaç saniye kala çalışacağını gösterir.
register_cvar("amx_nextmap", "");
set_cvar_string("amx_nextmap", "");
REKLAMCVAR = register_cvar("csm_sayreklam","csplugin")
get_pcvar_string(REKLAMCVAR,REKLAM,31)
}
public oynanilanharitalarinsirasi(id){
new suankimap[250];
get_mapname(suankimap,249);
ChatColor(id,"Oynanilan haritalarin sirasi; !team%s !y--> !team%s !y--> !team%s !y--> !team%s",ondanbirbironcekiharitacevir,ondanbironcekiharitacevir ,bironcekiharitacevir, suankimap);
}
public plugin_natives()
{
register_native("HaritaOyla", "ClCmdVote", 1) //Başka eklentiler ile birleştirmek için native kullandım.
}
public Show_Nextmap(id)
{
new harita[32]
get_cvar_string("amx_nextmap",harita,sizeof(harita) - 1)
if(harita[0])
{
ChatColor(id, "!teamSonraki Harita: !g%s", harita)
}
else
ChatColor(id, "!teamSonraki Harita daha oylanmadi.")
}
public RoundEnd()
if(g_LastRound)
set_task(1.0, "changelevel");
public RockTheVote(id)
{
if(g_Vote)
{
ChatColor(id, "!teamOylama basladi.")
return PLUGIN_CONTINUE;
}
if(b_HasRTV[id])
{
ChatColor(id, "!teamOylama icin hazirsiniz.")
return PLUGIN_CONTINUE;
}
new iNum, szPlayers[32];
get_players(szPlayers, iNum, "hc")
g_iNumRTV++;
b_HasRTV[id] = true;
if(g_iNumRTV == iNum)
{
ChatColor(0, "!teamKatilimci!g(%d) !teamgerekli sayiya ulasti. Harita oylamasi geliyor..", g_iNumRTV)
set_task(5.0, "ClCmdVote");
}
else
ChatColor(0, "!teamOylama icin !g%d !teamkadar istege ihtiyacimiz var !gsay /RTV", iNum-g_iNumRTV)
return PLUGIN_HANDLED;
}
public LoadMapsInVote()
{
get_configsdir(configsdir,249);
new szMapName[ 64 ];
get_mapname( szMapName, 63 );
new satirsayisi,sonuc;
format(komutdosyasi,249,"%s/maps.ini",configsdir);
for(new i=0,deger;i<MAX_MAP;i++){
sonuc = read_file(komutdosyasi,i,SmiLe[i],249,satirsayisi);
if(sonuc != 0){
CSmiLeFaCee++;
CSmiLeFaCe[CSmiLeFaCee] = SmiLe[i];
deger++;}
}
}
public ClCmdVote(){
client_cmd(0, "spk Gman/gman_choose2")
set_cvar_float("mp_timelimit", 0.0)
set_task(1.0, "ValueVote", _, _, _, "a", 6);
}
public ValueVote()
{
static timer = 6
timer--
switch(timer)
{
case 0:
{
ChatColor(0, "!teamHarita oylamasi !gAKTIF")
g_Vote = true;
FaCe[0] = 0;
FaCe[1] = 0;
FaCe[2] = 0;
FaCe[3] = 0;
FaCe[4] = 0;
startvote()
arrayset(FaCe, 0, sizeof(FaCe));
arrayset(g_iTimerVote, TimeVote-10, 33);
arrayset(b_HasAlreadyVoted, false, 33);
set_task(float(TimeVote), "endvote");
timer = 6;
set_cvar_string("amx_nextmap", "[Oylamada]");
}
default:
{
ChatColor(0, "!teamHarita oylamasinin baslamasina !g%d saniye..", timer)
}
}
}
public startvote()
{
if(!g_Vote)
return PLUGIN_CONTINUE;
CSmiLeFaCee = 0;
LoadMapsInVote()
new suankimap[250];
get_mapname(suankimap,249);
if(CSmiLeFaCee >= 6){
LeFa[0] = random_num(1,CSmiLeFaCee);
LeFa[1] = random_num(1,CSmiLeFaCee);
LeFa[2] = random_num(1,CSmiLeFaCee);
LeFa[3] = random_num(1,CSmiLeFaCee);
LeFa[4] = random_num(1,CSmiLeFaCee);
for(new i = 0;i<5;i++){
for(new j = 0;j<5;j++){
if(i == j)
continue;
if(LeFa[i] == LeFa[j] || equal(CSmiLeFaCe[LeFa[i]],suankimap) || equal(CSmiLeFaCe[LeFa[i]],bironcekiharitacevir) || equal(CSmiLeFaCe[LeFa[i]],ondanbironcekiharitacevir)){
LeFa[i] = random_num(1,CSmiLeFaCee); // ||
i = 0;}
}
}
}
return PLUGIN_HANDLED;
}
public hudgoster(id)
{
set_hudmessage(255, 0, 0, 0.0, 0.70, 0, 6.0, 1.1)
show_hudmessage(id, "%s [y%d%%]",CSmiLeFaCe[LeFa[1]], FaCe[1] * g_iPlayerProcc)
set_hudmessage(255, 0, 0, 0.0, 0.65, 0, 6.0, 1.1)
show_hudmessage(id, "%s [y%d%%]",CSmiLeFaCe[LeFa[2]], FaCe[2] * g_iPlayerProcc)
set_hudmessage(255, 0, 0, 0.0, 0.60, 0, 6.0, 1.1)
show_hudmessage(id, "%s [y%d%%]",CSmiLeFaCe[LeFa[3]], FaCe[3] * g_iPlayerProcc)
set_hudmessage(255, 0, 0, 0.0, 0.55, 0, 6.0, 1.1)
show_hudmessage(id, "%s [y%d%%]",CSmiLeFaCe[LeFa[4]], FaCe[4] * g_iPlayerProcc)
}
public ChooseMap(id)
{
if(!g_Vote)
return PLUGIN_CONTINUE;
static Item[64];
new Menu,szSec[32];
formatex(Item,charsmax(Item),"\yHarita Oylama Zamani Toplam Oy %d : ^n\dOylamanin bitmesine \r%d \dSaniye^n",iAllVoted, g_iTimerVote[id], szSec)
Menu = menu_create(Item,"ActionVoteMenu")
formatex(Item,charsmax(Item),"\yRastgele Kullan")
menu_additem(Menu,Item,"1")
formatex(Item,charsmax(Item),"\r \w%s \d[\y%d%%\d]",CSmiLeFaCe[LeFa[1]], FaCe[1] * g_iPlayerProcc)
menu_additem(Menu,Item,"2")
formatex(Item,charsmax(Item),"\r \w%s \d[\y%d%%\d]",CSmiLeFaCe[LeFa[2]], FaCe[2] * g_iPlayerProcc)
menu_additem(Menu,Item,"3")
formatex(Item,charsmax(Item),"\r \w%s \d[\y%d%%\d]",CSmiLeFaCe[LeFa[3]], FaCe[3] * g_iPlayerProcc)
menu_additem(Menu,Item,"4")
formatex(Item,charsmax(Item),"\r \w%s \d[\y%d%%\d]",CSmiLeFaCe[LeFa[4]], FaCe[4] * g_iPlayerProcc)
menu_additem(Menu,Item,"5")
formatex(Item,charsmax(Item),"\rOylamaya Katilma")
menu_additem(Menu,Item,"6")
menu_setprop(Menu, MPROP_EXITNAME, "\rCikis")
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu)
return PLUGIN_HANDLED
}
public ActionVoteMenu(id,menu,item)
{
new szName[32]
get_user_name(id, szName, 31)
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new access,callback,data[6],iname[64]
menu_item_getinfo(menu,item,access,data,5,iname,63,callback)
new key = str_to_num(data)
if(!b_HasAlreadyVoted[id])
{
switch(key)
{
case 1:
{
new tus = random_num(1,5)
FaCe[tus]++
client_cmd(id, "spk Gman/gman_noreg")
b_HasAlreadyVoted[id] = true;
ChatColor(0, "!g%s !teamoyuncusunun sectigi harita !g%s", szName, CSmiLeFaCe[LeFa[tus]]);
iAllVoted++;
}
case 2:
{
FaCe[key-1]++
client_cmd(id, "spk Gman/gman_noreg")
b_HasAlreadyVoted[id] = true;
ChatColor(0, "!g%s !teamoyuncusunun sectigi harita !g%s", szName, CSmiLeFaCe[LeFa[key-1]]);
iAllVoted++;
}
case 3:
{
FaCe[key-1]++
client_cmd(id, "spk Gman/gman_noreg")
b_HasAlreadyVoted[id] = true;
ChatColor(0, "!g%s !teamoyuncusunun sectigi harita !g%s", szName, CSmiLeFaCe[LeFa[key-1]]);
iAllVoted++;
}
case 4:
{
FaCe[key-1]++
client_cmd(id, "spk Gman/gman_noreg")
b_HasAlreadyVoted[id] = true;
ChatColor(0, "!g%s !teamoyuncusunun sectigi harita !g%s", szName, CSmiLeFaCe[LeFa[key-1]]);
iAllVoted++;
}
case 5:
{
FaCe[key-1]++
client_cmd(id, "spk Gman/gman_noreg")
b_HasAlreadyVoted[id] = true;
ChatColor(0, "!g%s !teamoyuncusunun sectigi harita !g%s", szName, CSmiLeFaCe[LeFa[key-1]]);
iAllVoted++;
}
case 6:
{
if(!b_HasAlreadyVoted[id])
{
ChatColor(0, "!g%s !teamoylamaya katilmadi.", szName);
b_HasAlreadyVoted[id] = true;
}
return PLUGIN_CONTINUE;
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public endvote()
{
new kazanan = LeFa[0], eniyiharita = FaCe[0];
for(new i = 0; i <5; i++){
if(FaCe[i] > eniyiharita){
kazanan = LeFa[i];
eniyiharita = FaCe[i];}
}
g_Vote = false;
if(!is_map_valid(CSmiLeFaCe[kazanan]))
{
FaCe[0] = 0;
FaCe[1] = 0;
FaCe[2] = 0;
FaCe[3] = 0;
FaCe[4] = 0;
iAllVoted = 0;
client_cmd(0, "spk Gman/gman_nowork")
set_task(5.0, "ClCmdVote");
ChatColor(0, "!teamSeçilen harita !g%s ^"!ycstrike/maps!g^" !teamklasöründe !gYOK.!teamOylama islemi yeniden yapilacak.", CSmiLeFaCe[kazanan])
return PLUGIN_HANDLED;
}
ChatColor(0, "!teamSonraki Harita: !g%s", CSmiLeFaCe[kazanan])
set_cvar_string("amx_nextmap", CSmiLeFaCe[kazanan]);
sonuc = kazanan;
if(get_pcvar_num(elsonunubekle) == 1){
g_LastRound = true;
set_dhudmessage( 149,68,0, -1.0, -0.70, 2, 4.0, 11.0, 0.01, 1.5 )
show_dhudmessage(0, "Sonraki Harita: %s^nHarita el sonunda degisecek",CSmiLeFaCe[kazanan])
}
else{
set_task(1.0, "changelevel");
}
return PLUGIN_HANDLED;
}
public changelevel()
{
set_cvar_float("mp_timelimit", 0.0);
set_dhudmessage( 0,255,0, -1.0, -0.40, 0, 11.0, 6.0, 0.1, 1.5 )
show_dhudmessage(0, "^nHarita %s olarak degistiriliyor", CSmiLeFaCe[sonuc])
//client_cmd(0, "spk Gman/gman_wise")
new iNum, szPlayers[32];
get_players(szPlayers, iNum)
for(new i; i < iNum; i++)
{
client_cmd(szPlayers[i], "drop;wait;wait;wait;wait;wait;drop;wait;wait;wait;wait;wait;drop");
set_pev(szPlayers[i], pev_flags, pev(szPlayers[i], pev_flags) | FL_FROZEN)
}
set_task(3.5, "changelevel1");
set_task(6.0, "changelevel2");
}
public changelevel1()
{
new _modName[10]
get_modname(_modName, 9)
if (!equal(_modName, "zp"))
{
message_begin(MSG_ALL, SVC_INTERMISSION)
message_end()
}
}
public changelevel2()
{
server_cmd("changelevel %s", CSmiLeFaCe[sonuc]);
}
public client_PreThink(id)
{
if(!g_Vote)
{
return;
}
if(g_iTimerVote[id] <= -1)
{
return;
}
if(iAllVoted)
{
g_iPlayerProcc = 100 / iAllVoted;
}
else
{
g_iPlayerProcc = 0;
}
if((get_gametime() - g_iLastSec[id]) >= 1.0)
{
if(g_iTimerVote[id] != 0)
{
g_iTimerVote[id]--
g_iLastSec[id] = get_gametime();
if(!b_HasAlreadyVoted[id])
{
ChooseMap(id)
}
if(b_HasAlreadyVoted[id])
{
hudgoster(id)
}
}
else
{
show_menu(id, 0, "^n"), g_iTimerVote[id] = -1;
}
}
}
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
format(msg, sizeof(msg), "^1[^4%s^1] %s", REKLAM, msg)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!team", "^3")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
denemedim tepe tepe kullan

Link: | |
Linklerini gizle |