[ROZWIĄZANE] Problem z 2 linijkami sklepu
Najlepsza odpowiedź Klakier 15.01.2014 21:22
.K3K 15.01.2014
Witam, uczę się pisać plugin'y i jakoś mi to nie wychodzi. czy mógłby mi ktoś poprawić te oto błędy w moim sklepie
a oto błędy
x.sma(18) : error 029: invalid expression, assumed zero x.sma(18 -- 19) : error 008: must be a constant expression; assumed zero x.sma(69) : error 017: undefined symbol "set_user_multijump" x.sma(69) : warning 215: expression has no effect x.sma(69) : error 001: expected token: ";", but found "]" x.sma(69) : error 029: invalid expression, assumed zero x.sma(69) : fatal error 107: too many error messages on one line
te numerki to linie
18. }; 19. 20. public plugin_init() { 69. set_user_multijump[id] = true
CsBoost 15.01.2014
Aby ktoś mógł poprawić te błędy, musi mieć cały kod .sma pluginu.
Powyższy wycinek to za mało.
.K3K 15.01.2014
jest to sklep za fragi prośił bym o naprawienie multijumpów oraz aby był na komendę /shopfragi
#include <amxmodx> #include <amxmisc> #include <fun> #include <ColorChat> #define PLUGIN "Sklep za Fragi" #define VERSION "1.0" #define AUTHOR "Karol33k" new name[64], prefix[] = "[NazwaForum.pl]"; new const g_Commands[][] = { "say /shopfrag", "say /shopfragi", "say_team /shopfrag", "say_team /shopfragi", }; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) for(new i ; i < sizeof g_Commands ; i ++) register_clcmd(g_Commands[i], "cmdSklep"); } public cmdSklep(id) { new menu,formats[64]; formatex(formats,charsmax(formats),"\ySklep Fragow^n\wPosiadasz %d Fragow",get_user_frags(id)) menu = menu_create(formats,"handle_cmdSklep"); if(get_user_team(id) == 2) { menu_additem(menu,"\wGranat Flash \y[3fragi]","0") menu_additem(menu,"\wGranat Smoke \y[4fragi]","1") menu_additem(menu,"\wDodatkowy Skok \y[6fragow]","2") } else if(get_user_team(id) == 1) { menu_additem(menu,"\wGranat Flash \y[3fragi]","0") menu_additem(menu,"\wGranat Smoke \y[4fragow]","1") menu_additem(menu,"\wDodatkowy Skok \y[6fragow]","2") } menu_setprop(menu,MPROP_EXIT,MEXIT_ALL) menu_setprop(menu,MPROP_EXITNAME,"Wyjscie") menu_setprop(menu,MPROP_NEXTNAME,"Dalej") menu_setprop(menu,MPROP_BACKNAME,"Wroc") menu_display(id,menu,0) } public handle_cmdSklep(id, menu, item) { get_user_name(id,name,charsmax(name)); switch(item) { case 0: { if(!gb_BuyItem(id,2,2)) return PLUGIN_HANDLED; give_item(id, "weapon_Flashbang"); ColorChat(id, GREY, "%s %s ^x01 kupiles wlasnie ^x03 Granat Flash!", prefix,name); } case 1: { if(!gb_BuyItem(id,2,2)) return PLUGIN_HANDLED; ColorChat(id, GREY, "%s %s ^x01 kupiles Granat Smoke!", prefix,name); give_item(id, "weapon_smokegrenade"); } case 2: { if(!gb_BuyItem(id,10,2)) return PLUGIN_HANDLED; ColorChat(id, GREY, "%s %s ^x01 kupiles MultiJump",prefix, name); set_user_multijump[id] = true } case 3: { if(!gb_BuyItem(id,2,1)) return PLUGIN_HANDLED; give_item(id, "weapon_Flashbang"); ColorChat(id, GREY, "%s %s ^x01 kupiles wlasnie ^x03 Granat Flash!", prefix,name); } case 4: { if(!gb_BuyItem(id,8,1)) return PLUGIN_HANDLED; ColorChat(id, GREY, "%s %s ^x01 kupiles Granat Smoke!", prefix,name); give_item(id, "weapon_smokegrenade"); } case 5: { if(!gb_BuyItem(id,10,1)) return PLUGIN_HANDLED; ColorChat(id, GREY, "%s %s ^x01 kupiles MultiJump",prefix, name); set_user_multijump[id] = true } } return PLUGIN_CONTINUE; } public gb_BuyItem(id,frags,team){ get_user_name(id, name, 31); if(!is_user_alive(id)){ ColorChat(id, GREY, "%s %s nie zyjesz jak chcesz kupywac?!", prefix,name); return false; } if(get_user_frags(id) < frags) { ColorChat(id, GREY, "%s %s nie zyjesz jak chcesz kupywac?!", prefix,name); return false; } if(get_user_team(id) != team) { ColorChat(id, GREY, "%s %s ta opcja jest dostepna nie dla twojego zespolu!", prefix,name); return false; } if (get_user_frags(id) >= frags){ set_user_frags(id, get_user_frags(id) - frags); return true; } return PLUGIN_CONTINUE; }
Użytkownik resx edytował ten post 15.01.2014 17:42
Wielkie Jol
15.01.2014
#include <amxmodx> #include <amxmisc> #include <fun> #include <ColorChat> #define PLUGIN "Sklep za Fragi" #define VERSION "1.0" #define AUTHOR "Karol33k" new name[64], prefix[] = "[NazwaForum.pl]"; new set_user_multijump[33]; new const g_Commands[][] = { "say /shopfrag", "say /shopfragi", "say_team /shopfrag", "say_team /shopfragi" } public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) for(new i ; i < sizeof g_Commands ; i ++) register_clcmd(g_Commands[i], "cmdSklep"); } public cmdSklep(id) { new menu,formats[64]; formatex(formats,charsmax(formats),"\ySklep Fragow^n\wPosiadasz %d Fragow",get_user_frags(id)) menu = menu_create(formats,"handle_cmdSklep"); if(get_user_team(id) == 2) { menu_additem(menu,"\wGranat Flash \y[3fragi]","0") menu_additem(menu,"\wGranat Smoke \y[4fragi]","1") menu_additem(menu,"\wDodatkowy Skok \y[6fragow]","2") } else if(get_user_team(id) == 1) { menu_additem(menu,"\wGranat Flash \y[3fragi]","0") menu_additem(menu,"\wGranat Smoke \y[4fragow]","1") menu_additem(menu,"\wDodatkowy Skok \y[6fragow]","2") } menu_setprop(menu,MPROP_EXIT,MEXIT_ALL) menu_setprop(menu,MPROP_EXITNAME,"Wyjscie") menu_setprop(menu,MPROP_NEXTNAME,"Dalej") menu_setprop(menu,MPROP_BACKNAME,"Wroc") menu_display(id,menu,0) } public handle_cmdSklep(id, menu, item) { get_user_name(id,name,charsmax(name)); switch(item) { case 0: { if(!gb_BuyItem(id,2,2)) return PLUGIN_HANDLED; give_item(id, "weapon_Flashbang"); ColorChat(id, GREY, "%s %s ^x01 kupiles wlasnie ^x03 Granat Flash!", prefix,name); } case 1: { if(!gb_BuyItem(id,2,2)) return PLUGIN_HANDLED; ColorChat(id, GREY, "%s %s ^x01 kupiles Granat Smoke!", prefix,name); give_item(id, "weapon_smokegrenade"); } case 2: { if(!gb_BuyItem(id,10,2)) return PLUGIN_HANDLED; ColorChat(id, GREY, "%s %s ^x01 kupiles MultiJump",prefix, name); set_user_multijump[id] = true } case 3: { if(!gb_BuyItem(id,2,1)) return PLUGIN_HANDLED; give_item(id, "weapon_Flashbang"); ColorChat(id, GREY, "%s %s ^x01 kupiles wlasnie ^x03 Granat Flash!", prefix,name); } case 4: { if(!gb_BuyItem(id,8,1)) return PLUGIN_HANDLED; ColorChat(id, GREY, "%s %s ^x01 kupiles Granat Smoke!", prefix,name); give_item(id, "weapon_smokegrenade"); } case 5: { if(!gb_BuyItem(id,10,1)) return PLUGIN_HANDLED; ColorChat(id, GREY, "%s %s ^x01 kupiles MultiJump",prefix, name); set_user_multijump[id] = true } } return PLUGIN_CONTINUE; } public gb_BuyItem(id,frags,team){ get_user_name(id, name, 31); if(!is_user_alive(id)){ ColorChat(id, GREY, "%s %s nie zyjesz jak chcesz kupywac?!", prefix,name); return false; } if(get_user_frags(id) < frags) { ColorChat(id, GREY, "%s %s nie zyjesz jak chcesz kupywac?!", prefix,name); return false; } if(get_user_team(id) != team) { ColorChat(id, GREY, "%s %s ta opcja jest dostepna nie dla twojego zespolu!", prefix,name); return false; } if (get_user_frags(id) >= frags){ set_user_frags(id, get_user_frags(id) - frags); return true; } return PLUGIN_CONTINUE; }
.K3K 15.01.2014
Dobra plugin gra ale jest w nim inny problem tt w ogóle nie może nic kupić a ct może kupić tylko smoke dałbyś radę to przerobić jeszcze? naprawdę będę bardzo wdzięczny i poleci ++
aha wiem, że jest to problem z tym np. id,8,1 ; id,10,2 itd nie zbyt to ogarniam :S
przy próbie kupna multijump jest komunikat, że nie żyję więc nie mogę kupować a u tt jak chcę coś kupić to wyskakuje, że to nie dla mojego teamu
Użytkownik resx edytował ten post 15.01.2014 19:25
Wielkie Jol
15.01.2014
Spróbuj usunąć warunki sprawdzania drużyny do menu_additem, nie jest to potrzebne, skoro i tak dla wszystkich są te same bonusy do wykupienia.
Gość_21977_* 22.01.2014
Ten temat został przeniesiony z forum
AMX Mod X → Problemy
do
Scripting AMXX → Problemy