SA-MP Forums Archive
[Pedido] id escolhido automaticamente - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Pedido] id escolhido automaticamente (/showthread.php?tid=466987)



id escolhido automaticamente - powerths - 30.09.2013

Intгo to querendo um codigo tipo: em 3 em 3 horas um ID й escolhido automaticamente alguem pode me dizer como faзo isso, й que to montando um sistema de loteria.


Re: ID ESCOLHIDO AUTOMATICAMENTE - BielCOP - 30.09.2013

Use:

pawn Код:
forward EscolhidoID();

public EscolhidoID()
{
     new ID = random(MAX_PLAYERS);

     if(!IsPlayerConnected(ID))
     {
          EscolhidoID();
     }
     else
     {
          // Funcoes caso o player esteja online.
     }
     return 1;
}
public OnGameModeInit()
{
     SetTimer("EscolhidoID",108000000,1);
}



Re: ID ESCOLHIDO AUTOMATICAMENTE - PT - 30.09.2013

usa o random


Re: ID ESCOLHIDO AUTOMATICAMENTE - powerths - 30.09.2013

Mais tipo mais como vai escolher o ID automatico.


Re: ID ESCOLHIDO AUTOMATICAMENTE - BielCOP - 30.09.2013

Eu postei acima /\

Olhe aqui para mais detalhes e um sistema mais otimizado:

pawn Код:
forward EscolhidoID(); // Cria a callback EscolhidoID

public EscolhidoID() // Chama a callback EscolhidoID
{
     new TemConnect = 0;

     for(new i=0; i<MAX_PLAYERS; i++)
     {
          if(IsPlayerConnected(i))
          {
               TemConnect++;
          }
     }
     if(TemConnect >= 1) // Caso tenha mais de 1 player conectado
     {
          new ID = random(MAX_PLAYERS); // Faz uma chamada Randфmica

          if(!IsPlayerConnected(ID)) // Caso nao esteja conectado
          {
               EscolhidoID(); // Chama novamente a callback EscolhidoID
          }
          else // Caso esteja conectado
          {
               // Funcoes caso o player esteja online.
          }
          return 1;
     }
}
public OnGameModeInit() // Funзao de uso (OnGameModeInit)
{
     SetTimer("EscolhidoID",108000000,1); // Seta o tempo de chamada da callback (3 horas)
}



Re: ID ESCOLHIDO AUTOMATICAMENTE - powerths - 30.09.2013

Testando...


Re: ID ESCOLHIDO AUTOMATICAMENTE - powerths - 30.09.2013

Botei seu codigo deu erro

Код:
C:\Documents and Settings\Usuбrio\Meus documentos\SA-MP\gamemodes\TIR.pwn(20842) : warning 209: function "EscolhidoID" should return a value
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase

Header size:           5800 bytes
Code size:           820752 bytes
Data size:          1125468 bytes
Stack/heap size:      16384 bytes; estimated max. usage: unknown, due to recursion
Total requirements: 1968404 bytes

1 Warning.



Re: ID ESCOLHIDO AUTOMATICAMENTE - BielCOP - 30.09.2013

Isto nao й erro, apenas coloque return 1 no final que resolve!


Re: ID ESCOLHIDO AUTOMATICAMENTE - powerths - 30.09.2013

Mais ja tem o return 1


Re: ID ESCOLHIDO AUTOMATICAMENTE - RuanRider - 30.09.2013

Quote:
Originally Posted by powerths
Посмотреть сообщение
Mais ja tem o return 1
PHP код:
forward EscolhidoID(); // Cria a callback EscolhidoID
public EscolhidoID() // Chama a callback EscolhidoID
{
     new 
TemConnect 0;
     for(new 
i=0i<MAX_PLAYERSi++)
     {
          if(
IsPlayerConnected(i))
          {
               
TemConnect++;
          }
     }
     if(
TemConnect >= 1// Caso tenha mais de 1 player conectado
     
{
          new 
ID random(MAX_PLAYERS); // Faz uma chamada Randфmica
          
if(!IsPlayerConnected(ID)) // Caso nao esteja conectado
          
{
               
EscolhidoID(); // Chama novamente a callback EscolhidoID
          
}
          else 
// Caso esteja conectado
          
{
               
// Funcoes caso o player esteja online.
          
}
          return 
1;
     }
     return 
1;
}
public 
OnGameModeInit() // Funзao de uso (OnGameModeInit)
{
     
SetTimer("EscolhidoID",108000000,1); // Seta o tempo de chamada da callback (3 horas)
     
return 1;