Map'ın Yeniden Açılma Plugini
Bildiğiniz gibi serverda başka bir mod açtığınızda mapı yeniden açmanız lazım. Bunun için plugin istiyorum
Eğer yapabilirseniz bazı isteklerim olacak. Bu isteklerim vereceğiniz pluginde oladabilir olmayadabilir. Plugin verinde siz :)
-Pluginin açma kapatma cvar kodu olursa çok iyi olur. "amx_cvar map_restart "
-Map açıldıktan bir süre sonra bir menu gelmesini istiyorum:
Haritanin_Modu_Açilsin_mi?
1.Evet
2.Hayır
Eğer "evet" çıkarsa mapın yeniden açılmasını istiyorum.
Cevap: Map'ın Yeniden Açılma Plugini
Güncel++
Pluginle ilgili anlamadığınız bir şey varsa lütfen yazın.Artık konuyla bir coder ilgilenmesini gönülden istiyorum :rolleyes:
@JDM
@akcaliberkk
Cevap: Map'ın Yeniden Açılma Plugini
Her dakka farklı modun mapi mi açılıyor ?
Map açılınca oylamaya ne gerek var ? Atıyorum jail map geldi ama zombi mod açık, herkes hayıra basarsa jail mapte zombi mi oynayacaksınız ?
Cevap: Map'ın Yeniden Açılma Plugini
Alıntı:
akcaliberkk Nickli Üyeden Alıntı
Her dakka farklı modun mapi mi açılıyor ?
Map açılınca oylamaya ne gerek var ? Atıyorum jail map geldi ama zombi mod açık, herkes hayıra basarsa jail mapte zombi mi oynayacaksınız ?
Bende birşey anlamadım valla onun dediğinden :D
Cevap: Map'ın Yeniden Açılma Plugini
Alıntı:
akcaliberkk Nickli Üyeden Alıntı
Her dakka farklı modun mapi mi açılıyor ?
mapcycle de öyle.
Alıntı:
akcaliberkk Nickli Üyeden Alıntı
Map açılınca oylamaya ne gerek var ? Atıyorum jail map geldi ama zombi mod açık, herkes hayıra basarsa jail mapte zombi mi oynayacaksınız ?
Onu şey için yazdım. Olmayadabilir. Mesala ctf mod yüklü ya da csdeathmatch mod yüklü (Bunların gibi en az 15 modum var).. Benim sadece csdm_* uzantılı maplarda csdm açılıyor. de_dust2 mapını açtığımda csdm modu devam edicek. Taaa ki de_dust2 mapını tekrar açtığımda. Bazıları pro mapta da csdm ister. Bu yüzden oylama istiyordum. Ama olmasa da olur yani.. Benim için sorun yok. :D
yani benim için önemli olan şudurki : Oyunda admin olmadığı zaman mapı yeniden açacak plugin istiyorum. Bu plugin olmassa butun gun serverda takılmak zorunda kalıcam:$
Cevap: Map'ın Yeniden Açılma Plugini
Anlamadım şimdi senin serverın mape göre zaten modları değiştiriyor mu ? Bizden sadece el başı restart oylaması mı yapmamızı istiyorsun ?
Cevap: Map'ın Yeniden Açılma Plugini
Modlar map map açılıyor. Mesela csdm_* da csdm , zm_* de zombi ..
Alıntı:
akcaliberkk Nickli Üyeden Alıntı
Anlamadım şimdi senin serverın mape göre zaten modları değiştiriyor mu ? Bizden sadece el başı restart oylaması mı yapmamızı istiyorsun ?
mod değiştirmek için modun mapını iki kere açman lazım.. Mesela jail oynuyorsun. de_dust2 açtığında jail devam eder. Yeniden de_dust2 açman lazım pro oynamak için..
yani benim için önemli olan şudurki : Oyunda admin olmadığı zaman mapı yeniden açacak plugin istiyorum. Bu plugin olmassa butun gun serverda takılmak zorunda kalıcamhttps://www.csplague.com/images/smilies/embrassed.gif Mesela bende maç botu var. adminler say'a /restart yazdığında map yeniden açılıyor. Onun gibi sadece bu işi oto yapcak plugin arıyorum
İşte belki işinize yarar diye maç botumun .smasından map restart bölümlerini kestim
PHP- Kodu:
* Map Komutlari */
register_concmd("say /maps","MapsMenu", ADMIN_MAP)
register_concmd("say !maps","MapsMenu", ADMIN_MAP)
register_concmd("say .maps","MapsMenu", ADMIN_MAP)
register_concmd("say !restart","cmdMapRes", ADMIN_MAP)
register_concmd("say /restart","cmdMapRes", ADMIN_MAP)
register_concmd("say .restart","cmdMapRes", ADMIN_MAP)
........
public cmdMapRes (id, level, cid){
if( !cmd_access( id, level, cid, 1 ) )
return PLUGIN_HANDLED;
server_cmd("restart");
chat_color(0,"!g[%s] !tMap !yYeniden Aciliyor.",szStag)
return PLUGIN_HANDLED;
}
Bu işlerden hiç anlamam ama "public cmdMapRes (id, level, cid){" bölümünü belki sizin işinize yarar diye koydum. Amacım en kısa sürede map_restart pluginine sahip olmak:o
@akcaliberkk
@JDM
Artık derdimi anlattım sanıyorum:) Kısaca; Herhangi bir mapı açtığımızda belli bir süre sonra (1-2 dakika) mapı yeniden açıcak plugin istiyorum. Açma kapatma cvar kodu olursa iyi olur. Oylama önemsiz. Yapmayabilirsiniz. Banada saçma geldi :)
Cevap: Map'ın Yeniden Açılma Plugini
Tamam şimdi anlaşıldı. En başından deseydin map değiştiğinde mapi tekrar açma oylaması yapılmasını istiyorum diye daha kısa sürede yapılırdı isteğin :)
PHP- Kodu:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Mod Change Vote"
#define VERSION "1.0"
#define AUTHOR "akcaliberkk"
#define RESTART_ADMIN ADMIN_MAP
new menu;
new vote[2];
new status, admin;
new callback;
new const file[] = "addons/amxmodx/configs/mapchanger_cache.txt";
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
status = register_cvar("restartvote","1")
admin = register_cvar("restartvote_obeyadmin","1")
callback = menu_makecallback("MenuCallBack")
}
public plugin_cfg() {
if(!get_pcvar_num(status)) return PLUGIN_CONTINUE
new mapname[32];get_mapname(mapname,31);
new prefix[12];get_map_prefix(mapname,prefix)
if(!file_exists(file)) {
new f = fopen(file,"wt")
fclose(f)
}
else {
new szData[32],txtlen;
read_file(file,0,szData,31,txtlen)
if(!equali(szData,prefix)) {
set_task(15.0,"VoteStart")
}
}
write_file(file,prefix,0)
return PLUGIN_CONTINUE
}
public VoteStart() {
new players[32],inum;
get_players(players,inum)
menu = menu_create("\rHaritanin Modu Acilsin Mi ?","MenuHandle")
menu_additem(menu,"Evet","")
menu_additem(menu,"Hayir","")
if(get_pcvar_num(admin)) menu_additem(menu,"\yADMIN: \rOylamayi Durdur","",RESTART_ADMIN, callback)
menu_setprop(menu,MPROP_EXIT,MEXIT_NEVER)
for(new i;i<inum;i++) {
menu_display(players[i],menu)
}
set_task(15.0,"VoteTimeout",123)
}
public MenuCallBack(id,menu,item) {
if(!access(id,RESTART_ADMIN)) {
menu_item_setname(menu,2,"\dADMIN: Oylamayi Durdur")
}
}
public MenuHandle(id, menu, item) {
switch(item) {
case 0: vote[0]++
case 1: vote[1]++
case 2: VoteForceStop(id);
}
}
public VoteTimeout() {
if( vote[0] > vote[1] ) {
client_print(0,print_chat,"[AMXX] Mod Oylamasi Sonucu: EVET ( E: %d - H: %d ) ", vote[0], vote[1])
client_print(0,print_chat,"[AMXX] Modun Aktif Olmasi Icin Map Yeniden Aciliyor !")
new mapname[32]; get_mapname(mapname,31)
server_cmd("amx_map %s",mapname)
}
else if( vote[0] == vote[1]) {
client_print(0,print_chat,"[AMXX] Mod Oylamasi Sonucu: BERABERE ( E: %d - H: %d ) ", vote[0], vote[1])
new num = random_num(0,1);
client_print(0,print_chat,"[AMXX] Bilgisayarin Rastgele Secimi: %s", num ? "EVET" : "HAYIR" )
if(num) {
client_print(0,print_chat,"[AMXX] Modun Aktif Olmasi Icin Map Yeniden Aciliyor !" )
new mapname[32]; get_mapname(mapname,31)
server_cmd("amx_map %s",mapname)
}
else {
client_print(0,print_chat,"[AMXX] Oyun Suanki Modda Devam Edecek !" )
}
}
else {
client_print(0,print_chat,"[AMXX] Mod Oylamasi Sonucu: HAYIR ( E: %d - H: %d ) ", vote[0], vote[1])
client_print(0,print_chat,"[AMXX] Oyun Suanki Modda Devam Edecek !" )
}
}
public VoteForceStop(id) {
new name[32]; get_user_name(id,name,31)
client_print(id,print_chat,"[AMXX] ADMIN %s: Mod Oylamasini Iptal Etti !",name)
remove_task(123);
menu_destroy(menu);
}
stock get_map_prefix( mapname[] , prefix[]) {
new x;
while( x < strlen(mapname)-1 ) {
if(mapname[x] == '_') {
return 1;
}
prefix[x] = mapname[x];
x++
}
return 0;
}
Aynı öneke sahip bir map açıldığında mapi tekrar aç oylaması yapılmaz ( Örn: csdm_akcaliberkk mapinden -> csdm_futtuluk mapine geçince tekrar oylama yapmaz zaten aynı mod diye)
Map yetkisine sahip olan adminler oylama çıktığında, oylamayı durdurabilir.
1. Evet
2. Hayir
3. ADMIN: Oylamayi Durdur
yetkiyi
#define RESTART_ADMIN ADMIN_MAP
kısmından ADMIN_MAP i kendine göre düzenleyerek değiştirebilirsin.
Veya hiç istemiyorsan
amx_cvar restartvote_obeyadmin 0
- - - - - - - - - -
plugini kapatmak için
amx_cvar restartvote 0
Cevap: Map'ın Yeniden Açılma Plugini
TXT'nin İçine Ne Yazıcazki :D
Cevap: Map'ın Yeniden Açılma Plugini
Tam istediğim gibi olmuş 3 sorum olucak :). @akcaliberkk
1-mapchanger_cache.txt ne işe yarıyor .
2-restartvote_admin demişin ama .sma da restartvote_obeyadmin yazıyor ikisi birbirinden farklı komutlar mı ? Değilse açıklamanda mı yanlış yazdın?
3- "Mapın modu açılsın mı" anketi map açıldıktan sonra ne zaman ekrana geliyor. Yani kaç saniye sonra ekrana geliyor
Ve Bunu .sma da nerden ayarlarız.