03.12.2017, 13:35
I want to ask ..
How to create a banlist so that when I click on a banned player so it gets unban
How to create a banlist so that when I click on a banned player so it gets unban
new
LastBanName[10][24],
LastBanIP[10][16],
LastBanReason[10][32]
;
#define banlist 4646
stock AddPlayerBanList(const playername[24], const reason[32], const ip[16])
{
LastBanName[0] = LastBanName[1];
LastBanName[1] = LastBanName[2];
LastBanName[2] = LastBanName[3];
LastBanName[3] = LastBanName[4];
LastBanName[4] = LastBanName[5];
LastBanName[5] = LastBanName[6];
LastBanName[6] = LastBanName[7];
LastBanName[7] = LastBanName[8];
LastBanName[8] = LastBanName[9];
LastBanName[9] = playername;
LastBanIP[0] = LastBanIP[1];
LastBanIP[1] = LastBanIP[2];
LastBanIP[2] = LastBanIP[3];
LastBanIP[3] = LastBanIP[4];
LastBanIP[4] = LastBanIP[5];
LastBanIP[5] = LastBanIP[6];
LastBanIP[6] = LastBanIP[7];
LastBanIP[7] = LastBanIP[8];
LastBanIP[8] = LastBanIP[9];
LastBanIP[9] = ip;
LastBanReason[0] = LastBanReason[1];
LastBanReason[1] = LastBanReason[2];
LastBanReason[2] = LastBanReason[3];
LastBanReason[3] = LastBanReason[4];
LastBanReason[4] = LastBanReason[5];
LastBanReason[5] = LastBanReason[6];
LastBanReason[6] = LastBanReason[7];
LastBanReason[7] = LastBanReason[8];
LastBanReason[8] = LastBanReason[9];
LastBanReason[9] = reason;
return 1;
}
//to ongamemodeinit
for(new b = 0; b < 10; b++)
{
LastBanName[b] = "N/A";
LastBanIP[b] = "N/A";
LastBanReason[b] = "N/A";
}
//to ban cmd
AddPlayerBanList(name,reason,ipadr);
CMD:bans(playerid,params[])
{
if(User[playerid][USER_ADMIN] < 4) return 0;
new str[1480],line[148];
for(new b = 0; b < 10; b ++)
{
format(line, 148, "{FFFFFF}Username: {FFFF00}%s\t{FFFFFF}Reason: {FF0000}%s\t{FFFFFF}IP: {FFFF00}%s\n", LastBanName[b], LastBanReason[b], LastBanIP[b]);
strcat(str, line);
}
ShowPlayerDialog(playerid, banlist, DIALOG_STYLE_TABLIST, "Recent Bans",str,"Unban","Cancel");
return 1;
}
else if(dialogid == banlist)
{
if(response)
{
if(strcmp("N/A", LastBanName[listitem], true))
{
new str[128], adminname[24], file[64];
format(str, sizeof(str), "unbanip %s", LastBanIP[listitem]);
SendRconCommand(str);
SendRconCommand("reloadbans");
GetPlayerName(playerid,adminname,24);
format(file, sizeof(file), "/Users/%s.ini", LastBanName[listitem]);
dini_IntSet(file, "Ban", 0);
format(str,128,"%s (ID: %d) has unbanned IP %s and username %s.",adminname,playerid,LastBanIP[listitem],LastBanName[listitem]);
SendAdminInfo(str);
LastBanName[listitem] = "N/A";
LastBanIP[listitem] = "N/A";
LastBanReason[listitem] = "N/A";
}
else return SendError(playerid,"Invalid ban!");
}
}