27.01.2013, 15:32
i have a few commands and the messages arent saying the correct thing
pawn Код:
This one just says Player bla has been exploded by bla < so basically same name used twice
pawn Код:
COMMAND:explode(playerid,params[])
{
SendAdminText(playerid, "/explode", params);
if(APlayerData[playerid][PlayerLevel] == 1) return SendClientMessage(playerid,0xff0000ff,"You aren't an admin");
new pid, PlayerToblow[128], pname[32], Msg[128];
if(sscanf(params,"u",pid))return SendClientMessage(playerid,0xff0000FF,"ERROR: Usage /explode [playerid/name]");
if(pid != INVALID_PLAYER_ID && IsPlayerConnected(pid))
{
new Float:x,Float:y,Float:z;
GetPlayerPos(pid,x,y,z);
CreateExplosion(x,y,z,0,5.0);
GetPlayerName(playerid,pname,32);
GetPlayerName(playerid,PlayerToblow,128);
GameTextForPlayer(pid,"BOOM!",3000,3);
format(Msg, 128, "Player %s Has Been {ff0000}EXPLODED {ffff00}By: %s", PlayerToblow, pname);
SendClientMessageToAll(0xFFFF00FF, Msg);
return 1;
}
else SendClientMessage(playerid,0xff0000FF,"ERROR: Player not found");
return 1;
}
pawn Код:
This one says Player Has been warned By blaa For Blaa << the name of player warned doesnt get used and the admin who did it gets his name and the admin who warned and for the reason :S
pawn Код:
COMMAND:warn(playerid, params[])
{
new PlayerToWarn, Reason[128], ReasonMsg[128], Name[24], AdminNlame[128], Msg[256];
// Send the command to all admins so they can see it
SendAdminText(playerid, "/warn", params);
// Check if the player has logged in
if (APlayerData[playerid][LoggedIn] == true)
{
// Check if the player's admin-level is at least 1
if (APlayerData[playerid][PlayerLevel] >= 1)
{
if (sscanf(params, "us[128]", PlayerToWarn, Reason)) SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/warn <PlayerToWarn> <Reason>\"");
else
if (IsPlayerConnected(PlayerToWarn)) // If the player is a valid playerid (he's connected)
{
// Increase the number of warnings
APlayerData[PlayerToWarn][Warnings]++;
// Get the name of the player who warned the player
GetPlayerName(playerid, Name, sizeof(Name));
// Send the warned player a message who warned him and why he's been warned
format(ReasonMsg, 128, "You have been warned by %s %s", AdminLevelName[APlayerData[playerid][PlayerLevel]], Name);
SendClientMessage(PlayerToWarn, 0xFF0000FF, ReasonMsg);
format(ReasonMsg, 128, "Reason: %s", Reason);
SendClientMessage(PlayerToWarn, 0xFF0000FF, ReasonMsg);
// Get the name of the warned player
GetPlayerName(PlayerToWarn, Name, sizeof(Name));
GetPlayerName(playerid,AdminNlame,128);
// Let the admin know who has been warned and why
format(ReasonMsg, 128, "You have warned %s (warnings: %i/%i)", Name, APlayerData[PlayerToWarn][Warnings], AutoKickWarnings);
SendClientMessage(playerid, 0x00FF00FF, ReasonMsg);
format(ReasonMsg, 128, "Reason: %s", Reason);
SendClientMessage(playerid, 0xFF0000FF, ReasonMsg);
format(Msg, 128, "Player %s Has Been Warned By Administrator: %s For %s ", PlayerToWarn, Name, AdminNlame, Reason);
SendClientMessageToAll(0xffff00FF, Msg);
// Automatically kick the player if he got 3 warnings (if autokick is enabled)
if ((APlayerData[PlayerToWarn][Warnings] == AutoKickWarnings) && (AutoKickAfterWarn == 1))
Kick(PlayerToWarn);
}
else
SendClientMessage(playerid, 0xFF0000FF, "That player isn't online");
}
else
return 0;
}
else
return 0;
// Let the server know that this was a valid command
return 1;
}