Source
zombie_plague_special.inc
zombie plague special 4.5
#if defined _zombie_special_new_included
#endinput
#endif
#define _zombie_special_new_included
#include <zpsp_const>
/**
* 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 2 if it has enable, 1 if it has but are disable, 0 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 default/special human.
*
* @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 default/special zombie
*
* @param id Player index to be cured.
* @param silent If set, there will be no HUD messages or antidote sounds.
* @param attacker Give rewards for possible attacker
* @return True on success, false otherwise.
*/
native zp_disinfect_user(id, silent = 0, attacker = 0);
/**
* Forces a player to become a nemesis.
*
* @note Unavailable for last default/special human
*
* @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.
* @error If Extra Item index are invalid
*/
native zp_force_buy_extra_item(id, itemid, ignorecost = 0);
/**
* Returns whether a player is a sniper.
*
* @param id Player index.
* @return True if it is, false otherwise.
*/
native zp_get_user_sniper(id);
/**
* Forces a player to become a sniper.
*
* @note Unavailable for last zombie/special zombie.
*
* @param id Player index to turn into sniper.
* @return True on success, false otherwise.
*/
native zp_make_user_sniper(id);
/**
* Returns whether a player is an assassin.
*
* @param id Player index.
* @return True if it is, false otherwise.
*/
native zp_get_user_assassin(id);
/**
* Returns whether a player is an predator.
*
* @param id Player index.
* @return True if it is, false otherwise.
*/
native zp_get_user_predator(id);
/**
* Returns whether a player is an bombardier.
*
* @param id Player index.
* @return True if it is, false otherwise.
*/
native zp_get_user_bombardier(id);
/**
* Returns whether a player is an dragon.
*
* @param id Player index.
* @return True if it is, false otherwise.
*/
native zp_get_user_dragon(id);
/**
* Forces a player to become a assassin.
*
* @note Unavailable for last human/survivor/sniper.
*
* @param id Player index to turn into assassin.
* @return True on success, false otherwise.
*/
native zp_make_user_assassin(id);
/**
* Forces a player to become a predator.
*
* @note Unavailable for last human/survivor/sniper.
*
* @param id Player index to turn into predator.
* @return True on success, false otherwise.
*/
native zp_make_user_predator(id);
/**
* Forces a player to become a bombardier.
*
* @note Unavailable for last human/survivor/sniper.
*
* @param id Player index to turn into bombardier.
* @return True on success, false otherwise.
*/
native zp_make_user_bombardier(id);
/**
* Forces a player to become a dragon.
*
* @note Unavailable for last human/survivor/sniper.
*
* @param id Player index to turn into dragon.
* @return True on success, false otherwise.
*/
native zp_make_user_dragon(id);
/**
* Returns whether a player is a sniper.
*
* @param id Player index.
* @return True if it is, false otherwise.
*/
native zp_get_user_berserker(id);
/**
* Forces a player to become a berserker.
*
* @note Unavailable for last zombie/special zombie.
*
* @param id Player index to turn into berserker.
* @return True on success, false otherwise.
*/
native zp_make_user_berserker(id);
/**
* Returns whether a player is a sniper.
*
* @param id Player index.
* @return True if it is, false otherwise.
*/
native zp_get_user_wesker(id);
/**
* Forces a player to become a wesker.
*
* @note Unavailable for last zombie/special zombie.
*
* @param id Player index to turn into wesker.
* @return True on success, false otherwise.
*/
native zp_make_user_wesker(id);
/**
* Returns whether a player is a spy
*
* @param id Player index.
* @return True if it is, false otherwise.
*/
native zp_get_user_spy(id);
/**
* Forces a player to become a spy.
*
* @note Unavailable for last zombie/special zombie.
*
* @param id Player index to turn into spy.
* @return True on success, false otherwise.
*/
native zp_make_user_spy(id);
/**
* 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 whether the current round is a Armageddon round.
*
* @return True if it is, false otherwise.
*/
native zp_is_lnj_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();
/**
* Returns whether the current round is a sniper round.
*
* @return True if it is, false otherwise.
*/
native zp_is_sniper_round();
/**
* Returns whether the current round is a assassin round.
*
* @return True if it is, false otherwise.
*/
native zp_is_assassin_round();
/**
* Returns whether the current round is a predator round.
*
* @return True if it is, false otherwise.
*/
native zp_is_predator_round();
/**
* Returns whether the current round is a bombardier round.
*
* @return True if it is, false otherwise.
*/
native zp_is_bombardier_round();
/**
* Returns whether the current round is a dragon round.
*
* @return True if it is, false otherwise.
*/
native zp_is_dragon_round();
/**
* Returns whether the current round is a berserker round.
*
* @return True if it is, false otherwise.
*/
native zp_is_berserker_round();
/**
* Returns whether the current round is a wesker round.
*
* @return True if it is, false otherwise.
*/
native zp_is_wesker_round();
/**
* Returns whether the current round is a spy round.
*
* @return True if it is, false otherwise.
*/
native zp_is_spy_round();
/**
* Returns number of alive snipers.
*
* @return Sniper count.
*/
native zp_get_sniper_count();
/**
* Returns number of alive assassins.
*
* @return Assassin count.
*/
native zp_get_assassin_count();
/**
* Returns number of alive predators.
*
* @return predator count.
*/
native zp_get_predator_count();
/**
* Returns number of alive bombardiers.
*
* @return bombardier count.
*/
native zp_get_bombardier_count();
/**
* Returns number of alive dragons.
*
* @return dragon count.
*/
native zp_get_dragon_count();
/**
* Returns number of alive berserkers.
*
* @return Berserker count.
*/
native zp_get_berserker_count();
/**
* Returns number of alive weskers.
*
* @return wesker count.
*/
native zp_get_wesker_count();
/**
* Returns number of alive spys.
*
* @return spy count.
*/
native zp_get_spy_count();
/**
* Returns the current game mode ID
*
* @note For default game modes you can use, for eg. MODE_SWARM,
* to check if the current round is swarm mode.
*
* @note For custom game modes you must have the custom game
* mode ID to detect it
*
* @return Current game mode ID
*/
native zp_get_current_mode();
/**
* Returns the last game mode ID
*
* @note For default game modes you can use, for eg. MODE_SWARM,
* to check if the last round is swarm mode.
*
* @note For custom game modes you must have the custom game
* mode ID to detect it
*
* @return Current game mode ID
*/
native zp_get_last_mode();
/**
* 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[]);
/**
* Registers a custom game mode which will be added to the admin menu of ZP
*
* @note The returned game mode ID can later be used to detect the game mode
* which is called in zp_round_started_pre. There you can start the game mode
* externally by using this game mode ID.
*
* @param name The game modes name which will also be used by other plugins to identify this game mode
* @param flags Access flags required by the admins to start this game mode via the admin menu.
* @param chance Chance level of this game mode. (1 in X) The higher the value the lesser the chance that this game mode will be called
* @param allow Whether to permit infection or not after a zombie's attack
* @param dm_mode Death match mode during this game. Use ZP_DM_NONE to disable respawning during this game mode
* @param resp_limit Respawn Limit (Use 0 for unlimited respawn)
* @param enable_in_ze Enable Game mode in zombie escape maps (0 - Disable | 1 - Enable)
* @return An internal game mode ID or -1 on failure
* @error If Game mode name alterady exists
*/
native zpsp_register_gamemode(const name[], flags, chance, allow, dm_mode, resp_limit=0, enable_in_ze=0, uselang=0, const langkey[]="ITEM_LANG_DEFAULT_KEY");
/**
* @deprecated This function are update your functions
*/
#pragma deprecated Use zpsp_register_gamemode(const name[], flags, chance, allow, dm_mode, resp_limit=0, enable_in_ze=0, uselang=0, const langkey[]="ITEM_LANG_DEFAULT_KEY") instead.
native zp_register_game_mode(const name[], flags, chance, allow, dm_mode);
/**
* 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, ZP_TEAM_SURVIVOR, ZP_TEAM_ASSASSIN, ZP_TEAM_SNIPER and ZP_TEAM_BERSERKER
* can be used to make an item available to Nemesis,
* Survivors, Assassins, Snipers and Berserkers.
*
* @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.
* @error If Extra Item name alterady exists
*/
native zp_register_extra_item(const name[], cost, teams);
/**
* Add Text On Extra Item (Like ZP 5.0)
*
* @note Use in 'zp_extra_item_selected_pre' forward
*
* @param text Text to display on the item name.
* @return True if sucess, false if not sucess.
*/
native zp_extra_item_textadd(const text[]);
/**
* Add Text On Zombie Class menu (Like ZP 5.0)
*
* @note Use in 'zp_zombie_class_choosed_pre' forward
*
* @param text Text to display on the zombie class name.
* @return True if sucess, false if not sucess.
*/
native zp_zombie_class_textadd(const text[]);
/**
* Get User Infect bomb
*
* @param id Player Index
* @return True if have infection bomb, false if not.
*/
native zp_get_user_infectnade(id);
/**
* Set User Infect bomb
*
* @param id Player Index
* @param set 1 - Give user a infection bomb | 0 - Remove user infection bomb
* @return True if sucess, false if not.
*/
native zp_set_user_infectnade(id, set); // Give/Remove User Infect bomb
/**
* Get User Frozen
*
* @param id Player Index
* @return True if frozen, false if not.
*/
native zp_get_user_frozen(id);
/**
* Get User burning
*
* @param id Player Index
* @return True if burning, false if not.
*/
native zp_get_user_burn(id);
/**
* Get User Zombie Madness
*
* @param id Player Index
* @return True if have zombie madness, false if not.
*/
native zp_get_user_madness(id);
/**
* Get User Current Human Special Class
*
* @param id Player Index
* @return Special Class index
*/
native zp_get_human_special_class(id);
/**
* Get User Current Zombie Special Class
*
* @param id Player Index
* @return Special Class index
*/
native zp_get_zombie_special_class(id);
/**
* Sets rendering options of an user (Compatibility with handle models separate ent in older versions).
*
* @note For a list of valid rendering effects see the kRenderFx* constants in
* amxconst.inc
* @note For a list of valid rendering modes see the kRender* constants in
* amxconst.inc
*
* @param index Player index
* @param fx Rendering effect
* @param r Red component of rendering color
* @param g Green component of rendering color
* @param b Blue component of rendering color
* @param render Rendering mode
* @param amount Rendering amount
*
* @return True if sucess, false otherwise
*/
native zp_set_user_rendering(index, fx = kRenderFxNone, r = 0, g = 0, b = 0, render = kRenderNormal, amount = 0);
/**
* Reset player Render
*
* @param id Player Index
* @return True if sucess, false otherwise
*/
native zp_reset_user_rendering(id);
/**
* Get user Maxspeed
*
* @param id Player Index
* @return Player Maxspeed
*/
native Float:zp_get_user_maxspeed(id);
/**
* Set user Maxspeed
*
* @param id Player Index
* @param Speed New Player Maxspeed
* @return True if sucess, false otherwise
*/
native zp_set_user_maxspeed(id, Float:Speed); // Change user Current maxspeed
/**
* Reset user Maxspeed
*
* @param id Player Index
* @return True if sucess, false otherwise
*/
native zp_reset_user_maxspeed(id);
/**
* Get Player's Model
*
* @param itemid Extra item index
* @param model Buffer to copy model name to
* @param len Maximum length of buffer
* @return True if sucess, false otherwise
*/
native zp_get_user_model(id, model[], len);
/**
* Reset user Model
*
* @param id Player Index
* @return True if sucess, false otherwise
*/
native zp_reset_player_model(id);
/**
* Get Extra Item Price
*
* @param itemid Extra item index
* @return Item Price
* @error If Extra Item index are invalid
*/
native zp_get_extra_item_cost(itemid);
/**
* Get Extra Item Name
*
* @param itemid Extra item index
* @param itemname Buffer to copy item name to
* @param len Maximum length of buffer
* @return True if sucess, false otherwise
* @error If Extra Item index are invalid
*/
native zp_get_extra_item_name(itemid, itemname[], len);
/**
* Change Extra Item Price
*
* @param itemid Extra item index
* @param cost New Price for Extra item
* @return True if sucess, false otherwise
* @error If Extra Item index are invalid
*/
native zp_set_extra_item_cost(itemid, cost);
/**
* Change Extra Item Name
*
* @param itemid Extra item index
* @param newname New Name for Extra item
* @return True if sucess, false otherwise
* @error If Extra Item index are invalid
*/
native zp_set_extra_item_name(itemid, const newname[]); // Change Extra Item Name
/**
* Change Extra Item Team
*
* @param itemid Extra item index
* @param team New Team for Extra item
* @return True if sucess, false otherwise
* @error If Extra Item index are invalid
*/
native zp_set_extra_item_team(itemid, team); // Change Extra Item Team
/**
* Get Extra Item Real Name
*
* @param itemid Extra item index
* @param itemname Buffer to copy real item name to
* @param len Maximum length of buffer
* @return True if sucess, false otherwise
* @error If Extra Item index are invalid
*/
native zp_get_extra_item_realname(itemid, realname[], len);
/**
* Get Zombie Class Name
*
* @param class Zombie Class index
* @param name Buffer to copy zclass name to
* @param len Maximum length of buffer
* @return True if sucess, false otherwise
* @error If Zombie Class index are invalid
*/
native zp_get_zombie_class_name(class, name[], len);
/**
* Get Zombie Class Real Name
*
* @param class Zombie Class index
* @param name Buffer to copy zclass real name to
* @param len Maximum length of buffer
* @return True if sucess, false otherwise
* @error If Zombie Class index are invalid
*/
native zp_get_zombie_class_realname(class, realname[], len);
/**
* Get Zombie Class Description
*
* @param class Zombie Class index
* @param info Buffer to copy zclass name to
* @param len Maximum length of buffer
* @return True if sucess, false otherwise
* @error If Zombie Class index are invalid
*/
native zp_get_zombie_class_info(class, info[], len);
/**
* Set Zombie Class Description
*
* @param class Zombie Class index
* @param newinfo New description
* @return True if sucess, false otherwise
* @error If Zombie Class index are invalid
*/
native zp_set_zombie_class_info(class, newinfo[]);
/**
* Set Zombie Class name
*
* @param class Zombie Class index
* @param newname New name
* @return True if sucess, false otherwise
* @error If Zombie Class index are invalid
*/
native zp_set_zombie_class_name(class, newname[]);
/**
* Get Current mode name
*
* @param name Buffer to copy mode name to
* @param len Maximum length of buffer
* @return True if sucess, false otherwise
*/
native zp_get_current_mode_name(name[], len);
/**
* Returns whether the ZP round has ended
*
* @return True if ended, false if not ended
*/
native zp_has_round_ended();
/**
* @deprecated This function are update your functions
*/
#pragma deprecated Use zp_set_user_extra_damage(victim, attacker, damage, weaponDescription[], dmg_dealth = 0) instead.
native zp_set_extra_damage(victim, attacker, damage, weaponDescription[]); // Set User Extra Damage (Like Superhero Mod);
/**
* @deprecated This function are update your functions
*/
#pragma deprecated Use zpsp_override_user_model(id, const model, body=0, skin=0, modelindex=0)
native zp_override_user_model(id, const newmodel[], modelindex = 0);
/**
* @deprecated This function are update your functions
*/
#pragma deprecated Use zp_set_param_string(const string[])
native zp_set_model_param(const string[]);
/**
* Registers a custom zombie special class which will be added to the admin menu of ZP.
*
* @note The returned special class ID can be later used to identify
* the class when calling the zp_get_zombie_special_class() natives.
*
* @param name Caption to display on the menu/hud.
* @param model Player model to be used.
* @param knifemodel Knife model to be used.
* @param pain_sound Pain sound to be used
* @param hp Initial health points.
* @param speed Maximum speed.
* @param gravity Gravity multiplier.
* @param flags Acess Flag to convert
* @param knockback Knockback multiplier.
* @param aura_radius Aura Radius Size.
* @param glow Have Glow?
* @param r
* @param g Special Class Aura/Nvision/Glow RGB Color
* @param b
* @return An internal special class ID, or -1 on failure.
* @error If Special Class name alterady exists
*/
native zp_register_zombie_special(const name[], const model[], const knifemodel[], const pain_sound[], hp, speed, Float:gravity, flags, Float:knockback, aura_radius, glow, r, g, b);
/**
* Registers a custom human special class which will be added to the admin menu of ZP.
*
* @note The returned special class ID can be later used to identify
* the class when calling the zp_get_human_special_class() natives.
*
* @param name Caption to display on the menu/hud.
* @param model Player model to be used.
* @param hp Initial health points.
* @param speed Maximum speed.
* @param gravity Gravity multiplier.
* @param flags Acess Flag to convert
* @param clip_type 0 - Normal Clip | 1 - Unlimited Ammo | 2 - Unlimited Clip
* @param aura_radius Aura Radius Size.
* @param glow Have Glow?
* @param r
* @param g Special Class Aura/Nvision/Glow RGB Color
* @param b
* @return An internal special class ID, or -1 on failure.
* @error If Special Class name alterady exists
*/
native zp_register_human_special(const name[], const model[], hp, speed, Float:gravity, flags, clip_type, aura_radius, glow, r, g, b);
/**
* Make player an X special class
*
* @note Recomended to make custom specials classes in external plugins
*
* @param id Player index
* @param spid Special Class Index
* @param zombie Is Zombie Special Class or Human Special Class (0 - Human | 1 - Zombie)
* @return True if sucess, false otherwise
* @error If Special Class index are invalid
*/
native zp_make_user_special(id, spid, zombie);
/**
* Get players an X special class
*
* @note Recomended to get alive custom specials classes in external plugins
*
* @param zombie Is Zombie Special Class or Human Special Class (0 - Human | 1 - Zombie)
* @param specialid Special Class Index
* @return Count of all Players in current special class
* @error If Special Class index are invalid
*/
native zp_get_special_count(zombie, specialid);
/**
* Get Special Class index
*
* @param is_zombie Is Zombie Special Class or Human Special Class (0 - Human | 1 - Zombie)
* @param name Special Class Real Name
* @return Index of Special Class
*/
native zp_get_special_class_id(is_zombie, name[]);
/**
* Forces Start Custom Mod without checks
*
* @note This command are available only for custom modes in external plugins
*
* @param gameid Custom game mode index
* @return True if sucess, false otherwise
*/
native zp_set_custom_game_mod(gameid);
/**
* Get Gamemode index
*
* @param name Real name of gamemode
* @return Game mode index
*/
native zp_get_gamemode_id(name[]); // Get Game mode index by name
/**
* Get total of instaled custom special classes
*
* @param is_zombie Get count of Zombie Specials or Human Specials (0 - Human | 1 - Zombie)
* @return Total instaled special classes
*/
native zp_get_custom_special_count(is_zombie);
/**
* Get total of instaled custom gamemodes
*
* @return Total instaled special classes
*/
native zp_get_gamemodes_count(); // Get Registred Custom Game modes count
/**
* Get total of instaled zombie classes
*
* @return Total of instaled zclasses
*/
native zp_get_zclass_count();
/**
* Get total of instaled extra itens
*
* @return Total of instaled extra itens
*/
native zp_get_extra_item_count(); // Get Registred Extra Item Count
/**
* Get Current map is a Zombie Escape's Map
*
* @return True if yes / false if not
*/
native zp_is_escape_map();
/**
* Get user Stucks
*
* @param id Player Index
* @return True if yes / false if not
*/
native zp_is_user_stuck(id);
/**
* Teleport user to Spawn
*
* @param id Player Index
* @return True if sucess / false otherwise
*/
native zp_do_random_spawn(id);
/**
* Reload repawn files/entitys
*
* @return True if sucess / false otherwise
*/
native zp_reload_csdm_respawn();
/**
* Set Current map Lighting
*
* @param light Light Flag (Example: "a" - Full Darkness, "z" - Full lighting)
* @return True if sucess / false otherwise
*/
native zp_set_lighting(const light[]);
/**
* Reset to default lighting
*
* @return True if sucess / false otherwise
*/
native zp_reset_lighting();
/**
* Register Custom Weapon in Weapon Choose Menu
*
* @param name Weapon Name
* @param wpn_type Primary or Secondary
* @param uselang Use lang in weapon name
* @param langkey Weapon name Lang key in .txt lang file
* @return True if sucess / false otherwise
*/
native zp_register_weapon(const name[], wpn_type, uselang=0, const langkey[]="ITEM_LANG_DEFAULT_KEY");
/**
* Add menu text in weapon menu
*
* @param text Text
* @return True if sucess / false otherwise
*/
native zp_weapon_menu_textadd(const text[]);
/**
* Get Weapon name
*
* @param wpn_type Type of Weapon (Primary/Secondary)
* @param weaponid Weapon Index
* @param name Buffer to copy wpn name to
* @param len Maximum length of buffer
* @return True if sucess / false otherwise
* @error If Weapon index are invalid
*/
native zp_get_weapon_name(wpn_type, weaponid, name[], len);
/**
* Get Weapon real name
*
* @param wpn_type Type of Weapon (Primary/Secondary)
* @param weaponid Weapon Index
* @param name Buffer to copy wpn real name to
* @param len Maximum length of buffer
* @return True if sucess / false otherwise
* @error If Weapon index are invalid
*/
native zp_get_weapon_realname(wpn_type, weaponid, name[], len);
/**
* Change Weapon name
*
* @param wpn_type Type of Weapon (Primary/Secondary)
* @param weaponid Weapon Index
* @param name New Name
* @return True if sucess / false otherwise
* @error If Weapon index are invalid
*/
native zp_set_weapon_name(wpn_type, weaponid, name[]);
/**
* Weapon from Weapons menu are internal (from main plugin) or external plugin
*
* @param wpn_type Type of Weapon (Primary/Secondary)
* @param weaponid Weapon Index
* @return True if yes / false otherwise
* @error If Weapon index are invalid
*/
native zp_weapon_is_custom(wpn_type, weaponid);
/**
* Get Weapon Count (of type)
*
* @param wpn_type Type of Weapon (Primary/Secondary)
* @param skip_def_custom Count what (0 - All Weapons (of Type); | 1 - Only Custom | 2 - Only Default)
* @return Num of weapons from X category
*/
native zp_weapon_count(wpn_type, skip_def_custom);
/**
* Get Random alive player Index
*
* @param team Use (0 - for Both Teams | 1 - for Humans Only | 2 - for Zombies Only);
* @return Random player index
*/
native zp_get_random_player(const team = 0);
/**
* Set string parameter.
*
* @note Can't change param when the some plugin use native 'zp_override_user_model' (only in 'zp_user_model_change_pre' forward).
* @note You can use only in 'zp_user_model_change_pre' and 'zp_fw_sound_play' forwards only.
*
* @param string String
* @return True
*/
native zp_set_param_string(const string[]);
/**
* Start a Game mode
*
* @note Works with any game mode
*
* @param gameid Game mode index
* @param force_start Start after Round Started (1-Yes | 0-No)
* @return True if sucess / false otherwise
* @error If Gamemode index are invalid
*/
native zp_start_game_mod(gameid, force_start = 0);
/**
* Set Gamemode for start on next round
*
* @param gameid Game mode index
* @return True if sucess / false otherwise
* @error If Gamemode index are invalid
*/
native zp_set_next_game_mode(gameid); // Start Game mode in a next round
/**
* Gamemode are enable?
*
* @param gameid Game mode index
* @return True if yes / false otherwise
* @error If Gamemode index are invalid
*/
native zp_is_gamemode_enable(modeid);
/**
* Special class are enable?
*
* @param is_zm Is a Zombie Special Class Index? (1 - Yes | 0 - Not)
* @param classid Special Class index
* @return True if yes / false otherwise
* @error If Special Class index are invalid
*/
native zp_is_special_class_enable(is_zm, classid);
/**
* Get Custom Extra Item Start ID
*
* @return Start of Custom Extra item index
*/
native zp_get_custom_extra_start(); // Get Custom Extra Item Start ID
/**
* Get user Special Class Real Name
*
* @param id Player Index
* @param name Buffer to copy real class name to
* @param len Maximum length of buffer
* @return True if sucess, false otherwise
*/
native zp_get_special_class_name(id, name[], len);
/**
* 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 zpsp_register_extra_item("Custom Item", 10, "SPY, WESKER, MORPHEUS", 1, "LANG_ITEM_1")
* can be used to make an item available to Spy, Wesker, Morpheus.
*
* @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. (in string
* @return An internal extra item ID, or -1 on failure.
*/
native zpsp_register_extra_item(const name[], cost, const teams[], lang_by_key, const szLangKey[]);
/**
* Like a zp_set_extra_damage native but with damage dealth in function
*
* @note zp_set_user_extra_damage(victim, attacker, dmg, "Bazzoka", 1)
* can be used to damage victim and with damage dealth rewards
*
* @param victim Player Index that receive damage
* @param attacker Player Index that attack (and receive rewards)
* @param damage Value of Damage (Not float)
* @param weaponDescription Damage Description (Or Weapon name)
* @param dmg_dealth Allow Damage Dealth Reward (1 - Yes, 0 - No)
* @return 0 - If damage not seted | 1 - If Success maked damage
*/
native zp_set_user_extra_damage(victim, attacker, damage, weaponDescription[], dmg_dealth = 0); // Set User Extra Damage (Like Superhero Mod);
/**
* 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.
* @error If Zombie Class real Name Alterady Exists
*/
native zp_register_zombie_class(const name[], const info[], const model[], const clawmodel[], hp, speed, Float:gravity, Float:knockback);
/**
* Force user Special Class without checks
*
* @note Special/Normal Rounds will not to be started auto, just setting class only
* @note Can only force in the base class or special class, cant change for other basic zombie class
*
* @param id Player Index
* @param specialid Special Class Index
* @param zombie Is Zombie or Human?
* @param attacker Attacker Index
* @param sillentmode Hide Hud Messages
* @return True if sucess, false otherwise.
* @error If Special Class index are invalid
*/
native zp_force_user_class(id, spid, zombie, attacker = 0, sillentmode = 1);
/**
* Set Player Frozen
*
* @param id Player Index
* @param set Use UNSET for unfrost, SET for frost or SET_WITHOUT_IMMUNITY for frost players with frost immunity
* @param Duration Frost duration, Use -1.0 for default duration
* @return Return true if frost or unfrost with sucess
*/
native zp_set_user_frozen(id, set, Float:Duration = -1.0);
/**
* Set Player Burning
*
* @param id Player Index
* @param set Use UNSET for unburn, SET for burn or SET_WITHOUT_IMMUNITY for burn players with Burning immunity
* @param Duration Burning duration, Use -1.0 for default duration
* @return Return true if burn or unburn with sucess
*/
native zp_set_user_burn(id, set, Float:Duration = -1.0);
/**
* Set Player Model
*
* @param id Player Index
* @param model Player model to be used.
* @param body Model Body
* @param skin Model Skin
* @param modelindex Model Index
* @return True if sucess / false otherwise
*/
native zpsp_override_user_model(id, const model[], body=0, skin=0, modelindex=0);
/**
* Set Int Parameter on some forwards
*
* @param int_id Int Param Index
* @param value New Value
* @return 1
*/
native zp_set_fw_param_int(int_id, value);
/**
* Set Player Zombie Madness
*
* @param id Player Index
* @param set Use UNSET for remove madness, SET for give zombie madness
* @param Duration Madness duration, Use -1.0 for default duration
* @return Return true if frost or unfrost with sucess
*/
native zp_set_user_madness(id, set, Float:Duration = -1.0);
/**
* Drop user weapon from X category
*
* @param id Player Index
* @param dropwhat Primary (WPN_PRIMARY) / Secondary (WPN_SECONDARY)
* @noreturn
*/
native zp_drop_weapons(id, dropwhat = WPN_PRIMARY);
/**
* Give item
*
* @param id Player Index
* @param item Item name (Not Extra Item)
* @param ammo Give ammunation
* @return true if sucess / false otherwise
*/
native zp_give_item(id, const item[], ammo=0);
/**
* Strip all user weapons
*
* @param id Player Index
* @return true if sucess / false otherwise
*/
native zp_strip_user_weapons(id);
/**
* Registers a custom class which will be added to the human classes menu of ZP.
*
* @note The returned human class ID can be later used to identify
* the class when calling the zp_get_user_human_class() natives.
*
* @param name Caption to display on the menu.
* @param info Brief description of the class.
* @param hp Initial health points. (0 - Use default human health)
* @param armor User armor.
* @param speed Maximum speed.
* @param gravity Gravity multiplier.
* @param uselang Use lang in class name/description?
* @param name_lang_key Class name Lang key in .txt lang file
* @param info_lang_key Class Description Lang key in .txt lang file
* @return Human class index.
* @error If Human Class real Name Alterady Exists
*/
native zp_register_human_class(const name[], const info[], hp, armor, speed, Float:gravity, use_lang=0, const name_lang_key[]="ITEM_LANG_DEFAULT_KEY", const info_lang_key[]="ITEM_LANG_DEFAULT_KEY");
/**
* Register a Human class model.
*
* @param class Human Class index
* @param player_model Human Class Model
* @param body Human Class body
* @param skin Human Class skin
* @return True if sucess, false otherwise
* @error If Human class index are invalid
*/
native zp_register_hclass_model(classid, player_model[], body=0, skin=0);
/**
* Returns a player's current human class ID.
*
* @param id Player index.
* @return Internal human class ID, or -1 if not yet chosen.
*/
native zp_get_user_human_class(id);
/**
* Returns a player's next human class ID (for the next spawn).
*
* @param id Player index.
* @return Internal human class ID, or -1 if not yet chosen.
*/
native zp_get_next_human_class(id);
/**
* Sets a player's next human class ID (for the next spawn).
*
* @param id Player index.
* @param classid A valid human class ID.
* @return True on success, false otherwise.
*/
native zp_set_user_human_class(id, classid);
/**
* Returns a human class' ID.
*
* @param name Class name to look for.
* @return Internal human class ID, or -1 if not found.
*/
native zp_get_human_class_id(const name[]);
/**
* Returns a hud type index.
*
* @param id Player index.
* @return Hud index if sucess, -1 otherwise.
*/
native SpHudType:zp_get_user_hud_type(id);
/**
* Get Human Class Description
*
* @param class Human Class index
* @param info Buffer to copy hclass info to
* @param len Maximum length of buffer
* @return True if sucess, false otherwise
* @error If Human Class index are invalid
*/
native zp_get_human_class_info(id, info[], len);
/**
* Get Human Class name
*
* @param class Human Class index
* @param name Buffer to copy hclass name to
* @param len Maximum length of buffer
* @return True if sucess, false otherwise
* @error If Human Class index are invalid
*/
native zp_get_human_class_name(id, name[], len);
/**
* Get Human Class realname
*
* @param class Human Class index
* @param realname Buffer to copy hclass realname to
* @param len Maximum length of buffer
* @return True if sucess, false otherwise
* @error If Human Class index are invalid
*/
native zp_get_human_class_realname(id, realname[], len);
/**
* Set Human Class Description
*
* @param class Human Class index
* @param newinfo New description
* @return True if sucess, false otherwise
* @error If Human Class index are invalid
*/
native zp_set_human_class_info(class, newinfo[]);
/**
* Set Human Class name
*
* @param class Human Class index
* @param newname New name
* @return True if sucess, false otherwise
* @error If Human Class index are invalid
*/
native zp_set_human_class_name(class, newname[]);
/**
* Add Text On main/spec hud
*
* @note Use in 'zp_player_show_hud' forward
*
* @param text Text to display on the hud.
* @return True if sucess, false if not sucess.
*/
native zp_add_hud_text(const text[]);
/**
* Register Zombie Class custom pain sound
*
* @param classid Zombie Class index
* @param sound Pain sound
* @return True if sucess, false otherwise
* @error If Zombie Class index are invalid
*/
native zp_register_zclass_painsnd(classid, const sound[]);
/**
* Register Zombie Class custom death sound
*
* @param classid Zombie Class index
* @param sound Death sound
* @return True if sucess, false otherwise
* @error If Zombie Class index are invalid
*/
native zp_register_zclass_deathsnd(classid, const sound[]);
/**
* Register Custom Special Zombie custom death sound
*
* @param classid Special Zombie Class index
* @param sound Death sound
* @return True if sucess, false otherwise
* @error If Custom Special Zombie index are invalid
*/
native zp_register_zmspecial_deathsnd(classid, const sound[]);
/**
* Register Custom Gamemode ambience sound
*
* @param gamemode Gamemode index
* @param sound Ambience sound
* @param Duration Ambience duration
* @param enable Enable by default?
* @return True if sucess, false otherwise
* @error If gamemode index are invalid
*/
native zp_register_gamemode_ambience(gamemode, const sound[], Float:Duration, enable=1);
/**
* Register Custom Gamemode round start sound
*
* @param gamemode Gamemode index
* @param sound Round start sound
* @return True if sucess, false otherwise
* @error If gamemode index are invalid
*/
native zp_register_start_gamemode_snd(gamemode, const sound[]);
/**
* Get user current default gravity
*
* @param id Player index
* @return User default gravity
*/
native Float:zp_get_user_default_gravity(id);
/**
* Change user gravity
*
* @param id Player index
* @param Gravity New Gravity (-1.0 to reset a default gravity)
* @return True if sucess, false otherwise
*/
native zp_set_user_gravity(id, Float:Gravity);
/**
* Returns the default maximum health of a current class.
*
* @note Takes into account first zombie's HP multiplier, base health from special classes.
*
* @param id Player index.
* @return Maximum amount of health points, or -1 otherwise
*/
native zp_get_user_maxhealth(id);
/**
* Get total of instaled human classes
*
* @return Total of instaled hclasses
*/
native zp_get_hclass_count();
/**
* Add Text On menu (Like ZP 5.0)
*
* @param text Text to display on the zombie class name.
* @return True if sucess, false if not sucess.
*/
native zp_menu_textadd(const text[]);
/**
* User have an unlimited ammo mode.
*
* @return Unlimited ammo mode (0 - Not have | 1 - Unlimited reloads | 2 - Unlimited clip)
*/
native zp_get_user_unlimited_ammo(id);
/**
* Sets a player's unlimited ammo.
*
* @param id Affected player's index.
* @param set 0 off
* 1 unlimited reloads
* 2 unlimited clip
*
* @return True if sucess, false otherwise
*/
native zp_set_user_unlimited_ammo(id, set);
/**
* Reset user clip mode
*
* @return True if sucess, false otherwise
*/
native zp_reset_user_unlimited_ammo(id);
/**
* Get user knockback value
*
* @return Knockback value
*/
native Float:zp_get_user_knockback(id);
/**
* Sets a player's unlimited ammo.
*
* @param id Affected player's index.
* @param amount New knockback value
* @return True if sucess, false otherwise
*/
native zp_set_user_knockback(id, Float:amount);
/**
* Reset user knockback value
*
* @return Knockback value
*/
native zp_reset_user_knockback(id);
/**
* Get user default clip mode
*
* @return Default Clip mode
*/
native zp_get_default_unlimited_ammo(id);
/**
* Get user default knockback
*
* @return Default Knockback
*/
native Float:zp_get_default_knockback(id);
/**
* Get user default max speed
*
* @return Default max speed
*/
native Float:zp_get_user_default_maxspeed(id);
/***************************************************
-------------------- Forwards ----------------------
****************************************************/
/**
* 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 before the ZP round starts. This is only
* called for custom game modes.
*
* @note The custom game mode id can be used to start
* the game mode externally
*
* @note returning ZP_PLUGIN_HANDLED will cause the
* game mode to be blocked and other game modes will
* be given a chance.
*
* @param gameid Custom mode id which is called
*/
forward zp_round_started_pre(gameid);
/**
* 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 classid Special class index
*/
forward zp_user_infected_pre(id, infector, classid);
forward zp_user_infected_post(id, infector, classid);
/**
* Called when a player turns back to human.
*
* @param id Player index who was cured.
* @param classid Special Class index.
* @param attacker Attacker index
*/
forward zp_user_humanized_pre(id, classid, attacker);
forward zp_user_humanized_post(id, classid, attacker);
/**
* 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, classid);
forward zp_user_humanize_attempt(id, classid, attacker);
/**
* Called when an admin selects a custom game mode from the ZP admin menu.
*
* @note You should trigger the custom game mode here with out any checks
* @note Use ZP_PLUGIN_HANDLED for block it (in selected pre)
*
* @param gameid Internal custom game mode ID
* @param id Player index who selected the game mode
*/
forward zp_game_mode_selected(gameid, id);
/**
* Called when an admin selects a custom game mode from the ZP admin menu.
*
* @note Use ZP_PLUGIN_HANDLED for block it (in selected pre)
*
* @param id Player index who selected the game mode
* @param gamemode Internal custom game mode ID
*/
forward zp_game_mode_selected_pre(id, gamemode);
/**
* Called when a player spawns. This is also called for CZ bots
* which are spawning
*
* @note You should use this, instead of other spawn forwards,
* when you want to change some one's class after spawning.
*
* @note If you have used this forward then you must return
* ZP_PLUGIN_HANDLED to inform the main plugin that you have used
* this forward
*
* @param id Player index who has spawned
* @param resp_zombie This is passed by the main plugin as 1 if
* the player needs to be spawned as a zombie
* otherwise it is passed as zero
*/
forward zp_player_spawn_post(id, resp_zombie);
/**
* 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 while player are choosing item
*
* @note Use the ZP_PLUGIN_HANDLED for block option (Like ZP 5.0)
* @note Use the ZP_PLUGIN_SUPERCEDE for block showing item in menu
* @note Use 'zp_extra_item_textadd' for add a small text description
*
* @param id Player index
* @param classid Extra item index
*/
forward zp_extra_item_selected_pre(id, itemid);
/**
* Called when player gets frozen
*
* @note Use the ZP_PLUGIN_HANDLED for block user frozen
*
* @param id Player index
*/
forward zp_user_frozen_pre(id);
forward zp_user_frozen_post(id);
/**
* Called when player gets burning
*
* @note Use the ZP_PLUGIN_HANDLED for block user burn
*
* @param id Player index
*/
forward zp_user_burn_pre(id);
forward zp_user_burn_post(id);
/**
* 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);
/**
* Called when open Zombie Classes menu
*
* @note Use the ZP_PLUGIN_HANDLED for block option (Like ZP 5.0)
* @note Use the ZP_PLUGIN_SUPERCEDE for block showing class in menu
*
* @param id Player index.
* @param classid Zombie Class index.
*/
forward zp_zombie_class_choosed_pre(id, classid);
forward zp_zombie_class_choosed_post(id, classid);
/**
* Called when open Human Classes menu
*
* @note Use the ZP_PLUGIN_HANDLED for block option (Like ZP 5.0)
* @note Use the ZP_PLUGIN_SUPERCEDE for block showing class in menu
*
* @param id Player index.
* @param classid Human Class index.
*/
forward zp_human_class_choosed_pre(id, classid);
forward zp_human_class_choosed_post(id, classid);
/**
* Called when player reset render
*
* @note Use the ZP_PLUGIN_SUPERCEDE for block it
*
* @param id Player index.
*/
forward zp_user_rendering_reset_pre(id);
forward zp_user_rendering_reset_post(id);
/**
* Execute when player change the model
*
* @note Use the ZP_PLUGIN_SUPERCEDE for block it
* @note You can use 'zp_set_model_param' for change model on this forward
*
* @param id Player index.
*/
forward zp_user_model_change_pre(id, model[], body, skin);
forward zp_user_model_change_post(id, model[], body, skin);
/**
* Called when admin make a player to special class from admin menu
*
* @note Use the ZP_PLUGIN_HANDLED for block it
*
* @param id Player index.
*/
forward zp_human_special_choosed_pre(id, specialid);
forward zp_human_special_choosed_post(id, specialid);
/**
* Called when admin make a player to special class from admin menu
*
* @note Use the ZP_PLUGIN_HANDLED for block it
*
* @param id Player index.
*/
forward zp_zombie_special_choosed_pre(id, specialid);
forward zp_zombie_special_choosed_post(id, specialid);
/**
* Called when user get infected by bomb function
*
* @note Use ZP_PLUGIN_SUPERCEDE for block it
*
* @param id Player Index
*
*/
forward zp_infected_by_bomb_pre(victim, attacker);
forward zp_infected_by_bomb_post(victim, attacker);
/**
* Called when user use Unstuck function (In menu)
*
* @note Use ZP_PLUGIN_HANDLED for block it
*
* @param id Player Index
*
*/
forward zp_user_unstuck_pre(id);
forward zp_user_unstuck_post(id);
/**
* Called when user choose weapon in weapons menu
*
* @note Use ZP_PLUGIN_HANDLED for blocking buy this weapon
*
* @param id Player Index
* @param wpn_type Type of Weapon (Primary/Secondary)
* @param weaponid Index of Registred Weapon
*
*/
forward zp_weapon_selected_pre(id, wpn_type, weaponid);
forward zp_weapon_selected_post(id, wpn_type, weaponid);
/**
* Called when show main/spec hud
*
* @note Use ZP_PLUGIN_HANDLED for block show hud
*
* @param id Player Index
* @param target Spec target index
* @param hudtype Player hudtype index
*
*/
forward zp_player_show_hud(id, target, SpHudType:hudtype);
/**
* Called when plays any ambience sound
*
* @note Works only with zp sounds
* @note Use ZP_PLUGIN_HANDLED for block it
* @note You can use 'zp_set_param_string'
*
* @param sound Sound to play
* @param is_mp3 Is sound an mp3?
*
*/
forward zp_fw_sound_play(sound[], is_mp3);
/**
* Called when stop all sounds
*
* @note Works only with zp sounds
* @note Use ZP_PLUGIN_HANDLED for block it
*
*/
forward zp_fw_sound_stop();
/**
* Called when user deploy an weapon
*
* @note Use ZP_PLUGIN_HANDLED for allow zombie to use this weapon
*
*/
forward zp_fw_deploy_weapon(id, weaponid);
// ZP Specials Stocks
#include <zpsp_stocks>