Buy Menu [Zaliems]

Šiame forume galima rasti pamokas, patarimus, skriptus ir kitą naudingą informciją.
User avatar
zirualas
Gana aktyvus vartotojas
Posts: 216
Joined: 2010 Oct 16 21:33
Skype: zirual
Location: Vilnius
Contact:

Buy Menu [Zaliems]

Post by zirualas »

Taigi, neturėdamas ką veikti paėmiau ir sukūriau pamoką "Kaip sukurti Buy Menu".
Taigi paėmam ir padarom taip:

Code: Select all

#include <amxmodx>#include <amxmisc>#include <cstrike>
Tada prie į public plugin_init() įrašome:

Code: Select all

register_plugin("ShopMenu", "1.0", "Zirual")    register_clcmd( "say /shopmenu", "ShopMenu" ); // ten kur /shopmenu, galite parašyti savo norimą komandą
Dabar mums reikėtu meniu ;]

Rašome:

Code: Select all

public ShopMenu(id){    new menu = menu_create("\yShop Menu:", "menu_handler"); // Mūsų "topic" menių. Kuria rodys viršuje. \y - Geltona, \r - raudona        menu_additem(menu, "\w Grazus zodis - /r8000 $", "1", 0); // 1 Punktas    menu_additem(menu, "\w Blogas zodis - /r7500 $", "2", 0); // 2 Punktas    menu_additem(menu, "\w Paprastas zodis - /r8500 $", "3", 0); // 3 Punktas        menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)    menu_display(id, menu, 0); }
Dabar reikėtu padaryti, kad kai pasirenki kažką, kad duotų mums kažką ;D.

Code: Select all

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:        {                        if (cs_get_user_money(id) < 8000) // pirmas punktas, jei keitete kaina virsuje tai turite ir cia pakeisti            {                client_print(id, print_chat, "Tau neuztenka pinigu") // Tekstas kuri parasys, jei neturesi 8000 $                return PLUGIN_HANDLED;            }                        if (!is_user_alive(id)) // Tikrina ar zaidejas gyvas            {                client_print(id, print_chat, "Turi buti gyvas") // Tekstas kuri parasys jei busi negyvas                return PLUGIN_HANDLED;            }                        if (cs_get_user_money(id) >= 8000 ) // Tikrina ar pinigu yra daugiau arba lygu (keisti suma jei keitete virsuje)            {                client_print(id, print_chat, "Tu nusipirkai grazu zodi.") // Tekstas kuri parasys jei nusipirksi kazka                cs_set_user_money(id , cs_get_user_money(id) - 8000, 0) // Atema is zaidejo 8000 $            }        }        case 2:        {                        if (cs_get_user_money(id) < 7500) // antras punktas, jei keitete kaina virsuje tai turite ir cia pakeisti            {                client_print(id, print_chat, "Tau neuztenka pinigu") // Tekstas kuri parasys, jei neturesi 7500 $                return PLUGIN_HANDLED;            }                        if (!is_user_alive(id)) // Tikrina ar zaidejas gyvas            {                client_print(id, print_chat, "Turi buti gyvas") // Tekstas kuri parasys jei busi negyvas                return PLUGIN_HANDLED;            }                        if (cs_get_user_money(id) >= 7500 ) // Tikrina ar pinigu yra daugiau arba lygu (keisti suma jei keitete virsuje)            {                client_print(id, print_chat, "Tu nusipirkai BLOGA zodi!!") // Tekstas kuri parasys jei nusipirksi kazka                cs_set_user_money(id , cs_get_user_money(id) - 7500, 0) // Atema is zaidejo 7500 $            }        }                case 3:        {                        if (cs_get_user_money(id) < 8500) // trecias punktas, jei keitete kaina virsuje tai turite ir cia pakeisti            {                client_print(id, print_chat, "Tau neuztenka pinigu") // Tekstas kuri parasys, jei neturesi 8500 $                return PLUGIN_HANDLED;            }                        if (!is_user_alive(id)) // Tikrina ar zaidejas gyvas            {                client_print(id, print_chat, "Turi buti gyvas") // Tekstas kuri parasys jei busi negyvas                return PLUGIN_HANDLED;            }                        if (cs_get_user_money(id) >= 8000 ) // Tikrina ar pinigu yra daugiau arba lygu (keisti suma jei keitete virsuje)            {                client_print(id, print_chat, "Tu nusipirkai Paprasciausia zodi") // Tekstas kuri parasys jei nusipirksi kazka                cs_set_user_money(id , cs_get_user_money(id) - 8000, 0) // Atema is zaidejo 8500 $            }        }        menu_destroy(menu);     return PLUGIN_HANDLED; }
Taigi, pamokele kaip ir baigta. Jum beliek eksperimentuoti su siuo kodu ;]
Last edited by zirualas on 2011 Jan 29 21:22, edited 2 times in total.

User avatar
xFrostas
Flooderis arba specialistas
Posts: 660
Joined: 2010 Sep 02 15:47
Skype: frost.lt

Re: Buy Menu [Zaliems]

Post by xFrostas »

Kur esi padaręs meniu handler'yje, kad tikrintų jog žaidėjas yra gyvas, galėtum padaryti tiesiog meniu funkcijoje būtų mažesnis kodas (gal ir lengvesnis ;D)

Code: Select all

public ShopMenu(id){    if (!is_user_alive(id)) // Tikrins ar esi gyvas    {        client_print(id, print_chat, "Turi buti gyvas") // Tekstas kuri parasys jei busi negyvas        return    }    else    {        // Meniu    }}

User avatar
zirualas
Gana aktyvus vartotojas
Posts: 216
Joined: 2010 Oct 16 21:33
Skype: zirual
Location: Vilnius
Contact:

Re: Buy Menu [Zaliems]

Post by zirualas »

Nu galima daryti, bet cia shop menu, gal koks zmogus nores pasidaryti, kad galetu nusipirkti Spawn'a

User avatar
xFrostas
Flooderis arba specialistas
Posts: 660
Joined: 2010 Sep 02 15:47
Skype: frost.lt

Re: Buy Menu [Zaliems]

Post by xFrostas »

na nebent :) bet galima padaryti ir taip

Code: Select all

public ShopMenu(id){    if (!is_user_alive(id)) // Tikrins ar esi gyvas    {        client_print(id, print_chat, "Turi buti gyvas") // Tekstas kuri parasys jei busi negyvas        return    }    else    {        // Meniu    }    // Spawn punktas}

User avatar
zirualas
Gana aktyvus vartotojas
Posts: 216
Joined: 2010 Oct 16 21:33
Skype: zirual
Location: Vilnius
Contact:

Re: Buy Menu [Zaliems]

Post by zirualas »

Tavo teisybe :] Todel ir parasiau:
Jum beliek eksperimentuoti su siuo kodu ;]

User avatar
xFrostas
Flooderis arba specialistas
Posts: 660
Joined: 2010 Sep 02 15:47
Skype: frost.lt

Re: Buy Menu [Zaliems]

Post by xFrostas »

beje pamiršau parašyt

Code: Select all

register_plugin(ShopMenu, 1.0, Zirual)
>>>

Code: Select all

register_plugin("ShopMenu", "1.0", "Zirual")

User avatar
zirualas
Gana aktyvus vartotojas
Posts: 216
Joined: 2010 Oct 16 21:33
Skype: zirual
Location: Vilnius
Contact:

Re: Buy Menu [Zaliems]

Post by zirualas »

Pataisiau. Tikrai reikia maziau no-lifint ;DD

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: Buy Menu [Zaliems]

Post by aaarnas »

Jei meniu turi mažiau nei 7 punktus, visada darykit taip, nes taip paprasčiau ir labiau optimizuota:

Code: Select all

public ShopMenu(id){    new menu = menu_create("\gShop Menu:", "menu_handler"); // Mūsų "topic" menių. Kuria rodys viršuje        menu_additem(menu, "\w Grazus zodis - /r8000 $"); // 1 Punktas    menu_additem(menu, "\w Blogas zodis - /r7500 $"); // 2 Punktas    menu_additem(menu, "\w Paprastas zodis - /r8500 $"); // 3 Punktas        menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)    menu_display(id, menu, 0); }

Code: Select all

 public menu_handler(id, menu, item){    if( item == MENU_EXIT )    {        menu_destroy(menu);        return PLUGIN_HANDLED;    }       switch(item) {        case 0: // Pirmas punktas        case 1: // Antras punktas        case 2: // Trecias    }        menu_destroy(menu);     return PLUGIN_HANDLED; }
Beje turėtų būti ne \r ? Ir kas tas \g ?
Palikau CS pasaulį ;/ . Nebepasiekiamas.

User avatar
zirualas
Gana aktyvus vartotojas
Posts: 216
Joined: 2010 Oct 16 21:33
Skype: zirual
Location: Vilnius
Contact:

Re: Buy Menu [Zaliems]

Post by zirualas »

Beje turėtų būti ne \r ? Ir kas tas \g ?
\g tai green reiske, nezinau, man veike anksciau ;]

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: Buy Menu [Zaliems]

Post by aaarnas »

Ką tik pamėginau. simbolį \g sistema atpažįsta, bet jis nieko nepadaro. Gal veiktų su sena meniu sistema, bet abejoju. Nesu matęs žalios spalvos meniu.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests