Page 1 of 1

Pagalbos!

Posted: 2019 Mar 21 20:43
by CrenarkitOriginal
Sveiki! ^.^ Žodžiu turiu problemą kurią norėčiau įspręsti. Norėčiau pavyzdžio ar kažko. Yra taip, kad vieną kartą per round'ą pirmas CT komandoje žaidėjes parašęs komandą, jam išmestų meniu ir daugiau niekam neišmestų. Trumpiau, kad pirmam žaidėjui parašiusiam specifinę komandą išmestų meniu, o daugiau kas ir be rašytų - neišmestų. Tikiuosi supratote xd

Re: Pagalbos!

Posted: 2019 Mar 22 01:38
by likux35
CrenarkitOriginal wrote:Sveiki! ^.^ Žodžiu turiu problemą kurią norėčiau įspręsti. Norėčiau pavyzdžio ar kažko. Yra taip, kad vieną kartą per round'ą pirmas CT komandoje žaidėjes parašęs komandą, jam išmestų meniu ir daugiau niekam neišmestų. Trumpiau, kad pirmam žaidėjui parašiusiam specifinę komandą išmestų meniu, o daugiau kas ir be rašytų - neišmestų. Tikiuosi supratote xd
Kaip supratau, tau reikia kažko panašaus. Testuokis :)
Padaryta kaip minėjai : išmetamas meniu su specifine komanda "/komanda" (veikia tik CT komandai), taip pat pridėtas vienintelis komandos panaudojimas CT komandai per rounda :)

Code: Select all

#include <amxmodx>#include <hamsandwich>#include <cstrike>#include <fun> new naudota = 0; public plugin_init(){    register_plugin("Specifine komanda", "1.0", "saimon");        register_clcmd("say /komanda", "ijungti_komanda");    register_clcmd("say komanda", "ijungti_komanda");        RegisterHam(Ham_Spawn, "player", "spawnas", 1);} public ijungti_komanda(id){    if(naudota == 1)    {        print_colorchat(id, "!g[!tNUOSTABUSIS ZAIDIMAS!g] !y Jau kazkas zaide siame zaidime, pabandyk kita rounda !");        return PLUGIN_HANDLED;    }           else if(!(is_user_alive(id)))    {        print_colorchat(id, "!g[!tNUOSTABUSIS ZAIDIMAS!g] !y Tu privalai buti gyvas !");        return PLUGIN_HANDLED;    }    else if((!(get_user_team(id) == 2)))    {        print_colorchat(id, "!g[!tNUOSTABUSIS ZAIDIMAS!g] !y Tu privalai buti CT komandoje !");        return PLUGIN_HANDLED;    }    else    {        new menu = menu_create("\yPasirinkite Priza", "prizo_handleris");         menu_additem(menu, "\wAK47 + DEAGLE", "1");        menu_additem(menu, "\wAWP + DEAGLE", "2");           menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);        menu_display(id, menu, 0);    }         return PLUGIN_CONTINUE;} public prizo_handleris(id, menu, item){    if(item == MENU_EXIT)    {        naudota = 1;        menu_destroy(menu);        return PLUGIN_HANDLED;    }     new data[6], iName[64];    new access, callback;    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);     new key = str_to_num(data);     switch(key)    {        case 1:        {            strip_user_weapons(id);            give_item(id, "weapon_knife");            give_item(id, "weapon_ak47");            give_item(id, "weapon_deagle");            cs_set_user_bpammo(id, CSW_AK47, 90);            cs_set_user_bpammo(id, CSW_DEAGLE, 35);                        print_colorchat(id, "!g[!tNUOSTABUSIS ZAIDIMAS!g] !y Jus gavote ak47 + deagle !");                        naudota = 1;        }        case 2:        {            strip_user_weapons(id);            give_item(id, "weapon_knife");            give_item(id, "weapon_awp");            give_item(id, "weapon_deagle");            cs_set_user_bpammo(id, CSW_AWP, 60);            cs_set_user_bpammo(id, CSW_DEAGLE, 35);                          print_colorchat(id, "!g[!tNUOSTABUSIS ZAIDIMAS!g] !y Jus gavote awp + deagle !");                        naudota = 1;        }    }     menu_destroy(menu);    return PLUGIN_HANDLED;} public spawnas(id){    naudota = 0;}        stock print_colorchat(const id, const input[], any:...){    new count = 1, players[32];    static msg[191];    vformat(msg,190,input,3);    replace_all(msg,190,"!g","^4");// green txt    replace_all(msg,190,"!y","^1");// orange txt    replace_all(msg,190,"!t","^3");// team txt    replace_all(msg,190,"!w","^0");// team txt    if (id) players[0] = id; else get_players(players,count,"ch");    for (new i=0;i<count;i++)        if (is_user_connected(players[i]))        {            message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);            write_byte(players[i]);            write_string(msg);            message_end();        }}

Re: Pagalbos!

Posted: 2019 Mar 24 12:46
by CrenarkitOriginal
Čia kaip supratau veiks vienam žaidėjui? Nebent tas kintamasis "new naudota = 0;" padaro visiems žaidėjams. Jeigu neklystu ;/ Man reikia tik pirmam parašiusiam! T.y pirmam parašiusiam, o visiem kitiem rašytų, kad jau kažkas yra jau panaudojęs. Man reikia būtent to. Pataisyk mane jeigu klystu :3

Re: Pagalbos!

Posted: 2019 Mar 24 18:34
by psychical
O jeigu paimtum ir pabandytum susikompiliuoti tau pateiktą failą ir pamatytum pats, kaip tau žmogus pasiūlė? Sutaupytum mūsų laiką, o pats iš karto žinotum atsakymą.

Esame tam, kad padėtum, o ne tam, kad viską padarytume už jus... Ir šiaip, mažai čia žmonių belikę, reikia džiaugtis, manau, kad iš vis kažkas dar čia sugeba atsakyti rimtai, parašiau ir rimtai pagalvojau, kad keista... :D

Kintamasis be priskyrimo yra taikomas viskam, ne vienam žaidėjui.

Re: Pagalbos!

Posted: 2019 Mar 24 19:13
by CrenarkitOriginal
Ačiū, kad paaiškinai. Nenorėjau nieko blogo ypač kai tik metus su viršum programuoju :d Bet turbūt pats supranti, kad tokio dalyko vienam ištestuot neįmanoma. Peace :bounce:

Re: Pagalbos!

Posted: 2019 Mar 24 22:17
by likux35
CrenarkitOriginal wrote:Ačiū, kad paaiškinai. Nenorėjau nieko blogo ypač kai tik metus su viršum programuoju :d Bet turbūt pats supranti, kad tokio dalyko vienam ištestuot neįmanoma. Peace :bounce:
Įmanoma, tačiau reikia kažkiek suprasti, kaip sukurta pati sistema. Tau belieka tik įsidėti ir matysi rezultatą :) P.s kaip sakė Psychical nepriskirtas kintamasis yra taikomas visiems, o ne vienam žaidėjui. Šiuo atveju padaryta taip, jog panaudojus menu reiksme tampa naudota = 1, virsuje ideta net if, kuris tikrina, ar reikšmė yra 1, jeigu vienas, meniu langas nėra iškviečiamas tiesiog printinamas tekstas, kad meniu jau yra panaudotas. Tokiu atveju šis meniu veikti keliems žaidėjams ir nebus įmanomas, kadangi po vieno panaudojimo reikšmė visiems bus priskirta vienetui, o prasidėjus naujam roundui anuliuojama.

Re: Pagalbos!

Posted: 2019 Mar 25 15:23
by CrenarkitOriginal
Tiek man ir reikėjo :d Ačiūūū <3