ya encontre que plugin proboca el error pero no se pork me podrian ayudar? plzzz les muestro la sma espero que me puedan ayudar
PD2: este plugin lo vi en otros servidores y si les funcionaba bien :S aber si ustedes ven el fallo...
PHP Code:
#include <amxmodx>
#include <hamsandwich>
#include <zombieplague>
#include <fakemeta>
#include <cstrike>
#include <engine>
#include <fun>
//___________/ Values \___________________________________________________________________________________________
//**************************************************************************************************************************/
new gc_itemID
new bool:g_NitrogenGalil[33]
new g_Weapon[33]
new g_FrozeN[33]
new NitrogenGalilSpr
new g_msgScreenFade
new g_iMaxPlayers
new g_HudSync
new FrostTime
new BackSpeed1
new BackSpeed2
const UNIT_SECOND = (1<<12)
//___________/ INIT \___________________________________________________________________________________________
//**************************************************************************************************************************/
public plugin_init()
{
register_plugin("[ZP] Extra Item: Nitrogen Galil", "2.03", "None")
// Cvars
FrostTime = register_cvar("zp_ng_frost_time", "3.5") // Time to Remove the Frost Effect
BackSpeed1 = register_cvar("zp_ng_back_spd_h", "240.0") // The Speed that Victim Recieve when is Human and g_FrozeN is false
BackSpeed2 = register_cvar("zp_ng_back_spd_z", "230.0") // The Speed that Victim Recieve when is Zombie and g_FrozeN is false
// Message IDS
g_HudSync = CreateHudSyncObj()
g_iMaxPlayers = get_maxplayers()
g_msgScreenFade = get_user_msgid("ScreenFade")
// ITEM NAME & COST
gc_itemID = zp_register_extra_item("Nitrogen Galil", 40, ZP_TEAM_HUMAN)
// Events
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
register_event("CurWeapon", "event_CurWeapon", "b", "1=1")
// Forwards
register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")
// Hams
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
// Lang
register_dictionary("nitrogen_galil.txt")
}
//___________/ PRECACHE \___________________________________________________________________________________________
//**************************************************************************************************************************/
public plugin_precache()
{
// Models
precache_model("models/zombie_plague/v_nitrogen_galil.mdl");
// Sounds
precache_sound("warcraft3/impalehit.wav");
// Sprites
NitrogenGalilSpr = precache_model("sprites/shockwave.spr");
}
//___________/ Client PutinServer & Disconnect\___________________________________________________________________________________________
//**************************************************************************************************************************/
public client_putinserver(id)
{
g_NitrogenGalil[id] = false
g_FrozeN[id] = false
}
public client_disconnect(id)
{
g_NitrogenGalil[id] = false
g_FrozeN[id] = false
}
//___________/ ZP EXTRA ITEM SELECTED \___________________________________________________________________________________________
//**************************************************************************************************************************/
public zp_extra_item_selected(player, itemid)
{
// check if the selected item matches any of our registered ones
if (itemid == gc_itemID)
{
client_print(player, print_chat, "%L", LANG_PLAYER, "PURCHASE_NG")
g_NitrogenGalil[player] = true
strip_user_weapons(player)
give_item(player, "weapon_knife")
give_item(player, "weapon_galil")
cs_set_user_bpammo(player, CSW_GALIL, 300)
new gcName[32]
get_user_name(player, gcName, charsmax(gcName))
set_hudmessage(34, 138, 255, -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
ShowSyncHudMsg(0, g_HudSync, "%L", LANG_PLAYER, "NOTICE_NG", gcName)
}
}
//___________/ ZP User Infected \___________________________________________________________________________________________
//**************************************************************************************************************************/
public zp_user_infected_post(infected, infector)
{
if (g_NitrogenGalil[infected])
{
g_NitrogenGalil[infected] = false
}
}
//___________/ Event Round Start \___________________________________________________________________________________________
//**************************************************************************************************************************/
public event_round_start()
{
for (new i = 1; i <= g_iMaxPlayers; i++)
{
if (!is_user_connected(i))
continue
if (g_NitrogenGalil[i])
{
g_NitrogenGalil[i] = false
}
if(g_FrozeN[i])
{
g_FrozeN[i] = false
}
}
}
//___________/ TakeDamage \___________________________________________________________________________________________
//**************************************************************************************************************************/
public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
if(!is_user_connected(attacker) || !is_user_connected(victim) || zp_get_user_nemesis(victim) || attacker == victim || !attacker)
return HAM_IGNORED
// For Frost Effect Ring
static Float:originF[3]
pev(victim, pev_origin, originF)
// For Frost Effect Sound
static originF2[3]
get_user_origin(victim, originF2)
if (g_NitrogenGalil[attacker] && get_user_weapon(attacker) == CSW_GALIL)
{
FrostEffect(victim)
FrostEffectRing(originF)
FrostEffectSound(originF2)
client_print(attacker, print_center, "%L", LANG_PLAYER, "ENEMY_FROST_NG")
}
else
{
if(g_NitrogenGalil[attacker])
{
client_print(attacker, print_center, "%L", LANG_PLAYER, "ONLY_NG")
}
}
if(zp_get_user_nemesis(victim))
{
client_print(attacker, print_center, "%L", LANG_PLAYER, "NEMESIS_INMUNE_NG")
return HAM_IGNORED
}
return PLUGIN_HANDLED;
}
//___________/ Event Cur Weapon \___________________________________________________________________________________________
//**************************************************************************************************************************/
public event_CurWeapon(id)
{
if (!is_user_alive(id))
return PLUGIN_CONTINUE
g_Weapon[id] = read_data(2)
if(zp_get_user_zombie(id) || zp_get_user_survivor(id))
return PLUGIN_CONTINUE
if(!g_NitrogenGalil[id] || g_Weapon[id] != CSW_GALIL)
return PLUGIN_CONTINUE
entity_set_string(id, EV_SZ_viewmodel, "models/zombie_plague/v_nitrogen_galil.mdl")
return PLUGIN_CONTINUE
}
//___________/ Player Pre Think \___________________________________________________________________________________________
//**************************************************************************************************************************/
// Forward Player PreThink
public fw_PlayerPreThink(id)
{
// Not alive
if (!is_user_alive(id))
return;
// Set Player MaxSpeed
if (g_FrozeN[id])
{
set_pev(id, pev_velocity, Float:{0.0,0.0,0.0}) // stop motion
set_pev(id, pev_maxspeed, 1.0) // prevent from moving
}
else
{
if(!zp_get_user_zombie(id))
{
set_pev(id, pev_maxspeed, get_pcvar_float(BackSpeed1)) // Change this in Cvar if you Want
}
else
{
set_pev(id, pev_maxspeed, get_pcvar_float(BackSpeed2)) // Change this in Cvar if you Want
}
}
}
//___________/ Effects \___________________________________________________________________________________________
//**************************************************************************************************************************/
// Frost Effect
public FrostEffect(id)
{
// Only effect alive unfrozen zombies
if (!is_user_alive(id) || !zp_get_user_zombie(id) || g_FrozeN[id])
return;
message_begin(MSG_ONE_UNRELIABLE, g_msgScreenFade, _, id)
write_short(UNIT_SECOND*1) // duration
write_short(UNIT_SECOND*1) // hold time
write_short(0x0000) // fade type
write_byte(0) // red
write_byte(50) // green
write_byte(200) // blue
write_byte(100) // alpha
message_end()
// Light blue glow while frozen
#if defined HANDLE_MODELS_ON_SEPARATE_ENT
fm_set_rendering(g_ent_playermodel[id], kRenderFxGlowShell, 0, 100, 200, kRenderNormal, 25)
#else
fm_set_rendering(id, kRenderFxGlowShell, 0, 100, 200, kRenderNormal, 25)
#endif
g_FrozeN[id] = true
set_task(get_pcvar_float(FrostTime), "RemoveFrost", id) // Time to Remove Frost Effect
}
// Frost Effect Sound
public FrostEffectSound(iOrigin[3])
{
new Entity = create_entity("info_target")
new Float:flOrigin[3]
IVecFVec(iOrigin, flOrigin)
entity_set_origin(Entity, flOrigin)
emit_sound(Entity, CHAN_WEAPON, "warcraft3/impalehit.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
remove_entity(Entity)
}
// Frost Effect Ring
FrostEffectRing(const Float:originF3[3])
{
// Largest ring
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF3, 0)
write_byte(TE_BEAMCYLINDER) // TE id
engfunc(EngFunc_WriteCoord, originF3[0]) // x
engfunc(EngFunc_WriteCoord, originF3[1]) // y
engfunc(EngFunc_WriteCoord, originF3[2]) // z
engfunc(EngFunc_WriteCoord, originF3[0]) // x axis
engfunc(EngFunc_WriteCoord, originF3[1]) // y axis
engfunc(EngFunc_WriteCoord, originF3[2]+100.0) // z axis
write_short(NitrogenGalilSpr) // sprite
write_byte(0) // startframe
write_byte(0) // framerate
write_byte(4) // life
write_byte(60) // width
write_byte(0) // noise
write_byte(41) // red
write_byte(138) // green
write_byte(255) // blue
write_byte(200) // brightness
write_byte(0) // speed
message_end()
}
// Remove Frost Effect
public RemoveFrost(id)
{
// Not alive or not frozen anymore
if (!is_user_alive(id) || !g_FrozeN[id])
return;
// Unfreeze
g_FrozeN[id] = false;
// Remove glow
#if defined HANDLE_MODELS_ON_SEPARATE_ENT
fm_set_rendering(g_ent_playermodel[id])
#else
fm_set_rendering(id)
#endif
}
// Set entity's rendering type (from fakemeta_util)
stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
{
static Float:color[3]
color[0] = float(r)
color[1] = float(g)
color[2] = float(b)
set_pev(entity, pev_renderfx, fx)
set_pev(entity, pev_rendercolor, color)
set_pev(entity, pev_rendermode, render)
set_pev(entity, pev_renderamt, float(amount))
}