Code:
#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <zombieplague>
#define AUTHOR "Kundum"
public plugin_init()
register_plugin("Clases humanas", "1.0", AUTHOR)
new const hclass1_name[] = { "Normal" }
new const hclass1_info[] = { "Atributos Normales" }
new const hclass1_model[] = { "leet" }
const hclass1_health = 100
const hclass1_armor = 0
const hclass1_speed = 240
const Float:hclass1_gravity = 1.0
const Float:hclass1_damage = 1.0
const hclass1_level = 1
const hclass1_reset = 0
new const hclass2_name[] = { "Rebelde" }
new const hclass2_info[] = { "Atributos Elevados, Pero Muy Devil" }
new const hclass2_model[] = { "leet" }
const hclass2_health = 120
const hclass2_armor = 0
const hclass2_speed = 275
const Float:hclass2_gravity = 0.75
const Float:hclass2_damage = 1.5
const hclass2_level = 50
const hclass2_reset = 0
new const hclass3_name[] = { "Soldado" }
new const hclass3_info[] = { "Algo Agil, Devil, Baja Defensa" }
new const hclass3_model[] = { "leet" }
const hclass3_health = 70
const hclass3_armor = 10
const hclass3_speed = 245
const Float:hclass3_gravity = 0.97
const Float:hclass3_damage = 1.1
const hclass3_level = 100
const hclass3_reset = 0
new const hclass4_name[] = { "Soldado Raso" }
new const hclass4_info[] = { "Algo Agil, Fuerte, Baja Defensa" }
new const hclass4_model[] = { "leet" }
const hclass4_health = 110
const hclass4_armor = 20
const hclass4_speed = 250
const Float:hclass4_gravity = 0.94
const Float:hclass4_damage = 1.3
const hclass4_level = 175
const hclass4_reset = 0
new const hclass5_name[] = { "Guerrillero" }
new const hclass5_info[] = { "Lento, Muy Fuerte, Pesado" }
new const hclass5_model[] = { "leet" }
const hclass5_health = 150
const hclass5_armor = 50
const hclass5_speed = 200
const Float:hclass5_gravity = 1.2
const Float:hclass5_damage = 1.5
const hclass5_level = 250
const hclass5_reset = 0
new const hclass6_name[] = { "Comandante" }
new const hclass6_info[] = { "Lento, Defensa Alta, Pesado" }
new const hclass6_model[] = { "leet" }
const hclass6_health = 200
const hclass6_armor = 100
const hclass6_speed = 215
const Float:hclass6_gravity = 0.95
const Float:hclass6_damage = 1.8
const hclass6_level = 375
const hclass6_reset = 0
new const hclass7_name[] = { "Capitan" }
new const hclass7_info[] = { "Muy Fuerte, Defensa Mediana" }
new const hclass7_model[] = { "leet" }
const hclass7_health = 185
const hclass7_armor = 60
const hclass7_speed = 280
const Float:hclass7_gravity = 0.74
const Float:hclass7_damage = 2.0
const hclass7_level = 500
const hclass7_reset = 0
new const hclass8_name[] = { "General" }
new const hclass8_info[] = { "Atributos Medianos" }
new const hclass8_model[] = { "leet" }
const hclass8_health = 240
const hclass8_armor = 90
const hclass8_speed = 290
const Float:hclass8_gravity = 0.7
const Float:hclass8_damage = 2.3
const hclass8_level = 575
const hclass8_reset = 1
new const hclass9_name[] = { "Teniente" }
new const hclass9_info[] = { "Atributos Elevados" }
new const hclass9_model[] = { "leet" }
const hclass9_health = 300
const hclass9_armor = 150
const hclass9_speed = 310
const Float:hclass9_gravity = 0.65
const Float:hclass9_damage = 2.5
const hclass9_level = 650
const hclass9_reset = 1
new const hclass10_name[] = { "Soldado Kundum" }
new const hclass10_info[] = { "Atributos Muy Elevados" }
new const hclass10_model[] = { "leet" }
const hclass10_health = 450
const hclass10_armor = 200
const hclass10_speed = 325
const Float:hclass10_gravity = 0.57
const Float:hclass10_damage = 3.0
const hclass10_level = 750
const hclass10_reset = 1
new const hclass11_name[] = { "Comandante Kundum" }
new const hclass11_info[] = { "Atributos Super Elevados" }
new const hclass11_model[] = { "leet" }
const hclass11_health = 550
const hclass11_armor = 275
const hclass11_speed = 340
const Float:hclass11_gravity = 0.55
const Float:hclass11_damage = 3.4
const hclass11_level = 900
/*new const humano10T[] = "models/player/humano10/humano10T.mdl"
new const humano11T[] = "models/player/humano11/humano11T.mdl"*/
const hclass11_reset = 0
new const hclass12_name[] = { "Mayor Kundum" }
new const hclass12_info[] = { "Atributos Mega Elevados" }
new const hclass12_model[] = { "leet" }
const hclass12_health = 650
const hclass12_armor = 300
const hclass12_speed = 345
const Float:hclass12_gravity = 0.54
const Float:hclass12_damage = 3.6
const hclass12_level = 150
const hclass12_reset = 1
new const hclass13_name[] = { "Kundum Matter" }
new const hclass13_info[] = { "Atributos Mega Extra Elevados" }
new const hclass13_model[] = { "leet" }
const hclass13_health = 250
const hclass13_armor = 150
const hclass13_speed = 375
const Float:hclass13_gravity = 1.30
const Float:hclass13_damage = 3.2
const hclass13_level = 350
const hclass13_reset = 2
new const hclass14_name[] = { "Kundum BlackMatter" }
new const hclass14_info[] = { "Atributos Mega Extra Elevados+" }
new const hclass14_model[] = { "leet" }
const hclass14_health = 900
const hclass14_armor = 450
const hclass14_speed = 360
const Float:hclass14_gravity = 0.52
const Float:hclass14_damage = 4.0
const hclass14_level = 500
const hclass14_reset = 2
new const hclass15_name[] = { "Kundum SuperSolider" }
new const hclass15_info[] = { "Atributos Mega Extra Elevados++" }
new const hclass15_model[] = { "leet" }
const hclass15_health = 1000
const hclass15_armor = 500
const hclass15_speed = 365
const Float:hclass15_gravity = 1.0
const Float:hclass15_damage = 4.4
const hclass15_level = 700
const hclass15_reset = 2
public plugin_precache()
{
zp_register_human_class(hclass1_name, hclass1_info, hclass1_model, hclass1_health, hclass1_armor, hclass1_speed, hclass1_gravity, hclass1_damage, hclass1_level, hclass1_reset)
zp_register_human_class(hclass2_name, hclass2_info, hclass2_model, hclass2_health, hclass2_armor, hclass2_speed, hclass2_gravity, hclass2_damage, hclass2_level, hclass2_reset)
zp_register_human_class(hclass3_name, hclass3_info, hclass3_model, hclass3_health, hclass3_armor, hclass3_speed, hclass3_gravity, hclass3_damage, hclass3_level, hclass3_reset)
zp_register_human_class(hclass4_name, hclass4_info, hclass4_model, hclass4_health, hclass4_armor, hclass4_speed, hclass4_gravity, hclass4_damage, hclass4_level, hclass4_reset)
zp_register_human_class(hclass5_name, hclass5_info, hclass5_model, hclass5_health, hclass5_armor, hclass5_speed, hclass5_gravity, hclass5_damage, hclass5_level, hclass5_reset)
zp_register_human_class(hclass6_name, hclass6_info, hclass6_model, hclass6_health, hclass6_armor, hclass6_speed, hclass6_gravity, hclass6_damage, hclass6_level, hclass6_reset)
zp_register_human_class(hclass7_name, hclass7_info, hclass7_model, hclass7_health, hclass7_armor, hclass7_speed, hclass7_gravity, hclass7_damage, hclass7_level, hclass7_reset)
zp_register_human_class(hclass8_name, hclass8_info, hclass8_model, hclass8_health, hclass8_armor, hclass8_speed, hclass8_gravity, hclass8_damage, hclass8_level, hclass8_reset)
zp_register_human_class(hclass9_name, hclass9_info, hclass9_model, hclass9_health, hclass9_armor, hclass9_speed, hclass9_gravity, hclass9_damage, hclass9_level, hclass9_reset)
zp_register_human_class(hclass10_name, hclass10_info, hclass10_model, hclass10_health, hclass10_armor, hclass10_speed, hclass10_gravity, hclass10_damage, hclass10_level, hclass10_reset)
zp_register_human_class(hclass11_name, hclass11_info, hclass11_model, hclass11_health, hclass11_armor, hclass11_speed, hclass11_gravity, hclass11_damage, hclass11_level, hclass11_reset)
zp_register_human_class(hclass12_name, hclass12_info, hclass12_model, hclass12_health, hclass12_armor, hclass12_speed, hclass12_gravity, hclass12_damage, hclass12_level, hclass12_reset)
zp_register_human_class(hclass13_name, hclass13_info, hclass13_model, hclass13_health, hclass13_armor, hclass13_speed, hclass13_gravity, hclass13_damage, hclass13_level, hclass13_reset)
zp_register_human_class(hclass14_name, hclass14_info, hclass14_model, hclass14_health, hclass14_armor, hclass14_speed, hclass14_gravity, hclass14_damage, hclass14_level, hclass14_reset)
zp_register_human_class(hclass15_name, hclass15_info, hclass15_model, hclass15_health, hclass15_armor, hclass15_speed, hclass15_gravity, hclass15_damage, hclass15_level, hclass15_reset)
/*cprecache_model(humano10T)
precache_model(humano11T)*/
}
Code:
// NATIVE
register_native("zp_register_human_class", "native_register_human_class", 1)
// FUNCION
public native_register_human_class(const name[], const info[], const model[], hp, armor, speed, Float:gravity, Float:damage, level, reset)
{
// Reached zombie classes limit
if (g_hclass_i >= sizeof g_hclass_name)
return -1;
// Strings passed byref
param_convert(1)
param_convert(2)
param_convert(3)
// Add the class
copy(g_hclass_name[g_hclass_i], sizeof g_hclass_name[] - 1, name)
copy(g_hclass_info[g_hclass_i], sizeof g_hclass_info[] - 1, info)
copy(g_hclass_model[g_hclass_i], sizeof g_hclass_model[] - 1, model)
g_hclass_hp[g_hclass_i] = hp
g_hclass_armor[g_hclass_i] = armor
g_hclass_spd[g_hclass_i] = speed
g_hclass_grav[g_hclass_i] = gravity
g_hclass_damage[g_hclass_i] = damage
g_hclass_lvl[g_hclass_i] = level
g_hclass_reset[g_hclass_i] = reset
// Precache custom models and retrieve the modelindex
new prec_mdl[100]
formatex(prec_mdl, sizeof prec_mdl - 1, "models/player/%s/%s.mdl", model, model)
g_hclass_modelindex[g_hclass_i] = engfunc(EngFunc_PrecacheModel, prec_mdl)
engfunc(EngFunc_PrecacheModel, prec_mdl)
// Increase registered classes counter
g_hclass_i++
// Return id under which we registered the class
return g_hclass_i-1;
}