[Ajuda] Ajuda com DOF2 : Escolher Time
#1

Bom Galera queria assim, eu tou tentando fazer um servidor MATA-MATA, mбs tem um porйm eu queria que quando o player jб registrado ir para o time dele quando ele selecionou pela primeira vez!

Код:
 DOF2_SetInt(ContaPlayer(playerid), "Time", 0);
Код:
    if(dialogid == DIALOG_TIME)
    {
	   if(!response)
	   {
          ShowPlayerDialog(playerid, DIALOG_TIME, DIALOG_STYLE_LIST, "{FF0000}Selecionar Time", "Time Azul\nTime Vermelho", "Selecionar", "Sair");
       }
       if(listitem == 0)
       {
		  SetPlayerColor(playerid, 0x0044FFFF);
		  SetPlayerSkin(playerid, 285);
		  GivePlayerWeapon(playerid, 34, 11000);
		  SetPlayerPos(playerid, 423.5440, 2536.5159, 16.1484);
		  DOF2_SetInt(ContaPlayer(playerid), "Time", 1);
		  SetWorldTime(12);
	   }
	   if(listitem == 1)
	   {
		  SetPlayerColor(playerid, 0xFF0000FF);
	   }
	 }
eu tambem queria que quando ele entra-se jб no servidor com time nгo aparecer a mensagem de escolher o time!

Код:
ShowPlayerDialog(playerid, DIALOG_TIME, DIALOG_STYLE_LIST, "{FF0000}Selecionar Time", "Time Azul\nTime Vermelho", "Selecionar", "Sair");
Reply
#2

PHP код:
if(DOF2_GetInt(ContaPlayer(playerid), "Time") == 1//Jб tem um time
if(DOF2_GetInt(ContaPlayer(playerid), "Time") != 1//Nгo tem um time 
Reply
#3

Mano melhor opзгo!

PHP код:
enum pInfo
{
  
Time1,
  
Time2             //tu cria aqui as variбveis para vocк checar de qual time o player й!
}
//logo em seguida crie essa outra variбvel
//Ela irб pega a variavel pinfo e comparar se o player esta setado com alguma variбvel dela
new Jogador[MAX_PLAYERS][pInfo]; 
ai no DIALOG o player escolhe o time1, ai tu seta o time1 da pinfo para ele

PHP код:
Jogador[playerid][Time1] = 1
//1 = true (ele virou participante do time 1) (0 = false ele nгo й participante do time1)

E pra checar qual time o jogador й,
PHP код:
if(Jogador[playerid][Time1] == 1
{
   
//seta o lugar do player etc
}
else
{
   
SendClientMessage(playerid, -1"Vocк nгo pertence ao time1"); // -1 = branco

Jogador = variбvel que vai armazena qual jogador vai receber as informaзхes etc, [playerid] diz qual jogador й! e [Time1] й meio que o dof2, ele vai armazena que o Jogador e do time1.


outras forma de checar
PHP код:
if(Jogador[playerid][Time1] == || Jogador[playerid][Time2] == 1// || e Ou (se o jogador e do time1 ou do time 2, irб de aparecer as informaзхes! 
{
   
//seta o lugar do player etc
}
else 
//se nгo
{
   
SendClientMessage(playerid, -1"Vocк nгo pertence ao time1 ou time2"); // -1 = branco

PHP код:
if(Jogador[playerid][Time1] < 1) return SendClientMessage(playerid, -1"Vocк nгo estб no time1"); 
se jogador tiver time1 menor que 1, que o true, e a mesma coisa de ele estб false, sem time.
1 = true, 0 false

Ja que й um tdm nгo precisa do dof pra salva de qual time ele й, porque cada vez que ele logar, ele vai querer escolher o time etc

vocк pode usar a variavel boleana!
PHP код:
new bool:Time1[MAX_PLAYERS];
new 
bool:Time2[MAX_PLAYERS]; 
ai em vez de usar 1 e 2 tu usa true e false

e na checagem ao tbm true, == true ou == false

MLS pela a explicaзгo merda, primeira vez kaskd

PHP код:
//inicio do gm
#define ESCOLHER 1
//criar o comando para o jogador escolher
if (strcmp("/escolher"cmdtexttrue10) == 0//usa em zcmd ou ocmd oque quiser, recomendo zcmd ocmd
{
      
ShowPlayerDialog(playeridESCOLHERDIALOG_STYLE_LIST"Escolha seu time""Time1 \n Time2""Ok","");
    return 
1;
}
//em public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
if(dialogid == ESCOLHER)
   {
     if(
response)
     {
       if(
listitem == 0)//time1 
       
{
             
SendClientMessage(playerid, -1"Agora vocк faz parte do time1");
             
Jogador[playerid][Time1] = 1;
              
//vc coloca as outras coisas aqui, spawn etc 
       
}
       if(
listitem == 1)
       {
              
SendClientMessage(playerid, -1"Agora vocк faz parte do time2");
              
Jogador[playerid][Time2] = 1;
              
//vc coloca as outras coisas aqui, spawn etc 
       
}
       } 
//fecha response, eu nгo usei o outro botгo, somente o "ok" 
//fecha o dialog escolher 
mas se tu quiser salvar!

PHP код:
//cria uma define ai pra dizer onde ficarб salvo os dados!
//la no comeзo do gm
#define TIMES  ("SUAPASTA/Times/%s.ini") //%s vai pega o nome do cara
if(dialogid == ESCOLHER)
   {
        new 
String[128], Nome[MAX_PLAYER_NAME];
        
GetPlayerName(playeridNomesizeof(Nome));
        
format(Stringsizeof(String), TIMESNome); 
       
     if(
response)
     {
       if(
listitem == 0)//time1 
       
{
             
SendClientMessage(playerid, -1"Agora vocк faz parte do time1");
            
               
DOF2_CreateFile(String); //string ta ai em cima  
               
DOF2_SetInt(String"Time" ,); //esses dados ficarгo na %s.ini
               
Jogador[playerid][Time1] = 1;
               
SavePlayer(playerid); //salvado jб //SavePlayer(playerid); e uma stock que vamos criar pra salva esses dados
       
}
       if(
listitem == 1)//time2
       
{
              
SendClientMessage(playerid, -1"Agora vocк faz parte do time2");
               
DOF2_SetInt(String"Time" ,); //esses dados ficarгo na %s.ini
               
Jogador[playerid][Time2] = 2;
               
SavePlayer(playerid); //salvado jб
  
       
}
       } 
//fecha response, eu nгo usei o outro botгo, somente o "ok" 
//fecha o dialog escolher 
agora vamos criar 1 stock pra quando o gamemodeiniciar, ela seta o valor do time do nego

PHP код:
LoadPlayer(playerid)
{
ResetPlayerMoney(playerid);
new 
String[128], Nome[MAX_PLAYER_NAME];
GetPlayerName(playeridNomesizeof(Nome));
format(Stringsizeof(String), TIMESNome);
    if( 
DOF2_FileExists( String) )
    {
         
        
Jogadorplayerid ][ Time1 ] = DOF2_GetIntString"Time"  );
        
Jogadorplayerid ][ Time2 ] = DOF2_GetIntString"Time"  );  
    }
    return 
1;

stock pra salva

PHP код:
SavePlayer(playerid)
{
new 
String[128], Nome[MAX_PLAYER_NAME];
GetPlayerName(playeridNomesizeof(Nome));
format(Stringsizeof(String), TIMESNome);
    if( 
DOF2_FileExists( String ) )
    {
    
DOF2_CreateFile(String);
        
DOF2_SetIntString"Time"Jogadorplayerid ][ Time1 ] );
        
DOF2_SetIntString"Time"Jogadorplayerid ][ Time2 ] );
        
DOF2_SaveFile();
      }
    return 
1;

espero ter ajudado, assim e muito mais pratico, nгo esqueзa,de coloca a stock LoadPlayer(playerid); no login do cara la tlg
Reply
#4

Quote:
Originally Posted by Jonorusc
Посмотреть сообщение
Mano melhor opзгo!

PHP код:
enum pInfo
{
  
Time1,
  
Time2             //tu cria aqui as variбveis para vocк checar de qual time o player й!
}
//logo em seguida crie essa outra variбvel
//Ela irб pega a variavel pinfo e comparar se o player esta setado com alguma variбvel dela
new Jogador[MAX_PLAYERS][pInfo]; 
ai no DIALOG o player escolhe o time1, ai tu seta o time1 da pinfo para ele

PHP код:
Jogador[playerid][Time1] = 1
//1 = true (ele virou participante do time 1) (0 = false ele nгo й participante do time1)

E pra checar qual time o jogador й,
PHP код:
if(Jogador[playerid][Time1] == 1
{
   
//seta o lugar do player etc
}
else
{
   
SendClientMessage(playerid, -1"Vocк nгo pertence ao time1"); // -1 = branco

Jogador = variбvel que vai armazena qual jogador vai receber as informaзхes etc, [playerid] diz qual jogador й! e [Time1] й meio que o dof2, ele vai armazena que o Jogador e do time1.


outras forma de checar
PHP код:
if(Jogador[playerid][Time1] == || Jogador[playerid][Time2] == 1// || e Ou (se o jogador e do time1 ou do time 2, irб de aparecer as informaзхes! 
{
   
//seta o lugar do player etc
}
else 
//se nгo
{
   
SendClientMessage(playerid, -1"Vocк nгo pertence ao time1 ou time2"); // -1 = branco

PHP код:
if(Jogador[playerid][Time1] < 1) return SendClientMessage(playerid, -1"Vocк nгo estб no time1"); 
se jogador tiver time1 menor que 1, que o true, e a mesma coisa de ele estб false, sem time.
1 = true, 0 false

Ja que й um tdm nгo precisa do dof pra salva de qual time ele й, porque cada vez que ele logar, ele vai querer escolher o time etc

vocк pode usar a variavel boleana!
PHP код:
new bool:Time1[MAX_PLAYERS];
new 
bool:Time2[MAX_PLAYERS]; 
ai em vez de usar 1 e 2 tu usa true e false

e na checagem ao tbm true, == true ou == false

MLS pela a explicaзгo merda, primeira vez kaskd

PHP код:
//inicio do gm
#define ESCOLHER 1
//criar o comando para o jogador escolher
if (strcmp("/escolher"cmdtexttrue10) == 0//usa em zcmd ou ocmd oque quiser, recomendo zcmd ocmd
{
      
ShowPlayerDialog(playeridESCOLHERDIALOG_STYLE_LIST"Escolha seu time""Time1 \n Time2""Ok","");
    return 
1;
}
//em public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
if(dialogid == ESCOLHER)
   {
     if(
response)
     {
       if(
listitem == 0)//time1 
       
{
             
SendClientMessage(playerid, -1"Agora vocк faz parte do time1");
             
Jogador[playerid][Time1] = 1;
              
//vc coloca as outras coisas aqui, spawn etc 
       
}
       if(
listitem == 1)
       {
              
SendClientMessage(playerid, -1"Agora vocк faz parte do time2");
              
Jogador[playerid][Time2] = 1;
              
//vc coloca as outras coisas aqui, spawn etc 
       
}
       } 
//fecha response, eu nгo usei o outro botгo, somente o "ok" 
//fecha o dialog escolher 
mas se tu quiser salvar!

PHP код:
//cria uma define ai pra dizer onde ficarб salvo os dados!
//la no comeзo do gm
#define TIMES  ("SUAPASTA/Times/%s.ini") //%s vai pega o nome do cara
if(dialogid == ESCOLHER)
   {
        new 
String[128], Nome[MAX_PLAYER_NAME];
        
GetPlayerName(playeridNomesizeof(Nome));
        
format(Stringsizeof(String), TIMESNome); 
       
     if(
response)
     {
       if(
listitem == 0)//time1 
       
{
             
SendClientMessage(playerid, -1"Agora vocк faz parte do time1");
            
               
DOF2_CreateFile(String); //string ta ai em cima  
               
DOF2_SetInt(String"Time" ,); //esses dados ficarгo na %s.ini
               
Jogador[playerid][Time1] = 1;
               
SavePlayer(playerid); //salvado jб //SavePlayer(playerid); e uma stock que vamos criar pra salva esses dados
       
}
       if(
listitem == 1)//time2
       
{
              
SendClientMessage(playerid, -1"Agora vocк faz parte do time2");
               
DOF2_SetInt(String"Time" ,); //esses dados ficarгo na %s.ini
               
Jogador[playerid][Time2] = 2;
               
SavePlayer(playerid); //salvado jб
  
       
}
       } 
//fecha response, eu nгo usei o outro botгo, somente o "ok" 
//fecha o dialog escolher 
agora vamos criar 1 stock pra quando o gamemodeiniciar, ela seta o valor do time do nego

PHP код:
LoadPlayer(playerid)
{
ResetPlayerMoney(playerid);
new 
String[128], Nome[MAX_PLAYER_NAME];
GetPlayerName(playeridNomesizeof(Nome));
format(Stringsizeof(String), TIMESNome);
    if( 
DOF2_FileExists( String) )
    {
         
        
Jogadorplayerid ][ Time1 ] = DOF2_GetIntString"Time"  );
        
Jogadorplayerid ][ Time2 ] = DOF2_GetIntString"Time"  );  
    }
    return 
1;

stock pra salva

PHP код:
SavePlayer(playerid)
{
new 
String[128], Nome[MAX_PLAYER_NAME];
GetPlayerName(playeridNomesizeof(Nome));
format(Stringsizeof(String), TIMESNome);
    if( 
DOF2_FileExists( String ) )
    {
    
DOF2_CreateFile(String);
        
DOF2_SetIntString"Time"Jogadorplayerid ][ Time1 ] );
        
DOF2_SetIntString"Time"Jogadorplayerid ][ Time2 ] );
        
DOF2_SaveFile();
      }
    return 
1;

espero ter ajudado, assim e muito mais pratico, nгo esqueзa,de coloca a stock LoadPlayer(playerid); no login do cara la tlg
Muito Obrigado!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)