Tworzę sklep w którym będzie można dodawać itemy jako osobne pluginy (tak jak itemy zp czy klasy cod)
i mam problem z forwardem
Główny plugin
new ForwardBuy public plugin_init() { ForwardBuy = CreateMultiForward("bio_item_buy",ET_CONTINUE,FP_CELL,FP_CELL)// tworze forward } public native_register_item(plugins,params) { if(params != 4) return PLUGIN_CONTINUE static team team=get_param(4) if(++ItemNum[team] > MaxItem) return -1 get_string(1, ItemName[team][ItemNum[team]], 31); get_string(2, ItemDescript[team][ItemNum[team]],15) ItemCost[team][ItemNum[team]]=get_param(3) ItemPlugin[team][ItemNum[team]]=plugins //zapisuje id pluginu itemu w glownym pluginie error=3 return ItemPlugin[team][ItemNum[team]] // zwracam id pluginu itemu aby mozna bylo przypisac go do zminnej w pluginie itemu } public ShopHandler(id,menu,item) { static iRet menu_destroy(menu) if(item==MENU_EXIT) return PLUGIN_CONTINUE ColorChat(id,GREEN,"%s Wybrales item %s",prefix,ItemName[iTeam[id]][item+1]) ExecuteForward(ForwardBuy,iRet,id,ItemPlugin[iTeam[id]][item+1]) // wywoluje forward i zwaracm id gracza oraz id pluginu itemu return PLUGIN_CONTINUE }
Drugi plugin
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #define PLUGIN "Testowy Item" #define VERSION "1.0" #define AUTHOR "author" native register_item(nazwa[],opis[],cena,druzyna) forward bio_item_buy(id,item_id) new gItemId public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) gItemId = register_item("Przykladowy item","opis itemu",30,1) //rejestruje item i przypisuje jego id do zmiennej } public bio_item_buy(id,item_id) // forward ktory ma sie wykonac { if(gItemId == item_id) { client_print(id,3,"wybrales ten item") } else { client_print(id,3,"nie wybrales ten item") } }
Problem jest taki ze forward wcale się nie wykonuje, generalnie dawno nie pisałem a z forwardami miałem do czynienia tylko raz zapewne jest to jakiś drobny błąd którego nie mogę wychwycić.
Z góry dzięki za pomoc