#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Hulyeseg"
#define VERSION "1.0"
#define AUTHOR "Demon"
#define MAXJATEKOS 90
#define JOG ADMIN_LEVEL_B
new JSzListaban = 0;
enum _:ListaInfo { Nev[32], Nev2[32] };
new jatekos_lista[MAXJATEKOS][ListaInfo]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /hoza", "JatekosMenu");
register_clcmd("say /jelenlevok", "Lista");
register_clcmd("say /torol", "TorolMenu");
set_task(1.0, "ListaBetoltes")
}
public ListaMentes()
{
new fajl[200]
get_configsdir(fajl, 199)
format(fajl, 199, "%s/lista", fajl)
if (!dir_exists(fajl)) mkdir(fajl)
format(fajl, 199, "%s/lista.ini", fajl)
delete_file(fajl)
for(new i; i<JSzListaban; i++)
{
new sor[128]
formatex(sor, 127, "^"%s^" ^"%s^"", jatekos_lista[i][Nev], jatekos_lista[i][Nev2])
write_file(fajl, sor)
}
}
public ListaBetoltes()
{
new fajl[200]
get_configsdir(fajl, 199)
format(fajl, 199, "%s/lista", fajl)
format(fajl, 199, "%s/lista.ini", fajl)
JSzListaban=0;
if (!file_exists(fajl))
return
new ertekek[128], len, sor=0, nev[32], nev2[32]
while( (sor = read_file(fajl , sor , ertekek , 127 , len) ) != 0 )
{
parse(ertekek, nev, 31, nev2, 31)
copy(jatekos_lista[JSzListaban][Nev], 31, nev);
copy(jatekos_lista[JSzListaban][Nev2], 31, nev2);
JSzListaban++;
}
}
public TorolMenu(id) {
if(get_user_flags(id) & JOG) {
new menu = menu_create("\yJatekos torlese listabol:", "torolmenu_h")
new szid[10];
for( new i; i<JSzListaban; i++ ) {
num_to_str(i, szid, charsmax(szid));
menu_additem(menu, jatekos_lista[i][Nev2], szid, 0);
}
menu_display(id, menu, 0);
}
else
client_print(id, print_chat, "Nincs jogod ehhez a parancshoz!")
}
public torolmenu_h(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 szam = str_to_num(data);
new Name[32]
get_user_name(id, Name, charsmax(Name));
client_print(0, print_chat, "%s torolte %s -t a listarol.", Name, jatekos_lista[szam][Nev2])
JatekosTorleseListabol(id, szam)
return PLUGIN_HANDLED;
}
public Lista(id) {
new menu = menu_create("\yLista:", "lista_h")
new szid[10];
for( new i; i<JSzListaban; i++ ) {
num_to_str(i, szid, charsmax(szid));
menu_additem(menu, jatekos_lista[i][Nev2], szid, 0);
}
menu_display(id, menu, 0);
}
public lista_h(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 szam = str_to_num(data);
client_print(id, print_chat, "%s -t %s adta a listahoz.", jatekos_lista[szam][Nev2], jatekos_lista[szam][Nev])
Lista(id);
return PLUGIN_HANDLED;
}
public JatekosMenu(id) {
if(get_user_flags(id) & JOG) {
new menu = menu_create("\yJatekosok:", "jatekosmenu_h")
new players[32], pnum, tempid;
new szName[32], szTempid[10];
get_players(players, pnum);
for( new i; i<pnum; i++ ) {
tempid = players[i];
get_user_name(tempid, szName, charsmax(szName));
num_to_str(tempid, szTempid, charsmax(szTempid));
menu_additem(menu, szName, szTempid, 0);
}
menu_display(id, menu, 0);
}
else
client_print(id, print_chat, "Nincs jogod ehhez a parancshoz!")
}
public jatekosmenu_h(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 tempid = str_to_num(data);
if(JSzListaban>=MAXJATEKOS)
{
client_print(id, print_center, "Nem adhatsz a listadhoz tobb jatekost.")
return PLUGIN_HANDLED;
}
new Name[32], Name2[32]
get_user_name(id, Name, charsmax(Name));
get_user_name(tempid, Name2, charsmax(Name2));
for( new i; i<JSzListaban; i++ ) {
if(equali(jatekos_lista[i][Nev2], Name2))
{
client_print(id, print_center, "Ez a jatekos mar a listaban van.")
JatekosMenu(id);
return PLUGIN_HANDLED;
}
}
client_print(0, print_chat, "%s hozzaadta %s -t a listahoz.", Name, Name2)
copy(jatekos_lista[JSzListaban][Nev], 31, Name);
copy(jatekos_lista[JSzListaban][Nev2], 31, Name2);
JSzListaban++;
ListaMentes();
JatekosMenu(id);
return PLUGIN_HANDLED;
}
public JatekosTorleseListabol(id, szam)
{
for( new i = szam; i < JSzListaban; i++ )
{
if( (i + 1) == JSzListaban )
{
copy(jatekos_lista[i][Nev], 31, "");
copy(jatekos_lista[i][Nev2], 31, "");
}
else
{
copy(jatekos_lista[i][Nev], 31, jatekos_lista[i+1][Nev]);
copy(jatekos_lista[i][Nev2], 31, jatekos_lista[i+1][Nev2]);
}
}
JSzListaban--;
ListaMentes()
TorolMenu(id);
}