Duda con if en SendRadioMessage
#1

Hola, tengo esta duda, lo que pasa es que yo estoy agregando un codigo de cargos a mi GM pero hay un problema.
Lo que pasa es que cuando yo ejecuto el codigo por ejemplo /c 0 0, lo que hace es poner un cargo, manda un mensaje a una determinada distacia(7.5) y manda un mensaje a una faccion(SendRadioMessage), ok pero yo agrege un if para que ese mensaje mandado a la faccion no sea visible por el que ejecuta el comando pero el problema es que si lo hace:



todo esta bien, mi duda es como hago para que el mensaje de grupo no llege al que escribio el mensaje, aca el codigo para que me comenten si esta bien asi o decirme en que fallo

pawn Код:
switch(params[1])
{
case 0:
         {
                        if(Info[playerid][pOnDuty] == 1 && Info[playerid][pRadioOn] == 1)
                        {
                           new string5[265];
                           format(string5, sizeof(string5), "[Central] {FFFFFF}(%s) %s: {00C7FF}%s{FFFFFF}(%d) estб limpio, lo dejo seguir.", rank, name2, name1,params[0]);
                           SendRadioMessage(1, TEAM_BLUE_COLOR, string5);
                        }
                        new string6[265];
                        format(string6, sizeof(string6), "[Radio de Policia] (%s) %s: %s estб limpio, lo dejo seguir.", rank, name2, name1);
                        ProxDetector(7.5, playerid, string6,COLOR_GREY,COLOR_GREY,COLOR_GREY,COLOR_GREY,COLOR_GREY);
                        SetPlayerChatBubble(playerid,string6,COLOR_WHITE,15.0,5000);
                        Info[params[0]][pWantedLevel] = 0;
                        SetPlayerWantedLevel(params[0], 0);
         }
pawn Код:
function SendRadioMessage(member, color, string[])
{
    foreach(Player, i)
    {
        if(Info[i][pMember] == member)
        {
            if(Info[i][pRadioOn])
            {
                SendClientMessage(i, color, string);
            }
        }
    }
}
Reply
#2

Creo que con este cуdigo:

pawn Код:
if(Info[playerid][pOnDuty] == 1 && Info[playerid][pRadioOn] == 1 != playerid) // Si tienes el parбmetro 'playerid'.
                        {
                           new string5[265];
                           format(string5, sizeof(string5), "[Central] {FFFFFF}(%s) %s: {00C7FF}%s{FFFFFF}(%d) estб limpio, lo dejo seguir.", rank, name2, name1,params[0]);
                           SendRadioMessage(1, TEAM_BLUE_COLOR, string5);
                        }
Saludos.
Reply
#3

tienes que hacer algo muy similar a esto que are:

pawn Код:
forward EnviarMensajeATodosMenosYo(playerid,color,texto[]);
public EnviarMensajeATodosMenosYo(playerid,color,texto[]){
    for(new i, t=GetMaxPlayers(); i < t; i++){
        if(i != playerid){
            SendClientMessage(i,color,texto);
        }
    }
}
EDIT: cуdigo de @EnzoMetlc esta un poco mal!
Reply
#4

Quote:
Originally Posted by Parka
Посмотреть сообщение
tienes que hacer algo muy similar a esto que are:

pawn Код:
forward EnviarMensajeATodosMenosYo(playerid,color,texto[]);
public EnviarMensajeATodosMenosYo(playerid,color,texto[]){
    for(new i, t=GetMaxPlayers(); i < t; i++){
        if(i != playerid){
            SendClientMessage(i,color,texto);
        }
    }
}
EDIT: cуdigo de @EnzoMetlc esta un poco mal!

este esta un pokito mejor .


pawn Код:
stock EnviarMensajeATodosMenosYo(playerid,color,const texto[]){
    for(new player, user=GetMaxPlayers(); player < user; player++){
        if(!IsPlayerConnected(player)) continue;
        if(player != playerid){
            SendClientMessage(player,color,texto);
        }
    }
}
Reply
#5

Quote:
Originally Posted by OTACON
Посмотреть сообщение

este esta un pokito mejor .


pawn Код:
stock EnviarMensajeATodosMenosYo(playerid,color,const texto[]){
    for(new player, user=GetMaxPlayers(); player < user; player++){
        if(player != playerid){
            SendClientMessage(player,color,texto);
        }
    }
}
Serнa mejor retornar el valor, si estoy en lo cierto...
Reply
#6

Quote:
Originally Posted by EnzoMetlc
Посмотреть сообщение
Serнa mejor retornar el valor, si estoy en lo cierto...

yo no entender... podrias dar un ejemplo como crees que seria?.
Reply
#7

Quote:
Originally Posted by OTACON
Посмотреть сообщение

este esta un pokito mejor .


pawn Код:
stock EnviarMensajeATodosMenosYo(playerid,color,const texto[]){
    for(new player, user=GetMaxPlayers(); player < user; player++){
        if(!IsPlayerConnected(player)) continue;
        if(player != playerid){
            SendClientMessage(player,color,texto);
        }
    }
}
pawn Код:
if(!IsPlayerConnected(player)) continue;
esto es inъtil.
comentaste solo para enviar un cуdigo con una simple restricciуn inъtil.

a veces con personas como tu hacen que personas como yo dejen de postear. lo ъnico que haces es postear cosas inъtiles en fin no comento mas.
Reply
#8

Quote:
Originally Posted by Parka
Посмотреть сообщение
pawn Код:
if(!IsPlayerConnected(player)) continue;
esto es inъtil.
comentaste solo para enviar un cуdigo con una simple restricciуn inъtil.

a veces con personas como tu hacen que personas como yo dejen de postear. lo ъnico que haces es postear cosas inъtiles en fin no comento mas.

PD: vete a la mierda!

inutil?? ¬¬

man sabes que esta haciendo if(!IsPlayerConnected(player)) continue; ??
y para ke se usa continue?.

se comento de buena fe te recuerdo que estamos aca para enseсar y aprender, no hace daсo aceptar las ekivocaciones., no insultes man...

ayudemos al usuario .
saludos.

PD: gracias por dedicarme la firma.

PD2: se nos fue parka... XDD LOL
Reply
#9

Parka tiene razуn. Esa restricciуn era inutil ya que internamente SA-MP, antes de enviar los paquetes de informaciуn al cliente, verifica si existe este cliente, y en el caso de que no, simplemente no los envia. Si bien el cуdigo de Otacon era mas lindo, el de Parka era el mayor optimizado.
Reply
#10

Quote:
Originally Posted by DesingMyCry
Посмотреть сообщение
Parka tiene razуn. Esa restricciуn era inutil ya que internamente SA-MP, antes de enviar los paquetes de informaciуn al cliente, verifica si existe este cliente, y en el caso de que no, simplemente no los envia. Si bien el cуdigo de Otacon era mas lindo, el de Parka era el mayor optimizado.
ajam.. y me podria decir por ke todos dicen lo contario?.. chaoz,irinel.just.. y otros en varios post..
hasta se ha dicho ke es mas optimizado utilizar el de ****** o el bucle con la restricion que mencione. y como he dicho l ohan re marcado los usuarios mecionado anteriormente..

saludos.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)