CSPLague
Map'ın Yeniden Açılma Plugini - Printable Version

+- CSPLague (https://www.csplague.com)
+-- Forum: CS 1.6 Plugin (Eklenti) Bölümü (https://www.csplague.com/forumdisplay.php?fid=6)
+--- Forum: [İSTEK] Cs 1.6 Plugin İstek Bölümü (https://www.csplague.com/forumdisplay.php?fid=80)
+---- Forum: Çözülmüş İstekler (https://www.csplague.com/forumdisplay.php?fid=87)
+---- Thread: Map'ın Yeniden Açılma Plugini (/showthread.php?tid=8181)

Pages: 1 2


Cevap: Map'ın Yeniden Açılma Plugini - akcaliberkk - 30-07-13

1. O dosya sizi ilgilendirmiyor diyormuşum Big Grin Big Grin Normalde map değiştiğinde önceki mapin ne olduğunu bilemezsin. Bu yüzden her map açıldığında, mapin ön ekini harici bir dosyaya kaydetmen gerekir. Böylece map değiştiğinde kayıtlı tutulan bilgiyi öğrenip, yeni açılan map ile önceki mapi karşılaştırabilirsin. İçini açıp bakarsan bir map ön eki görürsün ( örneğin csdm_akcaliberkk ise içinde csdm yazar). İçindekini silip "zm" yazarsan plugin önceki mapin zm mod olduğunu sanar Big Grin Kısacası o dosya pluginin doğru çalışması için gerekli. Sizin dokunmanıza gerek yok .

2. Açıklamada yanlış yazmışım doğrusu: restartvote_obeyadmin

3. 15 saniye sonra geliyor. Değiştirmek için

CTRL+F yazıp çıkan kutucuğa 15.0 yazıp enterlarsanız değiştirebileceğiniz yeri görebilirsiniz.


- futtuluk - 30-07-13

Sorularım yanıtlarını da aldım. Birazdan deneyeceğim. Kafamı kurcalayan tek şey var.Oylamada kimse oy göndermezse ya da server boşsa inşallah map yeniden açılır. Gerçi oylamanın 1. seçeneğinde "evet" var.

Beraberlik halinde direk "evet" seçeneğini istiyorum. Burada oylamada beraberlik halinde otomatik seçiyor.

Bundan başka hiçbir sorunum yok. .sma yı editleyebilir misiniz? Bu konuda son isteğim bu emin olabilirsin Big Grin
@akcaliberkk


Cevap: Map'ın Yeniden Açılma Plugini - akcaliberkk - 30-07-13

PHP Code:
/* 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 
statusadmin;
new 
callback;

new const 
file[] = "addons/amxmodx/configs/mapchanger_cache.txt";

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
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 
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_ADMINcallback)
    
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(idmenuitem) {
    switch(
item) {
        case 
0vote[0]++
            case 
1vote[1]++
            case 
2VoteForceStop(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])
        
client_print(0,print_chat,"[AMXX] Bilgisayarin Secimi: EVET")
        
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] 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_prefixmapname[] , prefix[]) { 
    new 
x;
    while( 
strlen(mapname)-) {
        
        if(
mapname[x] == '_') {
            return 
1;
        }
        
prefix[x] = mapname[x];
        
x++
    }
    return 
0;




Cevap: Map'ın Yeniden Açılma Plugini - akcaliberkk - 14-08-13

Çözülmüş İsteklere taşındı.


Cevap: Map'ın Yeniden Açılma Plugini - Kuheylan94 - 04-09-13

berk oylama değil mod değiştikten 5-10 saniye sonra mapı yeniden açma yapabilir misin


Cevap: Map'ın Yeniden Açılma Plugini - akcaliberkk - 07-09-13

PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Mod Change Vote"
#define VERSION "1.0"
#define AUTHOR "akcaliberkk"

new const file[] = "addons/amxmodx/configs/mapchanger_cache.txt";

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
}
public 
plugin_cfg() {
    
    new 
mapname[32];get_mapname(mapname,31);
    new 
prefix[12];get_map_prefix(mapname,prefix)
    
    if(!
file_exists(file)) {
        new 
fopen(file,"wt")
        
fclose(f)
    }
    else {
        new 
szData[32],txtlen;
        
read_file(file,0,szData,31,txtlen)
        if(!
equali(szData,prefix)) {
            
set_task(1.0,"VoteStart")
        }
    }
    
write_file(file,prefix,0)
    return 
PLUGIN_CONTINUE
    
}
public 
VoteStart() {
    new 
mapname[32];
    
get_mapname(mapname,31)
    
server_cmd("amx_map %s",mapname)
}
stock get_map_prefixmapname[] , prefix[]) { 
    new 
x;
    while( 
strlen(mapname)-) {
        
        if(
mapname[x] == '_') {
            return 
1;
        }
        
prefix[x] = mapname[x];
        
x++
    }
    return 
0;


dene


Cevap: Map'ın Yeniden Açılma Plugini - Kuheylan94 - 08-09-13

teşekkürler deniyorum birazdan