AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Fix 1 error (https://forums.alliedmods.net/showthread.php?t=92634)

~Ice*shOt 05-17-2009 15:28

Fix 1 error
 
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

hleV 05-17-2009 16:33

Re: Fix 1 error
 
Compiles fine for me.

~Ice*shOt 05-18-2009 06:25

Re: Fix 1 error
 
? Fix

crazyeffect 05-18-2009 15:59

Re: Fix 1 error
 
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

~Ice*shOt 05-19-2009 08:40

Re: Fix 1 error
 
Yeah.. but How do I fix it?

fysiks 05-19-2009 19:29

Re: Fix 1 error
 
PHP Code:

ZOMBIE_PLAYER_MODEL[<put number here (0,1,or 3)>] 

It's declared on Line 79 btw if you want a reference.


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

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