BANNED
|
05-02-2009
, 02:07
[ZP] Zombie Class [HELP]
|
#1
|
Can anyone make Cvar for Radius damage, Normal Damage intead of Infection, setting the damage of explosion for this zombie ?
Here the codes:
Code:
/*================================================================================
-----------------------------------
-*- [ZP] Class : Kamikaze Zombie -*-
-----------------------------------
~~~~~~~~~~~~~~~
- Description -
~~~~~~~~~~~~~~~
Able to explode when it died.
================================================================================*/
#include <amxmodx>
#include <fakemeta>
#include <zombieplague>
#include <engine>
#define PLUGINNAME "[ZP]Class kamikaze"
#define VERSION "1.0"
#define AUTHOR "Mr.Noobie"
new g_zclass_kzombie, explosion, g_maxplayers, white, smoke
new bool:lamuerteexplosiva[33] = false
new g_sndExplode[] = "weapons/c4_explode1.wav"
new const zclass_name[] = { "Kamikaze Zombie" }
new const zclass_info[] = { "Explode" }
new const zclass_model[] = { "zombie_source" }
new const zclass_clawmodel[] = { "v_knife_zombie.mdl" }
const zclass_health = 500
const zclass_speed = 300
const Float:zclass_gravity = 1.0
const Float:zclass_knockback = 1.0
public plugin_init()
{
register_plugin(PLUGINNAME, VERSION, AUTHOR)
register_event("DeathMsg", "kamikaze_death", "a")
g_maxplayers = get_maxplayers()
}
public plugin_precache()
{
g_zclass_kzombie = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)
explosion = precache_model("sprites/zerogxplode.spr")
white = precache_model("sprites/white.spr")
smoke = precache_model("sprites/steam1.spr")
precache_sound(g_sndExplode)
}
public zp_user_infected_post(player, infector)
{
if (zp_get_user_zombie_class(player) == g_zclass_kzombie)
{
lamuerteexplosiva[player] = true
fm_set_rendering(player, kRenderFxGlowShell, 225, 0, 0, kRenderNormal, 16);
}
}
public zp_user_unfrozen(player)
{
if (zp_get_user_zombie_class(player) == g_zclass_kzombie)
{
fm_set_rendering(player, kRenderFxGlowShell, 225, 0, 0, kRenderNormal, 16);
}
}
public zp_user_humanized_post(player)
{
lamuerteexplosiva[player] = false
}
public kamikaze_death() {
new atacante = read_data(1)
new victima = read_data(2)
if(lamuerteexplosiva[victima]) {
user_kill(atacante)
for (new id2; id2 <= g_maxplayers; id2++)
{
if (zp_get_user_zombie_class(id2) == g_zclass_kzombie && zp_get_user_zombie(id2) && !zp_get_user_nemesis(id2))
{
static Float:vOrigin[3], Float:vOrigin2[3]
pev(victima, pev_origin, vOrigin)
pev(id2, pev_origin, vOrigin2)
new Float:fOrigin[3]
new iOrigin[3]
entity_get_vector(id2, EV_VEC_origin, fOrigin)
FVecIVec(fOrigin,iOrigin)
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(3) //TE_EXPLOSION
write_coord(iOrigin[0])
write_coord(iOrigin[1])
write_coord(iOrigin[2] + 5)
write_short(explosion)
write_byte(30)
write_byte(15)
write_byte(0)
message_end()
}
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(5) // TE_SMOkE
write_coord(iOrigin[0]) // startorigin
write_coord(iOrigin[1])
write_coord(iOrigin[2] + 15)
write_short(smoke) // sprite
write_byte(60)
write_byte(10)
message_end()
}
{
message_begin( MSG_BROADCAST,SVC_TEMPENTITY,iOrigin )
write_byte( 21 ) //TE_BEAMCYLINDER
write_coord( iOrigin[0] )
write_coord( iOrigin[1] )
write_coord( iOrigin[2] )
write_coord( iOrigin[0] )
write_coord( iOrigin[1] )
write_coord( iOrigin[2]+200 )
write_short( white )
write_byte( 0 )
write_byte( 1 )
write_byte( 6 )
write_byte( 8 )
write_byte( 1 )
write_byte( 255 )
write_byte( 255 )
write_byte( 192 )
write_byte( 128 )
write_byte( 5 )
message_end()
}
{
emit_sound(victima,CHAN_STATIC, "g_sndExplode", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
new g_hs
new uWeaponName[32]
// Kill the player and make a deathMSG
user_silentkill(id2)
g_hs = random_num(0, 1)
format(uWeaponName, 31, "grenade")
make_deathmsg(0 , id2, g_hs, uWeaponName)
if(vector_distance(vOrigin, vOrigin2) < 250)
{
user_kill(id2)
}
}
}
lamuerteexplosiva[victima] = false
}
}
public client_disconnect(id)
{
lamuerteexplosiva[id] = false
}
public client_putinserver(id)
{
lamuerteexplosiva[id] = false
}
// 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))
}
I need help.
Last edited by Mr.Noobie; 05-04-2009 at 04:31.
|
|