/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <nvault>
#define PLUGIN "Fragverseny Plugin"
#define VERSION "1.3"
#define AUTHOR "6almasok"
new kezdesido[32],befejido[32],ujvegeter[33][32],ujkezdoido[33][32],nobughud[33]
new bool:fragverse[33]
new bool:setdebug[33]
new bool:nincstobb[33]
new Hudbj,vault
new oles[33]
new top1, top2, top3;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /fragverseny","verseny")
register_clcmd("KEZDES_IDO", "kezd_kuld")
register_clcmd("VEGETERESI_IDO", "befej_kuld")
register_event("DeathMsg","death","a")
vault = nvault_open("frag_verseny")
Hudbj = CreateHudSyncObj()
}
public death()
{
new killer = read_data(1)
new victim = read_data(2)
if(fragverse[killer] == true)
{
if(killer == victim)
{
oles[killer]++
}
}
}
public verseny(id)
{
if(get_user_flags(id)&ADMIN_CFG)
{
new cim[121]
new almenu[121]
new almenu1[121]
new Idoo[10];
get_time("%H:%M:%S", Idoo, charsmax(Idoo))
format(cim, charsmax(cim), "Fragverseny Beallitasok^n\rIdo: \d%s",Idoo)
new menu = menu_create(cim, "ido_menu_h" )
if(fragverse[id] == false)
{
format(almenu, charsmax(almenu),"\wKezdesi Ido: [\d%s\w] \y(Pl.: 18:00)", ujkezdoido[id])
menu_additem(menu,almenu,"1",0)
format(almenu1, charsmax(almenu1),"\wVegeteresi Ido: [\d%s\w] \y(Pl.: 20:00)", ujvegeter[id])
menu_additem(menu,almenu1,"2",0)
menu_additem(menu,"\dFragverseny Inditasa","3",0)
}
else if(fragverse[id] == true)
{
format(almenu, charsmax(almenu),"\wJelenleg megy a fragverseny!", ujkezdoido[id])
menu_additem(menu,almenu,"1",0)
menu_additem(menu,"\rFragverseny Leallitasa!","3",0)
}
menu_setprop(menu, MPROP_EXIT, "Kilepes");
menu_display(id, menu, 0);
}
}
public ido_menu_h(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[9], szName[64], name[32]
get_user_name(id, name, 31)
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:
{
if(fragverse[id] == false)
{
client_cmd(id, "messagemode KEZDES_IDO")
}
else if(fragverse[id] == true)
{
verseny(id)
}
}
case 2:
{
if(fragverse[id] == false)
{
client_cmd(id, "messagemode VEGETERESI_IDO")
}
else if(fragverse[id] == true)
{
verseny(id)
}
}
case 3:
{
if(fragverse[id] == false)
{
idozonacheck(id)
setdebug[id] = true
nobughud[id] = 0
nobughud[id]++
idozonacheck(id)
setdebug[id] = true
nobughud[id] = 0
nobughud[id]++
ColorChat(id, GREEN,"^1Elinditottad a szamlalot, ha annyi lesz az ido amennyit beutottel akkor elindul a fragverseny!")
}
else if(fragverse[id] == true)
{
rakerdezes(id)
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public rakerdezes(id)
{
new cim[121]
format(cim, charsmax(cim), "\rBiztosan leakarod allitani a fragversenyt?")
new menu = menu_create(cim, "rakerd_menu_h" )
menu_additem(menu,"Igen","1",0)
menu_additem(menu,"Nem","2",0)
menu_setprop(menu, MPROP_EXIT, "Kilepes");
menu_display(id, menu, 0);
}
public rakerd_menu_h(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[9], szName[64], name[32]
get_user_name(id, name, 31)
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:
{
if(fragverse[id] == true)
{
setdebug[id] = false
fragverse[id] = false
nobughud[id] = 0
leallitotta(id)
}
}
case 2:
{
verseny(id)
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public leallitotta(id)
{
set_hudmessage(255, 0, 0, -1.0, 0.15, 2, 6.0, 10.0)
show_hudmessage(0, "Egy admin leallitotta a fragversenyt!^nNincs nyertes!")
}
public idozonacheck(id)
{
new Idoo[10];
get_time("%H:%M", Idoo, charsmax(Idoo))
if(setdebug[id] == true)
set_task(1.0, "idozonacheck",id);
if(nobughud[id] >= 1 && fragverse[id] == false)
{
set_hudmessage(0, 255, 0, -1.0, 0.10, 0, 1.0, 1.0)
show_hudmessage(0, "Fragverseny elkezdodik %s-kor...",ujkezdoido[id])
}
if(fragverse[id] == true)
masikhud(id)
if(equal(Idoo, ujkezdoido[id]))
{
fragverse[id] = true
nobughud[id] = 0
}
else if(equal(Idoo, ujvegeter[id]))
{
setdebug[id] = false
fragverse[id] = false
nobughud[id] = 0
setdebug[id] = false
fragverse[id] = false
vegevan(id)
nobughud[id] = 0
}
return PLUGIN_CONTINUE;
}
public vegevan(id)
{
nincstobb[id] = true
if(nincstobb[id] == true)
{
set_task(1.0, "alegjobbak",id);
}
}
public alegjobbak(id)
{
nincstobb[id] = false
new players[32], num;
get_players(players, num);
SortCustom1D(players, num, "sors_legelsouj")
top1 = players[0]
top2 = players[1]
top3 = players[2]
new top1neve[33], top2neve[33], top3neve[33];
get_user_name(top1, top1neve, charsmax(top1neve))
get_user_name(top2, top2neve, charsmax(top2neve))
get_user_name(top3, top3neve, charsmax(top3neve))
if(num == 1)
{
set_hudmessage(0, 255, 0, -1.0, 0.05, 0, 6.0, 30.0)
ShowSyncHudMsg(0, Hudbj, "A fragverseny veget ert^nHelyezesek:^n1. %s",top1neve)
}
else if(num == 2)
{
set_hudmessage(0, 255, 0, -1.0, 0.05, 0, 6.0, 30.0)
ShowSyncHudMsg(0, Hudbj, "A fragverseny veget ert^nHelyezesek:^n1. %s || 2. %s",top1neve, top2neve)
}
else if(num >= 3)
{
set_hudmessage(0, 255, 0, -1.0, 0.05, 0, 6.0, 30.0)
ShowSyncHudMsg(0, Hudbj, "A fragverseny veget ert^nHelyezesek:^n1. %s || 2. %s || 3. %s ",top1neve, top2neve, top3neve)
}
client_print(0, print_chat, "")
}
public sors_legelsouj(id1, id2)
{
if(oles[id1] > oles[id2])
return -1;
else if(oles[id1] < oles[id2])
return 1;
return 0;
}
public masikhud(id)
{
if(fragverse[id] == true)
{
new players[32], num;
get_players(players, num);
SortCustom1D(players, num, "sors_legelso")
top1 = players[0]
top2 = players[1]
top3 = players[2]
new top1neve[33], top2neve[33], top3neve[33];
get_user_name(top1, top1neve, charsmax(top1neve))
get_user_name(top2, top2neve, charsmax(top2neve))
get_user_name(top3, top3neve, charsmax(top3neve))
if(num == 1)
{
set_hudmessage(0, 85, 255, -1.0, 0.05, 0, 6.0, 1.0)
ShowSyncHudMsg(0, Hudbj, "Jelenleg Fragverseny van, tart: %s-%s^n ^n1. %s KILL's: %d",ujkezdoido[id],ujvegeter[id],top1neve, oles[top1])
}
else if(num == 2)
{
set_hudmessage(0, 85, 255, -1.0, 0.05, 0, 6.0, 1.0)
ShowSyncHudMsg(0, Hudbj, "Jelenleg Fragverseny van, tart: %s-%s^n ^n1. %s KILL's: %d || 2. %s KILL's: %d",ujkezdoido[id],ujvegeter[id], top1neve, oles[top1], top2neve, oles[top2])
}
else if(num >= 3)
{
set_hudmessage(0, 85, 255, -1.0, 0.05, 0, 6.0, 1.0)
ShowSyncHudMsg(0, Hudbj, "Jelenleg Fragverseny van, tart: %s-%s^n ^n1. %s KILL's: %d || 2. %s KILL's: %d || 3. %s KILL's :%d",ujkezdoido[id],ujvegeter[id], top1neve, oles[top1], top2neve, oles[top2],top3neve, oles[top3])
}
}
client_print(0, print_chat, "")
}
public sors_legelso(id1, id2)
{
if(oles[id1] > oles[id2])
return -1;
else if(oles[id1] < oles[id2])
return 1;
return 0;
}
public kezd_kuld(id)
{
read_args(kezdesido, charsmax(kezdesido))
remove_quotes(kezdesido)
new hossz = strlen(kezdesido)
if(hossz < 5)
{
ColorChat(id, GREEN,"^1Helytelen karakter ^4formatum!")
client_cmd(id, "messagemode KEZDES_IDO")
if(hossz >= 6)
{
ColorChat(id, GREEN,"^1Helytelen karakter ^4formatum!")
client_cmd(id, "messagemode KEZDES_IDO")
}
}
else
{
ujkezdoido[id] = kezdesido
verseny(id)
}
return PLUGIN_CONTINUE
}
public befej_kuld(id)
{
read_args(befejido, charsmax(befejido))
remove_quotes(befejido)
new hossz = strlen(befejido)
if(hossz < 5)
{
ColorChat(id, GREEN,"^1Helytelen karakter ^4formatum!")
client_cmd(id, "messagemode VEGETERESI_IDO")
if(hossz >= 6)
{
ColorChat(id, GREEN,"^1Helytelen karakter ^4formatum!")
client_cmd(id, "messagemode VEGETERESI_IDO")
}
}
else
{
ujvegeter[id] = befejido
verseny(id)
}
return PLUGIN_CONTINUE
}
public mentes(id)
{
new vaultkey[64],vaultdata[256], name[32]
get_user_name(id, name, 31)
format(vaultkey,63,"%s-FRAG", name)
format(vaultdata,255,"%i#", oles[id])
nvault_set(vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public betoltes(id)
{
new vaultkey[64],vaultdata[256], name[32]
get_user_name(id, name, 31)
format(vaultkey,63,"%s-FRAG", name)
format(vaultdata,255,"%i#",oles[id])
nvault_get(vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new m_o[32]
parse(vaultdata, m_o, 31)
oles[id] = str_to_num(m_o)
return PLUGIN_CONTINUE
}
public client_disconnect(id)
{
if(fragverse[id] == false)
{
oles[id] = 0
}
mentes(id)
}
public client_connect(id)
{
if(fragverse[id] == false)
{
oles[id] = 0
}
betoltes(id)
}