Pluguin : supplybox
Extra Item : GOLDEN AK
Extra Item : GOLDEM M4a1
AJUDA AI POR FAVOR VLW!
Extra Item : GOLDEN AK
Extra Item : GOLDEM M4a1
AJUDA AI POR FAVOR VLW!
Código:
/*
Name: [ZP] Addon: Bonus Box
Author: PomanoB & STRELOK
Version 1.0
Based on [ZP] DM Item's by PomanoB
*/
#include
#include
#include
#include
#include
#include
#define PLUGIN "[ZP] Addon: Supplybox"
#define VERSION "1.0"
#define AUTHOR "PomanoB & Accelerator"
#define OFFSET_FLASH_AMMO 387
#define OFFSET_HE_AMMO 388
#define OFFSET_SMOKE_AMMO 389
new const item_class_name[] = "dm_item"
new g_models[][] = {"models/zombie_plague/Supply-box.mdl"}
public plugin_precache()
{
for (new i = 0; i < sizeof g_models; i++)
precache_model(g_models[i])
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_forward(FM_Touch, "fwd_Touch")
register_event("HLTV", "round_start", "a", "1=0", "2=0")
RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
register_dictionary("Supplybox.txt")
}
public fwd_Touch(toucher, touched)
{
if (!is_user_alive(toucher) || !pev_valid(touched))
return FMRES_IGNORED
new classname[32]
pev(touched, pev_classname, classname, 31)
if (!equal(classname, item_class_name))
return FMRES_IGNORED
give_item(toucher)
set_pev(touched, pev_effects, EF_NODRAW)
set_pev(touched, pev_solid, SOLID_NOT)
return FMRES_IGNORED
}
public fw_PlayerKilled(victim, attacker, shouldgib)
{
if (!is_user_connected(attacker) || !is_user_connected(victim) || attacker == victim || !attacker)
return HAM_IGNORED
new random = random_num(0, 1)
if (random == 1 || random == 4 || random == 6)
{
new origin[3]
get_user_origin(victim, origin, 0)
addItem(origin)
}
return HAM_IGNORED
}
public removeEntity(ent)
{
if (pev_valid(ent))
engfunc(EngFunc_RemoveEntity, ent)
}
public addItem(origin[3])
{
new ent = fm_create_entity("info_target")
set_pev(ent, pev_classname, item_class_name)
engfunc(EngFunc_SetModel,ent, g_models[random_num(0, sizeof g_models - 1)])
set_pev(ent,pev_mins,Float:{-10.0,-10.0,0.0})
set_pev(ent,pev_maxs,Float:{10.0,10.0,25.0})
set_pev(ent,pev_size,Float:{-10.0,-10.0,0.0,10.0,10.0,25.0})
engfunc(EngFunc_SetSize,ent,Float:{-10.0,-10.0,0.0},Float:{10.0,10.0,25.0})
set_pev(ent,pev_solid,SOLID_BBOX)
set_pev(ent,pev_movetype,MOVETYPE_FLY)
new Float:fOrigin[3]
IVecFVec(origin, fOrigin)
set_pev(ent, pev_origin, fOrigin)
set_pev(ent,pev_renderfx,kRenderFxGlowShell)
switch(random_num(1,4))
{
case 1: set_pev(ent,pev_rendercolor,Float:{0.0,0.0,255.0})
case 2: set_pev(ent,pev_rendercolor,Float:{0.0,255.0,0.0})
case 3: set_pev(ent,pev_rendercolor,Float:{255.0,0.0,0.0})
case 4: set_pev(ent,pev_rendercolor,Float:{255.0,255.0,255.0})
}
}
public give_item(id)
{
new zombie
zombie = zp_get_user_zombie(id)
new i = random_num(0, (zombie ? 5 : 13))
switch (i)
{
case 0:
if (zombie)
{
if (!zp_get_user_last_zombie(id) && !zp_is_survivor_round() && !zp_is_swarm_round())
{
zp_disinfect_user(id)
ChatColor(id, "!g[ZP]!y %L", LANG_PLAYER, "ITEM_DM_ANTIDOT")
}
else
ChatColor(id, "!g[ZP]!y %L", LANG_PLAYER, "ITEM_DM_NO")
}
else
{
if (!zp_get_user_last_human(id) && !zp_is_survivor_round() && !zp_is_swarm_round())
{
zp_infect_user(id)
ChatColor(id, "!g[ZP]!y %L", LANG_PLAYER, "ITEM_DM_INFECT")
}
else
ChatColor(id, "!g[ZP]!y %L", LANG_PLAYER, "ITEM_DM_NO")
}
case 1:
{
fm_set_user_health(id, get_user_health(id) + (zombie ? 500 : 50))
ChatColor(id, "!g[ZP]!y %L", LANG_PLAYER, "ITEM_DM_HEALTH_UP")
}
case 2:
{
fm_set_user_health(id, get_user_health(id) - (zombie ? 250 : 25))
ChatColor(id, "!g[ZP]!y %L", LANG_PLAYER, "ITEM_DM_HEALTH_DOWN")
}
case 3:
{
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + random_num(1, 5))
ChatColor(id, "!g[ZP]!y %L", LANG_PLAYER, "ITEM_DM_AMMOPACKS_UP")
}
case 4:
{
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - random_num(1, 5))
ChatColor(id, "!g[ZP]!y %L", LANG_PLAYER, "ITEM_DM_AMMOPACKS_DOWN")
}
case 5:
{
fm_set_user_gravity(id, 0.5)
ChatColor(id, "!g[ZP]!y %L", LANG_PLAYER, "ITEM_DM_GRAVITY")
}
case 6:
{
if (!zp_get_user_nightvision(id))
{
zp_set_user_nightvision(id, 1)
ChatColor(id, "!g[ZP]!y %L", LANG_PLAYER, "ITEM_DM_NIGHTVISION")
}
else
ChatColor(id, "!g[ZP]!y %L", LANG_PLAYER, "ITEM_DM_NO")
}
case 7:
{
fm_set_user_armor(id, get_user_armor(id) + 100)
ChatColor(id, "!g[ZP]!y %L", LANG_PLAYER, "ITEM_DM_ARMOR_UP")
}
case 8:
{
set_pev(id, pev_effects, pev(id, pev_effects) | EF_BRIGHTLIGHT)
ChatColor(id, "!g[ZP]!y %L", LANG_PLAYER, "ITEM_DM_BRIGHTLIGHT")
}
}
}
public round_start()
{
new ent = FM_NULLENT
static string_class[] = "classname"
while ((ent = engfunc(EngFunc_FindEntityByString, ent, string_class, item_class_name)))
set_pev(ent, pev_flags, FL_KILLME)
}
// Stock: ChatColor!
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
Código:
[en]
ITEM_DM_ANTIDOT = You have found Antidote
ITEM_DM_INFECT = You have found T-Virus
ITEM_DM_HEALTH_UP = You have found Health
ITEM_DM_HEALTH_DOWN = You lost Health
ITEM_DM_AMMOPACKS_UP = You got a little Bonus
ITEM_DM_AMMOPACKS_DOWN = You have lost a little Bonus
ITEM_DM_GRAVITY = Have you decreased Gravity
ITEM_DM_NIGHTVISION = You have found a night vision device
ITEM_DM_ARMOR_UP = You have found Armor
ITEM_DM_ARMOR_DOWN = You have lost Armor
ITEM_DM_BRIGHTLIGHT = You got a Bright Glow
ITEM_DM_GRENADES = You have found a set of Grenades
ITEM_DM_SG550 = You have found SG550
ITEM_DM_G3SG1 = You have found G3SG1
ITEM_DM_M249 = You have found M249
ITEM_DM_AWP = You have found AWP
ITEM_DM_NO = Empty box
[ru]
ITEM_DM_ANTIDOT = Вы нашли антидот
ITEM_DM_INFECT = Вы нашли T-Virus
ITEM_DM_HEALTH_UP = Вы нашли доп. здоровье
ITEM_DM_HEALTH_DOWN = Вы потеряли здоровье
ITEM_DM_AMMOPACKS_UP = Вы получили немного бонусов
ITEM_DM_AMMOPACKS_DOWN = Вы потеряли немного бонусов
ITEM_DM_GRAVITY = У вас уменьшилась гравитация
ITEM_DM_NIGHTVISION = Вы нашли прибор ночного видения
ITEM_DM_ARMOR_UP = Вы нашли бронежелет
ITEM_DM_ARMOR_DOWN = Вы потеряли бронежелет
ITEM_DM_BRIGHTLIGHT = Вы получили яркое свечение
ITEM_DM_GRENADES = Вы нашли комплект гранат
ITEM_DM_SG550 = Вы нашли SG550
ITEM_DM_G3SG1 = Вы нашли G3SG1
ITEM_DM_M249 = Вы нашли M249
ITEM_DM_AWP = Вы нашли AWP
ITEM_DM_NO = Коробка пуста