Raised This Month: $ Target: $400
 0% 

Fix 1 error


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
~Ice*shOt
Veteran Member
Join Date: Mar 2009
Location: Lithuania
Old 05-17-2009 , 15:28   Fix 1 error
Reply With Quote #1

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <hamsandwich>
#include <xs>
 
#define PLUGIN "Mystic Swarm"
#define VERSION "1.2"
#define AUTHOR "xFrost"
/*================================================================================
[CS Offesets]
=================================================================================*/
//#define OFFSET_ARMOR 112
#define DMG_HEGRENADE (1<<24)
 
/*================================================================================
[Hide HUD]
=================================================================================*/
#define HIDE_HUD (1<<0) //crosshair, ammo, weapons list
#define HIDE_FLASH (1<<1) //flashlight, +
#define HIDE_HP_HUD (1<<3) //Health, armour and radar
#define HIDE_MONEY (1<<5) //money, +
#define HIDE_NONE (1<<7) //+ 
/* Symbol + mean that an additional crosshair will be drawn. 
That crosshair looks exactly like the one from Crosshair message.*/
/*================================================================================
[Tasks Offsets]
=================================================================================*/
#define TASKID_STRIP 2046
#define TASKID_SHOWHUD 2931
#define TASKID_MODEL 3810 
#define TASKID_NVG 8382
/*================================================================================
[Classnames]
=================================================================================*/
#define CLASS_WEATHER "zswarm_weather"
#define CLASS_AMBIENCE "zswarm_ambience"
#define CLASS_FLESH "zswarm_flesh"
/*================================================================================
[Sounds/Waves]
=================================================================================*/
new const g_sound_thunder1[] = "ambience/thunder_clap.wav"
new const g_sound_thunder2[] = "de_torn/torn_thndrstrike.wav"
new const g_sound_ambience[] = "msx/amb.mp3"
new const g_sound_miss[][] =

"msx/miss1_hunter.wav"
"msx/miss2_hunter.wav" 
}
new const 
g_sound_hit[][] = 

"msx/strike1_hunter.wav"
"msx/strike2_hunter.wav",
"msx/strike3_hunter.wav" 
}
new const 
g_sound_pain[][] =
{
"msx/pain1_hunter.wav",
"msx/pain2_hunter.wav",
"msx/pain3_hunter.wav",
"msx/pain4_hunter.wav",
"msx/pain5_hunter.wav",
"msx/pain6_hunter.wav",
"msx/pain7_hunter.wav"
}
new const 
g_sound_die[][] =
{
"msx/die1_hunter.wav",
"msx/die2_hunter.wav",
"msx/die3_hunter.wav",
"msx/die4_hunter.wav",
"msx/die5_hunter.wav",
"msx/die6_hunter.wav"
}
/*================================================================================
[Models]
=================================================================================*/
new const ZOMBIE_PLAYER_MODEL[][] =
{
"Hunter",
"Boomer",
"Smoker",
"Tank"
};
new const 
ZOMBIE_MODEL[][] =
{
"models/player/Hunter/Hunter.mdl",
"models/player/Boomer/Boomer.mdl",
"models/player/Smoker/Smoker.mdl",
"models/player/Tank/Tank.mdl"
};
new const 
ZOMBIE_CLAWS[] = 
{
"models/v_knife_swarm.mdl"
};
new const 
ZOMBIE_FLESH[][] =
{
"models/abone_template1.mdl",
"models/bonegibs.mdl",
"models/fleshgibs.mdl",
"models/gib_b_bone.mdl",
"models/gib_b_gib.mdl",
"models/gib_legbone.mdl",
"models/gib_lung.mdl"

/*================================================================================
[Global Variables]
=================================================================================*/
new mod_name[32] = "Mystic Swarm"
new player_model[33][32]
new 
Floatg_counter
 
new boolg_zombie[33]
new 
boolg_infreezetime
new boolg_model[33]
new 
Floatg_LastLeap[33]
new 
Floatg_LastFthrow[33]
new 
boolg_light_flashing
new g_light_style[3][2] = { "a""b""m" }
new 
g_light_stylenum
new g_light_counter
new g_light_num
new msg_hideweapon /*, msg_statusicon*/
new g_hudsync
new const blocked_commands[][] = {
"buy""buyequip""cl_autobuy""cl_rebuy""cl_setautobuy""cl_setrebuy",
"km45""9x19mm""glock""deagle""nighthawk""p228""228compact""elites""fn57""fiveseven",
"12gauge""autoshotgun""xm1014"
"smg""tmp""mp5""c90""p90""mac10""ump45"
"cv47""ak47""galil""defender""famas""clarion""sg552""krieg552""m4a1""aug""bullpup""scout""awp""magnum""g3sg1""d3au1""sg550""krieg550"
"m249"
"vest""vesthelm""flash""hegren""sgren""defuser""shield""nvgs"
}
/*================================================================================
[CVARS]
=================================================================================*/
new cvar_switchcvar_healthcvar_armourcvar_gravitycvar_speedcvar_skynamecvar_lights,
cvar_autonvgcvar_blocknvgcvar_backspeedcvar_cooldowncvar_lforcecvar_lheightcvar_fforce,
cvar_fdamagecvar_fsdamagecvar_hedmg_multicvar_weadmg_multi
/*================================================================================
[Precache]
=================================================================================*/
public plugin_precache() 
{
register_plugin(PLUGINVERSIONAUTHOR)
register_cvar(PLUGINVERSIONFCVAR_SPONLY|FCVAR_SERVER)
set_cvar_string(PLUGINVERSION)
register_dictionary("zombie_swarm.txt")
register_concmd("zombie_swarm""concmd_zombieswarm"ADMIN_BAN"<0/1> Disable/Enable Zombie Swarm")
 
cvar_switch register_cvar("zswarm_enable""1")
 
if (!
get_pcvar_num(cvar_switch)) return
 
engfunc(EngFunc_PrecacheModelZOMBIE_CLAWS);
engfunc(EngFunc_PrecacheModelZOMBIE_MODEL);
 
engfunc(EngFunc_PrecacheSoundg_sound_thunder1);
engfunc(EngFunc_PrecacheSoundg_sound_thunder2);
engfunc(EngFunc_PrecacheSoundg_sound_ambience);
 
new 
iNum
for (iNum 0iNum sizeof g_sound_missiNum++)
engfunc(EngFunc_PrecacheSoundg_sound_miss[iNum])
for (
iNum 0iNum sizeof g_sound_hitiNum++)
engfunc(EngFunc_PrecacheSoundg_sound_hit[iNum])
for (
iNum 0iNum sizeof g_sound_painiNum++)
engfunc(EngFunc_PrecacheSoundg_sound_pain[iNum])
for (
iNum 0iNum sizeof g_sound_dieiNum++)
engfunc(EngFunc_PrecacheSoundg_sound_die[iNum])
for (
iNum 0iNum sizeof ZOMBIE_FLESHiNum++)
engfunc(EngFunc_PrecacheModelZOMBIE_FLESH[iNum])
}
/*================================================================================
[Plugin start]
=================================================================================*/
public plugin_init() 
{
if (!
get_pcvar_num(cvar_switch)) return
 
cvar_health register_cvar("zswarm_health""700")
cvar_armour register_cvar("zswarm_armour""0")
cvar_gravity register_cvar("zswarm_gravity""700")
cvar_speed register_cvar("zswarm_speed""245")
cvar_lights register_cvar("zswarm_light""1")
cvar_skyname register_cvar("zswarm_skyname""space")
cvar_autonvg register_cvar("zswarm_autonvg""1")
cvar_blocknvg register_cvar("zswarm_blocknvg","1")
cvar_backspeed register_cvar("zswarm_bspeed""1")
cvar_cooldown register_cvar("zswarm_cooldown","5.0")
cvar_lforce register_cvar("zswarm_lforce""525")
cvar_lheight register_cvar("zswarm_lheight""260")
cvar_fforce register_cvar("zswarm_fforce""1500")
cvar_fdamage register_cvar("zswarm_fdamage""10")
cvar_fsdamage register_cvar("zswarm_fsdamage","50")
cvar_hedmg_multi register_cvar("zswarm_hemulti""1.0")
cvar_weadmg_multiregister_cvar("zswarm_weamulti""0.5")
 
RegisterHam(Ham_Spawn"player""bacon_spawn"1)
RegisterHam(Ham_TakeDamage,"player""bacon_takedamage")
RegisterHam(Ham_Touch"weaponbox""bacon_touch")
RegisterHam(Ham_Touch"armoury_entity""bacon_touch")
RegisterHam(Ham_Touch"weapon_shield""bacon_touch")
 
register_logevent("logevent_round_start"2"1=Round_Start")
register_logevent("logevent_round_end" 2"1=Round_End"
register_event("HLTV""event_new_round""a""1=0""2=0")
register_event("CurWeapon""event_cur_weapon""be")
 
register_message(get_user_msgid("ScoreAttrib"), "message_ScoreAttrib")
register_message(get_user_msgid("StatusIcon"), "message_StatusIcon")
register_message(get_user_msgid("TextMsg"), "message_TextMessage")
register_message(get_user_msgid("SendAudio"), "message_SendAudio")
for(new 
0sizeof blocked_commandsi++) register_clcmd(blocked_commands[i], "clcmd_blocked")
register_clcmd("nightvision""clcmd_nightvision")
 
new 
iEnt engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"ambient_generic"))
if(
iEnt

dllfunc(DLLFunc_ThinkiEnt)
set_pev(iEntpev_classnameCLASS_WEATHER)
 
fm_set_kvd(iEnt"message"g_sound_thunder1)
fm_set_kvd(iEnt"targetname""boom")
fm_set_kvd(iEnt"pitchstart""100")
fm_set_kvd(iEnt"pitch""100"
fm_set_kvd(iEnt"health""10")
fm_set_kvd(iEnt"spawnflags""49")
 
dllfunc(DLLFunc_SpawniEnt)
set_pev(iEntpev_nextthinkget_gametime() + 2.0)
 
}
format(mod_name31"%s %s"PLUGINVERSION)
register_forward(FM_GetGameDescription"fw_GameDescription")
register_forward(FM_PlayerPreThink"fw_PlayerPreThink")
register_forward(FM_SetClientKeyValue"fw_SetClientKeyValue")
register_forward(FM_ClientUserInfoChanged"fw_ClientUserInfoChanged")
register_forward(FM_EmitSound"fw_EmitSound")
register_forward(FM_CmdStart"fw_CmdStart")
register_forward(FM_Touch"fw_Touch")
register_forward(FM_Think"fw_Think_lights"1)
 
msg_hideweapon get_user_msgid("HideWeapon")
//msg_statusicon = get_user_msgid("StatusIcon")
g_hudsync CreateHudSyncObj()
 
new 
skyname[32]
get_pcvar_string(cvar_skynameskyname31)
 
set_cvar_string("sv_skyname"skyname)
set_cvar_num("sv_skycolor_r"0)
set_cvar_num("sv_skycolor_g"0)
set_cvar_num("sv_skycolor_b"0)
server_cmd("sv_maxspeed 2000")
}
public 
client_putinserver(id)
{
g_zombie[id] = false
}
public 
fw_GameDescription() 

forward_return(FMV_STRINGmod_name)
 
return 
FMRES_SUPERCEDE

public 
concmd_zombieswarm(idlevelcid
{
if (!
cmd_access(idlevelcid1))
return 
PLUGIN_HANDLED
 
new sz_arg[8]
read_argv(1sz_arg7)
 
if ( 
equali(sz_arg"1") || equali(sz_arg"on") || equali(sz_arg"enable") ) 
{
set_task(5.0"Task_Restart"
set_pcvar_num(cvar_switch1)
 
set_hudmessage(255255255, -1.00.2501.05.00.10.2, -1)
show_hudmessage(0"%L"LANG_PLAYER"PLUGIN_HON_MSG"PLUGIN)
 
console_print(0"%L"LANG_PLAYER"PLUGIN_TON_MSG"PLUGIN)
for(new 
16i++)
client_print(0print_chat"%L"LANG_PLAYER"PLUGIN_TON_MSG"PLUGIN)
 
return 
PLUGIN_HANDLED
}
else if ( 
equali(sz_arg"0") || equali(sz_arg"off") || equali(sz_arg"disable") ) 

 
set_task(5.0"Task_Restart"
set_pcvar_num(cvar_switch0
 
set_hudmessage(255255255, -1.00.2501.05.00.10.2, -1)
show_hudmessage(0"%L"LANG_PLAYER"PLUGIN_HOFF_MSG"PLUGIN)
 
console_print(0"%L"LANG_PLAYER"PLUGIN_TOFF_MSG"PLUGIN)
for(new 
16i++)
client_print(0print_chat"%L"LANG_PLAYER"PLUGIN_TOFF_MSG"PLUGIN)
 
return 
PLUGIN_HANDLED
}
 
console_print(id"Invalid argument!")
 
return 
PLUGIN_HANDLED
}
public 
bacon_spawn(id)

if (!
is_user_alive(id))
return
 
static 
CsTeamsteam team cs_get_user_team(id)
 
if (
team == CS_TEAM_T//Terr
{
new 
Float:healthFloat:gravityarmour
health 
get_pcvar_float(cvar_health)
gravity get_pcvar_float(cvar_gravity) / 800
armour 
get_pcvar_num(cvar_armour)
 
g_zombie[id] = true
if(!task_exists(TASKID_STRIP id))
set_task(0.2"Task_Strip"TASKID_STRIP id)
 
set_pev(idpev_healthhealth)
cs_set_user_armor(idarmourCS_ARMOR_NONE)
set_pev(idpev_gravitygravity)
if (!
cs_get_user_nvg(id))
cs_set_user_nvg(id)
 
if (
get_pcvar_num(cvar_autonvg))
set_task(0.2"Task_NVG"TASKID_NVG id)
 
copy(player_model[id], 31ZOMBIE_PLAYER_MODEL)
 
new 
currentmodel[32];
fm_get_user_model(idcurrentmodelsizeof currentmodel 1);
 
if(!
equal(currentmodelplayer_model[id]))
{
set_task(0.5 g_counter"Task_Model"id TASKID_MODEL)
g_counter += 0.2;
}
 
if(!
task_exists(TASKID_SHOWHUD id))
set_task(0.2"Task_ShowHUD"TASKID_SHOWHUD id)
}
else if (
team == CS_TEAM_CT// CT
{
g_zombie[id] = false
fm_reset_user_model
(id)
}
}
public 
bacon_takedamage(victiminflictorattackerFloat:damagedamagetype)
{
if(
damagetype DMG_GENERIC || victim == attacker || !is_user_alive(victim) || !is_user_connected(attacker))
return 
HAM_IGNORED
if(!g_zombie[victim] && !g_zombie[attacker])
{
SetHamParamFloat(40.0)
return 
HAM_HANDLED
}
 
static 
CsTeams:team[2]
team[0] = cs_get_user_team(attacker), team[1] = cs_get_user_team(victim)
 
if(
team[0] == team[1])
return 
HAM_IGNORED
 
if(!g_zombie[attacker])

damage *= (damagetype DMG_HEGRENADE) ? get_pcvar_float(cvar_hedmg_multi) : get_pcvar_float(cvar_weadmg_multi)
SetHamParamFloat(4damage)
return 
HAM_HANDLED
}
 
return 
HAM_IGNORED
}
public 
event_new_round()
{
g_infreezetime true
}
public 
logevent_round_start()
{
g_infreezetime false
}
public 
logevent_round_end()
{
g_counter 0.0
}
public 
event_cur_weapon(id)
{
if(!
is_user_alive(id))
return 
PLUGIN_HANDLED
 
if (g_zombie[id])
{
new 
weapon read_data(2)
 
if (
weapon != CSW_KNIFE)

engclient_cmd(id"weapon_knife")
set_pev(idpev_viewmodel2ZOMBIE_CLAWS)
set_pev(idpev_weaponmodel2"")
}
 
message_begin(MSG_ONEmsg_hideweaponid)
write_byte(HIDE_HUD HIDE_FLASH HIDE_HP_HUD HIDE_MONEY)
message_end()
}
else
{
message_begin(MSG_ONEmsg_hideweaponid)
write_byte(HIDE_NONE
message_end()
}
 
return 
PLUGIN_CONTINUE
}
public 
message_ScoreAttrib(msg_idmsg_destid)
{
new 
attribattrib get_msg_arg_int(2)
if(
attrib == (1<<1)) set_msg_arg_int(2ARG_BYTE0)
}
public 
message_StatusIcon(msg_idmsg_destid)
{
if(!
is_user_connected(id) || !g_zombie[id])
return 
PLUGIN_CONTINUE
 
new icon[4]; get_msg_arg_string(2icon3)
if(
equal(icon"c4") || equal(icon"buy"))
return 
PLUGIN_HANDLED
 
return PLUGIN_CONTINUE
}
 
public 
message_TextMessage(msg_idmsg_destid)
{
if(
get_msg_arg_int(1) != 4)
return 
PLUGIN_CONTINUE
 
new text_msg[25], win_msg[32]
get_msg_arg_string(2text_msg24)
 
if(
equal(text_msg[1], "Game_bomb_drop"))
return 
PLUGIN_HANDLED
else if(equal(text_msg[1], "Terrorists_Win"))
{
formatex(win_msg31"%L"LANG_SERVER"WIN_ZOMBIE")
set_msg_arg_string(2win_msg)
}
else if(
equal(text_msg[1], "Target_Saved") || equal(text_msg[1], "CTs_Win"))
{
formatex(win_msg31"%L"LANG_SERVER"WIN_HUMAN")
set_msg_arg_string(2win_msg)
}
return 
PLUGIN_CONTINUE
}
public 
message_SendAudio(msg_idmsg_destid)
{
new 
audiocode [22]; get_msg_arg_string(2audiocode21)
if(
equal(audiocode[7], "MOVEOUT") || equal(audiocode[7], "LOCKNLOAD")
|| 
equal(audiocode[7], "LETSGO") || (equal(audiocode[7], "GO")))
set_msg_arg_string(2"%!MRAD_ELIM"
 
else if(
equal(audiocode[7], "terwin"))
return 
PLUGIN_HANDLED
//set_msg_arg_string(2, g_zombie_win_sounds[_random(sizeof g_zombie_win_sounds)])
 
return PLUGIN_CONTINUE
}
public 
clcmd_blocked(id)
{
if (
g_zombie[id])
{
client_print(idprint_center"%L"LANG_PLAYER"BLOCK_BUY")
return 
PLUGIN_HANDLED
}
 
return 
PLUGIN_CONTINUE
}
 
public 
clcmd_nightvision(id)
{
if(!
g_zombie[id] && get_pcvar_num(cvar_blocknvg) && cs_get_user_nvg(id))
{
client_print(idprint_center"%L"LANG_PLAYER"BLOCK_NVG")
return 
PLUGIN_HANDLED
}
 
return 
PLUGIN_CONTINUE
}
public 
clcmd_throw(id)
{
static 
FloatOrigin[3], FloatVelocity[3], FloatAngle[3], MinBox[3], MaxBox[3]
pev(idpev_originOrigin)
pev(idpev_velocityVelocity)
pev(idpev_anglesAngle)
static 
HealthFloatdamage
Health 
get_user_health(id)
damage get_pcvar_float(cvar_fsdamage)
 
if (
Health damage)
{
static 
ent ent engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target"))
 
set_pev(entpev_classnameCLASS_FLESH)
engfunc(EngFunc_SetModelentZOMBIE_FLESH[random(sizeof ZOMBIE_FLESH)])
Angle[0] = random_float(1.0360.0)
Angle[1] = random_float(1.0360.0)
MinBox = { -1.0, -1.0, -1.0 }
MaxBox = { 1.01.01.0 }
 
set_pev(entpev_anglesAngle)
engfunc(EngFunc_SetSizeentMinBoxMaxBox)
engfunc(EngFunc_SetOriginentOrigin)
set_pev(entpev_movetypeMOVETYPE_TOSS)
set_pev(entpev_solidSOLID_TRIGGER)
set_pev(entpev_ownerid)
 
velocity_by_aim(idget_pcvar_num(cvar_fforce), Velocity)
set_pev(entpev_velocityVelocity)
 
emit_sound(idCHAN_VOICEg_sound_pain[random(sizeof g_sound_pain)], VOL_NORMATTN_NORM0PITCH_NORM)
set_pev(idpev_healthHealth damage)
}
else
{
client_print(idprint_center"%L"LANG_PLAYER"FLESH_HEALTH")
}
}
public 
fw_PlayerPreThink(id)
{
if(!
is_user_alive(id))
return 
FMRES_IGNORED
 
static Floatvelocity[3], FloatTime
static buttonflag
button 
pev(idpev_button)
flag pev(idpev_flags)
Time get_gametime()
 
if (
g_zombie[id])
{
if ( (!
g_infreezetime) && (button IN_RELOAD) && (flag FL_ONGROUND))
{
static 
FloatcooldownFloatlheightlforce
cooldown 
get_pcvar_float(cvar_cooldown)
lforce get_pcvar_num(cvar_lforce)
lheight get_pcvar_float(cvar_lheight)
if (
Time cooldown g_LastLeap[id])

set_pev(idpev_buttonbutton & ~IN_ATTACK2)
velocity_by_aim(idlforcevelocity)
velocity[2] = lheight
set_pev
(idpev_velocityvelocity)
g_LastLeap[id] = Time
}
}
else if ( (!
g_infreezetime) && (button IN_ATTACK) && (button IN_ATTACK2))
{
if(
Time 1.1 g_LastFthrow[id])
{
clcmd_throw(id)
g_LastFthrow[id] = Time
}
}
else if (!
g_infreezetime)
{
static 
Float:speedspeed get_pcvar_float(cvar_speed)
set_pev(idpev_maxspeedspeed)
}
}
else if (!
g_zombie[id])
{
if ( (
button IN_BACK) && (flag FL_ONGROUND) )
{
static 
Floatbackspeed backspeed get_pcvar_float(cvar_backspeed)
pev(idpev_velocityvelocity)
xs_vec_mul_scalar(velocitybackspeedvelocity)
set_pev(idpev_velocityvelocity)
}
}
 
return 
FMRES_IGNORED

public 
fw_SetClientKeyValue(idinfobufferkey[], value[])

if (
g_model[id] && equal(key"model"))
return 
FMRES_SUPERCEDE;
 
return 
FMRES_IGNORED;
}
public 
fw_ClientUserInfoChanged(idinfobuffer)

if (!
g_model[id])
return 
FMRES_IGNORED;
 
new 
currentmodel[32]; 
fm_get_user_model(idcurrentmodelsizeof currentmodel 1);
 
if(!
equal(currentmodelplayer_model[id]))
fm_set_user_model(idplayer_model[id]) 
 
return 
FMRES_IGNORED;
}
public 
fw_EmitSound(idchannelsample[], Float:volumeFloat:attnflagpitch)
{
if(!
is_user_connected(id) || !g_zombie[id])
return 
FMRES_IGNORED
 
//KNIFE
if (sample[0] == 'w' && sample[1] == 'e' && sample[8] == 'k' && sample[9] == 'n')
{
switch(
sample[17])
{
case 
'l'
return 
FMRES_SUPERCEDE
 
case 's''w':
{
emit_sound(idCHAN_WEAPONg_sound_miss[random(sizeof g_sound_miss)], volumeattnflagpitch)
return 
FMRES_SUPERCEDE
}
 
case 
'b''1''2''3''4':
{
emit_sound(idCHAN_WEAPONg_sound_hit[random(sizeof g_sound_hit)], volumeattnflagpitch)
return 
FMRES_SUPERCEDE
}
}
}
//PAIN
else if (sample[1] == 'l' && sample[2] == 'a' && sample[3] == 'y' && ( (containi(sample"bhit") != -1) || (containi(sample"pain") != -1) || (containi(sample"shot") != -1)))
{
emit_sound(idCHAN_VOICEg_sound_pain[random(sizeof g_sound_pain)], volumeattnflagpitch)
return 
FMRES_SUPERCEDE

//DEATH
else if (sample[7] == 'd' && (sample[8] == 'i' && sample[9] == 'e' || sample[12] == '6'))
{
emit_sound(idCHAN_VOICEg_sound_die[random(sizeof g_sound_die)], volumeattnflagpitch)
return 
FMRES_SUPERCEDE

//NVG
else if (sample[6] == 'n' && sample[7] == 'v' && sample[8] == 'g')
return 
FMRES_SUPERCEDE
 
return FMRES_IGNORED
}
public 
fw_CmdStart(idhandleseed)
{
if(!
is_user_alive(id) || !g_zombie[id])
return 
FMRES_IGNORED
 
static impulseimpulse get_uc(handleUC_Impulse)
if(
impulse == 100)
{
set_uc(handleUC_Impulse0)
return 
FMRES_SUPERCEDE
}
return 
FMRES_IGNORED
}
public 
bacon_touch(entid)
{
if (
is_user_alive(id) && g_zombie[id])
return 
HAM_SUPERCEDE
 
return HAM_IGNORED
}
public 
fw_Touch(pToucherpTouched)
{
if ( 
pev_valid(pToucher))
{
static 
className[32], className2[32]
pev(pToucherpev_classnameclassName31)
if ( 
pev_valid(pTouched)) pev(pTouchedpev_classnameclassName231)
 
if ( 
equal(classNameCLASS_FLESH))
{
static 
attacker attacker pev(pToucherpev_owner)
 
if ( 
pev_valid(pTouched))
{
if ( 
equal(className2"player") && is_user_connected(pTouched))
{
static 
origin[3], Floatdamage
get_user_origin
(pTouchedorigin)
damage get_pcvar_float(cvar_fdamage)
static 
CsTeams:team[2]
team[0] = cs_get_user_team(pTouched), team[1] = cs_get_user_team(attacker)
 
if (
attacker == pTouched)
return 
FMRES_SUPERCEDE
 
if (!get_cvar_num("mp_friendlyfire") && team[0] == team[1]) 
return 
FMRES_SUPERCEDE
message_begin
(MSG_BROADCASTSVC_TEMPENTITY);
write_byte(TE_BLOOD);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2] + 10);
write_coord(random_num(-360360));
write_coord(random_num(-360360));
write_coord(-10);
write_byte(70);
write_byte(random_num(1535));
message_end() 
ExecuteHam(Ham_TakeDamagepTouchedpToucherattackerdamageDMG_GENERIC)
}
else if ( 
equal(className2"func_breakable")) dllfunc(DLLFunc_UsepTouchedattacker
else if ( 
equal(className2CLASS_FLESH)) return FMRES_SUPERCEDE 

engfunc(EngFunc_RemoveEntitypToucher)
}
}
 
return 
FMRES_IGNORED

public 
fw_Think_lights(iEnt)
{
if (!
pev_valid(iEnt))
return 
FMRES_IGNORED;
 
static 
className[32]
pev(iEntpev_classnameclassName31);
static 
Float:gametimegametime get_gametime()
 
if (
equal(classNameCLASS_WEATHER))
{
switch (
get_pcvar_num(cvar_lights))
{
case 
0:
{
engfunc(EngFunc_LightStyle0"m")
set_pev(iEntpev_nextthinkgametime 0.1);
}
case 
1:
{
static 
thinkReturnrandNum;
if(!
g_light_flashing)
{
randNum random_num(01);
if(
randNum)
set_pev(iEntpev_messageg_sound_thunder1);
else
set_pev(iEntpev_messageg_sound_thunder2);
g_light_flashing true;
g_light_num random_num(13);
dllfunc(DLLFunc_UseiEnt0)
}
thinkReturn lightning();
 
if(
thinkReturn)
set_pev(iEntpev_nextthinkgametime random_float(9.516.5));
else
set_pev(iEntpev_nextthinkgametime 0.1);
}
case 
2:
{
engfunc(EngFunc_LightStyle0"b")
set_pev(iEntpev_nextthinkgametime 0.1);
}
default:
{
engfunc(EngFunc_LightStyle0"a")
set_pev(iEntpev_nextthinkgametime 0.1);
}
}
}
return 
FMRES_HANDLED;
}
lightning()
{
switch(
g_light_num)
{
// Flash 1 time
case 1:
{
g_light_counter += 1;
switch(
g_light_counter)
{
case 
1g_light_stylenum 1;
case 
2g_light_stylenum 2;
case 
3g_light_stylenum 1;
case 
4g_light_stylenum 0;
}
engfunc(EngFunc_LightStyle0g_light_style[g_light_stylenum])
 
if(
g_light_counter == 4)
{
g_light_counter 0;
g_light_flashing false;
return 
1;
}
else
return 
0;
}
// Flash 2 times
case 2:
{
g_light_counter += 1;
switch(
g_light_counter)
{
case 
1g_light_stylenum 1;
case 
2g_light_stylenum 2;
case 
3g_light_stylenum 1;
case 
4g_light_stylenum 2;
case 
5g_light_stylenum 1;
case 
6g_light_stylenum 0;
}
engfunc(EngFunc_LightStyle0g_light_style[g_light_stylenum])
 
if(
g_light_counter == 6)
{
g_light_counter 0;
g_light_flashing false;
return 
1;
}
else
return 
0;
}
// Flash 3 times
case 3:
{
g_light_counter += 1;
switch(
g_light_counter)
{
case 
1g_light_stylenum 1;
case 
2g_light_stylenum 2;
case 
3g_light_stylenum 1;
case 
4g_light_stylenum 2;
case 
5g_light_stylenum 1;
case 
6g_light_stylenum 2;
case 
7g_light_stylenum 1;
case 
8g_light_stylenum 0;
}
engfunc(EngFunc_LightStyle0g_light_style[g_light_stylenum])
 
if(
g_light_counter == 8)
{
g_light_counter 0;
g_light_flashing false;
return 
1;
}
else
return 
0;
}
}
return 
1;
}
/*================================================================================
[Tasks]
=================================================================================*/
public Task_Restart()
{
new 
mapname[32]
get_mapname(mapname31)
server_cmd("changelevel %s"mapname)
}
public 
Task_ShowHUD(task)
{
new 
id task TASKID_SHOWHUD
 
if(!is_user_alive(id) || !g_zombie[id])
return 
PLUGIN_HANDLED
 
static healtharmour
health 
get_user_health(id)
armour get_user_armor(id)
 
set_hudmessage(25518000.020.9700.00.30.00.0)
ShowSyncHudMsg(idg_hudsync "Health: %d | Armour: %d"healtharmour)
 
set_task(0.1"Task_ShowHUD"TASKID_SHOWHUD id
 
return 
PLUGIN_CONTINUE
}
public 
Task_Strip(task
{
new 
id task TASKID_STRIP
if (cs_get_user_submodel(id)) 
cs_set_user_submodel(id0)
fm_strip_user_weapons(id)
bacon_give_weapon(id"weapon_knife")
set_pev(idpev_viewmodel2ZOMBIE_CLAWS)
set_pev(idpev_weaponmodel2"")

public 
Task_Model(task)
{
new 
id task TASKID_MODEL
 
fm_set_user_model(idplayer_model[id])
}
public 
Task_NVG(task)
{
new 
id task TASKID_NVG
 
engclient_cmd
(id"nightvision")
for(new 
110i++)
client_cmd(id"-nvgadjust")
}
/*================================================================================
[Stocks]
=================================================================================*/
stock fm_strip_user_weapons(index
{
static 
entent engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"player_weaponstrip"))
if(!
pev_valid(ent)) return 0
 
dllfunc
(DLLFunc_Spawnent)
dllfunc(DLLFunc_Useentindex)
engfunc(EngFunc_RemoveEntityent)
 
return 
1
}
stock fm_set_user_model(playermodelname[])

engfunc(EngFunc_SetClientKeyValueplayerengfunc(EngFunc_GetInfoKeyBufferplayer), "model"modelname)
 
g_model[player] = true
}
stock fm_get_user_model(playermodel[], len)

engfunc(EngFunc_InfoKeyValueengfunc(EngFunc_GetInfoKeyBufferplayer), "model"modellen)
}
stock fm_reset_user_model(player)

g_model[player] = false
 
dllfunc
(DLLFunc_ClientUserInfoChangedplayerengfunc(EngFunc_GetInfoKeyBufferplayer))
}
stock fm_set_kvd(entity, const key[], const value[], const classname[] = "") {
if (
classname[0])
set_kvd(0KV_ClassNameclassname); 
else {
new class[
32];
pev(entitypev_classname, class, sizeof class - 1);
set_kvd(0KV_ClassName, class);
}
set_kvd(0KV_KeyNamekey);
set_kvd(0KV_Valuevalue);
set_kvd(0KV_fHandled0);
return 
dllfunc(DLLFunc_KeyValueentity0);
}
stock fm_find_ent_by_owner(index, const classname[], ownerjghgtype 0) {
new 
strtype[11] = "classname"ent index;
switch (
jghgtype) {
case 
1strtype "target";
case 
2strtype "targetname";
}
while ((
ent engfunc(EngFunc_FindEntityByStringentstrtypeclassname)) && pev(entpev_owner) != owner) {}
return 
ent;
}
stock bool:fm_strip_user_gun(indexwid 0, const wname[] = "") {
new 
ent_class[32];
if (!
wid && wname[0])
copy(ent_classsizeof ent_class 1wname);
else {
new 
weapon widclipammo;
if (!
weapon && !(weapon get_user_weapon(indexclipammo)))
return 
false;
 
get_weaponname(weaponent_classsizeof ent_class 1);
}
new 
ent_weap fm_find_ent_by_owner(-1ent_classindex);
if (!
ent_weap)
return 
false;
engclient_cmd(index"drop"ent_class);
new 
ent_box pev(ent_weappev_owner);
if (!
ent_box || ent_box == index)
return 
false;
dllfunc(DLLFunc_Thinkent_box);
return 
true;
}
stock bacon_give_weapon(indexweapon[])
{
if(!
equal(weapon,"weapon_"7)) return 0
 
static entent engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocStringweapon))
if(!
pev_valid(ent)) return 0
 
set_pev
(entpev_spawnflagsSF_NORESPAWN)
dllfunc(DLLFunc_Spawnent)
 
if(!
ExecuteHamB(Ham_AddPlayerItemindexany:ent) || !ExecuteHamB(Ham_Item_AttachToPlayerentany:index))
{
if(
pev_valid(ent)) set_pev(entpev_flagspev(entpev_flags) & FL_KILLME)
return 
0
}
return 
1

Can fix this mod error? please
~Ice*shOt is offline
Send a message via Skype™ to ~Ice*shOt
hleV
Veteran Member
Join Date: Mar 2007
Location: Lithuania
Old 05-17-2009 , 16:33   Re: Fix 1 error
Reply With Quote #2

Compiles fine for me.
__________________
hleV is offline
~Ice*shOt
Veteran Member
Join Date: Mar 2009
Location: Lithuania
Old 05-18-2009 , 06:25   Re: Fix 1 error
Reply With Quote #3

? Fix
~Ice*shOt is offline
Send a message via Skype™ to ~Ice*shOt
crazyeffect
Veteran Member
Join Date: Jul 2008
Location: Belgium
Old 05-18-2009 , 15:59   Re: Fix 1 error
Reply With Quote #4

ice shot, also TELL US THE ERROR!

Anyway, this is the error, on line 337

PHP Code:
copy(player_model[id], 31ZOMBIE_PLAYER_MODEL
Quote:
Error: Array dimensions do not match on line 337
__________________
crazyeffect is offline
Send a message via MSN to crazyeffect
~Ice*shOt
Veteran Member
Join Date: Mar 2009
Location: Lithuania
Old 05-19-2009 , 08:40   Re: Fix 1 error
Reply With Quote #5

Yeah.. but How do I fix it?
~Ice*shOt is offline
Send a message via Skype™ to ~Ice*shOt
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 05-19-2009 , 19:29   Re: Fix 1 error
Reply With Quote #6

PHP Code:
ZOMBIE_PLAYER_MODEL[<put number here (0,1,or 3)>] 
It's declared on Line 79 btw if you want a reference.
__________________
fysiks is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 01:35.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode