Witam. Mam problem z zablokowaniem wykonania forwardu w sklepie biohazardu.
Chodzi o to, że np. kupując działko zabiera pieniądze nawet wtedy gdy stawiamy działko w miejscu gdzie nie da się go postawić. Kasy nie powinno zabierać, a zabiera niestety. Moje zasadnicze pytanie brzmi jak zatrzymać forward w konkretnym miejscu np. za pomocą return PLUGIN_HANDLED?
Próbowałem to zrobić tak:
g_selected_forward = CreateMultiForward("bio_item_selected", ET_STOP, FP_CELL, FP_CELL)
Zmieniłem tylko ET_IGRONE na ET_STOP licząc że forward się zatrzyma przy return PLUGIN_HANDLED. Funkcja wygląda tak:
public bio_item_selected(id, item)
{
if(item != g_sentry)
return PLUGIN_HANDLED
if(sentry_build(id)) //zwraca false w przypadku nieudanej proby postawienia
return PLUGIN_CONTINUE
else return PLUGIN_HANDLED;
return PLUGIN_CONTINUE
}
Ale po takiej akcji forward nie wykonuje się wcale.
Mam jeszcze pytanie jak przy nieudanej próbie wywołania forwardu zatrzymać plugin w miejscu jego wywołania?
public menu1_handle_human(id, menu, item)
{
if(item == MENU_EXIT || is_user_zombie(id))
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
static data[6], szName[64], access, callback
static temp_integer1
menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback)
temp_integer1 = str_to_num(data)
static cost, wp_name[64], wp_desc[64]
cost = ArrayGetCell(Item_Cost, temp_integer1)
ArrayGetString(Item_Name, temp_integer1, wp_name, sizeof(wp_name))
ArrayGetString(Item_Desc, temp_integer1, wp_desc, sizeof(wp_desc))
static g_dummy
ExecuteForward(g_selected_forward, g_dummy, id, temp_integer1)
//Jezeli forward sie nie wykonal to jak zatrzymac te funkcje (sama sie zatrzymuje?)
if(cs_get_user_money(id) >= cost)
{
client_printc(id, "!g[Bio Shop]!n Kupiles !t%s!n za !t%i$!n !!!", wp_name, cost)
client_printc(id, "!g[Bio Shop]!n !t%s!n !!!", wp_desc)
cs_set_user_money(id, cs_get_user_money(id) - cost)
} else {
client_printc(id, "!g[Bio Shop]!n Nie masz wystarczajacej ilosci kasy aby kupic : !t%s!n. Koszt:!t%i$!n !!!", wp_name, cost)
}
return PLUGIN_CONTINUE
}
Gdyby komuś było potrzebne wysyłam obydwa pluginy w załącznikach.


 Forum
 
Forum
 Użytkownicy
 
Użytkownicy
 Kalendarz
 
Kalendarz
 Dodatki SourceMod
 
Dodatki SourceMod



 
	 
					
 bio_shop.amxx
  bio_shop.amxx

 
				
				









