Peršokti į turinį
Su šv. Velykomis! 🐣 🐇 Linkėjimai nuo SuperGames.lt komandos! ×
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Umbrella Swarm


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 5437 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Nesigauna, nes ten specialei yra Umbrella Swarm padarytas modas, idomiau žaisti :P

  • Atsakymų 56
  • Sukurta
  • Paskutinis pranešimas

Top rašytojai šioje temoje

Top rašytojai šioje temoje

nemoki list nereikia p*st B) man viskas veikia

Aš ir nesakau, jog neveikia, bet Umbrella Swarm yra sudarytas iš :

Zombie Swarm + Random Zombie Clases + Ypatingos galios = Umbrella Swarm Mod

nemoki list nereikia p*st B) man viskas veikia

sakau man viskas veikia tik zs reikejo paildomai irasyt...

Va imkit Umbrella Swarm sma faila MODELIU NEBUVO IR NERA JOKIU TAD PATYS GAUSITE JUOS GAUTI IŠ KAŽKUR ARBA NAIKITE I LAIKIUX SERVA IR GAUSITE VISKĄ :

#include 
#include 
#include 
#include 
#include 
#include 
#define PLUGIN "Zombie Swarm"
#define VERSION "3.0 Beta3"
#define AUTHOR "Mini_Midget"
/*================================================================================
[CS Offesets]
=================================================================================*/
//#define OFFSET_ARMOR 0
#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_ambience[] = "MDs/amb1.wav"
new const g_sound_miss[][] =
{ 
"MDs/miss1_hunter.wav", 
"MDs/miss2_hunter.wav" 
}
new const g_sound_hit[][] = 
{ 
"MDs/strike1_hunter.wav", 
"MDs/strike2_hunter.wav",
"MDs/strike3_hunter.wav" 
}
new const g_sound_pain[][] =
{
"MDs/pain1_hunter.wav",
"MDs/pain2_hunter.wav",
"MDs/pain3_hunter.wav",
"MDs/pain4_hunter.wav",
"MDs/pain5_hunter.wav",
"MDs/pain6_hunter.wav",
"MDs/pain7_hunter.wav"
}
new const g_sound_die[][] =
{
"MDs/die1_hunter.wav",
"MDs/die2_hunter.wav",
"MDs/die3_hunter.wav",
"MDs/die4_gunter.wav",
"MDs/die5_hunter.wav",
"MDs/die6_hunter.wav"
}
/*================================================================================
[Models]
=================================================================================*/
new const ZOMBIE_PLAYER_MODEL[][] =
{
"Hunter",
"Boomer",
"Smoker"
};
new const ZOMBIE_MODEL[][] =
{
"models/player/Hunter/Hunter.mdl",
"models/player/Boomer/Boomer.mdl",
"models/player/Smoker/Smoker.mdl"
};
new consy ZOMBIE_PLAYER_CLAWS[] =
{
"v_knife_hunter",
"v_knife_bommer"
};
new const ZOMBIE_CLAWS[][] = 
{
"models/v_knife_hunter.mdl",
"models/v_knife_boomer.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] = "Zombie Swarm"
new player_model[33][32]
new Float: g_counter

new bool: g_zombie[33]
new bool: g_infreezetime
new bool: g_model[33]
new Float: g_LastLeap[33]
new Float: g_LastFthrow[33]
new bool: g_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_switch, cvar_health, cvar_armour, cvar_gravity, cvar_speed, cvar_skyname, cvar_lights,
cvar_autonvg, cvar_blocknvg, cvar_backspeed, cvar_cooldown, cvar_lforce, cvar_lheight, cvar_fforce,
cvar_fdamage, cvar_fsdamage, cvar_hedmg_multi, cvar_weadmg_multi
/*================================================================================
[Precache]
=================================================================================*/
public plugin_precache() 
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar(PLUGIN, VERSION, FCVAR_SPONLY|FCVAR_SERVER)
set_cvar_string(PLUGIN, VERSION)
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_PrecacheModel, ZOMBIE_CLAWS);

engfunc(EngFunc_PrecacheSound, g_sound_ambience);

new iNum
for (iNum = 0; iNum < sizeof(ZOMBIE_MODEL); iNum++)
engfunc(EngFunc_PrecacheModel, ZOMBIE_MODEL[iNum]);
for (iNum = 0; iNum < sizeof g_sound_miss; iNum++)
engfunc(EngFunc_PrecacheSound, g_sound_miss[iNum])
for (iNum = 0; iNum < sizeof g_sound_hit; iNum++)
engfunc(EngFunc_PrecacheSound, g_sound_hit[iNum])
for (iNum = 0; iNum < sizeof g_sound_pain; iNum++)
engfunc(EngFunc_PrecacheSound, g_sound_pain[iNum])
for (iNum = 0; iNum < sizeof g_sound_die; iNum++)
engfunc(EngFunc_PrecacheSound, g_sound_die[iNum])
for (iNum = 0; iNum < sizeof ZOMBIE_FLESH; iNum++)
engfunc(EngFunc_PrecacheModel, ZOMBIE_FLESH[iNum])
}
/*================================================================================
[Plugin start]
=================================================================================*/
public plugin_init() 
{
if (!get_pcvar_num(cvar_switch)) return

cvar_health = register_cvar("zswarm_health", "800")
cvar_armour = register_cvar("zswarm_armour", "")
cvar_gravity = register_cvar("zswarm_gravity", "800")
cvar_speed = register_cvar("zswarm_speed", "240")
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", "20")
cvar_fsdamage = register_cvar("zswarm_fsdamage","100")
cvar_hedmg_multi = register_cvar("zswarm_hemulti", "1.0")
cvar_weadmg_multi= register_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 i = 0; i < sizeof blocked_commands; i++) register_clcmd(blocked_commands[i], "clcmd_blocked")
register_clcmd("nightvision", "clcmd_nightvision")

new iEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "ambient_generic"))
if(iEnt) 
{ 
dllfunc(DLLFunc_Think, iEnt)
set_pev(iEnt, pev_classname, CLASS_WEATHER)

fm_set_kvd(iEnt, "targetname", "boomer")
fm_set_kvd(iEnt, "pitchstart", "100")
fm_set_kvd(iEnt, "pitch", "100") 
fm_set_kvd(iEnt, "health", "500")
fm_set_kvd(iEnt, "spawnflags", "50")

dllfunc(DLLFunc_Spawn, iEnt)
set_pev(iEnt, pev_nextthink, get_gametime() + 2.0)

}
format(mod_name, 31, "%s %s", PLUGIN, VERSION)
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_skyname, skyname, 31)

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_STRING, mod_name)

return FMRES_SUPERCEDE
} 
public concmd_zombieswarm(id, level, cid) 
{
if (!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED

new sz_arg[8]
read_argv(1, sz_arg, 7)

if ( equali(sz_arg, "1") || equali(sz_arg, "on") || equali(sz_arg, "enable") ) 
{
set_task(5.0, "Task_Restart") 
set_pcvar_num(cvar_switch, 1)

set_hudmessage(255, 255, 255, -1.0, 0.25, 0, 1.0, 5.0, 0.1, 0.2, -1)
show_hudmessage(0, "%L", LANG_PLAYER, "PLUGIN_HON_MSG", PLUGIN)

console_print(0, "%L", LANG_PLAYER, "PLUGIN_TON_MSG", PLUGIN)
for(new i = 1; i < 6; i++)
client_print(0, print_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_switch, 0) 

set_hudmessage(255, 255, 255, -1.0, 0.25, 0, 1.0, 5.0, 0.1, 0.2, -1)
show_hudmessage(0, "%L", LANG_PLAYER, "PLUGIN_HOFF_MSG", PLUGIN)

console_print(0, "%L", LANG_PLAYER, "PLUGIN_TOFF_MSG", PLUGIN)
for(new i = 1; i < 6; i++)
client_print(0, print_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 CsTeams: team ; team = cs_get_user_team(id)

if (team == CS_TEAM_T) //Terr
{
new Float:health, Float:gravity, armour
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(id, pev_health, health)
cs_set_user_armor(id, armour, CS_ARMOR_VESTHELM)
set_pev(id, pev_gravity, gravity)
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], 31, ZOMBIE_PLAYER_MODEL[random_num(0, sizeof(ZOMBIE_PLAYER_MODEL) - 1)])

new currentmodel[32];
fm_get_user_model(id, currentmodel, sizeof currentmodel - 1);

if(!equal(currentmodel, player_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(victim, inflictor, attacker, Float:damage, damagetype)
{
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(4, 0.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(4, damage)
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(id, pev_viewmodel2, ZOMBIE_CLAWS)
set_pev(id, pev_weaponmodel2, "")
}

message_begin(MSG_ONE, msg_hideweapon, _ , id)
write_byte(HIDE_HUD | HIDE_FLASH | HIDE_HP_HUD | HIDE_MONEY)
message_end()
}
else
{
message_begin(MSG_ONE, msg_hideweapon, _ , id)
write_byte(HIDE_NONE) 
message_end()
}

return PLUGIN_CONTINUE
}
public message_ScoreAttrib(msg_id, msg_dest, id)
{
new attrib; attrib = get_msg_arg_int(2)
if(attrib == (1<<1)) set_msg_arg_int(2, ARG_BYTE, 0)
}
public message_StatusIcon(msg_id, msg_dest, id)
{
if(!is_user_connected(id) || !g_zombie[id])
return PLUGIN_CONTINUE

new icon[4]; get_msg_arg_string(2, icon, 3)
if(equal(icon, "c4") || equal(icon, "buy"))
return PLUGIN_HANDLED

return PLUGIN_CONTINUE
}

public message_TextMessage(msg_id, msg_dest, id)
{
if(get_msg_arg_int(1) != 4)
return PLUGIN_CONTINUE

new text_msg[25], win_msg[32]
get_msg_arg_string(2, text_msg, 24)

if(equal(text_msg[1], "Game_bomb_drop"))
return PLUGIN_HANDLED
else if(equal(text_msg[1], "Terrorists_Win"))
{
formatex(win_msg, 31, "%L", LANG_SERVER, "WIN_ZOMBIE")
set_msg_arg_string(2, win_msg)
}
else if(equal(text_msg[1], "Target_Saved") || equal(text_msg[1], "CTs_Win"))
{
formatex(win_msg, 31, "%L", LANG_SERVER, "WIN_HUMAN")
set_msg_arg_string(2, win_msg)
}
return PLUGIN_CONTINUE
}
public message_SendAudio(msg_id, msg_dest, id)
{
new audiocode [22]; get_msg_arg_string(2, audiocode, 21)
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(id, print_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(id, print_center, "%L", LANG_PLAYER, "BLOCK_NVG")
return PLUGIN_HANDLED
}

return PLUGIN_CONTINUE
}
public clcmd_throw(id)
{
static Float: Origin[3], Float: Velocity[3], Float: Angle[3], MinBox[3], MaxBox[3]
pev(id, pev_origin, Origin)
pev(id, pev_velocity, Velocity)
pev(id, pev_angles, Angle)
static Health, Float: damage
Health = get_user_health(id)
damage = get_pcvar_float(cvar_fsdamage)

if (Health > damage)
{
static ent ; ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))

set_pev(ent, pev_classname, CLASS_FLESH)
engfunc(EngFunc_SetModel, ent, ZOMBIE_FLESH[random(sizeof ZOMBIE_FLESH)])
Angle[0] = random_float(1.0, 360.0)
Angle[1] = random_float(1.0, 360.0)
MinBox = { -1.0, -1.0, -1.0 }
MaxBox = { 1.0, 1.0, 1.0 }

set_pev(ent, pev_angles, Angle)
engfunc(EngFunc_SetSize, ent, MinBox, MaxBox)
engfunc(EngFunc_SetOrigin, ent, Origin)
set_pev(ent, pev_movetype, MOVETYPE_TOSS)
set_pev(ent, pev_solid, SOLID_TRIGGER)
set_pev(ent, pev_owner, id)

velocity_by_aim(id, get_pcvar_num(cvar_fforce), Velocity)
set_pev(ent, pev_velocity, Velocity)

emit_sound(id, CHAN_VOICE, g_sound_pain[random(sizeof g_sound_pain)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
set_pev(id, pev_health, Health - damage)
}
else
{
client_print(id, print_center, "%L", LANG_PLAYER, "FLESH_HEALTH")
}
}
public fw_PlayerPreThink(id)
{
if(!is_user_alive(id))
return FMRES_IGNORED

static Float: velocity[3], Float: Time
static button, flag
button = pev(id, pev_button)
flag = pev(id, pev_flags)
Time = get_gametime()

if (g_zombie[id])
{
if ( (!g_infreezetime) && (button & IN_RELOAD) && (flag & FL_ONGROUND))
{
static Float: cooldown, Float: lheight, lforce
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(id, pev_button, button & ~IN_RELOAD)
velocity_by_aim(id, lforce, velocity)
velocity[2] = lheight
set_pev(id, pev_velocity, velocity)
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:speed; speed = get_pcvar_float(cvar_speed)
set_pev(id, pev_maxspeed, speed)
}
}
else if (!g_zombie[id])
{
if ( (button & IN_BACK) && (flag & FL_ONGROUND) )
{
static Float: backspeed ; backspeed = get_pcvar_float(cvar_backspeed)
pev(id, pev_velocity, velocity)
xs_vec_mul_scalar(velocity, backspeed, velocity)
set_pev(id, pev_velocity, velocity)
}
}

return FMRES_IGNORED
} 
public fw_SetClientKeyValue(id, infobuffer, key[], value[])
{ 
if (g_model[id] && equal(key, "model"))
return FMRES_SUPERCEDE;

return FMRES_IGNORED;
}
public fw_ClientUserInfoChanged(id, infobuffer)
{ 
if (!g_model[id])
return FMRES_IGNORED;

new currentmodel[32]; 
fm_get_user_model(id, currentmodel, sizeof currentmodel - 1);

if(!equal(currentmodel, player_model[id]))
fm_set_user_model(id, player_model[id]) 

return FMRES_IGNORED;
}
public fw_EmitSound(id, channel, sample[], Float:volume, Float:attn, flag, pitch)
{
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(id, CHAN_WEAPON, g_sound_miss[random(sizeof g_sound_miss)], volume, attn, flag, pitch)
return FMRES_SUPERCEDE
}

case 'b', '1', '2', '3', '4':
{
emit_sound(id, CHAN_WEAPON, g_sound_hit[random(sizeof g_sound_hit)], volume, attn, flag, pitch)
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(id, CHAN_VOICE, g_sound_pain[random(sizeof g_sound_pain)], volume, attn, flag, pitch)
return FMRES_SUPERCEDE
} 
//DEATH
else if (sample[7] == 'd' && (sample[8] == 'i' && sample[9] == 'e' || sample[12] == '6'))
{
emit_sound(id, CHAN_VOICE, g_sound_die[random(sizeof g_sound_die)], volume, attn, flag, pitch)
return FMRES_SUPERCEDE
} 
//NVG
else if (sample[6] == 'n' && sample[7] == 'v' && sample[8] == 'g')
return FMRES_SUPERCEDE

return FMRES_IGNORED
}
public fw_CmdStart(id, handle, seed)
{
if(!is_user_alive(id) || !g_zombie[id])
return FMRES_IGNORED

static impulse; impulse = get_uc(handle, UC_Impulse)
if(impulse == 100)
{
set_uc(handle, UC_Impulse, 0)
return FMRES_SUPERCEDE
}
return FMRES_IGNORED
}
public bacon_touch(ent, id)
{
if (is_user_alive(id) && g_zombie[id])
return HAM_SUPERCEDE

return HAM_IGNORED
}
public fw_Touch(pToucher, pTouched)
{
if ( pev_valid(pToucher))
{
static className[32], className2[32]
pev(pToucher, pev_classname, className, 31)
if ( pev_valid(pTouched)) pev(pTouched, pev_classname, className2, 31)

if ( equal(className, CLASS_FLESH))
{
static attacker ; attacker = pev(pToucher, pev_owner)

if ( pev_valid(pTouched))
{
if ( equal(className2, "player") && is_user_connected(pTouched))
{
static origin[3], Float: damage
get_user_origin(pTouched, origin)
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_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_BLOOD);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2] + 10);
write_coord(random_num(-360, 360));
write_coord(random_num(-360, 360));
write_coord(-10);
write_byte(70);
write_byte(random_num(15, 35));
message_end() 
ExecuteHam(Ham_TakeDamage, pTouched, pToucher, attacker, damage, DMG_GENERIC)
}
else if ( equal(className2, "func_breakable")) dllfunc(DLLFunc_Use, pTouched, attacker) 
else if ( equal(className2, CLASS_FLESH)) return FMRES_SUPERCEDE 
} 
engfunc(EngFunc_RemoveEntity, pToucher)
}
}

return FMRES_IGNORED
} 
public fw_Think_lights(iEnt)
{
if (!pev_valid(iEnt))
return FMRES_IGNORED;

static className[32]
pev(iEnt, pev_classname, className, 31);
static Float:gametime; gametime = get_gametime()

if (equal(className, CLASS_WEATHER))
{
switch (get_pcvar_num(cvar_lights))
{
case 0:
{
engfunc(EngFunc_LightStyle, 0, "m")
set_pev(iEnt, pev_nextthink, gametime + 0.1);
}
case 1:
{
static thinkReturn, randNum;
if(!g_light_flashing)
{
randNum = random_num(0, 1);
if(randNum)
g_light_flashing = true;
g_light_num = random_num(1, 3);
dllfunc(DLLFunc_Use, iEnt, 0)
}
thinkReturn = lightning();

if(thinkReturn)
set_pev(iEnt, pev_nextthink, gametime + random_float(9.5, 16.5));
else
set_pev(iEnt, pev_nextthink, gametime + 0.1);
}
case 2:
{
engfunc(EngFunc_LightStyle, 0, "b")
set_pev(iEnt, pev_nextthink, gametime + 0.1);
}
default:
{
engfunc(EngFunc_LightStyle, 0, "a")
set_pev(iEnt, pev_nextthink, gametime + 0.1);
}
}
}
return FMRES_HANDLED;
}
lightning()
{
switch(g_light_num)
{
// Flash 1 time
case 1:
{
g_light_counter += 1;
switch(g_light_counter)
{
case 1: g_light_stylenum = 1;
case 2: g_light_stylenum = 2;
case 3: g_light_stylenum = 1;
case 4: g_light_stylenum = 0;
}
engfunc(EngFunc_LightStyle, 0, g_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 1: g_light_stylenum = 1;
case 2: g_light_stylenum = 2;
case 3: g_light_stylenum = 1;
case 4: g_light_stylenum = 2;
case 5: g_light_stylenum = 1;
case 6: g_light_stylenum = 0;
}
engfunc(EngFunc_LightStyle, 0, g_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 1: g_light_stylenum = 1;
case 2: g_light_stylenum = 2;
case 3: g_light_stylenum = 1;
case 4: g_light_stylenum = 2;
case 5: g_light_stylenum = 1;
case 6: g_light_stylenum = 2;
case 7: g_light_stylenum = 1;
case 8: g_light_stylenum = 0;
}
engfunc(EngFunc_LightStyle, 0, g_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(mapname, 31)
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 health, armour
health = get_user_health(id)
armour = get_user_armor(id)

set_hudmessage(255, 180, 0, 0.02, 0.97, 0, 0.0, 0.3, 0.0, 0.0)
ShowSyncHudMsg(id, g_hudsync , "Health: %d | Armour: %d", health, armour)

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(id, 0)
fm_strip_user_weapons(id)
bacon_give_weapon(id, "weapon_knife")
set_pev(id, pev_viewmodel2, ZOMBIE_CLAWS)
set_pev(id, pev_weaponmodel2, "")
} 
public Task_Model(task)
{
new id = task - TASKID_MODEL; 

fm_set_user_model(id, player_model[id])
}
public Task_NVG(task)
{
new id = task - TASKID_NVG

engclient_cmd(id, "nightvision")
for(new i = 1; i < 10; i++)
client_cmd(id, "-nvgadjust")
}
/*================================================================================
[stocks]
=================================================================================*/
stock fm_strip_user_weapons(index) 
{
static ent; ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "player_weaponstrip"))
if(!pev_valid(ent)) return 0

dllfunc(DLLFunc_Spawn, ent)
dllfunc(DLLFunc_Use, ent, index)
engfunc(EngFunc_RemoveEntity, ent)

return 1
}
stock fm_set_user_model(player, modelname[])
{ 
engfunc(EngFunc_SetClientKeyValue, player, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", modelname)

g_model[player] = true
}
stock fm_get_user_model(player, model[], len)
{ 
engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", model, len)
}
stock fm_reset_user_model(player)
{ 
g_model[player] = false

dllfunc(DLLFunc_ClientUserInfoChanged, player, engfunc(EngFunc_GetInfoKeyBuffer, player))
}
stock fm_set_kvd(entity, const key[], const value[], const classname[] = "") {
if (classname[0])
set_kvd(0, KV_ClassName, classname); 
else {
new class[32];
pev(entity, pev_classname, class, sizeof class - 1);
set_kvd(0, KV_ClassName, class);
}
set_kvd(0, KV_KeyName, key);
set_kvd(0, KV_Value, value);
set_kvd(0, KV_fHandled, 0);
return dllfunc(DLLFunc_KeyValue, entity, 0);
}
stock fm_find_ent_by_owner(index, const classname[], owner, jghgtype = 0) {
new strtype[11] = "classname", ent = index;
switch (jghgtype) {
case 1: strtype = "target";
case 2: strtype = "targetname";
}
while ((ent = engfunc(EngFunc_FindEntityByString, ent, strtype, classname)) && pev(ent, pev_owner) != owner) {}
return ent;
}
stock bool:fm_strip_user_gun(index, wid = 0, const wname[] = "") {
new ent_class[32];
if (!wid && wname[0])
copy(ent_class, sizeof ent_class - 1, wname);
else {
new weapon = wid, clip, ammo;
if (!weapon && !(weapon = get_user_weapon(index, clip, ammo)))
return false;

get_weaponname(weapon, ent_class, sizeof ent_class - 1);
}
new ent_weap = fm_find_ent_by_owner(-1, ent_class, index);
if (!ent_weap)
return false;
engclient_cmd(index, "drop", ent_class);
new ent_box = pev(ent_weap, pev_owner);
if (!ent_box || ent_box == index)
return false;
dllfunc(DLLFunc_Think, ent_box);
return true;
}
stock bacon_give_weapon(index, weapon[])
{
if(!equal(weapon,"weapon_", 7)) return 0

static ent; ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, weapon))
if(!pev_valid(ent)) return 0

set_pev(ent, pev_spawnflags, SF_NORESPAWN)
dllfunc(DLLFunc_Spawn, ent)

if(!ExecuteHamB(Ham_AddPlayerItem, index, any:ent) || !ExecuteHamB(Ham_Item_AttachToPlayer, ent, any:index))
{
if(pev_valid(ent)) set_pev(ent, pev_flags, pev(ent, pev_flags) & FL_KILLME)
return 0
}
return 1
}  

  • Parašė po 1 mėnesio...
  • Parašė po 4 savaičių...
Svečias

Jau umbrella swarm mod esu sukūręs, bet jo niekam neplatinsiu.

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 5437 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai




×
×
  • Sukurti naują...