[Pedido] id escolhido automaticamente
#1

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.
Reply
#2

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);
}
Reply
#3

usa o random
Reply
#4

Mais tipo mais como vai escolher o ID automatico.
Reply
#5

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)
}
Reply
#6

Testando...
Reply
#7

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.
Reply
#8

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

Mais ja tem o return 1
Reply
#10

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;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)