#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <cstrike>
#include <fun>
#include <colorchat>
//#define NAPRAWAPERKU
#if defined NAPRAWAPERKU
native cod_set_perk_durability(id, wytrzymalosc); // Ustawia wytrzymalosc perku gracza.
native cod_get_perk_durability(id); // Pobiera wytrzymalosc perku gracza.
#endif
native cod_set_user_coins(id, wartosc);
native cod_get_user_coins(id);
//new m_ibuprofen, m_fenacetyna, m_tramal, m_amfetamina, m_lotto, m_doswiadczenie, m_ruletka, m_ibuhp, m_fenhp, m_tramhp, m_expmin, m_expmax;
new c_ibuprofen, c_sell, c_fenacetyna, c_tramal, c_amfetamina, c_lotto, c_doswiadczenie, c_ruletka, c_ibuhp, c_fenhp, c_tramhp, c_expmin, c_expmax;
//new cvar_m_ibuprofen, cvar_m_fenacetyna, cvar_m_tramal, cvar_m_amfetamina, cvar_m_lotto, cvar_m_doswiadczenie, cvar_m_ruletka, cvar_m_ibuhp, cvar_m_fenhp, cvar_m_tramhp, cvar_m_expmin, cvar_m_expmax;
new cvar_c_ibuprofen, cvar_c_fenacetyna, cvar_c_tramal, cvar_c_amfetamina, cvar_c_lotto, cvar_c_doswiadczenie, cvar_c_ruletka, cvar_c_ibuhp, cvar_c_fenhp, cvar_c_tramhp, cvar_c_expmin, cvar_c_expmax;
new Float:c_gravity;
new cvar_c_gravity;
new cvar_c_sprzedaj;
#if defined NAPRAWAPERKU
new m_naprawa, c_naprawa, m_wytrzymalosc, c_wytrzymalosc
new cvar_m_naprawa, cvar_c_naprawa, cvar_m_wytrzymalosc, cvar_c_wytrzymalosc
#endif
public plugin_init()
{
register_plugin("CodShop by MieTeK", "1.2", "MieTeK");
register_clcmd("say /sklep", "Sklep");
register_clcmd("say /shop", "Sklep");
// Cvar Coins Cost
cvar_c_ibuprofen = register_cvar("shop_coins_ibuprofen", "4");
cvar_c_fenacetyna = register_cvar("shop_coins_fenacetyna", "3");
cvar_c_tramal = register_cvar("shop_coins_tramal", "6");
cvar_c_amfetamina = register_cvar("shop_coins_amfetamina", "16");
cvar_c_lotto = register_cvar("shop_coins_lotto", "16");
cvar_c_doswiadczenie = register_cvar("shop_coins_doswiadczenie", "16");
cvar_c_ruletka = register_cvar("shop_coins_ruletka", "10");
cvar_c_sprzedaj = register_cvar("shop_coins_perksell", "5");
#if defined NAPRAWAPERKU
cvar_c_naprawa = register_cvar("shop_coins_naprawa", "10");
#endif
// Cvar Coins Ammount
cvar_c_ibuhp = register_cvar("shop_coins_ibuhp", "10");
cvar_c_fenhp = register_cvar("shop_coins_fenhp", "25");
cvar_c_tramhp = register_cvar("shop_coins_tramhp", "50");
cvar_c_gravity = register_cvar("shop_coins_gravity", "0.50");
cvar_c_expmin = register_cvar("shop_coins_expmin", "25");
cvar_c_expmax = register_cvar("shop_coins_expmax", "250");
#if defined NAPRAWAPERKU
cvar_c_wytrzymalosc = register_cvar("shop_coins_wytrzymalosc", "15");
#endif
}
public plugin_cfg()
{
new lokalizacja_cfg[33];
get_configsdir(lokalizacja_cfg, charsmax(lokalizacja_cfg));
server_cmd("exec %s/codshop.cfg", lokalizacja_cfg);
server_exec()
}
public Sklep(id)
{
// Pobieranie cvar
c_ibuprofen = get_pcvar_num(cvar_c_ibuprofen);
c_fenacetyna = get_pcvar_num(cvar_c_fenacetyna);
c_tramal = get_pcvar_num(cvar_c_tramal);
c_amfetamina = get_pcvar_num(cvar_c_amfetamina);
c_lotto = get_pcvar_num(cvar_c_lotto);
c_doswiadczenie = get_pcvar_num(cvar_c_doswiadczenie);
c_ruletka = get_pcvar_num(cvar_c_ruletka);
c_sell = get_pcvar_num(cvar_c_sprzedaj);
#if defined NAPRAWAPERKU
c_naprawa = get_pcvar_num(cvar_c_naprawa);
#endif
c_ibuhp = get_pcvar_num(cvar_c_ibuhp);
c_fenhp = get_pcvar_num(cvar_c_fenhp);
c_tramhp = get_pcvar_num(cvar_c_tramhp);
c_gravity = get_pcvar_float(cvar_c_gravity);
c_expmin = get_pcvar_num(cvar_c_expmin);
c_expmax = get_pcvar_num(cvar_c_expmax);
#if defined NAPRAWAPERKU
c_wytrzymalosc = get_pcvar_num(cvar_c_wytrzymalosc);
#endif
new tytul[25], ibu[65], fen[65], tra[65], amf[65], lot[65], dos[65], rul[65], dep[65];
#if defined NAPRAWAPERKU
new nap[65];
#endif
format(tytul, 24, "\rSklep");
formatex(ibu, 64, "Ibuprofen \r[Leczy %i HP] \yKoszt:\r %iM", c_ibuhp, c_ibuprofen);
formatex(fen, 64, "Fenacetyna \r[Leczy %i HP] \yKoszt:\r %iM", c_fenhp, c_fenacetyna);
formatex(tra, 64, "Tramal \r[Leczy %i HP] \yKoszt:\r %iM", c_tramhp, c_tramal);
formatex(amf, 64, "Amfetamina \r[Wyzej skaczesz] \yKoszt:\r %iM", c_amfetamina);
formatex(lot, 64, "Lotto \r[Losowanie bonusow] \yKoszt:\r %iM", c_lotto);
formatex(dos, 64, "Doswiadczenie \r[Dostajesz losowy EXP] \yKoszt:\r %iM", c_doswiadczenie);
formatex(rul, 64, "Ruletka \r[Dostajesz losowy perk] \yKoszt:\r %iM", c_ruletka);
formatex(dep, 64, "Depozyt \r[Sprzedajesz perk] \y+\r %iM", c_sell);
#if defined NAPRAWAPERKU
formatex(nap, 64, "Naprawa Perku \r[Dostajesz +%i wytrzymalosci perku] \yKoszt: \r%iM", c_wytrzymalosc, c_naprawa);
#endif
new menu = menu_create(tytul, "SklepCoins_Handler");
menu_additem(menu, ibu, "1");
menu_additem(menu, fen, "1");
menu_additem(menu, tra, "1");
menu_additem(menu, amf, "1");
menu_additem(menu, lot, "1");
menu_additem(menu, dos, "1");
menu_additem(menu, rul, "1");
menu_additem(menu, dep, "1");
#if defined NAPRAWAPERKU
menu_additem(menu, nap, "1");
#endif
menu_display(id, menu);
}
public SklepCoins_Handler(id, menu, item)
{
if(!is_user_alive(id) || !is_user_connected(id))
return PLUGIN_CONTINUE;
new zdrowie = get_user_health(id);
new kasa = cod_get_user_coins(id)
new maxzdrowie = cod_get_user_health(id)+100
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
switch(item)
{
case 0:
{
if(kasa >= c_ibuprofen)
{
new nowe_zdrowie = (zdrowie+c_ibuhp);
if(nowe_zdrowie < maxzdrowie)
{
cod_set_user_coins(id, kasa-c_ibuprofen);
set_user_health(id, nowe_zdrowie);
ColorChat(id, GREEN, "[COD:MW] ^x03Uleczono Cie o ^x01%i^x03 hp!", c_ibuhp);
}
if(nowe_zdrowie > maxzdrowie && zdrowie != maxzdrowie)
{
cod_set_user_coins(id, kasa-c_ibuprofen);
set_user_health(id, maxzdrowie);
ColorChat(id, GREEN, "[COD:MW] ^x03Jestes w pelni uleczony!");
}
}
else
ColorChat(id, GREEN, "[COD:MW] ^x03Masz za malo monet!");
}
case 1:
{
if(kasa >= c_fenacetyna)
{
new nowe_zdrowie = (zdrowie+c_fenhp);
if(nowe_zdrowie < maxzdrowie)
{
cod_set_user_coins(id, kasa-c_fenacetyna);
set_user_health(id, nowe_zdrowie);
ColorChat(id, GREEN, "[COD:MW] ^x03Uleczono Cie o ^x01%i^x03 hp!", c_fenhp);
}
if(nowe_zdrowie >= maxzdrowie && zdrowie != maxzdrowie)
{
cod_set_user_coins(id, kasa-c_fenacetyna);
set_user_health(id, maxzdrowie);
ColorChat(id, GREEN, "[COD:MW] ^x03Jestes w pelni uleczony!");
}
}
else
ColorChat(id, GREEN, "[COD:MW] ^x03Masz za malo monet!");
}
case 2:
{
if(kasa >= c_tramal)
{
new nowe_zdrowie = (zdrowie+c_tramhp);
if(nowe_zdrowie < maxzdrowie)
{
cod_set_user_coins(id, kasa-c_tramal);
set_user_health(id, nowe_zdrowie);
ColorChat(id, GREEN, "[COD:MW] ^x03Uleczono Cie o ^x01%i^x03 hp!", c_tramhp);
}
if(nowe_zdrowie >= maxzdrowie && zdrowie != maxzdrowie)
{
cod_set_user_coins(id, kasa-c_tramal);
set_user_health(id, maxzdrowie);
ColorChat(id, GREEN, "[COD:MW] ^x03Jestes w pelni uleczony!");
}
}
else
ColorChat(id, GREEN, "[COD:MW] ^x03Masz za malo monet!");
}
case 3:
{
if(kasa >= c_amfetamina)
{
cod_set_user_coins(id, kasa-c_amfetamina);
set_user_gravity(id, c_gravity);
ColorChat(id, GREEN, "[COD:MW] ^x03Skaczesz wyzej!");
}
else
ColorChat(id, GREEN, "[COD:MW] ^x03Masz za malo monet!");
}
case 4:
{
if(kasa >= c_lotto)
{
cod_set_user_coins(id, kasa-c_lotto);
ColorChat(id, GREEN, "[COD:MW] ^x03Trwa losowanie!");
new totek = random_num(0, 10);
switch(totek)
{
case 0:
{
new moneybonus = random_num(500,5000);
ColorChat(id, GREEN, "[COD:MW] ^x03Wygrales kase ^x01%i^x03$!", moneybonus);
cs_set_user_money(id, moneybonus);
}
case 1:
{
new moneybonus = random_num(5000,16000);
ColorChat(id, GREEN, "[COD:MW] ^x03Wygrales super kase ^x01%i^x03$!", moneybonus);
cs_set_user_money(id, moneybonus);
}
case 2:
{
set_user_gravity(id, get_user_gravity(id)-0.3);
ColorChat(id, GREEN, "[COD:MW] ^x03Wygrales nizsza grawitacje!");
}
case 3:
ColorChat(id, GREEN, "[COD:MW] ^x03Niestety nic nie wygrales!");
case 4:
{
new bonusxp = random_num(c_expmin ,75);
cod_set_user_xp(id, cod_get_user_xp(id)+bonusxp);
ColorChat(id, GREEN, "[COD:MW] ^x03Wygrales ^x01%i^x03 dodatkowego EXP'a !", bonusxp);
}
case 5:
{
cod_set_user_perk(id, -1, -1, 1);
ColorChat(id, GREEN, "[COD:MW] ^x03Wygrales losowy perk!");
}
case 6:
{
new healthbonus = random_num(10,c_tramal);
set_user_health(id, get_user_health(id)+healthbonus);
ColorChat(id, GREEN, "[COD:MW] ^x03Wygrales ^x01%i^x03 dodatkowego HP!", healthbonus);
}
case 7:
{
new healthbonus = random_num(10,c_ibuprofen);
set_user_health(id, get_user_health(id)-healthbonus);
ColorChat(id, GREEN, "[COD:MW] ^x03Straciles ^x01%i^x03 HP!", healthbonus);
}
case 8:
ColorChat(id, GREEN, "[COD:MW] ^x03Niestety nic nie wygrales !");
case 9:
{
new xpbonus = random_num(75,c_expmax);
cod_set_user_xp(id, cod_get_user_xp(id)+xpbonus);
ColorChat(id, GREEN, "[COD:MW] ^x03Wygrales ^x01%i^x03 dodatkowego EXP'a!", xpbonus);
}
case 10:
{
cs_set_user_money(id, kasa+c_lotto);
ColorChat(id, GREEN, "[COD:MW] ^x03Nic nie wygrales, ale monety sie zwrocily!");
}
}
}
else
ColorChat(id, GREEN, "[COD:MW] ^x03Masz za malo monet!");
}
case 5:
{
if(kasa >= c_doswiadczenie)
{
new exp = cod_get_user_xp(id);
new losowy = random_num(c_expmin, c_expmax);
cod_set_user_coins(id, kasa-c_doswiadczenie);
cod_set_user_xp(id, exp+losowy)
ColorChat(id, GREEN, "[COD:MW] ^x03Dostales ^x01%i^x03 EXP'a!", losowy);
}
else
ColorChat(id, GREEN, "[COD:MW] ^x03Masz za malo monet!");
}
case 6:
{
if(kasa >= c_ruletka)
{
cod_set_user_coins(id, kasa-c_ruletka);
cod_set_user_perk(id, -1, -1, 1);
ColorChat(id, GREEN, "[COD:MW] ^x03Kupiles losowy perk!");
}
else
ColorChat(id, GREEN, "[COD:MW] ^x03Masz za malo monet!");
}
case 7:
{
if(cod_get_user_perk(id))
{
cod_set_user_perk(id, 0, 0, 0);
cod_set_user_coins(id, kasa+c_sell)
client_print(id, print_chat, "[SKLEP] Dostales +5 monet .!");
}
}
#if defined NAPRAWAPERKU
case 8:
{
if(kasa >=c_naprawa)
{
new uszkodzenia_perku = cod_get_perk_durability(id);
if(uszkodzenia_perku+c_wytrzymalosc>=100)
{
cod_set_perk_durability(id, 100);
ColorChat(id, GREEN, "[COD:MW] ^x03Twoj perk jest w pelni naprawiony!", cod_get_perk_durability(id));
}
else
{
cod_set_perk_durability(id, uszkodzenia_perku+c_wytrzymalosc);
ColorChat(id, GREEN, "[COD:MW] ^x03Kupiles ^x01+%i^x03 wytrzymalosci perku!", c_wytrzymalosc);
ColorChat(id, GREEN, "[COD:MW] ^x03Wytrzymalosc twojego perku wynosi ^x01%i", cod_get_perk_durability(id));
}
cod_set_user_coins(id, kasa-c_naprawa);
}
else
ColorChat(id, GREEN, "[COD:MW] ^x03Masz za malo monet!");
}
#endif
}
return PLUGIN_CONTINUE;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/