#include <amxmodx>
#include <hamsandwich>
#include <csx>
#include <nvault>
#define MAX0 500
#define MAX1 250
#define MAX2 125
#define MAX3 5
#define MAX4 5
#define MAX5 100
#define MAX6 100
#define MAX7 65
#define MAX8 100
#define MAX9 100
#define MAX10 100
new szamlalo[33][11]
new bool:kesz[33][11]
// 0 Kivégző
// 1 Túlélésre született
// 2 Fejlövő
// 3 Végrehajtás köre
// 4 Hős
// 5 Plant
// 6 Def mester
// 7 AWP mester
// 8 Ak47 Mester
// 9 M4A1 Mester
// 10 Deagle Mester
new g_vault
public plugin_init()
{
register_plugin("Kuldetesek", "1.0", "petrik")
register_clcmd("say /kuldetes","menuu")
RegisterHam(Ham_Killed,"player","Forward_PlayerKilled",1)
register_logevent("logevent_round_end", 2, "1=Round_End")
register_event("DeathMsg", "death_headshot", "a", "3=1")
RegisterHam( Ham_TakeDamage, "player", "fw_takedamage" )
g_vault = nvault_open("pontrendszer")
}
public Forward_PlayerKilled(victim, attacker){
if(victim == attacker)
return PLUGIN_CONTINUE
if( szamlalo[attacker][0] >= MAX0)
kesz[attacker][0] =true
else
szamlalo[attacker][0]++
if(get_user_health(attacker) == 1)
if( szamlalo[attacker][4] >= MAX4)
kesz[attacker][4] =true
else
szamlalo[attacker][4]++
return PLUGIN_CONTINUE
}
public logevent_round_end(){
new id
for(id = 1 ; id <= get_maxplayers() ; id++){
if(szamlalo[id][3] <= 5)
kesz[id][3] = true
szamlalo[id][3] = 0
if(is_user_alive(id))
if( szamlalo[id][1] >= MAX1)
kesz[id][1] =true
else
szamlalo[id][1]++
}
}
public death_headshot(){
new id = read_data(2)
if( szamlalo[id][2] >= MAX2)
kesz[id][2] =true
else
szamlalo[id][2]++
}
public bomb_planted(id)
{
if( szamlalo[id][5] >= MAX5)
kesz[id][5] =true
else
szamlalo[id][5]++
}
public bomb_defused(id)
{
if( szamlalo[id][6] >= MAX6)
kesz[id][6] =true
else
szamlalo[id][6]++
}
public fw_takedamage(victim, inflictor, attacker, Float:dam, bits)
{
if(!is_user_alive(victim))
return PLUGIN_CONTINUE
static Gun
Gun = get_user_weapon(attacker)
if(Gun ==CSW_AWP)
if( szamlalo[attacker][7] >= MAX7)
kesz[attacker][7] =true
else
szamlalo[attacker][7]++
if(Gun ==CSW_AK47)
if( szamlalo[attacker][8] >= MAX8)
kesz[attacker][8] =true
else
szamlalo[attacker][8]++
if(Gun ==CSW_M4A1)
if( szamlalo[attacker][9] >= MAX9)
kesz[attacker][9] =true
else
szamlalo[attacker][9]++
if(Gun ==CSW_DEAGLE)
if( szamlalo[attacker][10] >= MAX10)
kesz[attacker][10] =true
else
szamlalo[attacker][10]++
return HAM_IGNORED
}
public menuu(id){
new menu = menu_create( "\wFrissiteshez nyomj egy szamot", "menu_handler")
//0(1.menu)
new szoveg0[65]
if(kesz[id][0] == true)
copy(szoveg0, 29, "\yKivegzo | \rTeljesitve\y")
else{
new sz0[65]
formatex( sz0, charsmax(sz0), "\yKivegzo | olj meg 500/\d(\r%d\d)\y",szamlalo[id][0])
copy(szoveg0, 64, sz0)
}
menu_additem(menu, szoveg0, "1", 0)
new szoveg1[65]
if(kesz[id][1] == true)
copy(szoveg1, 29, "\yTulelesre szuletett| \rTeljesitve\y")
else{
new sz1[65]
formatex( sz1, charsmax(sz1), "\yTulelesre szuletett | elj tul 250/\d(\r%d\d)\y",szamlalo[id][1])
copy(szoveg1, 64, sz1)
}
menu_additem(menu, szoveg1, "2", 0)
new szoveg2[65]
if(kesz[id][2] == true)
copy(szoveg2, 29, "\yFejlovo | \rTeljesitve\y")
else{
new sz2[65]
formatex( sz2, charsmax(sz2), "\yFejlovo | Ölj 125/\d(\r%d\d)\y fejlovessel\y",szamlalo[id][2])
copy(szoveg2, 64, sz2)
}
menu_additem(menu, szoveg2, "3", 0)
new szoveg3[65]
if(kesz[id][3] == true)
copy(szoveg3, 29, "\yVegrehajtas kore | \rTeljesitve\y")
else{
new sz3[65]
formatex( sz3, charsmax(sz3), "\yVegrehajtas kore | Olj meg 5/\d(\r%d\d)\y ellenfelet egy korben",szamlalo[id][3])
copy(szoveg3, 64, sz3)
}
menu_additem(menu, szoveg3, "4", 0)
new szoveg4[65]
if(kesz[id][4] == true)
copy(szoveg4, 29, "\yHos | \rTeljesitve\y")
else{
new sz4[65]
formatex( sz4, charsmax(sz4), "\yHos | olj meg 5/\d(\r%d\d)\y ellenfelet 1 HP-val",szamlalo[id][4])
copy(szoveg4, 64, sz4)
}
menu_additem(menu, szoveg4, "5", 0)
new szoveg5[65]
if(kesz[id][5] == true)
copy(szoveg5, 29, "\yPlant Mester | \rTeljesitve\y")
else{
new sz5[65]
formatex( sz5, charsmax(sz5), "\yPlant Mester | Rakj le 100/\d(\r%d\d)\y bombat",szamlalo[id][5])
copy(szoveg5, 64, sz5)
}
menu_additem(menu, szoveg5, "6", 0)
new szoveg6[65]
if(kesz[id][6] == true)
copy(szoveg6, 29, "\yDef Mester | \rTeljesitve\y")
else{
new sz6[65]
formatex( sz6, charsmax(sz6), "\yDef mester | Hatastalanits 100/\d(\r%d\d)\y bombat",szamlalo[id][6])
copy(szoveg6, 64, sz6)
}
menu_additem(menu, szoveg6, "7", 0)
new szoveg7[65]
if(kesz[id][7] == true)
copy(szoveg7, 29, "\yAWP mester | \rTeljesitve\y")
else{
new sz7[65]
formatex( sz7, charsmax(sz7), "\yAWP mester | olj AWP-vel 65/\d(\r%d\d)\y embert",szamlalo[id][7])
copy(szoveg7, 64, sz7)
}
menu_additem(menu, szoveg7, "8", 0)
new szoveg8[65]
if(kesz[id][8] == true)
copy(szoveg8, 29, "\yAK47 mester | \rTeljesitve\y")
else{
new sz8[65]
formatex( sz8, charsmax(sz8), "\yAK47 mester | olj AWP-vel 65/\d(\r%d\d)\y embert",szamlalo[id][8])
copy(szoveg8, 64, sz8)
}
menu_additem(menu, szoveg8, "9", 0)
new szoveg9[65]
if(kesz[id][9] == true)
copy(szoveg9, 29, "\yM4A1 mester | \rTeljesitve\y")
else{
new sz9[65]
formatex( sz9, charsmax(sz9), "\yM4A1 mester | olj AWP-vel 65/\d(\r%d\d)\y embert",szamlalo[id][9])
copy(szoveg9, 64, sz9)
}
menu_additem(menu, szoveg9, "10", 0)
new szoveg10[65]
if(kesz[id][10] == true)
copy(szoveg10, 29, "\yDeagle mester | \rTeljesitve\y")
else{
new sz10[65]
formatex( sz10, charsmax(sz10), "\yDeagle mester | olj AWP-vel 65/\d(\r%d\d)\y embert",szamlalo[id][10])
copy(szoveg10, 64, sz10)
}
menu_additem(menu, szoveg10, "11", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
public menu_handler(id, menu, item)
{
if( item == MENU_EXIT ){
menu_destroy(menu)
return PLUGIN_HANDLED
}
menuu(id)
menu_destroy(menu)
return PLUGIN_HANDLED
}
//save
public client_disconnect(id)
{
Savesz(id)
Savek(id)
}
public Savek(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
new f
for(f = 0 ; f <= 10 ; f++){
format(vaultkey,63,"%s%dPONTRENDSZER2", name, f)
format(vaultdata,255,"%d#",kesz[id][f])
nvault_set(g_vault,vaultkey,vaultdata)
}
return PLUGIN_CONTINUE
}
public Savesz(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
new f
for(f = 0 ; f <= 10 ; f++){
format(vaultkey,63,"%s%dPONTRENDSZER", name, f)
format(vaultdata,255,"%d#",szamlalo[id][f])
nvault_set(g_vault,vaultkey,vaultdata)
}
return PLUGIN_CONTINUE
}
//load
public client_authorized(id){
Loadsz(id)
Loadk(id)
}
public Loadk(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
new Kesz[33][11],s
new f
for(f = 0 ; f <= 10 ; f++){
format(vaultkey,63,"%s%dPONTRENDSZER2", name, f)
format(vaultdata,255,"%d#",kesz[id][f])
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
s=f-1
parse(vaultdata, Kesz[id][f], s)
if(str_to_num(Kesz[id][f]) == 1)
kesz[id][f] = true
else
kesz[id][f] = false
}
return PLUGIN_CONTINUE
}
public Loadsz(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
new SZamlalo[33][11],s
new f = 0
for(f = 0 ; f <= 10 ; f++){
format(vaultkey,63,"%s%dPONTRENDSZER", name, f)
format(vaultdata,255,"%d#",szamlalo[id][f])
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
s=f-1
parse(vaultdata, SZamlalo[id][f], s)
szamlalo[id][f] = str_to_num(SZamlalo[id][f])
}
return PLUGIN_CONTINUE
}