/*================================================================================
-----------------------------------
-*- [BB] Default Zombie Classes -*-
-----------------------------------
~~~~~~~~~~~~~~~
- Description -
~~~~~~~~~~~~~~~
This plugin adds the default zombie classes from Zombie Plague
into Base Builder. All credit belongs to MeRcyLeZZ.
All classes have been balanced, but feel free to edit them if
you are not satisfied.
================================================================================*/
#include <amxmodx>
#include <basebuilder>
#include <hamsandwich>
#include <fakemeta>
#include <fun>
#include <cstrike>
#include <engine>
/*================================================================================
[Plugin Customization]
=================================================================================*/
// Classic Zombie Attributes
new const zclass1_name[] = { "Klasszik" }
new const zclass1_info[] = { "Normal Kepessegek" }
new const zclass1_model[] = { "bb_classic" }
new const zclass1_clawmodel[] = { "v_bloodyhands" }
const zclass1_health = 3300
const zclass1_speed = 260
const Float:zclass1_gravity = 1.0
// Fast Zombie Attributes
new const zclass2_name[] = { "Gyors" }
new const zclass2_info[] = { "Speed+" }
new const zclass2_model[] = { "bb_fast" }
new const zclass2_clawmodel[] = { "v_bloodyhands" }
const zclass2_health = 3600
const zclass2_speed = 350
const Float:zclass2_gravity = 1.0
// Jumper Zombie Attributes
new const zclass3_name[] = { "Ugro" }
new const zclass3_info[] = { "Jump+" }
new const zclass3_model[] = { "bb_jumper" }
new const zclass3_clawmodel[] = { "v_bloodyhands" }
const zclass3_health = 3000
const zclass3_speed = 285
const Float:zclass3_gravity = 0.7
// Tanker Zombie Attributes
new const zclass4_name[] = { "Tank" }
new const zclass4_info[] = { "Sok HP" }
new const zclass4_model[] = { "bb_tanker" }
new const zclass4_clawmodel[] = { "v_bloodyhands" }
const zclass4_health = 4000
const zclass4_speed = 210
const Float:zclass4_gravity = 1.0
#define TANK_ARMOR 200
// Kuszo Zombi
new const zclass5_name[] = { "Kuszo" }
new const zclass5_info[] = { "Sok HP" }
new const zclass5_model[] = { "bb_kuszo" }
new const zclass5_clawmodel[] = { "v_bloodyhands" }
const zclass5_health = 3500
const zclass5_speed = 250
const Float:zclass5_gravity = 1.0
#define kuszo_armor 100
//Vip Ugro Zombi
new const zclass6_name[] = { "VIP Ugro" }
new const zclass6_info[] = { "\yNagyon ugrik" }
new const zclass6_model[] = { "bb_nexus" }
new const zclass6_clawmodel[] = { "v_bloodyhands" }
const zclass6_health = 3900
const zclass6_speed = 290
const Float:zclass6_gravity = 0.4
const zclass6_adminflags = ADMIN_LEVEL_H
#define ugro_armor 100
//VIP repulo zombi
new const zclass7_name[] = { "VIP Repulo" }
new const zclass7_info[] = { "Tud repulni" }
new const zclass7_model[] = { "bb_repulo" }
new const zclass7_clawmodel[] = { "v_bloodyhands" }
const zclass7_health = 800
const zclass7_speed = 300
const Float:zclass7_gravity = 0.1
const zclass7_adminflags = ADMIN_LEVEL_H
#define repules
//VIP Tank Zombie Attributes
new const zclass8_name[] = { "VIP Tank" }
new const zclass8_info[] = { "\yNagyon sok elete van" }
new const zclass8_model[] = { "bb_vip_tank" }
new const zclass8_clawmodel[] = { "v_bloodyhands" }
const zclass8_health = 5000
const zclass8_speed = 275
const Float:zclass8_gravity = 1.0
const zclass8_adminflags = ADMIN_LEVEL_H
#define tank2_armor 100
// VIP Hitler Zombie Attributes
new const zclass9_name[] = {"VIP Hitler"}
new const zclass9_info[] = { "\yGyors es kicsit nagyot ugrik" }
new const zclass9_model[] = { "bb_vip_hitler" }
new const zclass9_clawmodel[] = { "v_bloodyhands" }
const zclass9_health = 2000
const zclass9_speed = 400
const Float:zclass9_gravity = 0.6
const zclass9_adminflags = ADMIN_LEVEL_H
#define farkasember_armor 100
// VIP Terminator Zombie Attributes
new const zclass10_name[] = {"VIP Terminator"}
new const zclass10_info[] = { "\yNagyon gyors de nemsok hp" }
new const zclass10_model[] = { "bb_vip_terminator" }
new const zclass10_clawmodel[] = { "v_bloodyhands" }
const zclass10_health = 2500
const zclass10_speed = 500
const Float:zclass10_gravity = 0.6
const zclass10_adminflags = ADMIN_LEVEL_H
// Pok Zombie Attributes
new const zclass11_name[] = {"Orias Pok"}
new const zclass11_info[] = { "Kicsit gyors es sok elet,+Jump" }
new const zclass11_model[] = { "bb_oriaspok" }
new const zclass11_clawmodel[] = { "v_bloodyhands" }
const zclass11_health = 4000
const zclass11_speed = 325
const Float:zclass11_gravity = 0.6
const zclass11_adminflags = ADMIN_ALL
// Bichi Zombie Attributes
new const zclass12_name[] = {"Bichi" }
new const zclass12_info[] = { "Kicsi es gyors" }
new const zclass12_model[] = { "bb_bichi" }
new const zclass12_clawmodel[] = { "v_bloodyhands" }
const zclass12_health = 200
const zclass12_speed = 1000
const Float:zclass12_gravity = 1.0
const zclass12_adminflags = ADMIN_ALL
// Demon Zombie Attributes
new const zclass13_name[] = {"Demon" }
new const zclass13_info[] = { "Gyors es van egy kicsi elete" }
new const zclass13_model[] = { "bb_demon" }
new const zclass13_clawmodel[] = { "v_bloodyhands" }
const zclass13_health = 3500
const zclass13_speed = 400
const Float:zclass13_gravity = 0.7
const zclass13_adminflags = ADMIN_ALL
// Farkas Zombie Attributes
new const zclass14_name[] = {"Farkas" }
new const zclass14_info[] = { "Sok elet" }
new const zclass14_model[] = { "bb_farkas" }
new const zclass14_clawmodel[] = { "v_bloodyhands" }
const zclass14_health = 5000
const zclass14_speed = 210
const Float:zclass14_gravity = 0.7
const zclass14_adminflags = ADMIN_ALL
// Farkasember Zombie Attributes
new const zclass15_name[] = {"Farkasember"}
new const zclass15_info[] = { "Ralepsz a farkara akkor visit" }
new const zclass15_model[] = { "bb_farkasember" }
new const zclass15_clawmodel[] = { "v_werewolf" }
const zclass15_health = 2800
const zclass15_speed = 450
const Float:zclass15_gravity = 1.0
const zclass15_adminflags = ADMIN_ALL
// Mano Zombie Attributes
new const zclass16_name[] = { "Mano" }
new const zclass16_info[] = { "Nagyon gyors de keves elet" }
new const zclass16_model[] = { "bb_mano" }
new const zclass16_clawmodel[] ={ "v_bloodyhands" }
const zclass16_health = 2000
const zclass16_speed = 600
const Float:zclass16_gravity = 1.0
const zclass16_adminflags = ADMIN_ALL
/*============================================================================*/
new g_zclass_tanker
new g_zclass_kuszo
new g_zclass_vip_ugro
new g_zclass_vip_repulo
new g_zclass_vip_tank
new g_zclass_vip_hitler
new g_zclass_vip_terminator
new g_zclass_oriaspok
new g_zclass_bichi
new g_zclass_demon
new g_zclass_farkas
new g_zclass_farkasember
new g_zclass_mano
new bool:has_jp[33];
new const CVAR_JP_SPEED[] = "jp_speed";
// Zombie Classes MUST be registered on plugin_precache
public plugin_precache()
{
register_plugin("[BB] Default Zombie Classes", "6.5", "Tirant")
register_cvar(CVAR_JP_SPEED , "250");
// Register all classes
bb_register_zombie_class(zclass5_name, zclass5_info, zclass5_model, zclass5_clawmodel, zclass5_health, zclass5_speed, zclass5_gravity, 0.0)
bb_register_zombie_class(zclass1_name, zclass1_info, zclass1_model, zclass1_clawmodel, zclass1_health, zclass1_speed, zclass1_gravity, 0.0)
bb_register_zombie_class(zclass2_name, zclass2_info, zclass2_model, zclass2_clawmodel, zclass2_health, zclass2_speed, zclass2_gravity, 0.0)
bb_register_zombie_class(zclass3_name, zclass3_info, zclass3_model, zclass3_clawmodel, zclass3_health, zclass3_speed, zclass3_gravity, 0.0)
g_zclass_tanker = bb_register_zombie_class(zclass4_name, zclass4_info, zclass4_model, zclass4_clawmodel, zclass4_health, zclass4_speed, zclass4_gravity, 0.0)
g_zclass_kuszo = bb_register_zombie_class(zclass5_name, zclass5_info, zclass5_model, zclass5_clawmodel, zclass5_health, zclass5_speed, zclass5_gravity, 0.0)
g_zclass_vip_ugro = bb_register_zombie_class(zclass6_name, zclass6_info, zclass6_model, zclass6_clawmodel, zclass6_health, zclass6_speed, zclass6_gravity, 0.0, zclass6_adminflags)
g_zclass_vip_repulo = bb_register_zombie_class(zclass7_name, zclass7_info, zclass7_model, zclass7_clawmodel, zclass7_health, zclass7_speed, zclass7_gravity, 0.0 , zclass7_adminflags)
g_zclass_vip_tank = bb_register_zombie_class(zclass8_name, zclass8_info, zclass8_model, zclass8_clawmodel, zclass8_health, zclass8_speed, zclass8_gravity, 0.0, zclass8_adminflags)
g_zclass_vip_hitler = bb_register_zombie_class(zclass9_name,zclass9_info,zclass9_model,zclass9_clawmodel,zclass9_health,zclass9_speed,zclass9_gravity, 0.0, zclass9_adminflags)
g_zclass_vip_terminator = bb_register_zombie_class(zclass10_name,zclass10_info,zclass10_model,zclass10_clawmodel,zclass10_health,zclass10_speed,zclass10_gravity , 0.0 , zclass10_adminflags)
g_zclass_oriaspok = bb_register_zombie_class(zclass11_name,zclass11_info,zclass11_model,zclass11_clawmodel,zclass11_health,zclass11_speed,zclass11_gravity , 0.0 , zclass11_adminflags)
g_zclass_bichi = bb_register_zombie_class(zclass12_name,zclass12_info,zclass12_model,zclass12_clawmodel,zclass12_health,zclass12_speed,zclass12_gravity , 0.0 , zclass12_adminflags)
g_zclass_demon = bb_register_zombie_class(zclass13_name,zclass13_info,zclass13_model,zclass13_clawmodel,zclass13_health,zclass13_speed,zclass13_gravity , 0.0 , zclass13_adminflags)
g_zclass_farkas = bb_register_zombie_class(zclass14_name,zclass14_info,zclass14_model,zclass14_clawmodel,zclass14_health,zclass14_speed,zclass14_gravity , 0.0 , zclass14_adminflags)
g_zclass_farkasember = bb_register_zombie_class(zclass15_name,zclass15_info,zclass15_model,zclass15_clawmodel,zclass15_health,zclass15_speed,zclass15_gravity , 0.0 , zclass15_adminflags)
g_zclass_mano = bb_register_zombie_class(zclass16_name,zclass16_info,zclass16_model,zclass16_clawmodel,zclass16_health,zclass16_speed,zclass16_gravity , 0.0 , zclass16_adminflags)
}
#if defined TANK_ARMOR
public plugin_init()
{
RegisterHam(Ham_Spawn, "player", "ham_PlayerSpawn_Post", 1)
}
public ham_PlayerSpawn_Post(id)
{
if (!is_user_alive(id))
return ;
if (bb_is_user_zombie(id) && bb_get_user_zombie_class(id) == g_zclass_tanker)
{
give_item(id, "item_assaultsuit");
cs_set_user_armor(id, TANK_ARMOR, CS_ARMOR_VESTHELM);
}
if (bb_is_user_zombie(id) && bb_get_user_zombie_class(id) == g_zclass_kuszo)
{
give_item(id, "item_assaultsuit");
cs_set_user_armor(id, kuszo_armor, CS_ARMOR_VESTHELM);
}
if (bb_is_user_zombie(id) && bb_get_user_zombie_class(id) == g_zclass_vip_ugro)
{
give_item(id, "item_assaultsuit");
cs_set_user_armor(id, ugro_armor, CS_ARMOR_VESTHELM);
}
if (bb_is_user_zombie(id) && bb_get_user_zombie_class(id) == g_zclass_vip_repulo)
{
new Float:fAim[3] , Float:fVelocity[3];
VelocityByAim(id , 250 , fAim);
if(!(get_user_button(id) & IN_JUMP))
{
fVelocity[0] = fAim[0];
fVelocity[1] = fAim[1];
fVelocity[2] = fAim[2];
set_user_velocity(id , fVelocity);
}
}
#endif
}
#if defined repules
public client_PreThink(id)
{
if(!is_user_alive(id) || !bb_is_user_zombie(id)) return PLUGIN_CONTINUE
if(bb_get_user_zombie_class(id) != g_zclass_vip_repulo) return PLUGIN_CONTINUE
new Float:fAim[3] , Float:fVelocity[3];
VelocityByAim(id , get_cvar_num(CVAR_JP_SPEED) , fAim);
if(!(get_user_button(id) & IN_JUMP))
{
fVelocity[0] = fAim[0];
fVelocity[1] = fAim[1];
fVelocity[2] = fAim[2];
set_user_velocity(id , fVelocity);
fm_set_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 16);
}
return PLUGIN_CONTINUE;
}
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))
}
public zp_user_infected_post(id, infector)
{
if (bb_get_user_zombie_class(id) == g_zclass_vip_repulo)
{
client_print(id,print_chat,"Repulo Zombi vagy!")
has_jp[id] = true
}
}
#endif