Есть плагин bb_spawn_time_eff, которым можно управлять временем спауна стандартного оружия.
Подскажите как можно подружить его с оружием с weaponmoda?
Пытался вписать в него например: weapon_ac, weapon_knife - не помогает. Оружие в WM спавниться по "стандартному времени"
#include amxmodx
#include engine
#include fakemeta
#include hamsandwich
#define PLUGIN "Half-Life Deathmatch Weapons, Items, Ammo Spawn Time And Eff"
#define VERSION "1.0"
#define AUTHOR "BodyBuilder & ConnorMcLeod"
#define WRITE_COORD(%0) engfunc(EngFunc_WriteCoord,%0)
static
cvars[9],
spawn_ammo[][] =
{
"ammo_357",
"ammo_9mmAR",
"ammo_9mmbox",
"ammo_9mmclip",
"ammo_ARgrenades",
"ammo_buckshot",
"ammo_crossbow",
"ammo_gaussclip",
"ammo_glockclip",
"ammo_mp5clip",
"ammo_mp5grenades",
"ammo_rpgclip"
},
spawn_item[][] =
{
"item_longjump"
},
spawn_weapon[][] =
{
"weapon_hornetgun",
"weapon_python",
"weapon_357",
"weapon_crossbow",
"weapon_tripmine",
"weapon_satchel",
"weapon_handgrenade",
"weapon_9mmAR",
"weapon_gauss",
"weapon_mp5",
"weapon_rpg",
"weapon_egon",
"weapon_shotgun"
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
for(new a = 0; a < sizeof(spawn_ammo); a++)
RegisterHam(Ham_Respawn,spawn_ammo[a],"spawn_ammo_time",1)
for(new b = 0; b < sizeof(spawn_item); b++)
RegisterHam(Ham_Respawn,spawn_item[b],"spawn_item_time",1)
for(new c = 0; c < sizeof(spawn_weapon); c++)
register_touch(spawn_weapon[c],"worldspawn","spawn_weapon_time")
cvars[0] = register_cvar("ammo_spawn_time","1.15")
cvars[1] = register_cvar("spawn_ammo_eff_on_off","1")
cvars[2] = register_cvar("spawn_ammo_eff_mode","3")
cvars[3] = register_cvar("item_spawn_time","1.15")
cvars[4] = register_cvar("spawn_item_eff_on_off","1")
cvars[5] = register_cvar("spawn_item_eff_mode","2")
cvars[6] = register_cvar("weapon_spawn_time","1.15")
cvars[7] = register_cvar("spawn_weapon_eff_on_off","1")
cvars[8] = register_cvar("spawn_weapon_eff_mode","1")
}
public spawn_ammo_time(spawn_ent)
{
set_pev(spawn_ent,pev_nextthink,get_gametime() + get_pcvar_float(cvars[0]))
if(get_pcvar_num(cvars[1]))
{
set_task(get_pcvar_float(cvars[0]),"spawn_ammo_eff",spawn_ent)
}
return spawn_ent
}
public spawn_item_time(spawn_ent)
{
set_pev(spawn_ent,pev_nextthink,get_gametime() + get_pcvar_float(cvars[3]))
if(get_pcvar_num(cvars[4]))
{
set_task(get_pcvar_float(cvars[3]),"spawn_item_eff",spawn_ent)
}
return spawn_ent
}
public spawn_weapon_time(spawn_ent)
{
set_pev(spawn_ent,pev_nextthink,get_gametime() + get_pcvar_float(cvars[6]))
if(get_pcvar_num(cvars[7]))
{
set_task(get_pcvar_float(cvars[6]),"spawn_weapon_eff",spawn_ent)
}
}
public spawn_ammo_eff(spawn_ent)
{
SpawnEffect(spawn_ent,get_pcvar_num(cvars[2]))
}
public spawn_item_eff(spawn_ent)
{
SpawnEffect(spawn_ent,get_pcvar_num(cvars[5]))
}
public spawn_weapon_eff(spawn_ent)
{
SpawnEffect(spawn_ent,get_pcvar_num(cvars[8]))
}
MESSAGE_BEGIN(dest, msg_type, const Float:fVecOrigin[3] = {0.0,0.0,0.0}, player = 0)
{
engfunc(EngFunc_MessageBegin, dest, msg_type, fVecOrigin, player)
}
SpawnEffect(spawn_ent,eff_mode)
{
if(!eff_mode)
{
return
}
static Float:origin[3], Arandom, Brandom, Random
pev(spawn_ent,pev_origin,origin)
Arandom = random_num(192,208)
Brandom = random_num(251,0)
Random = random_num(Arandom,Brandom)
switch(eff_mode)
{
case 1:
{
MESSAGE_BEGIN(MSG_PVS,SVC_TEMPENTITY,origin)
write_byte(TE_TELEPORT)
WRITE_COORD(origin[0])
WRITE_COORD(origin[1])
WRITE_COORD(origin[2])
message_end()
}
case 2:
{
MESSAGE_BEGIN(MSG_PVS,SVC_TEMPENTITY,origin)
write_byte(TE_IMPLOSION)
WRITE_COORD(origin[0])
WRITE_COORD(origin[1])
WRITE_COORD(origin[2])
write_byte(50)
write_byte(Random)
write_byte(10)
message_end()
}
case 3:
{
MESSAGE_BEGIN(MSG_PVS,SVC_TEMPENTITY,origin)
write_byte(TE_PARTICLEBURST)
WRITE_COORD(origin[0])
WRITE_COORD(origin[1])
WRITE_COORD(origin[2])
write_short(50)
write_byte(Random)
write_byte(10)
message_end()
}
}
}