[Ajuda] Mensagem ao conectar
#1

Olб, boa noite, estou com o seguinte problema no cуdigo abaixo, eu desejo mandar uma mensagem para todos os jogadores que jб entraram no servidor, exceto para o que acabou de entrar no servidor, porйm, isso simplesmente nгo acontece, ou nгo acontece nada, ou aparece uma linha branca, tipo sem nada como se fosse um SendClientMessage(playerid, -1, " ");...

O cуdigo й este:
PHP код:
new string[128];
    for(new 
0MAX_PLAYERSi++)
    {
    new 
pIP[64];
    
GetPlayerIp(playeridpIPsizeof(pIP));
    if(
!= playerid && IsPlayerAdmin(i))
    {
    
format(stringsizeof(string), "{FFFFFF}%s - [ID: %d - IP: %s - Serial: %s]"pName(playerid), playeridpIP);
     }
    else if(
!= playeridformat(stringsizeof(string), "{FFFFFF}%s - [ID: %d]"pName(playerid), playerid);
     
SendClientMessage(i, -1string);
     }
     } 
O meu objetivo й mais ou menos isso, se eu for um jogador conectado, ele formata a string e manda essa mensagem para mim:

Guilherme - [ID: 0]

Caso eu seja um administrador, ele mandaria isso:

Guilherme - [ID: 0 - IP: XXX.XXX.XXX]

O que eu quero basicamente й poupar linhas, eu nгo quero mandar duas vezes a mesma mensagem tipo, se o cara for jogador, de boa, mas se o cara for administrador e jogador, vai mandar duas mensagens pq no if vai retornar SendClientMessage, se alguйm entender e puder me ajudar, ficarei muito grato, nгo sei se tou fazendo da forma correta, obrigado desde jб.

Obs: O cуdigo compila...
Reply
#2

Estou pelo celular, o cуdigo pode nгo ficar muito elegante:

PHP код:
new 
   
string[128],
   
pIP[64]
;
GetPlayerIp(playeridpIPsizeof(pIP));
for(new 
0MAX_PLAYERSi++) {
    if(
IsPlayerConnected(i)) {
        if(
playerid == i) continue;
        if(
IsPlayerAdmin(i)) {
            
format(stringsizeof(string), "{FFFFFF}%s - [ID: %d - IP: %s - Serial: %s]"pName(playerid), playeridpIP);
            
SendClientMessage(i, -1string);
            continue;
        }
        else
        {
            
            
format(stringsizeof(string), "{FFFFFF}%s - [ID: %d]"pName(playerid), playerid);
            
SendClientMessage(i, -1string);
            continue;
        }
    }

Reply
#3

Amigo testa ai, otimizei este codigo tambйm pra utilizar menos processamento e ser mais rapido!
*Na mensagem pro adm hб um campo Serial, porem nгo hб uma variavel que representa isso, entгo removi!


PHP код:
new String1[128], String2[128], pIP[32];//String1 ADM, String2 Players normais
GetPlayerIp(playeridpIPsizeof(pIP));
format(String1sizeof(String1), "{FFFFFF}%s - [ID: %d - IP: %s]"pName(playerid), playeridpIP);//Mensagem adm
format(String2sizeof(String2), "{FFFFFF}%s - [ID: %d]"pName(playerid), playerid);//Mensagem players
for(new 0MAX_PLAYERSi++)
{
    if(
!= playerid && IsPlayerConnected(i))//Verifica se o i й diferente de id e se hб alguйm conectado com a id i
    
{
        if(
IsPlayerAdmin(i))//Pergunta se й admins
            
SendClientMessage(i, -1String1);//Se sim envia esta mensagem
        
else
            
SendClientMessage(i, -1String2);//Se nгo envia esta mensagem
    
}

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)