Ето и малко код от ZP Boxes..
Код за потвърждение: Избери целия код
#include <nanosuit>
Код за потвърждение: Избери целия код
public fw_box_touch(ent, id)
{
if(!pev_valid(ent) || !is_user_alive(id)
|| zp_get_user_nemesis(id) || zp_get_user_survivor(id)) return
static classname[32], Float:armor
entity_get_string(ent,EV_SZ_classname,classname,31)
pev(id, pev_armorvalue, armor)
// Bugfix
if (equal(classname, BOX_CLASSNAME))
return
if (equal(classname, ITEMBOX_ANTIDOTE))
{
if(zp_get_user_zombie(id) && !zp_get_user_last_zombie(id))
{
ChatColor(id, "!g[%s]!y You won an antidote!", PREFIX)
zp_disinfect_user(id)
remove_entity_item(ent, id)
}
}
if (equal(classname, ITEMBOX_HEALTH))
{
if(!zp_get_user_zombie(id))
{
ChatColor(id, "!g[%s]!y +50 health!", PREFIX)
set_user_health(id,get_user_health(id) + 50)
remove_entity_item(ent, id)
}
}
if (equal(classname, ITEMBOX_HGIBS))
{
if(zp_get_user_zombie(id))
{
ChatColor(id, "!g[%s]!y +1000 health!", PREFIX)
set_user_health(id,get_user_health(id) + 1000)
remove_entity_item(ent, id)
}
}
if (equal(classname, ITEMBOX_ARMOR))
{
if(!zp_get_user_zombie(id) && armor < 100)
{
ChatColor(id, "!g[%s]!y +50 Armor!", PREFIX)
set_pev(id, pev_armorvalue, floatmax(0.0, armor + 50))
remove_entity_item(ent, id)
}
}
if (equal(classname, ITEMBOX_AMMO))
{
if(!zp_get_user_zombie(id) && !get_user_uc(id))
{
ChatColor(id, "!g[%s]!y Unlimited clip!", PREFIX)
set_user_uc(id, true)
remove_entity_item(ent, id)
}
}
if (equal(classname, ITEMBOX_BATTERY))
{
if(!zp_get_user_zombie(id))
{
ChatColor(id, "!g[%s]!y +20 Energy!", PREFIX)
set_user_energy(id, true)
remove_entity_item(ent, id)
}
}
}
Код за потвърждение: Избери целия код
public plugin_natives()
{
register_native("set_user_nanosuit", "native_set_user_nanosuit", 1)
register_native("set_user_energy", "native_set_user_energy", 1)
register_native("get_user_nanosuit", "native_get_user_nanosuit", 1)
}
Код за потвърждение: Избери целия код
public native_set_user_nanosuit(id, set)
{
if(set)
{
cl_nn_has[id] = NANO_YES
nanosuit_reset(id, true)
cl_nn_mode[id] = NANO_ARMOR
ExecuteHamB(Ham_Player_ResetMaxSpeed, id)
}
else
{
cl_nn_had[id] = cl_nn_has[id]
cl_nn_has[id] = NANO_NO
nanosuit_reset(id)
ExecuteHamB(Ham_Player_ResetMaxSpeed, id)
}
}
//Native (+20 energy)
public native_set_user_energy(id, set)
{
if(set)
{
g_nn_energy[id] += 20
}
}
//Native
public native_get_user_nanosuit(id)
{
cl_nn_has[id] = NANO_YES
}
Код за потвърждение: Избери целия код
//Nanosuit Remove/Restore
native set_user_nanosuit(id, set)
//Set +20 Energy
native set_user_energy(id, set)
// Get user nanosuit
native get_user_nanosuit(id)
Код за потвърждение: Избери целия код
[AMXX] Plugin "zp_boxes.amxx" failed to load: Plugin uses an unknown function (name "set_user_uc") - check your modules.ini.