#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Cypis"
new const NO_RELOAD = (1<<2)|(1<<CSW_KNIFE)|(1<<CSW_C4)|(1<<CSW_M3)|(1<<CSW_XM1014)|(1<<CSW_HEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_SMOKEGRENADE);
new const Float:wpn_reload_delay[CSW_P90+1] = {0.00, 2.70, 0.00, 2.00, 0.00, 0.55, 0.00, 3.15, 3.30, 0.00, 4.50, 2.70, 3.50, 3.35, 2.45, 3.30, 2.70, 2.20, 2.50, 2.63, 4.70, 0.55, 3.05, 2.12, 3.50, 0.00, 2.20, 3.00, 2.45, 0.00, 3.40}
new przeladownie_broni[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
for(new i = CSW_P228; i <= CSW_P90; i++){
if(NO_RELOAD & (1<<i))
continue;
new WeaponName[24];
get_weaponname(i, WeaponName, 23);
RegisterHam(Ham_Weapon_Reload, WeaponName, "fw_reload_post", 1)
}
}
public PrzydzielPunkty(id)
{
new inteligencja[65];
new zdrowie[60];
new wytrzymalosc[60];
new kondycja[60];
new przeladownie[65]
new tytul[25];
format(inteligencja, 64, "Inteligencja: \r%i \y(Zwieksza obrazenia zadawane przedmiotami)", inteligencja_gracza[id]);
format(zdrowie, 59, "Zycie: \r%i \y(Zwieksza zycie)", zdrowie_gracza[id]);
format(wytrzymalosc, 59, "Wytrzymalosc: \r%i \y(Zmniejsza obrazenia)", wytrzymalosc_gracza[id]);
format(kondycja, 59, "Kondycja: \r%i \y(Zwieksza tempo chodu)", kondycja_gracza[id]);
format(przeladownie, 64, "Przeladownie: \r%i \y(Zwieksza szybkosc przeladowania)", przeladownie_broni[id]);
format(tytul, 24, "Przydziel Punkty(%i):", punkty_gracza[id]);
new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
menu_additem(menu, inteligencja);
menu_additem(menu, zdrowie);
menu_additem(menu, wytrzymalosc);
menu_additem(menu, kondycja);
menu_additem(menu, przeladownie);
menu_display(id, menu);
}
public PrzydzielPunkty_Handler(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
switch(item)
{
case 0:
{
if(inteligencja_gracza[id] < 100)
{
inteligencja_gracza[id]++;
punkty_gracza[id]--;
}
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom inteligencji osiagniety");
}
case 1:
{
if(zdrowie_gracza[id] < 100)
{
zdrowie_gracza[id]++;
punkty_gracza[id]--;
}
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom sily osiagniety");
}
case 2:
{
if(wytrzymalosc_gracza[id] < 100)
{
wytrzymalosc_gracza[id]++;
punkty_gracza[id]--;
}
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom zrecznosci osiagniety");
}
case 3:
{
if(kondycja_gracza[id] < 100)
{
kondycja_gracza[id]++;
punkty_gracza[id]--;
}
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom kondycji osiagniety");
}
case 4:
{
if(przeladownie_broni[id] < 100)
{
przeladownie_broni[id]++;
punkty_gracza[id]--;
}
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom przeladowania osiagniety");
}
}
if(punkty_gracza[id] > 0)
PrzydzielPunkty(id);
return PLUGIN_CONTINUE;
}
public fw_reload_post(ent)
{
if(get_pdata_int(ent, 54, 4))
{
new id = get_pdata_cbase(ent, 41, 4)
if(przeladownie_broni[id] > 0)
{
new Float:delay = wpn_reload_delay[get_pdata_int(ent, 43, 4)] * (1.0 - (przeladownie_broni[id]/100.0));
set_pdata_float(id, 83, delay, 5)
set_pdata_float(ent, 48, delay + 0.5, 4)
}
}
return HAM_IGNORED
}