#include <amxmodx>
#include <codmod>
#include <hamsandwich>
#include <fakemeta>
#include <ColorChat>
#include <cstrike>
#include <fun>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Krupek"
#define DMG_HEGRENADE (1<<24)
#define DMG_BULLET (1<<1)
new bool:ma_odpornosc[33];
new bool:ma_skoki[33];
new bool:ma_bezlik[33];
new bool:ma_hp[33];
new bool:ma_dmg[33];
new skoki[33];
native cod_get_user_gold(id)
native cod_set_user_gold(id, wartosc);
native cod_set_perk_durability(id, wytrzymalosc);
native cod_get_perk_durability(id);
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /cos", "cmd_menu");
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
register_forward(FM_CmdStart, "fwCmdStart_MultiJump");
register_event("CurWeapon","CurWeapon","be", "1=1");
register_event("DeathMsg", "DeathMsg", "ade");
}
public client_disconnect(id)
{
ma_odpornosc[id]=false
ma_skoki[id]=false
ma_bezlik[id]=false
ma_hp[id]=false
ma_dmg[id]=false
}
public cmd_menu(id)
{
if(is_user_alive(id))
{
Umiejetnosci(id);
}
else
{
ColorChat(id, GREEN, "[COD:MW3]^x01 Aby uzywac /zloto musisz byc zywy!");
}
return PLUGIN_HANDLED;
}
stock Umiejetnosci(id)
{
new menu = menu_create("\rUmka", "Umiejetnosci_Handler");
menu_additem(menu, "HP za zabicie \d[ +10 ] \yKoszt: \r7 Zlota")
menu_additem(menu, "Wiekszy DMG \d[ +5 ] \yKoszt: \r13 Zlota")
menu_additem(menu, "Wytrzymalosc perku \d[ +50 ] \yKoszt: \r11 Zlota ")
menu_additem(menu, "Pancerz \d[ 400 Armoru ] \yKoszt: \r5 Zlota ")
menu_additem(menu, "Odpornosc na HE \yKoszt: \r9 Zlota")
menu_additem(menu, "Nieskonczona amunicja \yKoszt: \r21 Zlota")
menu_additem(menu, "Wysokie skoki \d[ Skill Ninjy] \yKoszt: \r11 Zlota")
menu_display(id, menu);
}
public Umiejetnosci_Handler(id, menu, item)
{
if(!is_user_alive(id) || !is_user_connected(id))
return PLUGIN_CONTINUE;
new kasa = cod_get_user_gold(id)
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
switch(item)
{
case 0:
{
if(kasa >= 7)
{
ma_hp[id]=true
cod_set_user_gold(id, kasa-7);
ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles HP za zabicie");
}
else
ColorChat(id, GREEN, "[COD:MW3]^x01 Zapomnij, masz za malo zlota!");
}
case 1:
{
if(kasa >= 7)
{
ma_dmg[id]=true
cod_set_user_gold(id, kasa-7);
ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles dodatkowe dmg !");
}
else
ColorChat(id, GREEN, "[COD:MW3]^x01 Zapomnij, masz za malo zlota!");
}
case 2:
{
if(kasa >= 7)
{
new uszkodzenia_perku = cod_get_perk_durability(id);
if(uszkodzenia_perku+50>=100)
{
cod_set_perk_durability(id, 100);
ColorChat(id, GREEN, "[COD:MW3]^x01 Twoj perk jest w pelni naprawiony!", cod_get_perk_durability(id));
}
else
{
cod_set_perk_durability(id, uszkodzenia_perku+50);
ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles^x04 +50^x01 wytrzymalosci perku!");
ColorChat(id, GREEN, "[COD:MW3]^x01 Wytrzymalosc twojego perku wynosi^x04 %i", cod_get_perk_durability(id));
}
cod_set_user_gold(id, kasa-7);
}
else
ColorChat(id, GREEN, "[COD:MW3]^x01 Zapomnij, masz za malo zlota!");
}
case 3:
{
if(kasa <= 7)
{
set_user_armor( id, get_user_armor( id ) + 400 );
cod_set_user_gold(id, kasa-7);
ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles 400 Kamizelki!");
}
else
ColorChat(id, GREEN, "[COD:MW3]^x01 Zapomnij, masz za malo zlota!");
}
case 4:
{
if(kasa <= 7)
{
ma_odpornosc[id]=true
cod_set_user_gold(id, kasa-7);
ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles odpornosc na HE");
}
else
ColorChat(id, GREEN, "[COD:MW3]^x01 Zapomnij, masz za malo zlota!");
}
case 5:
{
if(kasa <= 7)
{
ma_bezlik[id]=true
cod_set_user_gold(id, kasa-7);
ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles moc Nieskonczona amunicja");
}
else
ColorChat(id, GREEN, "[COD:MW3]^x01 Zapomnij, masz za malo zlota!");
}
case 6:
{
if(kasa <= 7)
{
set_user_gravity(id, 0.4);
cod_set_user_gold(id, kasa-7);
ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles wysokie skoki!");
}
else
ColorChat(id, GREEN, "[COD:MW3]^x01 Zapomnij, masz za malo zlota!");
}
case 7:
{
if(kasa <= 7)
{
ma_skoki[id]=true
cod_set_user_gold(id, kasa-7);
ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles dodatkowe skoki");
}
else
ColorChat(id, GREEN, "[COD:MW3]^x01 Zapomnij, masz za malo zlota!");
}
}
return PLUGIN_CONTINUE;
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(this))
return HAM_IGNORED;
if(ma_odpornosc[this] && damagebits & DMG_HEGRENADE)
return HAM_SUPERCEDE;
if(ma_dmg[idattacker] && get_user_team(this) != get_user_team(idattacker) && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, 5.0, 0.0, idinflictor, damagebits);
return HAM_IGNORED;
}
public fwCmdStart_MultiJump(id, uc_handle)
{
if(!is_user_alive(id) || !ma_skoki[id])
return FMRES_IGNORED;
new flags = pev(id, pev_flags);
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
{
skoki[id]--;
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity,velocity);
}
else if(flags & FL_ONGROUND)
skoki[id] = 2;
return FMRES_IGNORED;
}
public CurWeapon(id)
{
if(!is_user_connected(id))
return;
if(!ma_bezlik[id])
return;
set_user_clip(id, 2);
}
stock set_user_clip(id, ammo)
{
new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
get_weaponname(weapon, weaponname, 31);
while ((weaponid = engfunc(EngFunc_FindEntityByString, weaponid, "classname", weaponname)) != 0)
if (pev(weaponid, pev_owner) == id) {
set_pdata_int(weaponid, 51, ammo, 4);
return weaponid;
}
return 0;
}
public DeathMsg()
{
new killer = read_data(1);
if(!is_user_connected(killer))
return PLUGIN_CONTINUE;
if(ma_dmg[killer])
{
new cur_health = pev(killer, pev_health);
new Float:max_health = 100.0+cod_get_user_health(killer);
new Float:new_health = cur_health+30.0<max_health? cur_health+30.0: max_health;
set_pev(killer, pev_health, new_health);
}
return PLUGIN_CONTINUE;
}