Nesibaigiančios Server Rules...

Šiame forume vartotojai gali prašyti jiems reikiamo plugino.
Forum rules
Šiame forume galite siūlyti idėjas ar prašyti jums reikalingų pluginų. Jei kas nors pradės jį kurti, tai pasirašys Jūsų sukurtoje temoje. Niekada nepykite, jei niekas neatsako į Jūsų prašymą. Gal tai tiesiog per sudėtinga, arba reikalauja per daug darbo.
Post Reply
Madara

Nesibaigiančios Server Rules...

Post by Madara »

Nežinau ar kas nors padės čia, bet parašysiu. :D

Nedingsta užrašai, spaudžiu Agree, bet po to vėl, kas 3 sek. atsiranda jie.
Ištaisykite, kam nesunku.

Code: Select all

#include <amxmodx>#include <amxmisc> new name[50],authid[50],ip[50]new rules[]="rules.txt"new agreedfile[]="addons/amxmodx/configs/agreed.ini"new declinedfile[]="addons/amxmodx/configs/declined.ini" public plugin_init() {    register_plugin("Terms and Agreements","0.1","DahVid")    register_menu("Terms and Agreements:",1023,"RulesMenu")    register_clcmd("amx_removedecline","EraseDecline",-1,"amx_removedecline name -- removes user off of the decline list")    set_task(1.0,"checkforfiles")} public checkforfiles() {    if(!file_exists(agreedfile)) {        write_file(agreedfile,"; First time user")    }    if(!file_exists(declinedfile)) {        write_file(declinedfile,"; First time user")    }    if(!file_exists(rules)) {        write_file(rules,"; Add your rules here, HTML can be used.")    }} public client_putinserver(id) {    new szData[3][56], line=0,k=0, szLine[256]    new szPAuthid[36]    get_user_authid(id,szPAuthid,35)    while(read_file(agreedfile,line++,szLine,255,k)) {        if((szLine[0] == ';') || !k) continue        parse(szLine,szData[0],55,szData[1],55,szData[2],55)         if(equali(szPAuthid,szData[0])) {            return PLUGIN_HANDLED //User has agree'd before.        }    }    while(read_file(declinedfile,line++,szLine,255,k)) {        if((szLine[0] == ';') || !k) continue        parse(szLine,szData[0],55,szData[1],55,szData[2],55)         if(equali(szPAuthid,szData[0])) {            set_task(5.0,"DeclinedFunc",id)            return PLUGIN_HANDLED //User has declined.        }    }    set_task(5.0,"DisplayRulesMenu",id)    return PLUGIN_CONTINUE} public EraseDecline(id) {    new player[50]    read_argv(1,player,49)    new target=cmd_target(id,player,9)    get_user_authid(target,authid,49)        new szData[3][56], line=0,k=0, szLine[256]    new szPAuthid[36]    get_user_authid(id,szPAuthid,35)    while(read_file(declinedfile,line++,szLine,255,k)) {        if((szLine[0] == ';') || !k) continue        parse(szLine,szData[0],55,szData[1],55,szData[2],55)         if(equali(szPAuthid,szData[0])) {            write_file(declinedfile,"",line)        }    }    return PLUGIN_CONTINUE} public DisplayRulesMenu(id) {    new szMenuBody[256]    new keys    format(szMenuBody,255,"Terms and Agreements:^n")    add(szMenuBody,255,"^n1. Agree")    add(szMenuBody,255,"^n2. Decline")    add(szMenuBody,255,"^n^n3. Show Rules")    keys = (1<<0|1<<1|1<<2|1<<3)    show_menu(id,keys,szMenuBody,-1)    return PLUGIN_CONTINUE} public RulesMenu(id,key) {    switch(key) {        case 0: {            get_user_name(id,name,49)            get_user_authid(id,authid,49)            get_user_ip(id,ip,49)            client_print(id,print_chat,"Thanks %s, have a fun time playing. [LOGGED %s %s %s]",name,authid,ip,name)                        new agreed[256]            format(agreed,255,"%s %s %s",authid,ip,name)            write_file(agreedfile,agreed)        }        case 1: {            get_user_name(id,name,49)            get_user_authid(id,authid,49)            get_user_ip(id,ip,49)            console_print(id,"Sorry %s, we frown upon those who do not agree to our rules. [LOGGED %s %s %s]",name,authid,ip,name)                        new declined[256]            format(declined,255,"%s %s %s",authid,ip,name)            write_file(declinedfile,declined)            server_cmd("kick %s",name)        }        case 2: {            get_user_name(id,name,49)            client_print(id,print_chat,"%s please read the rules more deligently to risk being banned!",name)            show_motd(id,rules,"MOTD:RULES")            set_task(5.0,"DisplayRulesMenu")        }    }} public DeclinedFunc(id) {    client_print(id,print_chat,"I'm sorry, you have declined the rules. You have 60 seconds before you will be kicked.")    set_task(60.0,"KickUser",id)} public KickUser(id) {    get_user_name(id,name,49)    server_cmd("kick %s",name)} 

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests