#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <nvault>
#define PLUGIN "Rangok Menüben"
#define VERSION "1.0"
#define AUTHOR "V!rusHD"
new rangkill[33],szint[33]
new message[192]
new nev[32]
new Temp[192]
static color[10]
new g_vault
#define kill 3
new const prefix[kill+1][] = {
"[TyúkTolvaj][Lv0]",
"[Kezdő][Lv1]",
"[Haladó][Lv2]",
"[Profi][Lv3]"
}
new const olesek[kill] = {
10,
20,
30
}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("DeathMsg", "killek", "a")
g_vault = nvault_open("RangMenu")
register_clcmd("say /rangmenu", "menu")
register_clcmd("say", "sayhook")
}
public killek()
{
new killer = read_data(1)
new victim = read_data(2)
if(killer != victim)
rangkill[killer]++
while(rangkill[killer] >= rangkill[szint[killer]])
{
szint[killer]++
}
}
public menu(id)
{
new cim[121]
format(cim, charsmax(cim), "\rRang \wMenü:^n\yKILL:\r%d \w| \ySzint:\r%d",rangkill[id], prefix[szint[id]])
new menu = menu_create(cim, "menu_handler" )
menu_additem(menu, "\r[TyúkTolvaj][Lv0]", "1", 0);
menu_additem(menu, "\r[Kezdő][Lv1]", "2", 0);
menu_additem(menu, "\r[Haladó][Lv2]", "3", 0);
menu_additem(menu, "\r[Profi][Lv3]", "4", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public menu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_cancel(id);
return PLUGIN_HANDLED;
}
new command[6], name[64], access, callback;
menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
new key = str_to_num(command);
switch(key)
{
case 1:{
if(rangkill[id] >= 0)
{
ColorChat(id, GREY, "Ezt a ^4szintet már megszerezted.")
}
}
case 2:{
if(rangkill[id] >= 10)
{
ColorChat(id, GREY, "Ezt a ^4szintet már megszerezted.")
}
else
{
ColorChat(id, RED, "10 KILL-től kapod meg ezt a ^4szintet.")
}
}
case 3:{
if(rangkill[id] >= 20)
{
ColorChat(id, GREY, "Ezt a ^4szintet már megszerezted.")
}
else
{
ColorChat(id, RED, "20 KILL-től kapod meg ezt a ^4szintet.")
}
}
case 4:{
if(rangkill[id] >= 30)
{
ColorChat(id, GREY, "Ezt a ^4szintet már megszerezted.")
}
else
{
ColorChat(id, RED, "30 KILL-től kapod meg ezt a ^4szintet.")
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public sayhook(id)
{
read_args (message, 191)
remove_quotes (message)
if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
{
return PLUGIN_CONTINUE
}
get_user_name(id, nev, 31)
if(is_user_admin(id))
{
if(is_user_alive(id)) {
get_user_team(id, color, 9)
formatex(Temp, 191, "^x04%s ^x03%s^x04: %s", prefix[szint[id]], nev, message)
}
else {
get_user_team(id, color, 9)
formatex(Temp, 191, "^x04%s ^x03%s^x04: %s", prefix[szint[id]], nev, message)
}
}else{
if(is_user_alive(id)) {
get_user_team(id, color, 9)
formatex(Temp, 191, "^x04%s ^x03%s^x01: %s", prefix[szint[id]], nev, message)
}
else {
get_user_team(id, color, 9)
formatex(Temp, 191, "^x04%s ^x03%s^x01: %s", prefix[szint[id]], nev, message)
}
}
sendmessage(color)
return PLUGIN_HANDLED
}
public sendmessage(color[])
{
new teamName[10]
for(new player = 1; player < get_maxplayers(); player++)
{
get_user_team (player, teamName, 9)
teamf (player, color)
elkuldes(player, Temp)
teamf(player, teamName)
}
}
public teamf(player, team[])
{
message_begin(MSG_ONE, get_user_msgid("TeamInfo"), _, player)
write_byte(player)
write_string(team)
message_end()
}
public elkuldes(player, Temp[])
{
message_begin( MSG_ONE, get_user_msgid( "SayText" ), _, player)
write_byte( player )
write_string( Temp )
message_end()
}
public client_connect(id)
{
betoltes(id)
}
public client_disconnect(id)
{
mentes(id)
}
public mentes(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s", name)
format(vaultdata,255,"%i#%i#",rangkill[id],szint[id])
nvault_set(g_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public betoltes(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s", name)
format(vaultdata,255,"%i#%i#",rangkill[id],szint[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new lekeres_1[32],lekeres_2[32]
parse(vaultdata, lekeres_1, 31, lekeres_2, 31)
rangkill[id] = str_to_num(lekeres_1)
szint[id] = str_to_num(lekeres_2)
return PLUGIN_CONTINUE
}