if(iAdminValue == 0) { if(PlayerInfo[iTargetID][pAdmin] == 0) return SendClientMessage(playerid, COLOR_WHITE, "That player is not a Admininstrator!"); new you[128]; new me[128]; new all[128]; format(all, sizeof(all), "Adminstrator %s has been removed from Adminstrator Team. He is no longer adminstrator!", GetPlayerNameEx(iTargetID)); format(me, sizeof(me), "You removed %s in Admininstrator Team", GetPlayerNameEx(iTargetID)); format(you, sizeof(you), "You have been removed from Adminstrator Team by Adminstrator %s", GetPlayerNameEx(playerid)); SendClientMessage(iTargetID, COLOR_LIGHTBLUE, you); SendClientMessage(playerid, COLOR_WHITE, me); SendClientMessageToAll(COLOR_PINK, all); return 1; }
CMD:makeadmin(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] > 99998 && IsPlayerAdmin(playerid)) { new iAdminValue, iTargetID; if(!IsPlayerConnected(iTargetID)) return SendClientMessage(playerid,COLOR_GRAD2,"Invalid player specified."); if(sscanf(params, "ui", iTargetID, iAdminValue)) { SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /makeadmin [playerid] [level]"); SendClientMessageEx(playerid, COLOR_GRAD1, "Server Moderator[1], Junior Admin[2], General Admin[3], Senior Admin[4], Head Admin[1337]"); SendClientMessageEx(playerid, COLOR_GRAD1, "Server Manager[1338], Server Co-Owner[99998], Server Owner[99999]"); return 1; } if(PlayerInfo[playerid][pAdmin] == 99998 && iAdminValue == 99999) { SendClientMessage(playerid, COLOR_WHITE, "You can't set players admin level to 99999. Only Server Owner can do it!"); return 1; } if(PlayerInfo[playerid][pAdmin] == 99998 && iAdminValue == 99998) { SendClientMessage(playerid, COLOR_WHITE, "Only Server Owner can make people 99998 Admin."); return 1; } if(iAdminValue == 0) { if(PlayerInfo[iTargetID][pAdmin] == 0) return SendClientMessage(playerid, COLOR_WHITE, "That player is not a Admininstrator!"); new you[128]; new me[128]; new all[128]; format(all, sizeof(all), "Adminstrator %s has been removed from Adminstrator Team. He is no longer adminstrator!", GetPlayerNameEx(iTargetID)); format(me, sizeof(me), "You removed %s in Admininstrator Team", GetPlayerNameEx(iTargetID)); format(you, sizeof(you), "You have been removed from Adminstrator Team by Adminstrator %s", GetPlayerNameEx(playerid)); SendClientMessage(iTargetID, COLOR_LIGHTBLUE, you); SendClientMessage(playerid, COLOR_WHITE, me); SendClientMessageToAll(COLOR_PINK, all); return 1; } if(PlayerInfo[iTargetID][pAdmin] == 0) { new newsinfo[128]; new receiver[128]; new executer[128]; format(newsinfo, sizeof(newsinfo), "Welcome to our newest Adminstrator %s. He is here to protect our server and to improve your experince here!", GetPlayerNameEx(iTargetID)); format(executer, sizeof(executer), "You have added %s into Adminstrator Team", GetPlayerNameEx(iTargetID)); format(receiver, sizeof[receiver], "Congratulations! You are now on Adminstrator Team!. Added by Admininstrator %s (type /ah for admin helps)", GetPlayerNameEx(playerid)); SendClientMessage(iTargetID, COLOR_YELLOW, receiver); SendClientMessage(playerid, COLOR_REALRED, executer); SendClientMessageToAll(COLOR_REALRED, newsinfo); } new szMessage[47 + (MAX_PLAYER_NAME * 2)]; PlayerInfo[iTargetID][pAdmin] = iAdminValue; format(szMessage, sizeof(szMessage), "AdmCmd: %s has promoted %s to a level %d admin.", GetPlayerNameEx(playerid), GetPlayerNameEx(iTargetID), iAdminValue); ABroadCast(COLOR_LIGHTRED,szMessage, 2); format(szMessage, sizeof(szMessage), "You have been promoted to a level %d admin by %s.", iAdminValue, GetPlayerNameEx(playerid)); SendClientMessageEx(iTargetID, COLOR_LIGHTBLUE, szMessage); format(szMessage, sizeof(szMessage), "You have promoted %s to a level %d admin.", GetPlayerNameEx(iTargetID),iAdminValue); SendClientMessageEx(playerid, COLOR_LIGHTBLUE, szMessage); return 1; } else return SendClientMessage(playerid, COLOR_GRAD1, "You are not authorized to use this command!"); }
First off, it's either your define for COLOR_WHITE, or there is something that is blocking 'SendClientMessage' outside of the 'SendClientMessageEx' function. Try using the 'SendClientMessageEx' function with '-1' as the color.
|
CMD:makeadmin(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 99999 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_GRAD1, "You are not authorized to use this command!");
new iAdminValue, iTargetID;
if(sscanf(params, "ui", iTargetID, iAdminValue))
{
SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /makeadmin [playerid] [level]");
SendClientMessageEx(playerid, COLOR_GRAD1, "Server Moderator[1], Junior Admin[2], General Admin[3], Senior Admin[4], Head Admin[1337]");
SendClientMessageEx(playerid, COLOR_GRAD1, "Server Manager[1338], Server Co-Owner[99998], Server Owner[99999]");
return 1;
}
if(iTargetID == INVALID_PLAYER_ID || !IsPlayerConnected(iTargetID)) return SendClientMessage(playerid, COLOR_GRAD2, "Invalid player specified.");
switch(iAdminValue)
{
case 0 .. 4, 1337, 1338, 99998, 99999: {}
default: return SendClientMessage(playerid, COLOR_WHITE, "You must enter a valid level (0 - 4, 1337 - 1138 or 99998 - 99999)");
}
if(PlayerInfo[playerid][pAdmin] < 99999 && iAdminValue >= 99998) return SendClientMessage(playerid, COLOR_WHITE, "You can't set a player's admin level to 99998 or higher. Only Server Owners can do that!");
if(PlayerInfo[iTargetID][pAdmin] == iAdminValue) return SendClientMessage(playerid, COLOR_WHITE, "That player is already that Administrator level.");
if(!iAdminValue)
{
new you[128];
format(you, sizeof(you), "You removed %s from the Administrator Team", GetPlayerNameEx(iTargetID));
SendClientMessage(playerid, COLOR_WHITE, you);
format(you, sizeof(you), "You have been removed from the Administrator Team by Administrator %s", GetPlayerNameEx(playerid));
SendClientMessage(iTargetID, COLOR_LIGHTBLUE, you);
format(you, sizeof(you), "Administrator %s has been removed from the Administrator Team. They are no longer an Administrator!", GetPlayerNameEx(iTargetID));
SendClientMessageToAll(COLOR_PINK, you);
return 1;
}
else
{
new newsinfo[128];
if(!PlayerInfo[iTargetID][pAdmin])
{
format(newsinfo, sizeof(newsinfo), "You have added %s into the Administrator Team", GetPlayerNameEx(iTargetID));
SendClientMessage(playerid, COLOR_REALRED, newsinfo);
format(newsinfo, sizeof(newsinfo), "Congratulations! You are now on the Administrator Team! Added by Administrator %s (type /ah for admin helps)", GetPlayerNameEx(playerid));
SendClientMessage(iTargetID, COLOR_YELLOW, newsinfo);
format(newsinfo, sizeof(newsinfo), "Welcome to our newest Administrator %s. They are here to protect our server and to improve your experince here!", GetPlayerNameEx(iTargetID));
SendClientMessageToAll(COLOR_REALRED, newsinfo);
}
new rankshift[10];
rankshift = (PlayerInfo[iTargetID][pAdmin] < iAdminValue) ? ("promoted") : ("demoted");
format(newsinfo, sizeof(newsinfo), "AdmCmd: %s has %s %s to a level %d admin.", GetPlayerNameEx(playerid), rankshift, GetPlayerNameEx(iTargetID), iAdminValue);
ABroadCast(COLOR_LIGHTRED, newsinfo, 2);
format(newsinfo, sizeof(newsinfo), "You have been %s to a level %d admin by %s.", rankshift, iAdminValue, GetPlayerNameEx(playerid));
SendClientMessageEx(iTargetID, COLOR_LIGHTBLUE, newsinfo);
format(newsinfo, sizeof(newsinfo), "You have %s %s to a level %d admin.", rankshift, GetPlayerNameEx(iTargetID), iAdminValue);
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, newsinfo);
}
PlayerInfo[iTargetID][pAdmin] = iAdminValue;
return 1;
}
This should work more to your liking:
pawn Код:
|