Post by ShaunCraft15 on May 17, 2022 10:52:44 GMT
This is A Test Version Of This Plugin
Any Zombie Plague Special User Reply About this
My Project: Zombie Plague 5.0 subplugin for zombie plague special
Any Zombie Plague Special User Reply About this
My Project: Zombie Plague 5.0 subplugin for zombie plague special
/*================================================================================
--------------------------
-*- [ZP] Items Manager -*-
--------------------------
This plugin was made for work on zombie plague special
Sorry For Bad English
================================================================================*/
#include <amxmodx>
#include <zombie_plague_special>
#include <zp50_items_const>
#define PLUGIN "[ZP] 5.0 Item System"
#define VERSION "1.0"
#define AUTHOR "ShaunCraft"
enum _:ITEMS_FORWARDS
{
FW_ITEMS_SELECT_PRE = 0,
FW_ITEMS_SELECT_POST
}
new g_Forwards[ITEMS_FORWARDS]
new g_ForwardResult
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_Forwards[FW_ITEMS_SELECT_PRE] = CreateMultiForward("zp_fw_items_select_pre", ET_CONTINUE, FP_CELL, FP_CELL)
g_Forwards[FW_ITEMS_SELECT_POST] = CreateMultiForward("zp_fw_items_select_post", ET_CONTINUE, FP_CELL, FP_CELL)
}
public plugin_natives()
{
register_native("zp_items_register", "native_items_register")
register_native("zp_items_get_id", "native_items_get_id")
register_native("zp_items_get_name", "native_items_get_name")
register_native("zp_items_get_real_name", "native_items_get_real_name")
register_native("zp_items_get_cost", "native_items_get_cost")
register_native("zp_items_show_menu", "native_items_show_menu", 1)
register_native("zp_items_force_buy", "native_items_force_buy")
register_native("zp_items_menu_text_add", "native_items_menu_text_add")
}
public native_items_register(plugin_id, num_params)
{
new name[32]
get_string(1, name, charsmax(name))
new cost = get_param(2)
return zp_register_extra_item(name, cost, ZP_TEAM_ANY)
}
public native_items_get_id(plugin_id, num_params)
{
new name[32]
get_string(1, name, charsmax(name))
return zp_get_extra_item_id(name)
}
public native_items_get_name(plugin_id, num_params)
{
new itemid = get_param(1)
new name[32]
get_string(1, name, charsmax(name))
new len = get_param(3)
set_string(2, name, len)
return zp_get_extra_item_name(itemid, name, len)
}
public native_items_get_real_name(itemid, realname[32], len)
{
new itemid = get_param(1)
new realname[32]
get_string(1, realname, charsmax(realname))
new len = get_param(3)
set_string(2, realname, len)
return zp_get_extra_item_realname(itemid, realname, len)
}
public native_items_get_cost(plugin_id, num_params)
{
new itemid = get_param(1)
return zp_get_extra_item_cost(itemid)
}
public native_items_show_menu(id) return client_cmd(id, "zp_game_menu")
public native_items_menu_text_add(plugin_id, num_params)
{
static text[32]
get_string(1, text, charsmax(text))
return zp_extra_item_textadd(text)
}
public native_items_force_buy(id, itemid, ignorecost)
{
new id = get_param(1), itemid = get_param(2), ignorecost = get_param(3)
return zp_force_buy_extra_item(id, itemid, ignorecost)
}
public zp_extra_item_selected(id, itemid)
{
new ignorecost = 0
ExecuteForward(g_Forwards[FW_ITEMS_SELECT_POST], g_ForwardResult, id, itemid, ignorecost)
}
public zp_extra_item_selected_pre(id, itemid)
{
new ignorecost = 0
ExecuteForward(g_Forwards[FW_ITEMS_SELECT_PRE], g_ForwardResult, id, itemid, ignorecost)
if (g_ForwardResult >= ZP_ITEM_DONT_SHOW)
return ZP_PLUGIN_SUPERCEDE
if (g_ForwardResult >= ZP_ITEM_NOT_AVAILABLE)
return ZP_PLUGIN_HANDLED
return PLUGIN_CONTINUE
}