Admin Check.

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
User avatar
ArtHa123
Flooderis arba specialistas
Posts: 738
Joined: 2014 Feb 19 18:40

Admin Check.

Post by ArtHa123 »

Code: Select all

#include <amxmodx> #define PLUGIN "ADMIN CHECK"#define VERSION "1.0"#define AUTHOR "ArtHa" new test1, test2 public plugin_init(){    register_plugin(PLUGIN, VERSION, AUTHOR)    register_clcmd("say", "handle_say")    register_clcmd("say_team", "handle_say")} public handle_say(id){    static said[64]    read_args(said, charsmax(said))        if( ( containi(said, "/priziuretojai") != -1 || contain(said, "/priziuretojos") != -1 || contain(said, "/savininkai") != -1 || contain(said, "/savininkas") != -1 ) )        priziuretojai(id)} public client_authorized(id){    set_task(3.0,"client_is_auth",id)} public client_is_auth(id){    new szIP[40];    get_user_ip ( id, szIP, charsmax(szIP) , 1 );    new name[32]    get_user_name ( id, name, 31 );        if( equali( szIP, "88.88.88.88") )    {        test1 = true    }        if( equali( name, "Testas") )    {        test2 = true    }} public priziuretojai(id){    new menu = menu_create("\r[\y Priziuretojai \r]", "menu_handler");    if(test1)    {        menu_additem(menu, "\wTestalas\y Online", "1", 0);    }    else if(!test1)    {        menu_additem(menu, "\wTestalas\r Offline", "1", 0);    }    menu_addtext(menu, "", 0);    menu_addtext(menu, "\r[\y ------- \r]", 0);    menu_addtext(menu, "", 0);    if(test2)    {        menu_additem(menu, "\wTestaliukas\y Online", "2", 0);    }    else if(!test2)    {        menu_additem(menu, "\wTestalyte\r Offline", "2", 0);    }     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)    menu_display(id, menu, 0);} public menu_handler(id, menu, item){    if( item == MENU_EXIT )    {        menu_destroy(menu);        return PLUGIN_HANDLED;    }       new data[6], iName[64];    new acess, callback;       menu_item_getinfo(menu, item, acess, data,6, iName, 63, callback);    new key = str_to_num(data);        switch(key)    {        case 1:        {            client_print_color(id, print_chat, "^3**^4INFO^3**^1 Vardas:^3 Test*^1, Skype:^3 Testas^1, Gmail:^3 [email protected]" );            menu_destroy(menu);            return PLUGIN_HANDLED;        }                case 2:        {             client_print_color(id, print_chat, "^3**^4INFO^3**^1 Vardas:^3 Test*^1, Skype:^3 Testas^1, Gmail:^3 [email protected]" );            menu_destroy(menu);            return PLUGIN_HANDLED;        }    }    menu_destroy(menu);    return PLUGIN_HANDLED;}
Viskas būtų kaip ir normaliai, tik prisijungus padaroma true, o atsijungus, true išlieka, bandžiau su client_disconnect padaryti, nesigavo. P.s. bandžiau taip:

Code: Select all

public client_disconnect(id){    new szIP[40];    get_user_ip ( id, szIP, charsmax(szIP) , 1 );    new name[32]    get_user_name ( id, name, 31 );        if( equali( szIP, "88.88.88.88") )    {        test1 = false    }        if( equali( name, "Testas") )    {        test2 = false    }}
Image

InvIs2
Jau po truputį tampa savu
Posts: 149
Joined: 2013 Sep 29 12:47
Skype: pksoldierlt

Re: Admin Check.

Post by InvIs2 »

Neesu tikras dėl šito, bet ne visada iškarto užfiksuoja atsijungimą. ?

Šiaip, geriausia viską tikrinti kai žaidėjas iškviečia meniu, tada tikrai nebus problemų. Ir pagal mane, iškviestos komandos tikrinimą gali sutrumpinti. (/priziuretojai(-os).

Code: Select all

if(containi(said, "/priz"))
Turėtų juk reaguoti ir į vieną ir į kitą komandą.

Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests