16.02.2016, 13:46
I am using the Lux Admin System and I am having a problem with /ban and /kick commands. When a player gets kicked he doesn't get the reason and just gets kicked and receives a message "Server Closed the Connection". The same problem is with /ban command. This is my /kick and /ban command script.
Can someone help me? Especially LuxurioN, who is the rightful scripter of Lux Admin System.
Код:
dcmd_kick(playerid,params[])
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE2, "Usage: /kick [PlayerID] [Reason]") &&
SendClientMessage(playerid, orange, "Function: Will Kick the specified player");
new player1;
new string[128];
new playername[MAX_PLAYER_NAME];
new adminname [MAX_PLAYER_NAME];
player1 = strval(tmp);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
{
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
SendCommandToAdmins(playerid,"Kick");
if(!strlen(tmp2))
{
format(string,sizeof(string),"|- %s has been kicked by Administrator %s | Reason: Not Specified -|",playername,adminname);
SendClientMessageToAll(grey,string);
SaveIn("KickLog",string);
print(string);
return Kick(player1);
}
else
{
format(string,sizeof(string),"|- %s has been kicked by Administrator %s | Reason: %s -|",playername,adminname,params[2]);
SendClientMessageToAll(grey,string);
SaveIn("KickLog",string); print(string);
return Kick(player1);
}
}
else return ErrorMessages(playerid, 3);
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
}
//==============================================================================
dcmd_ban(playerid,params[])
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 1)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE2, "Usage: /ban [PlayerID] [Reason]") &&
SendClientMessage(playerid, orange, "Function: Will Ban the specified player");
if(!strlen(tmp2))
return SendClientMessage(playerid, red, "ERROR: Reason unspecified!");
new player1;
new string[128];
new playername[MAX_PLAYER_NAME];
new adminname [MAX_PLAYER_NAME];
player1 = strval(tmp);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
{
new Format[500];
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
format(Format,sizeof(Format),"You have been banned!\n\nAdmin: %s\n\nReason:",adminname,params[2]);
ShowPlayerDialog(player1,DIALOGID_BAN,DIALOG_STYLE_MSGBOX,"BANNED",Format,"Ok","");
new year,month,day; getdate(year, month, day);
new hour,minuite,second; gettime(hour,minuite,second);
SendCommandToAdmins(playerid,"Ban");
format(string,sizeof(string),"|- %s has been Banned by Administrator %s | Reason: %s [Date: %d/%d/%d] [Time: %d:%d]",playername,adminname,params[2],day,month,year,hour,minuite);
SendClientMessageToAll(lightred,string);
format(Format,sizeof(Format),"You have been banned!\n\nAdmin: %s\n\nReason:",adminname,params[2]);
ShowPlayerDialog(player1,DIALOGID_BAN,DIALOG_STYLE_MSGBOX,"BANNED",Format,"Ok","");
new str[128];
format(str,sizeof(str),"%s has been Banned by Administrator %s | Reason: %s",playername,adminname,params[2]);
SaveIn("BanLog",str);
print(string);
if(udb_Exists(PlayerName2(player1)) && AccInfo[player1][LoggedIn] == 1)
dUserSetINT(PlayerName2(player1)).("Banned",1);
format(string,sizeof(string),"Banned by Administrator %s. | Reason: %s",adminname,params[2]);
BanEx(player1, string);
}
else return SendClientMessage(playerid, red, "ERRPR: Player is not connected or is yourself or is the highest level admin");
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
return 0;
}

