SendClientMessageToAll bug
#1

Please i cant fix this: all can see the message and not just the skins
pawn Код:
CMD:911(playerid,params[])
{
    //911 system
    if(isnull(params)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "Usage: /911 [Message and Location]");
    new sendername[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    SendClientMessage(playerid, COLOR_GOLD, "[INFO]You have just called 911. Please remain at your location and wait.");
    for(new i=0;i<MAX_PLAYERS;i++) {
        if(GetPlayerSkin(i) == 285 || GetPlayerSkin(i) == 282 || GetPlayerSkin(i) == 281 || GetPlayerSkin(i) == 283 || GetPlayerSkin(i) == 288 ||GetPlayerSkin(i) == 278  || GetPlayerSkin(i) == 275 || GetPlayerSkin(i) == 279 || GetPlayerSkin(i) == 277 || GetPlayerSkin(i) == 274 || GetPlayerSkin(i) == 276) {
            SendClientMessageToAll(COLOR_GREY, "-------------------------------------------------------------------------------------------------");
            SendClientMessageToAll(COLOR_ROYALBLUE, "DISPATCH");
            SendClientMessageToAll(COLOR_GREY, "Be advised, the following is a 911 call.");
            SendClientMessageToAll(COLOR_GREY, "Units aviable please respond.");
            format(string, sizeof(string), "CALLER: %s  ~  INFO & LOCATION: %s", sendername, params);
            SendClientMessageToAll(COLOR_GREY, string);
            SendClientMessageToAll(COLOR_GREY, "-------------------------------------------------------------------------------------------------");
        }

    }
    return 1;
}
+REP! BUT FIX PLEASEEEEEEEEE
Reply
#2

I have already gave you an answer to this. You use SendClientToAll and that sends the message to all the players. Use loop for all players and then if statement. If the skin is correct it SendClientMessage to that player have the correct skin.
pawn Код:
CMD:911(playerid,params[])
{
    //911 system
    if(isnull(params)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "Usage: /911 [Message and Location]");
    new sendername[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    SendClientMessage(playerid, COLOR_GOLD, "[INFO]You have just called 911. Please remain at your location and wait.");
    for(new i=0;i<MAX_PLAYERS;i++) {
        if(GetPlayerSkin(i) == 285 || GetPlayerSkin(i) == 282 || GetPlayerSkin(i) == 281 || GetPlayerSkin(i) == 283 || GetPlayerSkin(i) == 288 ||GetPlayerSkin(i) == 278  || GetPlayerSkin(i) == 275 || GetPlayerSkin(i) == 279 || GetPlayerSkin(i) == 277 || GetPlayerSkin(i) == 274 || GetPlayerSkin(i) == 276) {
            SendClientMessage(i, COLOR_GREY, "-------------------------------------------------------------------------------------------------");
            SendClientMessage(i, COLOR_ROYALBLUE, "DISPATCH");
            SendClientMessage(i, COLOR_GREY, "Be advised, the following is a 911 call.");
            SendClientMessage(i, COLOR_GREY, "Units aviable please respond.");
            format(string, sizeof(string), "CALLER: %s  ~  INFO & LOCATION: %s", sendername, params);
            SendClientMessage(i, COLOR_GREY, string);
            SendClientMessage(i, COLOR_GREY, "-------------------------------------------------------------------------------------------------");
        }

    }
    return 1;
}
Reply
#3

You are doing a loop through all your players and when they got one of the required skins, you send a message to everyone. So if you have 10 players online, 5 with one of the required skins. Then every player on the server will see your client messages 10 times. You would want to change "SendClientMessageToAll(" into "SendClientMessage(i, " (You can use ctrl+h for a fast replacement).
Reply
#4

Quote:

:\Users\Luca\Desktop\basefixed.pwn(2869) : error 035: argument type mismatch (argument 2)
C:\Users\Luca\Desktop\basefixed.pwn(2870) : error 035: argument type mismatch (argument 2)
C:\Users\Luca\Desktop\basefixed.pwn(2871) : error 035: argument type mismatch (argument 2)
C:\Users\Luca\Desktop\basefixed.pwn(2872) : error 035: argument type mismatch (argument 2)
C:\Users\Luca\Desktop\basefixed.pwn(2874) : error 035: argument type mismatch (argument 2)
C:\Users\Luca\Desktop\basefixed.pwn(2875) : error 035: argument type mismatch (argument 2)

:/ NOT Working
Reply
#5

After "(" insert "i":

pawn Код:
SendClientMessage(i, ...).
Reply
#6

Quote:
Originally Posted by Gooday
Посмотреть сообщение
:/ NOT Working
yes it does. I have test it and I have no errors, warnings. Just paste the code.
Reply
#7

Lol i made same as u, post ur code please....
Reply
#8

it works. Something you did wrong.
pawn Код:
#include <a_samp>
#include <zcmd>

#define COLOR_GREY -1
#define COLOR_ROYALBLUE -1
#define COLOR_LIGHTBLUE -1
#define COLOR_GOLD -1

CMD:911(playerid, params[])
{
    //911 system
    if(isnull(params)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "Usage: /911 [Message and Location]");
    new sendername[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    SendClientMessage(playerid, COLOR_GOLD, "[INFO]You have just called 911. Please remain at your location and wait.");
    for(new i=0;i<MAX_PLAYERS;i++) {
        if(GetPlayerSkin(i) == 285 || GetPlayerSkin(i) == 282 || GetPlayerSkin(i) == 281 || GetPlayerSkin(i) == 283 || GetPlayerSkin(i) == 288 ||GetPlayerSkin(i) == 278  || GetPlayerSkin(i) == 275 || GetPlayerSkin(i) == 279 || GetPlayerSkin(i) == 277 || GetPlayerSkin(i) == 274 || GetPlayerSkin(i) == 276) {
            SendClientMessage(i, COLOR_GREY, "-------------------------------------------------------------------------------------------------");
            SendClientMessage(i, COLOR_ROYALBLUE, "DISPATCH");
            SendClientMessage(i, COLOR_GREY, "Be advised, the following is a 911 call.");
            SendClientMessage(i, COLOR_GREY, "Units aviable please respond.");
            format(string, sizeof(string), "CALLER: %s  ~  INFO & LOCATION: %s", sendername, params);
            SendClientMessage(i, COLOR_GREY, string);
            SendClientMessage(i, COLOR_GREY, "-------------------------------------------------------------------------------------------------");
        }

    }
    return 1;
}
pawn Код:
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase
Reply
#9

New code:

Quote:

CMD:911(playerid,params[])
{
//911 system
if(isnull(params)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "Usage: /911 [Message and Location]");
new sendername[MAX_PLAYER_NAME], string[128];
GetPlayerName(playerid, sendername, sizeof(sendername));
SendClientMessage(playerid, COLOR_GOLD, "[INFO]You have just called 911. Please remain at your location and wait.");
for(new i=0;i<MAX_PLAYERS;i++) {
if(GetPlayerSkin(i) == 285 || GetPlayerSkin(i) == 282 || GetPlayerSkin(i) == 281 || GetPlayerSkin(i) == 283 || GetPlayerSkin(i) == 288 ||GetPlayerSkin(i) == 278 || GetPlayerSkin(i) == 275 || GetPlayerSkin(i) == 279 || GetPlayerSkin(i) == 277 || GetPlayerSkin(i) == 274 || GetPlayerSkin(i) == 276) {
SendClientMessage(i, COLOR_GREY, "-------------------------------------------------------------------------------------------------");
SendClientMessage(i, COLOR_ROYALBLUE, "DISPATCH");
SendClientMessage(i, COLOR_GREY, "Be advised, the following is a 911 call.");
SendClientMessage(i, COLOR_GREY, "Units aviable please respond.");
format(string, sizeof(string), "CALLER: %s ~ INFO & LOCATION: %s", sendername, params);
SendClientMessage(i, COLOR_GREY, string);
SendClientMessage(i, COLOR_GREY, "-------------------------------------------------------------------------------------------------");
}

}
return 1;
}

Try it.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)