Цитата(Fred Perry @ 5.4.2014, 20:34)

Всем здарова.
Суть плагина - должен выдавать пак гранат.
Проблема, должно вроде же выдавать 2 флеши, но не выдает. В чем проблема или я что-то не так делаю
Кусок когда с выдачей
Код
if(user_has_weapon(player, CSW_FLASHBANG))
{
static frost
frost = cs_get_user_bpammo(player, CSW_FLASHBANG)
cs_set_user_bpammo(player, CSW_FLASHBANG, frost + 2)
}
Код
#include <amxmodx>
#include <fakemeta>
#include <cstrike>
#include <zombieplague>
#define PLUGIN "[ZP] Pack Of Granades"
#define VERSION "1.0"
#define AUTHOR "unnamed"
new g_enabled
new g_pack_grenades
new const g_cost = 5
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_enabled = register_cvar("zp_pack_grenades", "1")
g_pack_grenades = zp_register_extra_item("packet", g_cost, ZP_TEAM_HUMAN)
}
public zp_extra_item_selected(player, itemid)
{
if (itemid == g_pack_grenades)
{
if (get_pcvar_num(g_enabled)) {
if(user_has_weapon(player, CSW_HEGRENADE))
{
static napalm
napalm = cs_get_user_bpammo(player, CSW_HEGRENADE)
cs_set_user_bpammo(player, CSW_HEGRENADE, napalm + 1)
}
else
{
fm_give_item(player, "weapon_hegrenade")
}
if(user_has_weapon(player, CSW_FLASHBANG))
{
static frost
frost = cs_get_user_bpammo(player, CSW_FLASHBANG)
cs_set_user_bpammo(player, CSW_FLASHBANG, frost + 2)
}
else
{
fm_give_item(player, "weapon_flashbang")
}
if(user_has_weapon(player, CSW_SMOKEGRENADE))
{
static flare
flare = cs_get_user_bpammo(player, CSW_SMOKEGRENADE)
cs_set_user_bpammo(player, CSW_SMOKEGRENADE, flare + 1)
}
else
{
fm_give_item(player, "weapon_smokegrenade")
}
}
else
{
static ammopacks
ammopacks = zp_get_user_ammo_packs(player)
zp_set_user_ammo_packs(player, ammopacks + g_cost)
}
}
}
stock fm_give_item(id, const item[])
{
static ent
ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, item))
if (!pev_valid(ent)) return;
static Float:originF[3]
pev(id, pev_origin, originF)
set_pev(ent, pev_origin, originF)
set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)
dllfunc(DLLFunc_Spawn, ent)
static save
save = pev(ent, pev_solid)
dllfunc(DLLFunc_Touch, ent, id)
if (pev(ent, pev_solid) != save)
return;
engfunc(EngFunc_RemoveEntity, ent)
}
Должно сразу выдавать 2 флеши? или если есть флеша увеличивать значение на 1?
А пока проверь вот так вот просто,
Код
else
{
fm_give_item(player, "weapon_flashbang")
}
==========>
else
{
fm_give_item(player, "weapon_flashbang")
fm_give_item(player, "weapon_flashbang")
}
По моему ограничение в самом ЗП есть на гранаты, сейчас гляну.
Отредактировал: s0h, - 5.4.2014, 20:39