return SendClientMessage doesn't work.
#1

At this Codes below. That cmd is for /makeadmin. When i give the TargetID admin level 0 that will work. and the "return SendClientMessage" wont work.

When a player is not adminstrator and when i give him Admin Level 0. it should be return SendClientMessage. but it wont working. I dont know wheres the PROBLEM is caming from or i just script the wrong codes

Код:
	    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;

	    }
Here is my full CMD
Код:
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!");
}
Reply
#2

or i need to add the

"else"

i think that doesnt matter but i will try
Reply
#3

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.
Reply
#4

Quote:
Originally Posted by Dubya
Посмотреть сообщение
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.
Thanks, i will try it out
Reply
#5

Just a note; check if iTargetID is connected after sscanf line.
Reply
#6

This should work more to your liking:

pawn Код:
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;
}
Reply
#7

Quote:
Originally Posted by BenzoAMG
Посмотреть сообщение
This should work more to your liking:

pawn Код:
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;
}
Thank you so much for that "promoted, demoted" rankshift!!! i will try it out
Reply
#8

DELTED

Nevermind fixed.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)