#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <nvault>
#include <colorchat>
#define PLUGIN "Pontrendszer"
#define VERSION "2.0"
#define AUTHOR "crazy & mforce"
new g_vault
new pontok[33]
new fegyo[33]
new nev[33][32]
new killp, killhsp
new ajandek1, ajandek2, ajandek3
new bombatesz, bombaszed
new bolt2, bolt3, bolt4, bolt5
new bombateszvip, bombaszedvip, killpvip, killhspvip, ajandek1vip, ajandek2vip, ajandek3vip
new sebzok[32];
new sebzesek[32];
new sebzettek[32];
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(180.0, "uzenet", 0, _, _, "b")
killp = register_cvar("pont_kill", "1")
killhsp = register_cvar("pont_killhs", "2")
killpvip = register_cvar("pont_killvip", "2")
killhspvip = register_cvar("pont_killhsvip", "3")
ajandek1 = register_cvar("pont_ajandek1", "2")
ajandek1vip = register_cvar("pont_ajandek1vip", "3")
ajandek2 = register_cvar("pont_ajandek2", "5")
ajandek2vip = register_cvar("pont_ajandek2vip", "8")
ajandek3 = register_cvar("pont_ajandek3", "10")
ajandek3 = register_cvar("pont_ajandek3vip", "15")
bombatesz = register_cvar("bomba_tesz", "3")
bombateszvip = register_cvar("bomba_teszvip", "5")
bombaszed = register_cvar("bomba_szed", "3")
bombaszedvip = register_cvar("bomba_szedvip", "5")
bolt2 = register_cvar("bolt_2", "250")
bolt3 = register_cvar("bolt_3", "450")
bolt4 = register_cvar("bolt_4", "600")
bolt5 = register_cvar("bolt_5", "750")
register_clcmd("team_say /pontok", "Shop")
register_clcmd("say /pontok", "Shop")
register_clcmd("team_say /pont", "Shop")
register_clcmd("say /pont", "Shop")
register_clcmd("team_say /skin", "Shop")
register_clcmd("say /skin", "Shop")
g_vault = nvault_open("PontRendszer");
register_event("CurWeapon", "fegyver_valtas", "be", "1=1")
RegisterHam(Ham_Killed, "player", "fw_player_killed", 1)
register_event("DeathMsg", "halal_event", "ae");
register_event("Damage", "sebzes_event", "be", "2!0", "3=0", "4!0")
RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
}
new m4a1r_jatekosnezet[] = "models/endless/rozsdas/v_m4a1.mdl"
new ak47r_jatekosnezet[] = "models/endless/rozsdas/v_ak47.mdl"
new awpr_jatekosnezet[] = "models/endless/rozsdas/v_awp.mdl"
new deagler_jatekosnezet[] = "models/endless//rozsdas/v_deagle.mdl"
new m4a1b_jatekosnezet[] = "models/endless/bronz/v_m4a1.mdl"
new ak47b_jatekosnezet[] = "models/endless/bronz/v_ak47.mdl"
new awpb_jatekosnezet[] = "models/endless/bronz/v_awp.mdl"
new deagleb_jatekosnezet[] = "models/endless/bronz/v_deagle.mdl"
new m4a1e_jatekosnezet[] = "models/endless/ezust/v_m4a1.mdl"
new ak47e_jatekosnezet[] = "models/endless/ezust/v_ak47.mdl"
new awpe_jatekosnezet[] = "models/endless/ezust/v_awp.mdl"
new deaglee_jatekosnezet[] = "models/endless/ezust/v_deagle.mdl"
new m4a1a_jatekosnezet[] = "models/endless/arany/v_m4a1.mdl"
new ak47a_jatekosnezet[] = "models/endless/arany/v_ak47.mdl"
new awpa_jatekosnezet[] = "models/endless/arany/v_awp.mdl"
new deaglea_jatekosnezet[] = "models/endless/arany/v_deagle.mdl"
new m4a1v_jatekosnezet[] = "models/endless/vip/v_m4a1.mdl"
new ak47v_jatekosnezet[] = "models/endless/vip/v_ak47.mdl"
new awpv_jatekosnezet[] = "models/endless/vip/v_awp.mdl"
new deaglev_jatekosnezet[] = "models/endless/vip/v_deagle.mdl"
new knifev_jatekosnezet[] = "models/endless/vip/v_knife.mdl"
public plugin_precache()
{
precache_model(m4a1r_jatekosnezet)
precache_model(ak47r_jatekosnezet)
precache_model(awpr_jatekosnezet)
precache_model(deagler_jatekosnezet)
precache_model(m4a1b_jatekosnezet)
precache_model(ak47b_jatekosnezet)
precache_model(awpb_jatekosnezet)
precache_model(deagleb_jatekosnezet)
precache_model(m4a1e_jatekosnezet)
precache_model(ak47e_jatekosnezet)
precache_model(awpe_jatekosnezet)
precache_model(deaglee_jatekosnezet)
precache_model(m4a1a_jatekosnezet)
precache_model(ak47a_jatekosnezet)
precache_model(awpa_jatekosnezet)
precache_model(deaglea_jatekosnezet)
precache_model(m4a1v_jatekosnezet)
precache_model(ak47v_jatekosnezet)
precache_model(awpv_jatekosnezet)
precache_model(deaglev_jatekosnezet)
precache_model(knifev_jatekosnezet)
}
public fegyver_valtas(id)
{
new fegyver = get_user_weapon(id)
if(fegyo[id] == 1 && fegyver == CSW_DEAGLE)
{
set_pev(id, pev_viewmodel2, deagler_jatekosnezet)
}
if(fegyo[id] == 1 && fegyver == CSW_AK47)
{
set_pev(id, pev_viewmodel2, ak47r_jatekosnezet)
}
if(fegyo[id] == 1 && fegyver == CSW_M4A1)
{
set_pev(id, pev_viewmodel2, m4a1r_jatekosnezet)
}
if(fegyo[id] == 1 && fegyver == CSW_AWP)
{
set_pev(id, pev_viewmodel2, awpr_jatekosnezet)
}
if(fegyo[id] == 2 && fegyver == CSW_DEAGLE)
{
set_pev(id, pev_viewmodel2, deagleb_jatekosnezet)
}
if(fegyo[id] == 2 && fegyver == CSW_AK47)
{
set_pev(id, pev_viewmodel2, ak47b_jatekosnezet)
}
if(fegyo[id] == 2 && fegyver == CSW_M4A1)
{
set_pev(id, pev_viewmodel2, m4a1b_jatekosnezet)
}
if(fegyo[id] == 2 && fegyver == CSW_AWP)
{
set_pev(id, pev_viewmodel2, awpb_jatekosnezet)
}
if(fegyo[id] == 3 && fegyver == CSW_DEAGLE)
{
set_pev(id, pev_viewmodel2, deaglee_jatekosnezet)
}
if(fegyo[id] == 3 && fegyver == CSW_AK47)
{
set_pev(id, pev_viewmodel2, ak47e_jatekosnezet)
}
if(fegyo[id] == 3 && fegyver == CSW_M4A1)
{
set_pev(id, pev_viewmodel2, m4a1e_jatekosnezet)
}
if(fegyo[id] == 3 && fegyver == CSW_AWP)
{
set_pev(id, pev_viewmodel2, awpe_jatekosnezet)
}
if(fegyo[id] == 4 && fegyver == CSW_DEAGLE)
{
set_pev(id, pev_viewmodel2, deaglea_jatekosnezet)
}
if(fegyo[id] == 4 && fegyver == CSW_AK47)
{
set_pev(id, pev_viewmodel2, ak47a_jatekosnezet)
}
if(fegyo[id] == 4 && fegyver == CSW_M4A1)
{
set_pev(id, pev_viewmodel2, m4a1a_jatekosnezet)
}
if(fegyo[id] == 4 && fegyver == CSW_AWP)
{
set_pev(id, pev_viewmodel2, awpa_jatekosnezet)
}
if(fegyo[id] == 5 && fegyver == CSW_DEAGLE)
{
set_pev(id, pev_viewmodel2, deaglev_jatekosnezet)
}
if(fegyo[id] == 5 && fegyver == CSW_AK47)
{
set_pev(id, pev_viewmodel2, ak47v_jatekosnezet)
}
if(fegyo[id] == 5 && fegyver == CSW_M4A1)
{
set_pev(id, pev_viewmodel2, m4a1v_jatekosnezet)
}
if(fegyo[id] == 5 && fegyver == CSW_AWP)
{
set_pev(id, pev_viewmodel2, awpv_jatekosnezet)
}
if(fegyo[id] == 5 && fegyver == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, knifev_jatekosnezet)
}
}
public spawn_event(id)
{
sebzok[id] = 0;
sebzesek[id] = 0;
sebzettek[id] = 0;
}
public sebzes_event(aldozat)
{
new tamado = get_user_attacker(aldozat);
new sebzes = read_data(2);
sebzesek[tamado] += sebzes;
if(sebzesek[tamado] >= 50)
{
sebzok[tamado] = aldozat;
sebzettek[aldozat] = tamado;
}
}
public halal_event()
{
new aldozat = read_data(2);
new tamado = read_data(1);
if(sebzettek[aldozat] && sebzettek[aldozat] != tamado)
{
new fragetkap = sebzettek[aldozat];
sebzok[fragetkap] = 0;
sebzesek[fragetkap] = 0;
sebzettek[aldozat] = 0;
new frag = get_user_frags(fragetkap) + 1
set_user_frags(fragetkap, frag);
message_begin(MSG_ALL, get_user_msgid("ScoreInfo"))
write_byte(fragetkap)
write_short(frag)
write_short(get_user_deaths(fragetkap))
write_short(0)
write_short(get_user_team(fragetkap))
message_end()
ColorChat(fragetkap, GREEN, "[EndLeSS]^x01 Kaptál^x03 +1^x01 fraget és^x03 1^x01 pontot.");
pontok[fragetkap] += 1
}
}
public bomb_planted(planter)
{
if(get_user_flags(planter) & ADMIN_LEVEL_C)
{
pontok[planter] += get_pcvar_num(bombateszvip)
ColorChat(planter, GREEN,"[EndLeSS]^x01 Kaptál^x03 %d ^x01pontot a bomba lerakásért!", get_pcvar_num(bombateszvip))
}
else
{
pontok[planter] += get_pcvar_num(bombatesz)
ColorChat(planter, GREEN,"[EndLeSS]^x01 Kaptál^x03 %d ^x01pontot a bomba lerakásért!", get_pcvar_num(bombatesz))
}
}
public bomb_defused(defuser)
{
if(get_user_flags(defuser) & ADMIN_LEVEL_C)
{
pontok[defuser] += get_pcvar_num(bombaszedvip)
ColorChat(defuser, GREEN,"[EndLeSS]^x01 Kaptál^x03 %d ^x01pontot a bomba hatástalanításért!", get_pcvar_num(bombaszedvip))
}
else
{
pontok[defuser] += get_pcvar_num(bombaszed)
ColorChat(defuser, GREEN,"[EndLeSS]^x01 Kaptál^x03 %d ^x01pontot a bomba hatástalanításért!", get_pcvar_num(bombaszed))
}
}
public fw_player_killed(victim, attacker, shouldgib)
{
if(!is_user_connected(attacker) || !is_user_connected(victim) || attacker == victim)
return PLUGIN_CONTINUE;
if(get_pdata_int(victim, 75) == HIT_HEAD && get_user_flags(attacker) & ADMIN_LEVEL_C)
{
pontok[attacker] += get_pcvar_num(killhspvip)
ColorChat(attacker, GREEN,"[EndLeSS]^x01 !HEADSHOT! Ez megért^x03 %d ^x01pontot!", get_pcvar_num(killhspvip))
}
else if(get_user_flags(attacker) & ADMIN_LEVEL_C)
{
pontok[attacker] += get_pcvar_num(killpvip)
}
else if(get_pdata_int(victim, 75) == HIT_HEAD)
{
pontok[attacker] += get_pcvar_num(killhsp)
ColorChat(attacker, GREEN,"[EndLeSS]^x01 !HEADSHOT! Ez megért^x03 %d ^x01pontot!", get_pcvar_num(killhsp))
}
else
{
pontok[attacker] += get_pcvar_num(killp)
}
return PLUGIN_CONTINUE
}
public Shop(id)
{
new boot2 = get_pcvar_num(bolt2)
new boot3 = get_pcvar_num(bolt3)
new boot4 = get_pcvar_num(bolt4)
new boot5 = get_pcvar_num(bolt5)
new menukapcs[256]
formatex(menukapcs, charsmax(menukapcs), "\\r[EndLeSS] \\yFegyver Csomagok ^nPontok: \\r%d", pontok[id]);
new menu2[256]
formatex(menu2, charsmax(menu2), "Rozsdás fegyvercsomag \\r|%d| \\yPont", boot2);
new menu3[256]
formatex(menu3, charsmax(menu3), "Bronz fegyvercsomag \\r|%d| \\yPont", boot3);
new menu4[256]
formatex(menu4, charsmax(menu4), "Ezüst fegyvercsomag \\r|%d| \\yPont", boot4);
new menu5[256]
formatex(menu5, charsmax(menu5), "Arany fegyvercsomag \\r|%d| \\yPont", boot5);
new menu = menu_create( menukapcs, "Shoph");
if(fegyo[id] == 0)
menu_additem(menu, "Alap fegyvercsomag \\y|AKTÍV|", "1", 0);
else
menu_additem(menu, "Alap fegyvercsomag", "1", 0);
if(fegyo[id] == 1)
menu_additem(menu, "Rozsdás fegyvercsomag \\y|AKTÍV|", "2", 0);
else
menu_additem(menu, menu2, "2", 0);
if(fegyo[id] == 2)
menu_additem(menu, "Bronz fegyvercsomag \\y|AKTÍV|", "3", 0);
else
menu_additem(menu, menu3, "3", 0);
if(fegyo[id] == 3)
menu_additem(menu, "Ezüst fegyvercsomag \\y|AKTÍV|", "4", 0);
else
menu_additem(menu, menu4, "4", 0);
if(fegyo[id] == 4)
menu_additem(menu, "Arany fegyvercsomag \\y|AKTÍV|", "5", 0);
else
menu_additem(menu, menu5, "5", 0);
if(fegyo[id] == 5)
menu_additem(menu, "VIP fegyvercsomag \\y|AKTÍV|", "6", 0);
else
menu_additem(menu, "VIP fegyvercsomag \\r|VIP|", "6", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Következő");
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public Shoph(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[9], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
new boot2 = get_pcvar_num(bolt2)
new boot3 = get_pcvar_num(bolt3)
new boot4 = get_pcvar_num(bolt4)
new boot5 = get_pcvar_num(bolt5)
switch(key)
{
case 1:
{
fegyo[id] = 0
ColorChat(id, GREEN, "[EndLeSS]^x01 Megkaptad az^x03 ALAP^x01 csomagot!")
}
case 2:
{
if (pontok[id] >= boot2 || get_user_flags(id) & ADMIN_KICK)
{
fegyo[id] = 1
ColorChat(id, GREEN, "[EndLeSS]^x01 Megkaptad a^x03 ROZSDÁS^x01 csomagot!")
}
else
{
ColorChat(id, GREEN, "[EndLeSS]^x01 Sajnos,nincs elég pontod...")
}
}
case 3:
{
if (pontok[id] >= boot3 || get_user_flags(id) & ADMIN_KICK)
{
fegyo[id] = 2
ColorChat(id, GREEN, "[EndLeSS]^x01 Megkaptad a^x03 BRONZ^x01 csomagot!")
}
else
{
ColorChat(id, GREEN, "[EndLeSS]^x01 Sajnos,nincs elég pontod...")
}
}
case 4:
{
if (pontok[id] >= boot4 || get_user_flags(id) & ADMIN_KICK)
{
fegyo[id] = 3
ColorChat(id, GREEN, "[EndLeSS]^x01 Megkaptad az^x03 EZÜST^x01 csomagot!")
}
else
{
ColorChat(id, GREEN, "[EndLeSS]^x01 Sajnos,nincs elég pontod...")
}
}
case 5:
{
if (pontok[id] >= boot5 || get_user_flags(id) & ADMIN_KICK)
{
fegyo[id] = 4
ColorChat(id, GREEN, "[EndLeSS]^x01 Megkaptad az^x03 ARANY^x01 csomagot!")
}
else
{
ColorChat(id, GREEN, "[EndLeSS]^x01 Sajnos,nincs elég pontod...")
}
}
case 6:
{
if (get_user_flags(id) & ADMIN_KICK || get_user_flags(id) & ADMIN_LEVEL_C)
{
fegyo[id] = 5
ColorChat(id, GREEN, "[EndLeSS]^x01 Megkaptad a^x03 VIP^x01 csomagot!")
}
else
{
ColorChat(id, GREEN, "[EndLeSS]^x01 Nem vagy^x03 VIP")
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public uzenet()
{
ColorChat(0, GREEN, "[EndLeSS]^x01 A pontjaid beváltásához használd a^x03 /pontok^x01 parancsot!")
}
public mentes(id)
{
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-PONTOK", nev[id])
format(vaultdata,255,"%d#%d", pontok[id], fegyo[id])
nvault_set(g_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public betoltes(id)
{
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-PONTOK", nev[id])
format(vaultdata,255,"%d#%d", pontok[id], fegyo[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new p_o[32], f_o[32]
parse(vaultdata, p_o, 31, f_o, 31)
pontok[id] = str_to_num(p_o)
fegyo[id] = str_to_num(f_o)
return PLUGIN_CONTINUE;
}
public client_disconnect(id)
{
mentes(id);
remove_task(id);
pontok[id] = 0;
fegyo[id] = 0;
}
public client_connect(id)
{
get_user_name(id, nev[id], 31)
betoltes(id);
set_task(300.0, "ajandek_1",id)
set_task(900.0, "ajandek_2",id)
set_task(1800.0, "ajandek_3",id)
}
public ajandek_1(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_C)
{
new penz = get_pcvar_num(ajandek1vip);
ColorChat(id, GREEN, "[EndLeSS]^x01 %d pont jár mert itt vagy már 5 perce!", penz)
pontok[id] += penz;
}
else
{
new penz = get_pcvar_num(ajandek1);
ColorChat(id, GREEN, "[EndLeSS]^x01 %d pont jár mert itt vagy már 5 perce!", penz)
pontok[id] += penz;
}
}
public ajandek_2(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_C)
{
new penz = get_pcvar_num(ajandek2vip);
ColorChat(id, GREEN, "[EndLeSS]^x01 %d pont jár mert itt vagy már 5 perce!", penz)
pontok[id] += penz;
}
else
{
new penz = get_pcvar_num(ajandek2);
ColorChat(id, GREEN, "[EndLeSS]^x01 %d pont pont jár mert itt vagy már 5 perce!", penz)
pontok[id] += penz;
}
}
public ajandek_3(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_C)
{
new penz = get_pcvar_num(ajandek3vip);
ColorChat(id, GREEN, "[EndLeSS]^x01 %d pont pont jár mert itt vagy már 5 perce!", penz)
pontok[id] += penz;
}
else
{
new penz = get_pcvar_num(ajandek3);
ColorChat(id, GREEN, "[EndLeSS]^x01 %d pont pont jár mert itt vagy már 5 perce!", penz)
pontok[id] += penz;
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/