Playerid bug -
RandomDude - 23.07.2013
Code
pawn Код:
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(playerid, adminname, sizeof(adminname));
GetPlayerName(playerid, playername, sizeof(playername));
SendCommandToAdmins(playerid,"Kick");
if(!strlen(tmp2))
{
format(string,sizeof(string),"%s(%d) has been kicked by an admin.",playername,playerid);
SendClientMessageToAll(GREEN,string);
SaveIn("KickLog",string);
print(string);
return Kick(player1);
}
else
{
format(string,sizeof(string),"%s(%d) has been kicked by an admin reason:",playername,playerid,params[2]);
SendClientMessageToAll(GREEN,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");
}
In game
it happens like this
%s(%d) has been kicked by an admin reason:
Jack(0) has been kicked by an admin reason: lala
IT GIVES ADMINS ID not the players ID
Re: Playerid bug -
JimmyCh - 23.07.2013
This should work:
pawn Код:
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(playerid, adminname, sizeof(adminname));
GetPlayerName(player1, playername, sizeof(playername));
SendCommandToAdmins(playerid,"Kick");
if(!strlen(tmp2))
{
format(string,sizeof(string),"%s(%d) has been kicked by an admin.",playername,player1);
SendClientMessageToAll(GREEN,string);
SaveIn("KickLog",string);
print(string);
return Kick(player1);
}
else
{
format(string,sizeof(string),"%s(%d) has been kicked by an admin reason:",playername,player1,params[2]);
SendClientMessageToAll(GREEN,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 command!");
}
Tell me if you got any error.
Re: Playerid bug -
RandomDude - 23.07.2013
What did you change?
Re: Playerid bug -
RandomDude - 23.07.2013
Ahh yes I see what I did wrong thanks anyways!
That was the solution
Re: Playerid bug -
RandomDude - 23.07.2013
DOES NOT WORK NOW IT GIVES ADMIN NAME AND ID
Re: Playerid bug -
JimmyCh - 23.07.2013
Add me on Skype I will help fix it, jimmycherfan
Re: Playerid bug -
JimmyCh - 23.07.2013
This should work:
pawn Код:
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(playerid, adminname, sizeof(adminname));
GetPlayerName(player1, playername, sizeof(playername));
SendCommandToAdmins(playerid,"Kick");
if(!strlen(tmp2))
{
format(string,sizeof(string),"%s(%d) has been kicked by an admin.",playername,player1);
SendClientMessageToAll(GREEN,string);
SaveIn("KickLog",string);
print(string);
return Kick(player1);
}
else
{
format(string,sizeof(string),"%s(%d) has been kicked by an admin reason: %s",playername,player1,params[2]);
SendClientMessageToAll(GREEN,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 command!");
}
Re: Playerid bug -
RandomDude - 23.07.2013
nope ...
Re: Playerid bug -
JimmyCh - 23.07.2013
Grr this is weird! It's almost the same command as the one I have, but it's not working...
I swear the one I have on my script is the same but without the ID thing.
Tip from me: If this doesn't get a solution, remove the ID thing(You don't need it anyway, the player has already disconnected).
Re: Playerid bug -
ThePhenix - 23.07.2013
Try it:
PHP код:
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];
player1 = strval(tmp);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
{
SendCommandToAdmins(playerid,"Kick");
if(!strlen(tmp2))
{
format(string,sizeof(string),"%s(%d) has been kicked by an admin.", Name(player1),player1);
SendClientMessageToAll(GREEN,string);
SaveIn("KickLog",string);
print(string);
return Kick(player1);
}
else
{
format(string,sizeof(string),"%s(%d) has been kicked by an admin reason:",Name(player1),player1,params[2]);
SendClientMessageToAll(GREEN,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");
}
stock Name(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
return name;
}