Page 1 of 2

Kad leistu viena karta per rounda naudot menu

Posted: 2012 May 18 09:06
by Pukuotukas951
Kad leistu viena karta per rounda naudot menu tai su kokia funkcija reik tikrint? Spawn ar su event round start? ar kaip??

Re: Kad leistu viena karta per rounda naudot menu

Posted: 2012 May 18 13:09
by psychical
http://amxmodx.lt/viewtopic.php?f=16&t=1873 kelk seną temą, o ne kurk nauja, bet tokią pačią...

-- 2012 Geg 18 13:18 --
Pukuotukas951 wrote:Kad leistu viena karta per rounda naudot menu tai su kokia funkcija reik tikrint? Spawn ar su event round start? ar kaip??
Kažkas tokio:

Code: Select all

#include <amxmodx>#include <hamsandwich> new one_use[33]; public plugin_init(){    register_plugin("pluginas", "1.0.0", "kurejas");        RegisterHam(Ham_Spawn, "player", "OnSpawn");        register_clcmd("say /komanda", "cmdKomanda");    register_clcmd("say_team /komanda", "cmdKomanda");} public OnSpawn(id){    if(one_use[id])        one_use[id] = 0;} public cmdKomanda(id){    if(!is_user_alive(id))        return;     if(one_use[id])    {        client_print(id, print_chat, "Tik viena karta per rounda!")        return;    }     new menu = create_menu("Menu", "komanda_choose")    menu_additem...} public komanda_choose(id, menu, item){    if(item == MENU_EXIT)    {        menu_destroy(menu);        return PLUGIN_HANDLED;    }        switch(item)    {        case 0:        {            one_use[id] = 1;        }    }    menu_destroy(menu);    return PLUGIN_HANDLED;}

Re: Kad leistu viena karta per rounda naudot menu

Posted: 2012 May 19 21:00
by Pukuotukas951
Vistiek neleidžia naudot meniu tik kas antrą round'ą. nes va taip yra:

Code: Select all

 #define KeysVipCTMenu (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<9)#define KeysVipTMenu (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<9) new g_has_user_menu[33] public plugin_init() {        register_menucmd(register_menuid("VipTMenu"), KeysVipTMenu, "PressedVipTMenu")    register_menucmd(register_menuid("VipCTMenu"), KeysVipCTMenu, "PressedVipCTMenu")     RegisterHam(Ham_Spawn, "player", "FwdHamSpawn_Post", 1)} public cmdVmenu(id){    if (!( get_user_flags(id) & VIP_LEVEL))    {        client_printc(id, "%s Tik vipam", PREFIX);        return PLUGIN_HANDLED;    }     if (!is_user_alive(id))    {        client_printc(id, "%s Only alive", PREFIX);        return PLUGIN_HANDLED;    }     if (g_has_user_menu[id])    {        new CsTeams:user_team;        user_team = cs_get_user_team(id);         if (user_team == CS_TEAM_T)        {            ShowVipTMenu(id);        }         else if (user_team == CS_TEAM_CT)        {            ShowVipCTMenu(id);        }    }     else    {        client_printc(id, "%s JAU PANAUDOJAI MENIU Si RAUNDA", PREFIX);    }     return PLUGIN_HANDLED;} public ShowVipCTMenu(id) {    show_menu(id, KeysVipCTMenu,     "\rvip meniu^n^n\    \r1. \wjjjjjjjjjjjj^n\    \r2. \wyyyyyyyyyyyyyyyy^n\    \r3. \wggggggggggg^n\    \r4. \wddddddddddddddddd^n\    \r5. \wbbbbbbbbbbbbbbbbbbbb^n^n\    \r0. \wIseiti",    -1, "VipCTMenu")} public PressedVipCTMenu(id, key) {    switch (key)     {            case 0:         {            g_has_user_menu[id] = 0        }         case 1:         {            g_has_user_menu[id] = 0        }         case 2:         {            g_has_user_menu[id] = 0        }         case 3:         {            g_has_user_menu[id] = 0        }         case 4:         {            g_has_user_menu[id] = 0        }    }    return PLUGIN_HANDLED;} public ShowVipTMenu(id) {    show_menu(id, KeysVipTMenu,     "\r vip meniu^n^n\    \r1. \wuuuuuuu^n\    \r2. \wiiiiiiiiiiiiiii^n\    \r3. \weeeeeeeeeeeeee^n\    \r4. \wfffffffffffff^n\    \r5. \wggggggggggggggggg^n\    \r6. \whhhhhhhhhhhhhhh^n^n\    \r0. \wIseiti",    -1, "VipTMenu")} public PressedVipTMenu(id, key){    switch (key)     {        case 0:         {            g_has_user_menu[id] = 0        }         case 1:         {            g_has_user_menu[id] = 0        }         case 2:         {            g_has_user_menu[id] = 0        }         case 3:         {            g_has_user_menu[id] = 0         }         case 4:         {            g_has_user_menu[id] = 0         }        case 5:         {            g_has_user_menu[id] = 0         }    }    return PLUGIN_HANDLED;}public FwdHamSpawn_Post(id){    if(!is_user_alive(id))    return HAM_IGNORED;         g_has_user_menu[id] = 1     return HAM_IGNORED;}

Re: Kad leistu viena karta per rounda naudot menu

Posted: 2012 May 19 21:16
by psychical
Pukuotukas951 wrote:Vistiek neleidžia naudot meniu tik kas antrą round'ą. nes va taip yra:

Code: Select all

 #define KeysVipCTMenu (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<9)#define KeysVipTMenu (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<9) new g_has_user_menu[33] public plugin_init() {        register_menucmd(register_menuid("VipTMenu"), KeysVipTMenu, "PressedVipTMenu")    register_menucmd(register_menuid("VipCTMenu"), KeysVipCTMenu, "PressedVipCTMenu")     RegisterHam(Ham_Spawn, "player", "FwdHamSpawn_Post", 1)} public cmdVmenu(id){    if (!( get_user_flags(id) & VIP_LEVEL))    {        client_printc(id, "%s Tik vipam", PREFIX);        return PLUGIN_HANDLED;    }     if (!is_user_alive(id))    {        client_printc(id, "%s Only alive", PREFIX);        return PLUGIN_HANDLED;    }     if (g_has_user_menu[id])    {        new CsTeams:user_team;        user_team = cs_get_user_team(id);         if (user_team == CS_TEAM_T)        {            ShowVipTMenu(id);        }         else if (user_team == CS_TEAM_CT)        {            ShowVipCTMenu(id);        }    }     else    {        client_printc(id, "%s JAU PANAUDOJAI MENIU Si RAUNDA", PREFIX);    }     return PLUGIN_HANDLED;} public ShowVipCTMenu(id) {    show_menu(id, KeysVipCTMenu,     "\rvip meniu^n^n\    \r1. \wjjjjjjjjjjjj^n\    \r2. \wyyyyyyyyyyyyyyyy^n\    \r3. \wggggggggggg^n\    \r4. \wddddddddddddddddd^n\    \r5. \wbbbbbbbbbbbbbbbbbbbb^n^n\    \r0. \wIseiti",    -1, "VipCTMenu")} public PressedVipCTMenu(id, key) {    switch (key)     {            case 0:         {            g_has_user_menu[id] = 0        }         case 1:         {            g_has_user_menu[id] = 0        }         case 2:         {            g_has_user_menu[id] = 0        }         case 3:         {            g_has_user_menu[id] = 0        }         case 4:         {            g_has_user_menu[id] = 0        }    }    return PLUGIN_HANDLED;} public ShowVipTMenu(id) {    show_menu(id, KeysVipTMenu,     "\r vip meniu^n^n\    \r1. \wuuuuuuu^n\    \r2. \wiiiiiiiiiiiiiii^n\    \r3. \weeeeeeeeeeeeee^n\    \r4. \wfffffffffffff^n\    \r5. \wggggggggggggggggg^n\    \r6. \whhhhhhhhhhhhhhh^n^n\    \r0. \wIseiti",    -1, "VipTMenu")} public PressedVipTMenu(id, key){    switch (key)     {        case 0:         {            g_has_user_menu[id] = 0        }         case 1:         {            g_has_user_menu[id] = 0        }         case 2:         {            g_has_user_menu[id] = 0        }         case 3:         {            g_has_user_menu[id] = 0         }         case 4:         {            g_has_user_menu[id] = 0         }        case 5:         {            g_has_user_menu[id] = 0         }    }    return PLUGIN_HANDLED;}public FwdHamSpawn_Post(id){    if(!is_user_alive(id))    return HAM_IGNORED;         g_has_user_menu[id] = 1     return HAM_IGNORED;}
WHAT IS THIS???

Re: Kad leistu viena karta per rounda naudot menu

Posted: 2012 May 19 21:42
by Pukuotukas951
Čia kodo dalis. Sakau man kas antrą round leidžia naudoti tą meniu, dėl šito man rodos:

Code: Select all

if (g_has_user_menu[id])    {        new CsTeams:user_team;        user_team = cs_get_user_team(id);         if (user_team == CS_TEAM_T)        {            ShowVipTMenu(id);        }         else if (user_team == CS_TEAM_CT)        {            ShowVipCTMenu(id);        }    }     else    {        client_printc(id, "%s JAU PANAUDOJAI MENIU Si RAUNDA", PREFIX);    }     return PLUGIN_HANDLED;}

Re: Kad leistu viena karta per rounda naudot menu

Posted: 2012 May 19 22:28
by psychical
http://amxmodx.lt/viewtopic.php?f=15&t=200

darykis menu pagal šitą + naudok mano pateiktą

Re: Kad leistu viena karta per rounda naudot menu

Posted: 2012 May 19 23:17
by hleV
Meniu callback'e reiktų naudot return PLUGIN_HANDLED.

Re: Kad leistu viena karta per rounda naudot menu

Posted: 2012 May 20 00:05
by psychical
hleV wrote:Meniu callback'e reiktų naudot return PLUGIN_HANDLED.
Pas ji "client_printc(id, "%s JAU PANAUDOJAI MENIU Si RAUNDA", PREFIX);" yra else'e tad return ... čia nieko nepakeis

Re: Kad leistu viena karta per rounda naudot menu

Posted: 2012 May 20 00:19
by Pukuotukas951
Susitvarkiau buvo bėda return'uose.

O kuris optimaliau ar

Code: Select all

new bool: g_has_user_menu[id] ar  new g_has_user_menu[MAX_PLAYERS + 1]

Re: Kad leistu viena karta per rounda naudot menu

Posted: 2012 May 20 00:46
by hleV
psychical wrote:
hleV wrote:Meniu callback'e reiktų naudot return PLUGIN_HANDLED.
Pas ji "client_printc(id, "%s JAU PANAUDOJAI MENIU Si RAUNDA", PREFIX);" yra else'e tad return ... čia nieko nepakeis
Nesupratau ką čia parašei, bet kalbėjau apie šitą.