Vip meniu, paziurekit. Script.

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
Pukuotukas951
Gana aktyvus vartotojas
Posts: 445
Joined: 2011 Aug 27 09:29

Vip meniu, paziurekit. Script.

Post by Pukuotukas951 »

Gal galit sita meniu perscriptinti, kad meniu butu sudarytas ne is : menu_additem
, o is: new menuBody[512], len
len = format(menuBody, 511, "Pasirinkimas^n^n")

if (g_selected[id] == 0)
len += format(menuBody[len], 511-len, "\d1. Pasirinkimas^n")

if (g_selected[id] == 1)
len += format(menuBody[len], 511-len, "\d2. Pasirinkimas^n")



nes toks meniu su tais len +=format , tai 0.Exit eina kilnoti.

Code: Select all

#pragma semicolon 1 #include <amxmodx>#include <cstrike>#include <engine>#include <fun>#include <hamsandwich> #define ADMIN_JBVIP ADMIN_KICK // Define the Plugin Versionnew const VERSION[] = { "1.0" }; // PREFIXnew const PREFIX[] = { "!g[ JailBreak ]!n" }; new VipUsed[33];new HasSpeed; new Float:fast_speed = 400.0;new Float:normal_speed = 250.0; public plugin_init(){    register_plugin("JailBreak: VIP Menu", VERSION, "Shuttle_Wave");     RegisterHam(Ham_Spawn, "player", "FwdHamSpawn_Post", 1);    RegisterHam( Ham_Item_PreFrame, "player", "FwdPreFrame_Post", 1);        register_clcmd("say vmenu", "cmdVmenu");    register_clcmd("say /vmenu", "cmdVmenu");    register_clcmd("say_team vmenu", "cmdVmenu");    register_clcmd("say_team /vmenu", "cmdVmenu");} public FwdPreFrame_Post(id){    if(!is_user_alive(id))    {        return PLUGIN_HANDLED;    }     if(!HasSpeed)    {        return PLUGIN_HANDLED;    }        else if(HasSpeed)    {        set_user_maxspeed(id, fast_speed);    }        return PLUGIN_HANDLED;} public FwdHamSpawn_Post(id){    HasSpeed = false;    VipUsed[id] = false;    set_user_maxspeed(id, normal_speed);    set_user_rendering( id, _, 0, 0, 0, _, 0 );  } public cmdVmenu(id){    if(cs_get_user_team(id) == CS_TEAM_CT && get_user_flags(id) && ADMIN_JBVIP && !VipUsed[id])    {        VipCTMenu(id);    }        else if(cs_get_user_team(id) == CS_TEAM_T && get_user_flags(id) && ADMIN_JBVIP && !VipUsed[id])    {        VipTMenu(id);    }        else if(VipUsed[id])    {        client_printc(id, "%s You Already used !gVIP Menu!n this round. Please wait till next round", PREFIX);    }        else    {        client_printc(id, "%s Only !gAdmins!n that are !gTerrorist!n or !gCounter Terrorist!n may use the VIP Menu", PREFIX);        return PLUGIN_HANDLED;    }        return PLUGIN_HANDLED;} public VipCTMenu(id){    new menu = menu_create("\yJailBreak VIP Menu:^n\rby Shuttle_Wave", "VipCTMenu_handler");     menu_additem(menu, "\w+50hp and +100 armor", "1", 0);    menu_additem(menu, "\wM4A1 and AK47", "2", 0);    menu_additem(menu, "\wFaster Speed and Glow Green ", "3", 0);        menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);    menu_display(id, menu, 0);} public VipCTMenu_handler(id, menu, item){    if( item == MENU_EXIT )    {        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:        {            set_user_health(id, get_user_health(id) + 50);            set_user_armor(id, get_user_armor(id) + 100);            VipUsed[id] = true;                        client_printc(id, "%s You Have just recieved !g50HP!n and !g100 Armor!n", PREFIX);        }        case 2:        {            give_item(id, "weapon_m4a1");            give_item(id, "weapon_ak47");            cs_set_user_bpammo(id, CSW_M4A1, 90);            cs_set_user_bpammo(id, CSW_AK47, 200);                        VipUsed[id] = true;                        client_printc(id, "%s You Have just recieved an !gM4A1!n and !gAK47!n", PREFIX);        }        case 3:        {            VipUsed[id] = true;            HasSpeed = true;                        set_user_maxspeed(id, fast_speed);            set_user_rendering(id, kRenderFxGlowShell, 0, 255, 0, kRenderTransAlpha, 16);                        client_printc(id, "%s You Have just recieved !gSpeed!n and !gGlowing Green!n", PREFIX);        }    }     menu_destroy(menu);    return PLUGIN_HANDLED;} public VipTMenu(id){    new menu = menu_create("\yJailBreak VIP Menu:^n\rby Shuttle_Wave", "VipTMenu_handler");     menu_additem(menu, "\wGlock with 15 bullets", "1", 0);    menu_additem(menu, "\wFaster Speed and Glow Green ", "2", 0);    menu_additem(menu, "\w+50hp and +50armor", "3", 0);        menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);    menu_display(id, menu, 0);} public VipTMenu_handler(id, menu, item){    if( item == MENU_EXIT )    {        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:        {            give_item(id, "weapon_glock18");            cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_glock18", id), 15);                        client_printc(id, "%s You Have just recieved a !gGlock with 15 Bullets!n", PREFIX);                        VipUsed[id] = true;        }        case 2:        {            VipUsed[id] = true;            HasSpeed = true;                        set_user_maxspeed(id, fast_speed);            set_user_rendering(id, kRenderFxGlowShell, 0, 255, 0, kRenderTransAlpha, 16);                        client_printc(id, "%s You Have just recieved !gSpeed!n and !gGlowing Green!n", PREFIX);        }                case 3:        {            set_user_health(id, get_user_health(id) + 50);            set_user_armor(id, get_user_armor(id) + 100);            VipUsed[id] = true;                        client_printc(id, "%s You Have just recieved !g50HP!n and !g100 Armor!n", PREFIX);        }    }     menu_destroy(menu);    return PLUGIN_HANDLED;} // Colour Chatstock client_printc(const id, const input[], any:...){    new count = 1, players[32];    static msg[191];    vformat(msg, 190, input, 3);        replace_all(msg, 190, "!g", "^x04"); // Green Color    replace_all(msg, 190, "!n", "^x01"); // Default Color    replace_all(msg, 190, "!t", "^x03"); // Team Color        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();            }        }    }}

User avatar
Vebsteris
Jau po truputį tampa savu
Posts: 195
Joined: 2011 Aug 20 14:08

Re: Vip meniu, paziurekit. Script.

Post by Vebsteris »

Su menu_additem žinok irgi yra būdų kilnoti.

Pukuotukas951
Gana aktyvus vartotojas
Posts: 445
Joined: 2011 Aug 27 09:29

Re: Vip meniu, paziurekit. Script.

Post by Pukuotukas951 »

Gal gali pasakyti kaip?

newb
Pluginų patvirtintojas
Posts: 1047
Joined: 2010 Sep 23 21:43
Location: Wonderland
Contact:

Re: Vip meniu, paziurekit. Script.

Post by newb »


Pukuotukas951
Gana aktyvus vartotojas
Posts: 445
Joined: 2011 Aug 27 09:29

Re: Vip meniu, paziurekit. Script.

Post by Pukuotukas951 »

Kaip tai perdaryt, prasau gal kas galit padaryti? + karma garantuota.

newb
Pluginų patvirtintojas
Posts: 1047
Joined: 2010 Sep 23 21:43
Location: Wonderland
Contact:

Re: Vip meniu, paziurekit. Script.

Post by newb »

Va su paprastu meniu generatorium padariau...

Code: Select all

#include <amxmodx>#include <amxmisc>#include <cstrike>#include <engine>#include <fun>#include <hamsandwich>  #define ADMIN_JBVIP ADMIN_KICK // PREFIXnew const PREFIX[] = { "!g[ JailBreak ]!n" }; #define KeysVipCTMenu (1<<0)|(1<<1)|(1<<2)|(1<<9)#define KeysVipTMenu (1<<0)|(1<<1)|(1<<2)|(1<<9) new VipUsed[33];new HasSpeed; new Float:fast_speed = 400.0;new Float:normal_speed = 250.0; public plugin_init() {        register_menucmd(register_menuid("VipTMenu"), KeysVipTMenu, "PressedVipTMenu")    register_menucmd(register_menuid("VipCTMenu"), KeysVipCTMenu, "PressedVipCTMenu")        RegisterHam(Ham_Spawn, "player", "FwdHamSpawn_Post", 1)    RegisterHam( Ham_Item_PreFrame, "player", "FwdPreFrame_Post", 1)        register_clcmd("say vmenu", "cmdVmenu");    register_clcmd("say /vmenu", "cmdVmenu");    register_clcmd("say_team vmenu", "cmdVmenu");    register_clcmd("say_team /vmenu", "cmdVmenu");} public cmdVmenu(id){    if(cs_get_user_team(id) == CS_TEAM_CT && get_user_flags(id) && ADMIN_JBVIP && !VipUsed[id])    {        ShowVipCTMenu(id)    }        else if(cs_get_user_team(id) == CS_TEAM_T && get_user_flags(id) && ADMIN_JBVIP && !VipUsed[id])    {        ShowVipTMenu(id)    }        else if(VipUsed[id])    {        client_printc(id, "%s You Already used !gVIP Menu!n this round. Please wait till next round", PREFIX);    }        else    {        client_printc(id, "%s Only !gAdmins!n that are !gTerrorist!n or !gCounter Terrorist!n may use the VIP Menu", PREFIX);        return PLUGIN_HANDLED;    }        return PLUGIN_HANDLED;}  public ShowVipCTMenu(id) {    show_menu(id, KeysVipCTMenu,     "\yJailBreak VIP CT Menu:^n^n\    \r1. \w+50hp and +100 armor^n\    \r2. \wM4A1 and AK47^n\    \r3. \wFaster Speed and Glow Green^n^n\    \r0. \yExit",    -1, "VipCTMenu")} public PressedVipCTMenu(id, key) {    switch (key) {        case 0: {            set_user_health(id, get_user_health(id) + 50)            set_user_armor(id, get_user_armor(id) + 100)             client_printc(id, "%s You Have just recieved !g50HP!n and !g100 Armor!n", PREFIX)        }        case 1: {            give_item(id, "weapon_m4a1")            give_item(id, "weapon_ak47")            cs_set_user_bpammo(id, CSW_M4A1, 90)            cs_set_user_bpammo(id, CSW_AK47, 90)                                    client_printc(id, "%s You Have just recieved an !gM4A1!n and !gAK47!n", PREFIX)        }        case 2: {            set_user_maxspeed(id, fast_speed)            set_user_rendering(id, kRenderFxGlowShell, 0, 255, 0, kRenderTransAlpha, 16)            HasSpeed = true                    client_printc(id, "%s You Have just recieved !gSpeed!n and !gGlowing Green!n", PREFIX)        }        case 9: return    }    VipUsed[id] = true        return}  public ShowVipTMenu(id) {    show_menu(id, KeysVipTMenu,     "\yJailBreak VIP T Menu:^n^n\    \r1. \wGlock with 15 bullets^n\    \r2. \wFaster Speed and Glow Green^n\    \r3. \w+50hp and +50armor^n^n\    \r0. \yExit^n",    -1, "VipTMenu")} public PressedVipTMenu(id, key) {    switch (key) {        case 0: {            give_item(id, "weapon_glock18")            cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_glock18", id), 15)                        client_printc(id, "%s You Have just recieved a !gGlock with 15 Bullets!n", PREFIX)        }        case 1: {            set_user_maxspeed(id, fast_speed)            set_user_rendering(id, kRenderFxGlowShell, 0, 255, 0, kRenderTransAlpha, 16)            HasSpeed = true                        client_printc(id, "%s You Have just recieved !gSpeed!n and !gGlowing Green!n", PREFIX)        }        case 2: {            set_user_health(id, get_user_health(id) + 50)            set_user_armor(id, get_user_armor(id) + 100)                                    client_printc(id, "%s You Have just recieved !g50HP!n and !g100 Armor!n", PREFIX)        }        case 9: return    }    VipUsed[id] = true    return} public FwdPreFrame_Post(id){    if(!is_user_alive(id))    {        return PLUGIN_HANDLED;    }        if(!HasSpeed)    {        return PLUGIN_HANDLED;    }        else if(HasSpeed)    {        set_user_maxspeed(id, fast_speed);    }        return PLUGIN_HANDLED;} public FwdHamSpawn_Post(id){    HasSpeed = false;    VipUsed[id] = false;    set_user_maxspeed(id, normal_speed);    set_user_rendering( id, _, 0, 0, 0, _, 0 );  } // Colour Chatstock client_printc(const id, const input[], any:...){    new count = 1, players[32];    static msg[191];    vformat(msg, 190, input, 3);        replace_all(msg, 190, "!g", "^x04"); // Green Color    replace_all(msg, 190, "!n", "^x01"); // Default Color    replace_all(msg, 190, "!t", "^x03"); // Team Color        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();            }        }    }}

Pukuotukas951
Gana aktyvus vartotojas
Posts: 445
Joined: 2011 Aug 27 09:29

Re: Vip meniu, paziurekit. Script.

Post by Pukuotukas951 »

Ačiū, o kuo skiresi paprastu meniu? ir len +format ? P.S čia be bugų?

newb
Pluginų patvirtintojas
Posts: 1047
Joined: 2010 Sep 23 21:43
Location: Wonderland
Contact:

Re: Vip meniu, paziurekit. Script.

Post by newb »

Su tais len lengivau formatuot atskira meniu punkta, pvz jei punktai imami is masyvo kokio ar dar kur.

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests