Mensagem ao conectar -
GuilhermeW - 19.11.2017
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 i = 0; i < MAX_PLAYERS; i++)
{
new pIP[64];
GetPlayerIp(playerid, pIP, sizeof(pIP));
if(i != playerid && IsPlayerAdmin(i))
{
format(string, sizeof(string), "{FFFFFF}%s - [ID: %d - IP: %s - Serial: %s]", pName(playerid), playerid, pIP);
}
else if(i != playerid) format(string, sizeof(string), "{FFFFFF}%s - [ID: %d]", pName(playerid), playerid);
SendClientMessage(i, -1, string);
}
}
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...
Re: Mensagem ao conectar - Whoo - 19.11.2017
Estou pelo celular, o cуdigo pode nгo ficar muito elegante:
PHP код:
new
string[128],
pIP[64]
;
GetPlayerIp(playerid, pIP, sizeof(pIP));
for(new i = 0; i < MAX_PLAYERS; i++) {
if(IsPlayerConnected(i)) {
if(playerid == i) continue;
if(IsPlayerAdmin(i)) {
format(string, sizeof(string), "{FFFFFF}%s - [ID: %d - IP: %s - Serial: %s]", pName(playerid), playerid, pIP);
SendClientMessage(i, -1, string);
continue;
}
else
{
format(string, sizeof(string), "{FFFFFF}%s - [ID: %d]", pName(playerid), playerid);
SendClientMessage(i, -1, string);
continue;
}
}
}
Re: Mensagem ao conectar -
AdrianoStk - 20.11.2017
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(playerid, pIP, sizeof(pIP));
format(String1, sizeof(String1), "{FFFFFF}%s - [ID: %d - IP: %s]", pName(playerid), playerid, pIP);//Mensagem adm
format(String2, sizeof(String2), "{FFFFFF}%s - [ID: %d]", pName(playerid), playerid);//Mensagem players
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(i != 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, -1, String1);//Se sim envia esta mensagem
else
SendClientMessage(i, -1, String2);//Se nгo envia esta mensagem
}
}