Bueno pero no lo puedo solucionar che!,
Php code za_zclasses
PHP Code:
/*================================================================================
-----------------------------------
-*- [ZP] Default Zombie Classes -*-
-----------------------------------
================================================================================
Addapted for Zombie Apocalypse
=================================================================================
~~~~~~~~~~~~~~~
- Description -
~~~~~~~~~~~~~~~
This plugin adds the default zombie classes to Zombie Plague.
Feel free to modify their attributes to your liking.
Note: If zombie classes are disabled, the first registered class
will be used for all players (by default, Classic Zombie).
================================================================================*/
#include <amxmodx>
#include <fakemeta>
#include <zombieapocalypse>
/*================================================================================
[Plugin Customization]
=================================================================================*/
// Classic Zombie Attributes
new const zclass1_name[] = { "Zombie Clasico" }
new const zclass1_info[] = { "-->Balanceado--<" }
new const zclass1_model[] = { "zombie_source" }
new const zclass1_clawmodel[] = { "v_knife_zombie.mdl" }
const zclass1_level = 1
const zclass1_health = 8000
const zclass1_speed = 260
const Float:zclass1_gravity = 1.0
const Float:zclass1_knockback = 1.0
// Raptor Zombie Attributes
new const zclass2_name[] = { "Zombie Cazador" }
new const zclass2_info[] = { "Velocidad++ Knockback++" }
new const zclass2_model[] = { "za_hunter" }
new const zclass2_clawmodel[] = { "v_hunterz.mdl" }
const zclass2_level = 15
const zclass2_health = 8000
const zclass2_speed = 300
const Float:zclass2_gravity = 1.0
const Float:zclass2_knockback = 1.5
// Poison Zombie Attributes
new const zclass3_name[] = { "Zombie Esqueleto" }
new const zclass3_info[] = { "Velocidad- Salto++" }
new const zclass3_model[] = { "mummya" }
new const zclass3_clawmodel[] = { "v_mummya.mdl" }
const zclass3_level = 35
const zclass3_health = 8000
const zclass3_speed = 240
const Float:zclass3_gravity = 0.75
const Float:zclass3_knockback = 1.0
// Big Zombie Attributes
new const zclass4_name[] = { "Zombie Gordo" }
new const zclass4_info[] = { "Vida++ Velocidad- Knockback+" }
new const zclass4_model[] = { "bigzombie" }
new const zclass4_clawmodel[] = { "v_bigzombie.mdl" }
const zclass4_level = 45
const zclass4_health = 9000
const zclass4_speed = 240
const Float:zclass4_gravity = 1.0
const Float:zclass4_knockback = 1.25
// Leech Zombie Attributes
new const zclass5_name[] = { "Zombie Headcrab" }
new const zclass5_info[] = { "Vida-- Salto+ \rConsigue vida extra al infectar" }
new const zclass5_model[] = { "zombie_headcrab" }
new const zclass5_clawmodel[] = { "v_knife_zombie.mdl" }
const zclass5_level = 60
const zclass5_health = 7000
const zclass5_speed = 260
const Float:zclass5_gravity = 0.75
const Float:zclass5_knockback = 1.0
const zclass5_infecthp = 200 // extra hp for infections
/*============================================================================*/
// Class IDs
new g_zclass_leech
// Zombie Classes MUST be registered on plugin_precache
public plugin_precache()
{
register_plugin("[ZA] Zombie Classes", "4.3", "Loqquita")
// Register all classes
za_register_zombie_class(zclass1_name, zclass1_info, zclass1_model, zclass1_clawmodel, zclass1_level, zclass1_health, zclass1_speed, zclass1_gravity, zclass1_knockback)
za_register_zombie_class(zclass2_name, zclass2_info, zclass2_model, zclass2_clawmodel, zclass2_level, zclass2_health, zclass2_speed, zclass2_gravity, zclass2_knockback)
za_register_zombie_class(zclass3_name, zclass3_info, zclass3_model, zclass3_clawmodel, zclass3_level, zclass3_health, zclass3_speed, zclass3_gravity, zclass3_knockback)
za_register_zombie_class(zclass4_name, zclass4_info, zclass4_model, zclass4_clawmodel, zclass4_level, zclass4_health, zclass4_speed, zclass4_gravity, zclass4_knockback)
g_zclass_leech = za_register_zombie_class(zclass5_name, zclass5_info, zclass5_model, zclass5_clawmodel, zclass5_level, zclass5_health, zclass5_speed, zclass5_gravity, zclass5_knockback)
}
// User Infected forward
public zp_user_infected_post(id, infector)
{
// If attacker is a leech zombie, gets extra hp
if (infector)
{
if (zp_get_user_zombie_class(infector) == g_zclass_leech)
set_pev(infector, pev_health, float(pev(infector, pev_health) + zclass5_infecthp))
}
}
Code zombieapocalypse.INC
/*============================================ ====================================
---------------------------------------
-*- Zombie Plague 4.3 Includes File -*-
---------------------------------------
~~~~~~~~~~
- How To -
~~~~~~~~~~
To make use of the Zombie Plague API features in your plugin, just
add the following line at the beginning of your script:
#include <zombieplague>
~~~~~~~~~~~
- Natives -
~~~~~~~~~~~
These work just like any other functions: you may have to pass
parameters and they usually return values.
Example:
if ( is_user_alive( id ) && zp_get_user_zombie( id ) )
{
server_print( "Player %d is alive and a zombie", id )
}
~~~~~~~~~~~~
- Forwards -
~~~~~~~~~~~~
Forwards get called whenever an event happens during the game.
You need to make a public callback somewhere on your script,
and it will automatically be triggered when the event occurs.
Example:
public zp_user_infected_post( id, infector, nemesis )
{
if ( !infector || nemesis )
return;
server_print( "Player %d just got infected by %d!", id, infector )
}
Also, take note of cases when there's a suffix:
* _pre : means the forward will be called BEFORE the event happens
* _post : means it will be called AFTER the event takes place
============================================= ====================================*/
#if defined _zombieplague_included
#endinput
#endif
#define _zombieplague_included
/* Teams for zp_register_extra_item() */
#define ZP_TEAM_ZOMBIE (1<<0)
#define ZP_TEAM_HUMAN (1<<1)
#define ZP_TEAM_NEMESIS (1<<2)
#define ZP_TEAM_SURVIVOR (1<<3)
/* Game modes for zp_round_started() */
enum
{
MODE_INFECTION = 1,
MODE_NEMESIS,
MODE_SURVIVOR,
MODE_SWARM,
MODE_MULTI,
MODE_PLAGUE
}
/* Winner teams for zp_round_ended() */
enum
{
WIN_NO_ONE = 0,
WIN_ZOMBIES,
WIN_HUMANS
}
/* Custom forward return values */
#define ZP_PLUGIN_HANDLED 97
/**
* Returns whether a player is a zombie.
*
* @param id Player index.
* @return True if it is, false otherwise.
*/
native zp_get_user_zombie(id)
/**
* Returns whether a player is a nemesis.
*
* @param id Player index.
* @return True if it is, false otherwise.
*/
native zp_get_user_nemesis(id)
/**
* Returns whether a player is a survivor.
*
* @param id Player index.
* @return True if it is, false otherwise.
*/
native zp_get_user_survivor(id)
/**
* Returns whether a player is the first zombie.
*
* @param id Player index.
* @return True if it is, false otherwise.
*/
native zp_get_user_first_zombie(id)
/**
* Returns whether a player is the last zombie.
*
* @param id Player index.
* @return True if it is, false otherwise.
*/
native zp_get_user_last_zombie(id)
/**
* Returns whether a player is the last human.
*
* @param id Player index.
* @return True if it is, false otherwise.
*/
native zp_get_user_last_human(id)
/**
* Returns a player's current zombie class ID.
*
* @param id Player index.
* @return Internal zombie class ID, or -1 if not yet chosen.
*/
native zp_get_user_zombie_class(id)
/**
* Returns a player's next zombie class ID (for the next infection).
*
* @param id Player index.
* @return Internal zombie class ID, or -1 if not yet chosen.
*/
native zp_get_user_next_class(id)
/**
* Sets a player's next zombie class ID (for the next infection).
*
* @param id Player index.
* @param classid A valid zombie class ID.
* @return True on success, false otherwise.
*/
native zp_set_user_zombie_class(id, classid)
/**
* Returns a player's ammo pack count.
*
* @param id Player index.
* @return Number of ammo packs owned.
*/
native zp_get_user_ammo_packs(id)
/**
* Sets a player's ammo pack count.
*
* @param id Player index.
* @param amount New quantity of ammo packs owned.
*/
native zp_set_user_ammo_packs(id, amount)
/**
* Returns the default maximum health of a zombie.
*
* Note: Takes into account first zombie's HP multiplier.
*
* @param id Player index.
* @return Maximum amount of health points, or -1 if not a normal zombie.
*/
native zp_get_zombie_maxhealth(id)
/**
* Returns a player's custom flashlight batteries charge.
*
* @param id Player index.
* @return Charge percent (0 to 100).
*/
native zp_get_user_batteries(id)
/**
* Sets a player's custom flashlight batteries charge.
*
* @param id Player index.
* @param value New charge percent (0 to 100).
*/
native zp_set_user_batteries(id, charge)
/**
* Returns whether a player has night vision.
*
* @param id Player index.
* @return True if it has, false otherwise.
*/
native zp_get_user_nightvision(id)
/**
* Sets whether a player has night vision.
*
* @param id Player index.
* @param set True to give, false for removing it.
*/
native zp_set_user_nightvision(id, set)
/**
* Forces a player to become a zombie.
*
* Note: Unavailable for last human/survivor.
*
* @param id Player index to be infected.
* @param infector Player index who infected him (optional).
* @param silent If set, there will be no HUD messages or infection sounds.
* @param rewards Whether to show DeathMsg and reward frags, hp, and ammo packs to infector.
* @return True on success, false otherwise.
*/
native zp_infect_user(id, infector = 0, silent = 0, rewards = 0)
/**
* Forces a player to become a human.
*
* Note: Unavailable for last zombie/nemesis.
*
* @param id Player index to be cured.
* @param silent If set, there will be no HUD messages or antidote sounds.
* @return True on success, false otherwise.
*/
native zp_disinfect_user(id, silent = 0)
/**
* Forces a player to become a nemesis.
*
* Note: Unavailable for last human/survivor.
*
* @param id Player index to turn into nemesis.
* @return True on success, false otherwise.
*/
native zp_make_user_nemesis(id)
/**
* Forces a player to become a survivor.
*
* Note: Unavailable for last zombie/nemesis.
*
* @param id Player index to turn into survivor.
* @return True on success, false otherwise.
*/
native zp_make_user_survivor(id)
/**
* Respawns a player into a specific team.
*
* @param id Player index to be respawned.
* @param team Team to respawn the player into (ZP_TEAM_ZOMBIE or ZP_TEAM_HUMAN).
* @return True on success, false otherwise.
*/
native zp_respawn_user(id, team)
/**
* Forces a player to buy an extra item.
*
* @param id Player index.
* @param itemid A valid extra item ID.
* @param ignorecost If set, item's cost won't be deduced from player.
* @return True on success, false otherwise.
*/
native zp_force_buy_extra_item(id, itemid, ignorecost = 0)
/**
* Returns whether the ZP round has started, i.e. first zombie
* has been chosen or a game mode has begun.
*
* @return 0 - Round not started
* 1 - Round started
* 2 - Round starting
*/
native zp_has_round_started()
/**
* Returns whether the current round is a nemesis round.
*
* @return True if it is, false otherwise.
*/
native zp_is_nemesis_round()
/**
* Returns whether the current round is a survivor round.
*
* @return True if it is, false otherwise.
*/
native zp_is_survivor_round()
/**
* Returns whether the current round is a swarm round.
*
* @return True if it is, false otherwise.
*/
native zp_is_swarm_round()
/**
* Returns whether the current round is a plague round.
*
* @return True if it is, false otherwise.
*/
native zp_is_plague_round()
/**
* Returns number of alive zombies.
*
* @return Zombie count.
*/
native zp_get_zombie_count()
/**
* Returns number of alive humans.
*
* @return Human count.
*/
native zp_get_human_count()
/**
* Returns number of alive nemesis.
*
* @return Nemesis count.
*/
native zp_get_nemesis_count()
/**
* Returns number of alive survivors.
*
* @return Survivor count.
*/
native zp_get_survivor_count()
/**
* Registers a custom item which will be added to the extra items menu of ZP.
*
* Note: The returned extra item ID can be later used to catch item
* purchase events for the zp_extra_item_selected() forward.
*
* Note: ZP_TEAM_NEMESIS and ZP_TEAM_SURVIVOR can be used to make
* an item available to Nemesis and Survivors respectively.
*
* @param name Caption to display on the menu.
* @param cost Ammo packs to be deducted on purchase.
* @param teams Bitsum of teams it should be available for.
* @return An internal extra item ID, or -1 on failure.
*/
native zp_register_extra_item(const name[], cost, teams)
/**
* Registers a custom class which will be added to the zombie classes menu of ZP.
*
* Note: The returned zombie class ID can be later used to identify
* the class when calling the zp_get_user_zombie_class() natives.
*
* @param name Caption to display on the menu.
* @param info Brief description of the class.
* @param model Player model to be used.
* @param clawmodel Claws model to be used.
* @param hp Initial health points.
* @param speed Maximum speed.
* @param gravity Gravity multiplier.
* @param knockback Knockback multiplier.
* @return An internal zombie class ID, or -1 on failure.
*/
native zp_register_zombie_class(const name[], const info[], const model[], const clawmodel[], hp, speed, Float:gravity, Float:knockback)
/**
* Returns an extra item's ID.
*
* @param name Item name to look for.
* @return Internal extra item ID, or -1 if not found.
*/
native zp_get_extra_item_id(const name[])
/**
* Returns a zombie class' ID.
*
* @param name Class name to look for.
* @return Internal zombie class ID, or -1 if not found.
*/
native zp_get_zombie_class_id(const name[])
/**
* Called when the ZP round starts, i.e. first zombie
* is chosen or a game mode begins.
*
* @param gamemode Mode which has started.
* @param id Affected player's index (if applicable).
*/
forward zp_round_started(gamemode, id)
/**
* Called when the round ends.
*
* @param winteam Team which has won the round.
*/
forward zp_round_ended(winteam)
/**
* Called when a player gets infected.
*
* @param id Player index who was infected.
* @param infector Player index who infected him (if applicable).
* @param nemesis Whether the player was turned into a nemesis.
*/
forward zp_user_infected_pre(id, infector, nemesis)
forward zp_user_infected_post(id, infector, nemesis)
/**
* Called when a player turns back to human.
*
* @param id Player index who was cured.
* @param survivor Whether the player was turned into a survivor.
*/
forward zp_user_humanized_pre(id, survivor)
forward zp_user_humanized_post(id, survivor)
/**
* Called on a player infect/cure attempt. You can use this to block
* an infection/humanization by returning ZP_PLUGIN_HANDLED in your plugin.
*
* Note: Right now this is only available after the ZP round starts, since some
* situations (like blocking a first zombie's infection) are not yet handled.
*/
forward zp_user_infect_attempt(id, infector, nemesis)
forward zp_user_humanize_attempt(id, survivor)
/**
* Called when a player buys an extra item from the ZP menu.
*
* Note: You can now return ZP_PLUGIN_HANDLED in your plugin to block
* the purchase and the player will be automatically refunded.
*
* @param id Player index of purchaser.
* @param itemid Internal extra item ID.
*/
forward zp_extra_item_selected(id, itemid)
/**
* Called when a player gets unfrozen (frostnades).
*
* @param id Player index.
*/
forward zp_user_unfrozen(id)
/**
* Called when a player becomes the last zombie.
*
* Note: This is called for the first zombie too.
*
* @param id Player index.
*/
forward zp_user_last_zombie(id)
/**
* Called when a player becomes the last human.
*
* @param id Player index.
*/
forward zp_user_last_human(id)
/**
* @deprecated - Do not use!
* For backwards compatibility only.
*/
#define ZP_TEAM_ANY 0
Si me pueden ayudaaaaaaaaar se los agradeceria quiero hacerlo andar al apocaa!
__________________