[Ajuda] O que hб de errado ? / Auto escola
#1

Boa noite, atualmente estou fazendo o sistema de auto escola do meu servidor, porem ja faz uns 3 dias que estou com esse problema e vem me chateando, pois nгo consigo resolver e nгo sei qual й o problema aqui. O que acontece й o seguinte irei deixar o cуdigo a baixo e a explicaзгo ...

OBS: no teste de barco ta sendo criado um carro, isso й proposital para um teste meu mesmo! mas eh pra ser de barco rs, apenas troquei o id pra ser mais rapido as coisas no teste

Bom, nesse cуdigo o jogador esta pagando pela carta, e й inciado o teste ... O de carro esta funcionando 100% sem erros, o de moto tambйm.

PHP код:
hook OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
switch(
dialogid){
        case 
DMenuAutoEscola:{
            if(
response){
                switch(
listitem)
                {
                    case 
0:{
                       if(
GetPlayerMoney(playerid) < 2500) return SendClientMessage(playeridVermelho"{A33DE7}| Luana | Lamento, mas o seu orзamento nгo й o suficiente para esta CNH ! ");
                    
GivePlayerMoney(playerid, -2500);
                    
ShowPlayerDialog(playeridDInstrucaoAutoEscolaDIALOG_STYLE_MSGBOX"{A33DE7}Luana - Tutora""{A33DE7}Bom, tem um amigo esperando vocк no bairro palisades, ele й professor da auto escola, leve o carro atй ele em perfeitas formas !""OK""");
                    
VAutoEscolaTeste[playerid] = CreateVehicle(402, -2081.3359,-84.8276,35.1641,359.8545115000);
                    
PutPlayerInVehicle(playeridVAutoEscolaTeste[playerid], 0);
                    
SetPlayerInterior(playerid0);
                    
TesteEtapa[playerid] = 1;
                    
FazendoTeste[playerid] = 1;
                    
SetPlayerRaceCheckpoint(playerid1, -2926.8496,505.1904,4.9141, -2926.8496,505.1904,4.91415.0);
                    return 
1;
                }
                case 
1// moto
                
{
                    if(
GetPlayerMoney(playerid) < 1200) return SendClientMessage(playeridVermelho"{A33DE7}| Luana | Lamento, mas o seu orзamento nгo й o suficiente para esta CNH ! ");
                    
GivePlayerMoney(playerid, -1200);
                    
ShowPlayerDialog(playeridDInstrucaoAutoEscolaDIALOG_STYLE_MSGBOX"{A33DE7}Luana - Tutora""{A33DE7}Temos confianзas em nosso aluno, entгo como teste, tera que levar a moto atй a auto escola de los santos, matendo ela intacta !""OK""");
                    
VAutoEscolaTeste[playerid] = CreateVehicle(522, -2068.6223,-84.9121,35.1641,359.0479 ,01585000);
                    
PutPlayerInVehicle(playeridVAutoEscolaTeste[playerid], 0);
                    
SetPlayerRaceCheckpoint(playerid11131.6226,-1675.9747,13.66191470.5365,-1731.9594,13.38285.0);
                    
TesteEtapa[playerid] = 2;
                    
FazendoTeste[playerid] = 1;
                    
SetPlayerInterior(playerid0);
                    return 
1;
                }
                case 
2// Barco
                
{
                       if(
GetPlayerMoney(playerid) < 2500) return SendClientMessage(playeridVermelho"{A33DE7}| Luana | Lamento, mas o seu orзamento nгo й o suficiente para esta CNH ! ");
                    
GivePlayerMoney(playerid, -2500);
                    
ShowPlayerDialog(playeridDInstrucaoAutoEscolaDIALOG_STYLE_MSGBOX"{A33DE7}Luana - Tutora""{A33DE7}Bom, tem um amigo esperando vocк no bairro palisades, ele й professor da auto escola, leve o carro atй ele em perfeitas formas !""OK""");
                    
VAutoEscolaTeste[playerid] = CreateVehicle(411, -2268.8052,2340.5188,4.8125,184.1686115000);
                    
PutPlayerInVehicle(playeridVAutoEscolaTeste[playerid], 0);
                    
SetPlayerInterior(playerid0);
                    
TesteEtapa[playerid] = 5;
                    
FazendoTeste[playerid] = 1;
                    
SetPlayerRaceCheckpoint(playerid1, -2926.8496,505.1904,4.9141, -2926.8496,505.1904,4.91415.0);
                    return 
1;
                    }
                }
            }
        } 
E quando ele compra ele faz normal, e ganha a carteira se completar o teste, o problema й que a de barco e heli nгo funciona !

Aqui estб as etapa do teste o que nгo estгo funcionando sгo o
Quote:

if(TesteEtapa[playerid] == 4 && FazendoTeste[playerid] == 1) e if(TesteEtapa[playerid] == 5 && FazendoTeste[playerid] == 1)

PHP код:
hook OnPlayerEnterRaceCheckpoint(playerid)
{
    new 
FloatlatariaFloatP[3];                       //Cria as variбveis que serгo usadas abaixo
    
GetVehicleHealth(VAutoEscolaTeste[playerid], lataria); //Getarб o health do veiculo, para ver se o player danificou ele no teste
    
GetPlayerPos(playeridP[0], P[1], P[2]);          //Pegarб a coordenada de onde serб aplicado o som
    
PlayerPlaySound(playerid1053P[0], P[1], P[2]); //Aplicarб som ao entrar no Race Checkpoint
    
if(TesteEtapa[playerid] == && FazendoTeste[playerid] == 1)  //CARRO
    
{
        if(
lataria 1000)
        {
            
ShowPlayerDialog(playeridDIALOG_AUTOEINFODIALOG_STYLE_MSGBOX"{FFFF00}Reprovado""{FFFF00}Vocк danificou seu veнculo, tera que fazer o teste novamente !""Ok""");
            
SendClientMessage(playeridVermelho"| INFO | Vocк nгo passou no teste !");
            
SetPlayerPos(playerid, -2030.3340,-125.2208,-50.8003);
            
KillTimer(Verificar[playerid]);
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
DisablePlayerRaceCheckpoint(playerid);
            return 
1;
        }
        else if(
lataria == 1000)
        {
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
FazendoTeste[playerid] = 0;
            
KillTimer(Verificar[playerid]);
            
ShowPlayerDialog(playeridDInstrucaoAutoEscolaDIALOG_STYLE_MSGBOX"{FFFF00}Aprovado""{FFFF00}O carro chegou em perfeitas formas, vocк agora ira receber sua CNH categoria A !""Ok""");
            
SetPlayerPos(playerid, -2030.3340,-125.2208,-50.8003);
            
PlayerInfo[playerid][CNH_A] = 1;
            
DisablePlayerRaceCheckpoint(playerid);
            return 
1;
        }
        return 
1;
    }
    
    if(
TesteEtapa[playerid] == && FazendoTeste[playerid] == 1)  // MOTO
    
{
        if(
lataria 1000)
        {
            
DisablePlayerRaceCheckpoint(playerid);
            
SetPlayerPos(playerid, -2030.3340,-125.2208,-50.8003);
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
ShowPlayerDialog(playeridDIALOG_AUTOEINFODIALOG_STYLE_MSGBOX"{FFFF00}Reprovado""{FFFF00}Vocк danificou sua moto, caso queira tirar a carta tera que fazer novamente !""Ok""");
            return 
1;
        }
        else if(
lataria == 1000)
        {
            
DisablePlayerRaceCheckpoint(playerid);
            
SetPlayerPos(playerid, -2030.3340,-125.2208,-50.8003);
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
ShowPlayerDialog(playeridDIALOG_STYLE_MSGBOXDIALOG_STYLE_MSGBOX"{FFFF00}Aprovado""{FFFF00}Parabйns vocк passou no teste e recebeu sua carteira, agora vocк pode pilotar motos !""Ok""");
            
PlayerInfo[playerid][CNH_B] = 1;
            return 
1;
        }
        return 
1;
    }
    if(
TesteEtapa[playerid] == && FazendoTeste[playerid] == 1// AVIAO
    
{
        if(
lataria 1000)
        {
            
DisablePlayerRaceCheckpoint(playerid);
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
SetPlayerPos(playerid1967.8879,-2181.4656,13.5469);
            
ShowPlayerDialog(playeridDRepetirAero2DIALOG_STYLE_MSGBOX"{FFFF00}Reprovado""Vocк danificou sua aeronave, e tera que que fazer o teste denovo""Sim""Nгo");
            return 
1;
        }
        else if(
lataria == 1000)
        {
            
DisablePlayerRaceCheckpoint(playerid);
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
SetPlayerPos(playerid1967.8879,-2181.4656,13.5469);
            
ShowPlayerDialog(playeridDInstrucaoAutoEscolaDIALOG_STYLE_MSGBOX"{FFFF00}Aprovado""Vocк terminou o teste para obter a hбbilitaзгo para pilotar aeronaves, e agora jб pode pilotar.""Ok""");
            
PlayerInfo[playerid][CNH_AVIAO] = 1;
            return 
1;
        }
        if(
TesteEtapa[playerid] == && FazendoTeste[playerid] == 1// helicуptero
        
{
        if(
lataria 1000)
        {
            
DisablePlayerRaceCheckpoint(playerid);
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
SetPlayerPos(playerid1967.8879,-2181.4656,13.5469);
            
ShowPlayerDialog(playeridDRepetirAero2DIALOG_STYLE_MSGBOX"{FFFF00}Reprovado""Vocк danificou sua aeronave, e tera que que fazer o teste denovo""Sim""Nгo");
            return 
1;
        }
        else if(
lataria == 1000)
        {
            
DisablePlayerRaceCheckpoint(playerid);
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
SetPlayerPos(playerid1967.8879,-2181.4656,13.5469);
            
ShowPlayerDialog(playeridDInstrucaoAutoEscolaDIALOG_STYLE_MSGBOX"{FFFF00}Aprovado""Vocк terminou o teste para obter a hбbilitaзгo para pilotar aeronaves, e agora jб pode pilotar.""Ok""");
            
PlayerInfo[playerid][CNH_AVIAO] = 1;
            return 
1;
        }
        if(
TesteEtapa[playerid] == && FazendoTeste[playerid] == 1// BARCO
        
{
        if(
lataria 1000)
        {
            
ShowPlayerDialog(playeridDIALOG_AUTOEINFODIALOG_STYLE_MSGBOX"{FFFF00}Reprovado""{FFFF00}Vocк danificou seu veнculo, tera que fazer o teste novamente !""Ok""");
            
SendClientMessage(playeridVermelho"| INFO | Vocк nгo passou no teste !");
            
SetPlayerPos(playerid, -2030.3340,-125.2208,-50.8003);
            
KillTimer(Verificar[playerid]);
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
DisablePlayerRaceCheckpoint(playerid);
            return 
1;
        }
        else if(
lataria == 1000)
        {
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
FazendoTeste[playerid] = 0;
            
KillTimer(Verificar[playerid]);
            
ShowPlayerDialog(playeridDInstrucaoAutoEscolaDIALOG_STYLE_MSGBOX"{FFFF00}Aprovado""{FFFF00}O carro chegou em perfeitas formas, vocк agora ira receber sua CNH categoria A !""Ok""");
            
SetPlayerPos(playerid, -2030.3340,-125.2208,-50.8003);
            
PlayerInfo[playerid][CNH_A] = 1;
            
DisablePlayerRaceCheckpoint(playerid);
            return 
1;
        }
        }
        
    }
    }
    return 
1;
    } 
Reply
#2

Nгo testei, Subistituia o Cуdigo por esse.

PHP код:
hook OnPlayerEnterRaceCheckpoint(playerid)
{
    new 
FloatlatariaFloatP[3];                       //Cria as variбveis que serгo usadas abaixo
    
GetVehicleHealth(VAutoEscolaTeste[playerid], lataria); //Getarб o health do veiculo, para ver se o player danificou ele no teste
    
GetPlayerPos(playeridP[0], P[1], P[2]);          //Pegarб a coordenada de onde serб aplicado o som
    
PlayerPlaySound(playerid1053P[0], P[1], P[2]); //Aplicarб som ao entrar no Race Checkpoint
    
    
if(TesteEtapa[playerid] == && FazendoTeste[playerid] == 1)  //CARRO
    
{
        if(
lataria 1000)
        {
            
ShowPlayerDialog(playeridDIALOG_AUTOEINFODIALOG_STYLE_MSGBOX"{FFFF00}Reprovado""{FFFF00}Vocк danificou seu veнculo, tera que fazer o teste novamente !""Ok""");
            
SendClientMessage(playeridVermelho"| INFO | Vocк nгo passou no teste !");
            
SetPlayerPos(playerid, -2030.3340,-125.2208,-50.8003);
            
KillTimer(Verificar[playerid]);
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
DisablePlayerRaceCheckpoint(playerid);
            return 
1;
        }
        else if(
lataria == 1000)
        {
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
FazendoTeste[playerid] = 0;
            
KillTimer(Verificar[playerid]);
            
ShowPlayerDialog(playeridDInstrucaoAutoEscolaDIALOG_STYLE_MSGBOX"{FFFF00}Aprovado""{FFFF00}O carro chegou em perfeitas formas, vocк agora ira receber sua CNH categoria A !""Ok""");
            
SetPlayerPos(playerid, -2030.3340,-125.2208,-50.8003);
            
PlayerInfo[playerid][CNH_A] = 1;
            
DisablePlayerRaceCheckpoint(playerid);
            return 
1;
        }
        return 
1;
    }

    else if(
TesteEtapa[playerid] == && FazendoTeste[playerid] == 1)  // MOTO
    
{
        if(
lataria 1000)
        {
            
DisablePlayerRaceCheckpoint(playerid);
            
SetPlayerPos(playerid, -2030.3340,-125.2208,-50.8003);
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
ShowPlayerDialog(playeridDIALOG_AUTOEINFODIALOG_STYLE_MSGBOX"{FFFF00}Reprovado""{FFFF00}Vocк danificou sua moto, caso queira tirar a carta tera que fazer novamente !""Ok""");
            return 
1;
        }
        else if(
lataria == 1000)
        {
            
DisablePlayerRaceCheckpoint(playerid);
            
SetPlayerPos(playerid, -2030.3340,-125.2208,-50.8003);
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
ShowPlayerDialog(playeridDIALOG_STYLE_MSGBOXDIALOG_STYLE_MSGBOX"{FFFF00}Aprovado""{FFFF00}Parabйns vocк passou no teste e recebeu sua carteira, agora vocк pode pilotar motos !""Ok""");
            
PlayerInfo[playerid][CNH_B] = 1;
            return 
1;
        }
        return 
1;
    }
    else if(
TesteEtapa[playerid] == && FazendoTeste[playerid] == 1// AVIAO
    
{
        if(
lataria 1000)
        {
            
DisablePlayerRaceCheckpoint(playerid);
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
SetPlayerPos(playerid1967.8879,-2181.4656,13.5469);
            
ShowPlayerDialog(playeridDRepetirAero2DIALOG_STYLE_MSGBOX"{FFFF00}Reprovado""Vocк danificou sua aeronave, e tera que que fazer o teste denovo""Sim""Nгo");
            return 
1;
        }
        else if(
lataria == 1000)
        {
            
DisablePlayerRaceCheckpoint(playerid);
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
SetPlayerPos(playerid1967.8879,-2181.4656,13.5469);
            
ShowPlayerDialog(playeridDInstrucaoAutoEscolaDIALOG_STYLE_MSGBOX"{FFFF00}Aprovado""Vocк terminou o teste para obter a hбbilitaзгo para pilotar aeronaves, e agora jб pode pilotar.""Ok""");
            
PlayerInfo[playerid][CNH_AVIAO] = 1;
            return 
1;
        }
        return 
1// Esqueceu um return 1 aqui.
    
}
    else if(
TesteEtapa[playerid] == && FazendoTeste[playerid] == 1// helicуptero
    
{
        if(
lataria 1000)
        {
            
DisablePlayerRaceCheckpoint(playerid);
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
SetPlayerPos(playerid1967.8879,-2181.4656,13.5469);
            
ShowPlayerDialog(playeridDRepetirAero2DIALOG_STYLE_MSGBOX"{FFFF00}Reprovado""Vocк danificou sua aeronave, e tera que que fazer o teste denovo""Sim""Nгo");
            return 
1;
        }
        else if(
lataria == 1000)
        {
            
DisablePlayerRaceCheckpoint(playerid);
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
SetPlayerPos(playerid1967.8879,-2181.4656,13.5469);
            
ShowPlayerDialog(playeridDInstrucaoAutoEscolaDIALOG_STYLE_MSGBOX"{FFFF00}Aprovado""Vocк terminou o teste para obter a hбbilitaзгo para pilotar aeronaves, e agora jб pode pilotar.""Ok""");
            
PlayerInfo[playerid][CNH_AVIAO] = 1;
            return 
1;
        }
        return 
1;
    }
    else if(
TesteEtapa[playerid] == && FazendoTeste[playerid] == 1// BARCO
    
{
        if(
lataria 1000)
        {
            
ShowPlayerDialog(playeridDIALOG_AUTOEINFODIALOG_STYLE_MSGBOX"{FFFF00}Reprovado""{FFFF00}Vocк danificou seu veнculo, tera que fazer o teste novamente !""Ok""");
            
SendClientMessage(playeridVermelho"| INFO | Vocк nгo passou no teste !");
            
SetPlayerPos(playerid, -2030.3340,-125.2208,-50.8003);
            
KillTimer(Verificar[playerid]);
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
DisablePlayerRaceCheckpoint(playerid);
            return 
1;
        }
        else if(
lataria == 1000)
        {
            
DestroyVehicle(VAutoEscolaTeste[playerid]);
            
FazendoTeste[playerid] = 0;
            
KillTimer(Verificar[playerid]);
            
ShowPlayerDialog(playeridDInstrucaoAutoEscolaDIALOG_STYLE_MSGBOX"{FFFF00}Aprovado""{FFFF00}O carro chegou em perfeitas formas, vocк agora ira receber sua CNH categoria A !""Ok""");
            
SetPlayerPos(playerid, -2030.3340,-125.2208,-50.8003);
            
PlayerInfo[playerid][CNH_A] = 1;
            
DisablePlayerRaceCheckpoint(playerid);
            return 
1;
        }
        return 
1// Esqueceu return 1 tbm
    
}
    return 
1;

Reply
#3

Opa, muito obrigado, funcionou 100%
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)