Chat Toggle
#1

How to only show for the id who typed the command and its not switching
Код:
CMD:chatid(playerid, params[])
{
	new Togglechat[250];
	if(Chat[playerid])
	{
	    format(Togglechat, sizeof(Togglechat), "You had set your chatid", ReturnName(playerid));
	    SendClientMessageToAll(COLOUR_CYAN, Togglechat);
	    Chat[playerid] = true;
	}
	else
	{
	    //format(Togglechat, Togglechat(playerid), "You have unsetted your chatid", ReturnName(playerid));
	    SendClientMessageToAll(COLOUR_CYAN, Togglechat);
	    Chat[playerid] = false;
	}
	return 1;
}
pawn Код:
public OnPlayerText(playerid, text[])
{
    if(Chat[playerid])
    {
        new string[500];
        format(string,sizeof(string),"%s: {FFFFFF}%s",ReturnName(playerid),text);
        SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    else
    {
        new string[500];
        format(string,sizeof(string),"(%i) %s: {FFFFFF}%s",playerid, ReturnName(playerid),text);
        SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    return 0;
}
Reply
#2

Eh.. you have 1209 posts and you don't know how to change SendClientMessageToAll to SendClientMessage?
Reply
#3

Posts doesn't mater. i'm having a problem cause it's not switching messages.
Reply
#4

Код:
new bool: Chat[MAX_PLAYERS];

CMD:chatid(playerid, params[])
{
	new Togglechat[128];
	if(Chat[playerid] == false)
	{
	    format(Togglechat, sizeof(Togglechat), "You had set your chatid", ReturnName(playerid));
	    SendClientMessage(playerid, COLOUR_CYAN, Togglechat);
	    Chat[playerid] = true;
	}
	else
	{
	    format(Togglechat, sizeof(Togglechat), "You have unsetted your chatid", ReturnName(playerid));
	    SendClientMessage(playerid, COLOUR_CYAN, Togglechat);
	    Chat[playerid] = false;
	}
	return 1;
}



public OnPlayerText(playerid, text[])
{
    if(Chat[playerid] == true)
	{
        new string[128];
   	    format(string,sizeof(string),"%s: {FFFFFF}%s",ReturnName(playerid),text);
 	    SendClientMessageToAll(GetPlayerColor(playerid), string);
 	}
    else
	{
        new string[128];
   	    format(string,sizeof(string),"(%i) %s: {FFFFFF}%s",playerid, ReturnName(playerid),text);
 	    SendClientMessageToAll(GetPlayerColor(playerid), string);
 	}
	return 0;
}
Reply
#5

If that doesn't work then show us how you defined Chat.
Код HTML:
CMD:chatid(playerid, params[])
{
	new Togglechat[250];
	if(Chat[playerid])
	{
	    format(Togglechat, sizeof(Togglechat), "You had set your chatid", ReturnName(playerid));
	    SendClientMessageToAll(COLOUR_CYAN, Togglechat);
	    Chat[playerid] = 1;
	}
	else
	{
	    format(Togglechat, Togglechat(playerid), "You have unsetted your chatid", ReturnName(playerid));
	    SendClientMessageToAll(COLOUR_CYAN, Togglechat);
	    Chat[playerid] = 0;
	}
	return 1;
}
Also, you might want to change SendClientMessageToAll to SendClientMessage because it will display the message to everyone.
Reply
#6

Hm what if player cant see the message? if I set it to SendClientMessage
Like something like this


pawn Код:
if(Chat[playerid] == true)
    {
        new string[128];
        format(string,sizeof(string),"(%i) %s: {FFFFFF}%s",playerid, ReturnName(playerid),text);
        SendClientMessageToAll(GetPlayerColor(playerid), string);
        if(Chat[playerid] == false) // For the ones who didnt type /chatid
        {
            format(string,sizeof(string),"%s: {FFFFFF}%s",playerid, ReturnName(playerid),text);
            SendClientMessageToAll(GetPlayerColor(playerid), string);
            //SendClientMessage(playerid, -1, string);
        }
    }
    else
    {
        new string[128];
        format(string,sizeof(string),"%s: {FFFFFF}%s",ReturnName(playerid),text);
        SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)