Doda ktoś mi poświatę skrzynki (niebieski)
#include <amxmodx>
#include <fakemeta>
#include <engine>
#include <fun>
#include <colorchat>
#define TaskSeven 7777
native AddXP(User, Number);
native GetLVL(User);
new const BonusPackModel[] = "models/xxx/xxx.mdl";
public plugin_init()
{
register_plugin("GXP [Bonus Pack]", "5.2", "Sloenthran");
register_forward(FM_Touch, "TouchBonusPack");
}
public plugin_natives()
{
set_native_filter("NativeFilter");
register_native("CreateBonusPack", "CreateBonusPack", 1);
}
public plugin_precache()
{
precache_model(BonusPackModel);
}
public NativeFilter()
{
return PLUGIN_HANDLED;
}
public TouchBonusPack(Ent, User)
{
if(task_exists(Ent + TaskSeven))
{
remove_task(Ent + TaskSeven);
}
if(!is_user_alive(User) || !pev_valid(Ent))
{
return FMRES_IGNORED;
}
static ClassName[32];
pev(Ent, pev_classname, ClassName,31);
if(!equali(ClassName, "bonuspack"))
{
return FMRES_IGNORED;
}
if(pev(User, pev_button))
{
UseBonusPack(User);
engfunc(EngFunc_RemoveEntity, Ent);
}
return FMRES_IGNORED;
}
public CreateBonusPack(User)
{
new Float:origins[3];
pev(User, pev_origin, origins);
origins[0] += 50.0;
origins[2] -= 32.0;
new CreateEnt = create_entity("info_target")
set_pev(CreateEnt, pev_origin, origins);
entity_set_model(CreateEnt, BonusPackModel);
set_pev(CreateEnt, pev_classname, "bonuspack");
dllfunc(DLLFunc_Spawn, CreateEnt);
set_pev(CreateEnt, pev_solid, SOLID_TRIGGER);
set_pev(CreateEnt, pev_movetype, MOVETYPE_FLY);
engfunc(EngFunc_SetSize, CreateEnt, {-1.1, -1.1, -1.1}, {1.1, 1.1, 1.1});
engfunc(EngFunc_DropToFloor, CreateEnt);
set_task(20.0, "RemoveBonusPack", CreateEnt + TaskSeven);
}
public RemoveBonusPack(Ent)
{
Ent -= TaskSeven;
engfunc(EngFunc_RemoveEntity, Ent);
}
public UseBonusPack(User)
{
if(is_user_connected(User) && is_user_alive(User))
{
switch(random_num(1, 4))
{
case 1:
{
new HP = get_user_health(User);
new Draw = random_num(5, 20);
set_user_health(User, HP - Draw);
ColorChat(User, GREEN, "[GunXPMod]^x03 Trucizna! Tracisz %i HP!", Draw);
}
case 2:
{
new HP = get_user_health(User);
new Draw = random_num(5, 20);
set_user_health(User, HP + Draw);
ColorChat(User, GREEN, "[GunXPMod]^x03 Apteczka! Dostajesz %i HP!", Draw);
}
case 3:
{
ColorChat(User, GREEN, "[GunXPMod]^x03 Niestety paczka jest pusta!");
}
case 4:
{
if(GetLVL(User) == 26)
{
ColorChat(User, GREEN, "[GunXPMod]^x03 Niestety paczka jest pusta!");
}
else
{
new Draw = random_num(1, 5);
AddXP(User, Draw);
ColorChat(User, GREEN, "[GunXPMod]^x03 XP! Dostajesz %i XP!", Draw);
}
}
}
}
}


Dodatki SourceMod












