Mensagem para varios players sem loop
#1

Eai pessoal Blz ?

Vim aqui pedi uma idйia, como eu posso mandar uma mensagem para varios players que tenha uma variбvel setada para 1, sem ser com loop e SendClientMessage, porque terб momentos que essa funзхes serб executada mais de duas vezes por segundo e ficara meio lento o server.

Exemplo como seria o loop com SendClientMessage:

Код:
for(new i=0; i<MAX_SLOTS; i++)
{
    	SetPVarInt(playerid,"Ativo",1);
    	{
    	    	SendClientMessage(playerid,Verde,"Olб Mundo ,rsrs");
	}
}
Obrigado desde jб!
Reply
#2

Sim te uma,
pawn Код:
while
Variavel de repetiзгo.

pawn Код:
new numero = 0;
while(numero <= 10) // Repitir o numero 10veses
{

    format(string, sizeof(string),"Numero :%d", numero);
    SendClientMessage(playerid, -1,string);
    numero++;
    if(numero == 5) break; // Se numero chegar a 5 ele para.
}
Reply
#3

Mais aonde que entra a parte de verificar a variavel e mandar a mensagem somente para os players que estгo com ela setada para um valor verdadeiro?
Reply
#4

Talvez funcione.
pawn Код:
new numero = 0;
while(numero <= 10) // Repitir o numero 10veses
{
      format(string, sizeof(string),"Numero :%d", numero);
      SendClientMessage(SetPVarInt(playerid,"Ativo",1), -1,string);
      numero++;
    if(numero == 5) break; // Se numero chegar a 5 ele para.
}
Reply
#5

Bem pelo o que eu entendi ele vai ficar verificando atй um valor estipulado em uma variбvel, isso parece ser уtimo pois posso setar essa variбvel com a quantidade de players que tem em certo lugar e quando chega a essa quantidade ele para de funcionar,mais se por exemplo o server tem 100 players e 5 estгo em uma arena entre eles tem o id de numero 96 entгo atй essa verificaзгo chegar lб para dar os 5 e fazer ela para vai ser quase um looop que iria atй o 100.

Entгo gostaria de saber se nгo tem uma maneira mais eficaz como salvar o id de todos que vгo pra lб, nгo sei se hб essa possibilidade mais acho que seria melhor se desse.
Reply
#6

Quote:
Originally Posted by $$zig@$$
WHERE I CAN DO PICTURE LIKE THAT ??
http://www.shrani.si/f/3n/zP/tGgzxWD/untitled23.png
i need that
Reply
#7

O comando se explica:
pawn Код:
new bool:tente_assim_que_talves_funcione[SLOTS];
new caracas = 0;
new number = 0;

// COmando
tente_assim_que_talves_funcione[playerid] = true;
caracas++;
// OnPlayerDeath < Se for o caso
if(tente_assim_que_talves_funcione[playerid] == true)
{
    caracas--;
}
// Para Checar
while(number <= caracas) //
{
      format(string, sizeof(string),"Numero :%d", numero);
      SendClientMessage(SetPVarInt(playerid,"Ativo",1), -1,string);
      numero++;
    if(numero == 5) break; //
}
ou usa INVALID_PLAYER_ID.
Reply
#8

Entendi essa parte realmente usar while й mais eficaz que o for e se ele achar logo o valor que ele quer ele para , Mas pensando diferente tenho um comando /Arena e gostaria que todos os players que fossem para essa arena ficassem com o seu id/nick setados em uma variбvel ou algo do tipo,para que quando algum deles morrer uma mensagem ao demais que estavam na arena seja mandada mais sem esses loop cabuloso.

Exemplo id: 7,16,25,30,32 estгo na arena e o id 32 morrer , uma mensagem que ele morreu seja enviada para os outros que estavam na arena ou seja para o id 7,16,25,30 ,й como se fosse um loop mais que executa somente nesses ids.

viajando um pouco seria mais ou menos assim:

Код:
for(new i = 0; i < 7,16,25,30; i++) //Nгo da certo, mais se desse seria assim
Reply
#9

entra no msn que te dou uma iideia.
Reply
#10

mensagem para geral sem loop:

pawn Код:
//
     SendClientMessage(1, Branco, "Sua MSG");
     SendClientMessage(2, Branco, "Sua MSG");
     SendClientMessage(3, Branco, "Sua MSG");
     SendClientMessage(4, Branco, "Sua MSG");
     SendClientMessage(5, Branco, "Sua MSG");
     SendClientMessage(6, Branco, "Sua MSG");
     SendClientMessage(7, Branco, "Sua MSG");
     SendClientMessage(8, Branco, "Sua MSG");
     SendClientMessage(9, Branco, "Sua MSG");
     SendClientMessage(10, Branco, "Sua MSG");
     SendClientMessage(11, Branco, "Sua MSG");
     SendClientMessage(12, Branco, "Sua MSG");
     SendClientMessage(13, Branco, "Sua MSG");
     SendClientMessage(14, Branco, "Sua MSG");
     SendClientMessage(15, Branco, "Sua MSG");
     SendClientMessage(16, Branco, "Sua MSG");
     SendClientMessage(17, Branco, "Sua MSG");
     SendClientMessage(18, Branco, "Sua MSG");
     SendClientMessage(19, Branco, "Sua MSG");
     SendClientMessage(20, Branco, "Sua MSG");
ai vocк coloca um SendClientMessage para cada player do seu server, da trabalho mais nao da lag!.

Feliz Natal Para Todos!!!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)