PHP Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "unBanned Menu"
#define VERSION "1.0"
#define AUTHOR "Free~Man"
new Array:g_DataName
new g_DataNums
new g_menuPosition[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /unban", "unBanMenu")
g_DataName = ArrayCreate(32);
register_menucmd(register_menuid("unBanMenuid"), 1203, "unBanMenuHandle")
}
public unBanMenu(id, pos)
{
new fp = fopen("listip.cfg", "r");
if (!fp)
{
return 0;
}
new text[256];
new szData[32];
while (!feof(fp))
{
fgets(fp, text, charsmax(text));
if (text[0] == ';')
{
continue;
}
if (parse(text, szData, charsmax(szData)) < 1)
{
continue;
}
ArrayPushString(g_DataName, szData);
g_DataNums++;
}
if (pos < 0)
return
new menuBody[512]
new start = pos * 8
new b = 0
if (start >= g_DataNums)
start = pos = g_menuPosition[id] = 0
new len = format(menuBody, 511, "unBan Menu^n^n")
new end = start + 8
new keys = MENU_KEY_0
if (end > g_DataNums)
end = g_DataNums
for (new a = start; a < end; ++a)
{
keys |= (1<<b)
ArrayGetString(g_DataName, a, szData, charsmax(szData));
len += format(menuBody[len], 511-len, "%d. %s^n", ++b, szData)
}
if (end != g_DataNums)
{
format(menuBody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT")
keys |= MENU_KEY_9
}
else
format(menuBody[len], 511-len, "^n0. %L", id, pos ? "BACK" : "EXIT")
new menuName[64]
format(menuName, 63, "unBanMenuid")
show_menu(id, keys, menuBody, -1, menuName)
}
public unBanMenuHandle(id, menu, key)
{
switch( key )
{
case 8: unBanMenu(id, ++g_menuPosition[id])
case 9: unBanMenu(id, --g_menuPosition[id])
default:
{
new g_DataNums;
new menuBody[624], szData[32];
new a = g_menuPosition[id] * 8 + key
ArrayGetString(g_DataName, a, szData, charsmax(szData));
g_DataNums++;
format(menuBody, charsmax(menuBody), "; %s", szData);
write_file("listip.cfg", menuBody, g_DataNums - 1);
unBanMenu(id, g_menuPosition[id])
}
}
}