7 zostaje..
8.wychodze
9 pokaz zasady serwera.
Jest taki błąd ze jeśli Nie akceptujesz zasad daje ci kicka za 60 sek I po ponownym wejściu Nie wyskakuje menu z Zasadami Jak na początku tekst "nie zapoznałeś się z treścią zasad" za 60 sek kick i tak jakby byl amx_kick save "60 sek" "steamid" "id valve".
a powinno być ze dajesz recona i masz menu z zasadami, zaakceptujesz to Nie wyrzuca.
I czy mógł by ktoś przejrzeć plugin i powiedzieć gdzie jest błąd.
#include <amxmodx> #include <amxmisc> #define TASK_GENERAL 100 #define TASK_KICK 200 new name[32], authid[32], ip[32]; new const rules[] = "rules.html"; new const agreedfile[] = "addons/amxmodx/configs/agreed.ini"; new const declinedfile[] = "addons/amxmodx/configs/declined.ini"; public plugin_init() { register_plugin("Terms and Agreements","0.20","DahVid/Avalanche"); register_menucmd(register_menuid("rules_menu"),1023,"RulesMenu"); register_clcmd("amx_removedecline","EraseDecline",ADMIN_BAN,"<authid> - removes an authid from decline list"); set_task(1.0,"checkforfiles"); } public checkforfiles() { if(!file_exists(agreedfile)) write_file(agreedfile,"; zapraszamy do gry") if(!file_exists(declinedfile)) write_file(declinedfile,"; Wybacz nie chcemy cie na serwie sproboj pozniej") if(!file_exists(rules)) write_file(rules,"Zasady Serwera") } public client_putinserver(id) { remove_task(TASK_GENERAL+id); remove_task(TASK_KICK+id); if(is_user_bot(id)) return; new szData[3][32], line, k; static szPAuthid[32], szLine[256]; get_user_authid(id,szPAuthid,31); while((line = read_file(agreedfile,line,szLine,255,k)) != 0) { if(szLine[0] == ';' || !k) continue; parse(szLine,szData[0],31,szData[1],31,szData[2],31); if(equal(szPAuthid,szData[0])) return; // user has agreed before } while((line = read_file(declinedfile,line,szLine,255,k)) != 0) { if(szLine[0] == ';' || !k) continue; parse(szLine,szData[0],31,szData[1],31,szData[2],31); if(equali(szPAuthid,szData[0])) { set_task(5.0,"DeclinedFunc",TASK_GENERAL+id); return; // user has declined } } set_task(5.0,"DisplayRulesMenu",TASK_GENERAL+id); } public client_disconnect(id) { remove_task(TASK_GENERAL+id); remove_task(TASK_KICK+id); } public EraseDecline(id,level,cid) { if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED; new szData[3][32], line, k; static szPAuthid[32], szLine[256]; read_argv(1,szPAuthid,31); while((line = read_file(declinedfile,line,szLine,255,k)) != 0) { if(szLine[0] == ';' || !k) continue; parse(szLine,szData[0],31,szData[1],31,szData[2],31); if(equali(szPAuthid,szData[0])) { write_file(declinedfile,"",line-1); console_print(id,"* Removed %s from the declined users list",szPAuthid); return PLUGIN_HANDLED; } } console_print(id,"* Could not find %s in the declined users list",szPAuthid); return PLUGIN_HANDLED; } public DisplayRulesMenu(taskid) { new id = taskid-TASK_GENERAL; static szMenuBody[256]; if(!szMenuBody[0]) { new len = format(szMenuBody,255,"Menu zasad Serwera FreeFrags AIm AWp :^n"); len += format(szMenuBody[len],255-len,"^n7. Zostane i pogram Na tym serwie"); len += format(szMenuBody[len],255-len,"^n8. Wychodze Bo nie znam regulaminu Bye"); len += format(szMenuBody[len],255-len,"^n^n9. Pokaz zasady serwera"); } new keys = MENU_KEY_7|MENU_KEY_8|MENU_KEY_9; show_menu(id,keys,szMenuBody,-1,"rules_menu"); } public RulesMenu(id,key) { switch(key) { case 6: { get_user_name(id,name,31); get_user_authid(id,authid,31); get_user_ip(id,ip,31); client_print(id,print_chat,"* Dziekuje za akceptacje zasad %s, Milej zabawy LOGGED [%s %s %s]",authid,ip,name); static agreed[256]; format(agreed,255,"%s %s %s",authid,ip,name); write_file(agreedfile,agreed); } case 7: { get_user_name(id,name,31); get_user_authid(id,authid,31); get_user_ip(id,ip,31); console_print(id,"*sproboj pozniej moze sie uda. LOGGED [%s %s %s]",authid,ip,name); static declined[256]; format(declined,255,"%s %s %s",authid,ip,name); write_file(declinedfile,declined); server_cmd("kick #%i ^"You declined the rules!^"",get_user_userid(id)); } case 8: { client_print(id,print_chat,"* Masz 60 sek na przeczytanie zasady po uplywie czasu zostaniesz automatycznie kickniety pozdrawiam eMp|Y"); show_motd(id,rules,"SERVER RULES"); set_task(5.0,"DisplayRulesMenu",TASK_GENERAL+id); } } } public DeclinedFunc(taskid) { new id = taskid-TASK_GENERAL; client_print(id,print_chat,"Sory niezaponales sie z trescia regulaminu . MAsz jeszcze 60 sek potem zostaniesz kickniety.") set_task(60.0,"KickUser",TASK_KICK+id); } public KickUser(taskid) { new id = taskid-TASK_KICK; if(is_user_connected(id)) server_cmd("kick #%i ^"Nie masz Pojecia o zasadach sproboj Pozniej moze sie uda.^"",get_user_userid(id)); }
Z góry dzięki za pomoc.