/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <fun>
#include <hamsandwich>
#include <colorchat>
#include <nvault>
#define PLUGIN "Kes rendszer"
#define VERSION "1.0"
#define AUTHOR "fear_ezmegmi"
new g_maxsebesseg[33];
new g_kes[33];
new g_alapolesek[33];
new g_kezdoolesek[33];
new g_haladoolesek[33];
new g_save;
new kezdokes;
new haladokes;
new profikes;
new alapsebesseg;
new kezdosebesseg;
new haladosebesseg;
new profisebesseg;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /kesek", "ShowKesMenu")
register_event("CurWeapon", "Event_CurWeapon", "be", "1=1")
RegisterHam(Ham_Killed, "player", "fwd_Player_Killed")
kezdokes = register_cvar("Kezdokes", "100");
haladokes = register_cvar("Haladokes", "200");
profikes = register_cvar("Profikes", "300");
alapsebesseg = register_cvar("Alapsebesseg", "320");
kezdosebesseg = register_cvar("Kezdosebesseg", "400");
haladosebesseg = register_cvar("Haladosebesseg", "500");
profisebesseg = register_cvar("Profisebesseg", "750");
g_save = nvault_open("kesmenu")
if(g_save == INVALID_HANDLE)
{
set_fail_state( "Error opening nVault" );
}
}
public fwd_Player_Killed(victim, attacker, shouldgib)
{
if(is_user_connected(attacker))
{
if(get_user_weapon(attacker) == CSW_KNIFE)
{
if(g_kes[attacker] == 1)
{
if(g_alapolesek[attacker] < get_pcvar_num(kezdokes))
{
g_alapolesek[attacker]++;
if(g_alapolesek[attacker] >= get_pcvar_num(kezdokes))
{
ColorChat(attacker, GREEN, "Gratulalok! Elerted a kovetkezo kes szintet!");
}
}
}
if(g_kes[attacker] == 2)
{
if(g_kezdoolesek[attacker] < get_pcvar_num(haladokes))
{
g_kezdoolesek[attacker]++;
if(g_kezdoolesek[attacker] >= get_pcvar_num(haladokes))
{
ColorChat(attacker, GREEN, "Gratulalok! Elerted a kovetkezo kes szintet!");
}
}
}
if(g_kes[attacker] == 3)
{
if(g_haladoolesek[attacker] >= get_pcvar_num(profikes))
{
g_haladoolesek[attacker]++;
if(g_haladoolesek[attacker] < get_pcvar_num(profikes))
{
ColorChat(attacker, GREEN, "Gratulalok! Elerted a kovetkezo kes szintet!");
}
}
}
}
}
}
public plugin_end()
{
nvault_close(g_save);
}
public ShowKesMenu(id)
{
new string[70];
format(string, charsmax(string), "\y[\rKES \w- \rMENU\y]^n\wValassz kest!");
new menu = menu_create(string, "kesmenu_handler");
new string_kes2[250];
new string_kes3[250];
new string_kes4[250];
if(g_alapolesek[id] >= get_pcvar_num(kezdokes))
{
if(g_kes[id] == 2)
{
format(string_kes2, sizeof(string_kes2), "\yKezdo kes \y[\r%d\w/\r%d\y]", g_alapolesek[id], get_pcvar_num(kezdokes));
}
else
{
format(string_kes2, sizeof(string_kes2), "\rKezdo kes \y[\r%d\w/\r%d\y]", g_alapolesek[id], get_pcvar_num(kezdokes));
}
}
else
{
format(string_kes2, sizeof(string_kes2), "\dKezdo kes [%d/%d]", g_alapolesek[id], get_pcvar_num(kezdokes));
}
if(g_kezdoolesek[id] >= get_pcvar_num(haladokes))
{
if(g_kes[id] == 3)
{
format(string_kes3, sizeof(string_kes3), "\yHalado kes \y[\r%d\w/\r%d\y]", g_kezdoolesek[id], get_pcvar_num(haladokes));
}
else
{
format(string_kes3, sizeof(string_kes3), "\rHalado kes \y[\r%d\w/\r%d\y]", g_kezdoolesek[id], get_pcvar_num(haladokes));
}
}
else
{
format(string_kes3, sizeof(string_kes3), "\dHalado kes [%d/%d]", g_kezdoolesek[id], get_pcvar_num(haladokes));
}
if(g_haladoolesek[id] >= get_pcvar_num(profikes))
{
if(g_kes[id] == 4)
{
format(string_kes4, sizeof(string_kes4), "\yProfi kes \y[\r%d\w/\r%d\y]", g_haladoolesek[id], get_pcvar_num(profikes));
}
else
{
format(string_kes4, sizeof(string_kes4), "\rProfi kes \y[\r%d\w/\r%d\y]", g_haladoolesek[id], get_pcvar_num(profikes));
}
}
else
{
format(string_kes4, sizeof(string_kes4), "\dProfi kes [%d/%d]", g_haladoolesek[id], get_pcvar_num(profikes));
}
if(g_kes[id] == 1)
{
menu_additem(menu, "\yAlap kes", "1", 0);
}
else
{
menu_additem(menu, "\rAlap kes", "1", 0);
}
menu_additem(menu, string_kes2, "2", 0);
menu_additem(menu, string_kes3, "3", 0);
menu_additem(menu, string_kes4, "4", 0);
menu_setprop(menu, MPROP_NUMBER_COLOR, "\w" );
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public kesmenu_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
g_kes[id] = 1;
g_maxsebesseg[id] = get_pcvar_num(alapsebesseg);
ColorChat(id, GREEN, "Sikeresen kivalasztottad az uj kesed!");
}
case 2:
{
if(g_alapolesek[id] >= get_pcvar_num(kezdokes))
{
g_kes[id] = 2;
g_maxsebesseg[id] = get_pcvar_num(kezdosebesseg);
ColorChat(id, GREEN, "Sikeresen kivalasztottad az uj kesed!");
}
else
{
ShowKesMenu(id);
}
}
case 3:
{
if(g_kezdoolesek[id] >= get_pcvar_num(haladokes))
{
g_kes[id] = 3;
g_maxsebesseg[id] = get_pcvar_num(haladosebesseg);
ColorChat(id, GREEN, "Sikeresen kivalasztottad az uj kesed!");
}
else
{
ShowKesMenu(id);
}
}
case 4:
{
if(g_haladoolesek[id] >= get_pcvar_num(profikes))
{
g_kes[id] = 4;
g_maxsebesseg[id] = get_pcvar_num(profisebesseg);
ColorChat(id, GREEN, "Sikeresen kivalasztottad az uj kesed!");
}
else
{
ShowKesMenu(id);
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public Event_CurWeapon(id)
{
if(get_user_weapon(id) == CSW_KNIFE)
{
set_user_maxspeed(id, float(g_maxsebesseg[id]))
}
}
public client_disconnect(id)
{
Save_Kes1_date(id);
Save_Kes2_date(id);
Save_Kes3_date(id);
}
public client_putinserver(id)
{
Load_Kes1_date(id);
Load_Kes2_date(id);
Load_Kes3_date(id);
g_kes[id] = 1;
g_maxsebesseg[id] = get_pcvar_num(alapsebesseg);
}
public Save_Kes1_date(id)
{
new vaultkey[64], vaultdata[256]
new name[32];
get_user_name(id, name, 31);
format(vaultkey, 63, "%sKesmenu1", name)
format(vaultdata, 255, "%d#", g_alapolesek[id])
nvault_set(g_save, vaultkey, vaultdata)
return PLUGIN_CONTINUE;
}
public Load_Kes1_date(id)
{
new vaultkey[64], vaultdata[256]
new name[32];
get_user_name(id, name, 31);
format(vaultkey, 63, "%sKesmenu1", name)
format(vaultdata, 255, "%d#", g_alapolesek[id])
nvault_get(g_save, vaultkey, vaultdata, 255)
replace_all(vaultdata, 255, "#", " ")
new playammo[32]
parse(vaultdata, playammo, 31)
g_alapolesek[id] = str_to_num(playammo)
return PLUGIN_CONTINUE;
}
public Save_Kes2_date(id)
{
new vaultkey[64], vaultdata[256]
new name[32];
get_user_name(id, name, 31);
format(vaultkey, 63, "%sKesmenu2", name)
format(vaultdata, 255, "%d#", g_kezdoolesek[id])
nvault_set(g_save, vaultkey, vaultdata)
return PLUGIN_CONTINUE;
}
public Load_Kes2_date(id)
{
new vaultkey[64], vaultdata[256]
new name[32];
get_user_name(id, name, 31);
format(vaultkey, 63, "%sKesmenu2", name)
format(vaultdata, 255, "%d#", g_kezdoolesek[id])
nvault_get(g_save, vaultkey, vaultdata, 255)
replace_all(vaultdata, 255, "#", " ")
new playammo[32]
parse(vaultdata, playammo, 31)
g_kezdoolesek[id] = str_to_num(playammo)
return PLUGIN_CONTINUE;
}
public Save_Kes3_date(id)
{
new vaultkey[64], vaultdata[256]
new name[32];
get_user_name(id, name, 31);
format(vaultkey, 63, "%sKesmenu3", name)
format(vaultdata, 255, "%d#", g_haladoolesek[id])
nvault_set(g_save, vaultkey, vaultdata)
return PLUGIN_CONTINUE;
}
public Load_Kes3_date(id)
{
new vaultkey[64], vaultdata[256]
new name[32];
get_user_name(id, name, 31);
format(vaultkey, 63, "%sKesmenu3", name)
format(vaultdata, 255, "%d#", g_haladoolesek[id])
nvault_get(g_save, vaultkey, vaultdata, 255)
replace_all(vaultdata, 255, "#", " ")
new playammo[32]
parse(vaultdata, playammo, 31)
g_haladoolesek[id] = str_to_num(playammo)
return PLUGIN_CONTINUE;
}