Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Harita Oylama (Map Chooser)

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Kullanıcı avatarı

Konu Sahibi
holigan
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)

Mesaj gönderen holigan »

Arkadaşlar sizden bir harita oylama eklentisi isteyeceğim isteklerim aşağıda;
Şuan oynanan mapın süresi bitince gelen oylamada,şuan oynanan map'ten önce oynanan 3 harita oylamada çıkmayacak.
Oylamada çıkan seçenek sayısı 6 olacak ve 1. seçenekte Rastgele Oy Ver seçeneği bulunacak ve oyuncular oyun esnasında oyunda daldıklarından ötürü sürekli ilk seçenekteki map'i seçemeyecekler.

Not : CSM Harita Oylama Sistemi (CSM MAP CHOOSER) üzerine edit yapmamanızı istiyorum.
Standart oylama eklentisi olabilir veya elinde farklı ve sorunsuz bir harita oylama sistemi olan varsa edit çekip atabilirse iyi olur.

@redarmygaming
@Yek'-ta
@PaZee

Link:
Linklerini gizle
Linki Kopyala

PaZee
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)

Mesaj gönderen PaZee »

konuyu tasidim eklenti isteklerine acicaksin bu tur konulari.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Taha Demirbaş
Mesajlar: 10427
Kayıt: Cum Tem 08, 2016 10:05 pm
Konum: Türkiye
İletişim:

Harita Oylama (Map Chooser)

Mesaj gönderen Taha Demirbaş »

Konu istemi disi yorumlar kaldirildi.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Konu Sahibi
holigan
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)

Mesaj gönderen holigan »

Yardımcı olacak yok mu?

Link:
Linklerini gizle
Linki Kopyala

PaZee
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)

Mesaj gönderen PaZee »

Buyur ;

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 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),"\r \w%s \d[\y%d%%\d]",CSmiLeFaCe[LeFa[5]], FaCe[5] * g_iPlayerProcc)
   menu_additem(Menu,Item,"6")
   formatex(Item,charsmax(Item),"\rOylamaya Katilma")
   menu_additem(Menu,Item,"7")
   
   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:
      {
         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 7:
      {
         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]--, ChooseMap(id), g_iLastSec[id] = get_gametime();
      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();
         }
      }
   }
}

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Konu Sahibi
holigan
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)

Mesaj gönderen holigan »

Dostum eline sağlık eklenti sorunsuz gibi gözüküyor.
Sadece ufak bir sorun var seçenek sayısı 6 fakat;
1 map ismi %
2 map ismi %
3 map ismi %
4 map ismi %
5 map ismi %
6 %
6. seçenekte map ismi yok.


PaZee yazdı:Buyur ;

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 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),"\r \w%s \d[\y%d%%\d]",CSmiLeFaCe[LeFa[5]], FaCe[5] * g_iPlayerProcc)
   menu_additem(Menu,Item,"6")
   formatex(Item,charsmax(Item),"\rOylamaya Katilma")
   menu_additem(Menu,Item,"7")
   
   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:
      {
         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 7:
      {
         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]--, ChooseMap(id), g_iLastSec[id] = get_gametime();
      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();
         }
      }
   }
}

Link:
Linklerini gizle
Linki Kopyala

PaZee
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)

Mesaj gönderen PaZee »

maps.ini de kac tane map var ?

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Konu Sahibi
holigan
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)

Mesaj gönderen holigan »

PaZee yazdı:maps.ini de kac tane map var ?
zm_ice_attack5
zm_holigan_base
zm_mountain_base
zm_street_base
zm_gold_dust_new
zm_3day
zm_snow_dust2
zm_sea_dust2
zm_heal_dust2_v2
zm_holigan_dust2
zm_dust2_CSO
zm_fdust2x2
zm_3room
zm_holigan_cross
zm_x2_holiganz
zm_x3_holiganz
zm_titan
zm_citylost_b5
zm_blue_base_new
zm_gold_dust_new

Link:
Linklerini gizle
Linki Kopyala

PaZee
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)

Mesaj gönderen PaZee »

plugine 4 tane map adanmis kusura bakma bazen geceleri sinyal gidip gelebiliyor buyur :D ;


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 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]--, ChooseMap(id), g_iLastSec[id] = get_gametime();
      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();
         }
      }
   }
}

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Konu Sahibi
holigan
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)

Mesaj gönderen holigan »

Oylama esnasında sol tarafta her hangi bir işlem yapılamıyor.
Örneğin harita oylaması mapin başlarında gelirse silah alma menüsü kullanılamıyor.
Onu da ayarlarmısın.
PaZee yazdı:plugine 4 tane map adanmis kusura bakma bazen geceleri sinyal gidip gelebiliyor buyur :D ;


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 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]--, ChooseMap(id), g_iLastSec[id] = get_gametime();
      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();
         }
      }
   }
}

Link:
Linklerini gizle
Linki Kopyala
Cevapla