Ola galera, O FilterScripts foi feito por Josma_CMD e eu pedi a autorização dele para acrescentar um teste teorico no caso o jogador antes de fazer o teste pratico ele tem que responder algumas perguntas como num teste.
Sobre os testes:
Teste Teorico: Apenas fiz teste teorico de Motos e Carros não sabia oque perguntas sobre aviões no teste de carro são 6 perguntas você precisa acertar pelomenos 3 e no de Moto são 7 você precisa acertar 4, Loga apos o teste teorico comeca o pratico
Carros: 3 testes, 1° percurso, 2° rota por checkpoints, 3° teste de habilidade no estacionamento, todos com limite de tempo.
Motos: 3 testes, 1° um mini stunt onde o player deverá subir na laje com a moto e passar pro telhado ao lado, 2° uma rota com checkpoints até pular em um mini stunt do morro pra uma laje abaixo, 3° um percurso até uma mini fazenda à norte de Los Santos.
Aeronaves: 2 testes, 1° percurso, você deve decolar o beagle e pousar no aeroporto abandonado, então deverá estaciona-lo no maior hangar disponível. 2° percurso, você deverá levar o helicoptero RainDance do heliporto de Los Santos até o heliporto da delegacia de Las Venturas.
Click aqui para ver mais imagens:
SS 1
SS 2
Creditos: Josma_CMD pela criação do FS e a Gustavo_xP por editar e criar o teste teorico
pawn Code:
#include <a_samp> #define PickupCor 0xF09C00AA #define DMenuAutoEscola 200 #define DInstrucaoAutoEscola 201 #define DRepetirCarros1 202 #define DRepetirCarros2 203 #define DRepetirCarros3 204 #define DRepetirMoto1 205 #define DRepetirMoto2 206 #define DRepetirMoto3 207 #define DRepetirAero1 208 #define DRepetirAero2 209 #define DPerguntas 210 #define DPergunta1 211 #define DPergunta2 212 #define DPergunta3 213 #define DPergunta4 214 #define DPergunta5 215 #define DPergunta6 216 #define DProxPergunta2 217 #define DProxPergunta3 218 #define DProxPergunta4 219 #define DProxPergunta5 220 #define DProxPergunta6 221 #define DFimdoTeste 222 #define DNaoPasso 223 #define DMPerguntas 224 #define DMPergunta1 225 #define DMPergunta2 226 #define DMPergunta3 227 #define DMPergunta4 228 #define DMPergunta5 229 #define DMPergunta6 230 #define DMPergunta7 231 #define DMProxPergunta2 232 #define DMProxPergunta3 233 #define DMProxPergunta4 234 #define DMProxPergunta5 235 #define DMProxPergunta6 236 #define DMProxPergunta7 237 #define DMFimdoTeste 238 #define DMNaoPasso 239 #define MAXPLAYERS 40 #define sim true #define nao false //=============================[† Forward †]==================================== forward VerificarConclusao(playerid); //============================[† Variáveis †]=================================== new Acertou[MAXPLAYERS]; new VAutoEscolaTeste[MAXPLAYERS]; //Veiculo do teste new TesteEtapa[MAXPLAYERS]; //Etapa do teste new FazendoTeste[MAXPLAYERS]; //Fazendo teste new Verificar[MAXPLAYERS]; //Tempo para chegada new Float: TesteCoords[21][3] = //Coordenadas dos Checkpoints { {-1641.479980, 1300.554687, 6.861728}, //Chegada 1° teste carros {-1838.397460, -2455.462890, 27.546628}, //1° Ponto 2° teste carros {-1649.979736, -2619.526611, 45.465484}, //2° Ponto 2° teste carros {-1180.888061, -2639.533447, 11.539744}, //3° Ponto 2° teste carros {-780.500183, -2684.883544, 83.137527}, //4° Ponto 2° teste carros {-364.759643, -2255.772216, 43.043220}, //5° Ponto 2° teste carros {-160.736419, -2425.323242, 35.856044}, //6° Ponto 2° teste carros {-184.029815, -2819.222167, 42.097366}, //7° Ponto 2° teste carros {-1342.344726, -2875.889160, 54.987930}, //8° Ponto 2° teste carros {-1970.295898, -2434.038574, 30.194002}, //Chegada 2° teste carros {2305.241455, 1962.293823, 9.433162}, //1° Ponto 3° teste carros {2236.203613, 1974.228759, 31.350551}, //Saída 3° teste carros {2305.241455, 1962.293823, 9.433162}, //Chegada 3° teste carros {305.941436, -1760.017211, 7.244368}, //1° Ponto 1° teste motos {294.514434, -1758.280761, 8.047305}, //Chegada 1° teste motos {2775.379394, -1044.423217, 38.830417}, //1° Ponto 2° teste motos {2697.045410, -1050.630004, 67.454254}, //2° Ponto 2° teste motos {2660.527099, -1071.078979, 68.900634}, //3° Ponto 2° teste motos {2742.664794, -1177.842651, 68.896690}, //4° Ponto 2° teste motos {2815.201416, -1170.591308, 32.239631}, //Chegada 2° teste motos {-577.292663, -189.324462, 78.249137} //Chegada 3° teste motos }; main() { print("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Progressão Pawn\n Envolvendo jogadores, revolucionando servidores!\n Josma_CMD\n\n\n\n\n\n\n\n\n"); }//MAIN By: Gill Penner public OnFilterScriptInit() { CreatePickup(1239, 1, 1494.325195,1304.942871,1093.289062, 0); //Pickup autoescola entrada CreatePickup(1239, 1, 1081.219726, -1696.847534, 13.546875, 0); //Pickup autoescola saída CreatePickup(2894, 1, 1490.509765, 1305.782958, 1093.296386, 0); //Pickup menu auto escola Create3DTextLabel("Auto escola\nPressione ENTER para entrar.", PickupCor, 356.8607,186.0784,1009.1264, 40, 0, 0); Create3DTextLabel("Auto escola\nPressione ENTER para sair.", PickupCor, 1494.325195,1304.942871,1093.289062, 40, 0, 0); Create3DTextLabel("Menu Auto escola\nPressione ENTER para ver as opções.", PickupCor, 1490.509765, 1305.782958, 1093.296386, 40, 0, 0); return sim; } public OnPlayerConnect(playerid) { SendClientMessage(playerid, 0x1E90FF99, "Este servidor usa um sistema de teste de habilitação do{FFFFFF} Progressão Pawn - Josma_CMD"); SendClientMessage(playerid, 0x1E90FF99, "e tambem a {FFFFFF}Gustavo_xP{1E90FF} pela criação do sistema de teste teoricos."); return sim; } public OnPlayerStateChange(playerid, newstate, oldstate) { if(oldstate == PLAYER_STATE_DRIVER) { if(TesteEtapa[playerid] == 14 && FazendoTeste[playerid] == 1 || TesteEtapa[playerid] == 13 && FazendoTeste[playerid] == 1) { ShowPlayerDialog(playerid, DRepetirMoto1, DIALOG_STYLE_MSGBOX, "Você caiu", "Você caiu da moto, deseja repetir o teste?", "Sim", "Não"); DestroyVehicle(VAutoEscolaTeste[playerid]); DisablePlayerRaceCheckpoint(playerid); return sim; } return sim; } return sim; } public OnPlayerEnterRaceCheckpoint(playerid) { new Float: lataria, Float: P[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(playerid, P[0], P[1], P[2]); //Pegará a coordenada de onde será aplicado o som PlayerPlaySound(playerid, 1053, P[0], P[1], P[2]); //Aplicará som ao entrar no Race Checkpoint if(TesteEtapa[playerid] == 1 && FazendoTeste[playerid] == 1) { if(lataria < 1000) { ShowPlayerDialog(playerid, DRepetirCarros1, DIALOG_STYLE_MSGBOX, "Você não conseguiu", "Você danificou seu veículo, deseja repetir o teste?", "Sim", "Não"); KillTimer(Verificar[playerid]); DestroyVehicle(VAutoEscolaTeste[playerid]); FazendoTeste[playerid] = 0; DisablePlayerRaceCheckpoint(playerid); return 1; } else if(lataria == 1000) { ShowPlayerDialog(playerid, DRepetirCarros2, DIALOG_STYLE_MSGBOX, "Você conseguiu", "Você deseja passar para a próxima etapa do teste de habilitação?", "Sim", "Não"); DestroyVehicle(VAutoEscolaTeste[playerid]); FazendoTeste[playerid] = 0; KillTimer(Verificar[playerid]); DisablePlayerRaceCheckpoint(playerid); return 1; } return 1; } if(TesteEtapa[playerid] == 2 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[2][0], TesteCoords[2][1], TesteCoords[2][2], TesteCoords[3][0], TesteCoords[3][1], TesteCoords[3][2], 5.0); TesteEtapa[playerid] = 3; return 1; } if(TesteEtapa[playerid] == 3 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[3][0], TesteCoords[3][1], TesteCoords[3][2], TesteCoords[4][0], TesteCoords[4][1], TesteCoords[4][2], 5.0); TesteEtapa[playerid] = 4; return 1; } if(TesteEtapa[playerid] == 4 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[4][0], TesteCoords[4][1], TesteCoords[4][2], TesteCoords[5][0], TesteCoords[5][1], TesteCoords[5][2], 5.0); TesteEtapa[playerid] = 5; return 1; } if(TesteEtapa[playerid] == 5 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[5][0], TesteCoords[5][1], TesteCoords[5][2], TesteCoords[6][0], TesteCoords[6][1], TesteCoords[6][2], 5.0); TesteEtapa[playerid] = 6; return 1; } if(TesteEtapa[playerid] == 6 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[6][0], TesteCoords[6][1], TesteCoords[6][2], TesteCoords[7][0], TesteCoords[7][1], TesteCoords[7][2], 5.0); TesteEtapa[playerid] = 7; return 1; } if(TesteEtapa[playerid] == 7 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[7][0], TesteCoords[7][1], TesteCoords[7][2], TesteCoords[8][0], TesteCoords[8][1], TesteCoords[8][2], 5.0); TesteEtapa[playerid] = 8; return 1; } if(TesteEtapa[playerid] == 8 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[8][0], TesteCoords[8][1], TesteCoords[8][2], TesteCoords[9][0], TesteCoords[9][1], TesteCoords[9][2], 5.0); TesteEtapa[playerid] = 9; return 1; } if(TesteEtapa[playerid] == 9 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); SetPlayerRaceCheckpoint(playerid, 1, TesteCoords[9][0], TesteCoords[9][1], TesteCoords[9][2], TesteCoords[9][0], TesteCoords[9][1], TesteCoords[9][2], 5.0); TesteEtapa[playerid] = 10; return 1; } if(TesteEtapa[playerid] == 10 && FazendoTeste[playerid] == 1) { if(lataria < 1000) { ShowPlayerDialog(playerid, DRepetirCarros2, DIALOG_STYLE_MSGBOX, "Você não conseguiu", "Você danificou seu veículo, deseja repetir o teste?", "Sim", "Não"); KillTimer(Verificar[playerid]); DestroyVehicle(VAutoEscolaTeste[playerid]); FazendoTeste[playerid] = 0; DisablePlayerRaceCheckpoint(playerid); return 1; } else if(lataria == 1000) { ShowPlayerDialog(playerid, DRepetirCarros3, DIALOG_STYLE_MSGBOX, "Você conseguiu", "Você deseja passar para a próxima etapa do teste de habilitação?", "Sim", "Não"); DestroyVehicle(VAutoEscolaTeste[playerid]); FazendoTeste[playerid] = 0; KillTimer(Verificar[playerid]); DisablePlayerRaceCheckpoint(playerid); return 1; } return 1; } if(TesteEtapa[playerid] == 11 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); SetPlayerRaceCheckpoint(playerid, 1, TesteCoords[11][0], TesteCoords[11][1], TesteCoords[11][2], TesteCoords[11][0], TesteCoords[11][1], TesteCoords[11][2], 5.0); TesteEtapa[playerid] = 12; return 1; } if(TesteEtapa[playerid] == 12 && FazendoTeste[playerid] == 1) { if(lataria < 1000) { ShowPlayerDialog(playerid, DRepetirCarros3, DIALOG_STYLE_MSGBOX, "Você não conseguiu", "Você danificou seu veículo, deseja repetir o teste?", "Sim", "Não"); KillTimer(Verificar[playerid]); DestroyVehicle(VAutoEscolaTeste[playerid]); FazendoTeste[playerid] = 0; DisablePlayerRaceCheckpoint(playerid); return 1; } else if(lataria == 1000) { SetPlayerInterior(playerid, 3); SetPlayerPos(playerid, 1497.034423, 1308.573730, 1093.294799); ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Você conseguiu", "Você tirou sua carteira de habilitação, e agora pode dirigir carros.", "Ok", ""); DestroyVehicle(VAutoEscolaTeste[playerid]); FazendoTeste[playerid] = 0; KillTimer(Verificar[playerid]); DisablePlayerRaceCheckpoint(playerid); //Aqui a variável habilitando o jogador à pilotar carros return 1; } return 1; } if(TesteEtapa[playerid] == 13 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); SetPlayerRaceCheckpoint(playerid, 1, TesteCoords[14][0], TesteCoords[14][1], TesteCoords[14][2], TesteCoords[14][0], TesteCoords[14][1], TesteCoords[14][2], 5.0); TesteEtapa[playerid] = 14; FazendoTeste[playerid] = 0; return 1; } if(TesteEtapa[playerid] == 14 && FazendoTeste[playerid] == 0) { DisablePlayerRaceCheckpoint(playerid); DestroyVehicle(VAutoEscolaTeste[playerid]); ShowPlayerDialog(playerid, DRepetirMoto2, DIALOG_STYLE_MSGBOX, "Você conseguiu", "Você passou na primeira etapa, deseja ir para a próxima etapa do teste?", "Sim", "Não"); return 1; } if(TesteEtapa[playerid] == 15 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[15][0], TesteCoords[15][1], TesteCoords[15][2], TesteCoords[16][0], TesteCoords[16][1], TesteCoords[16][2], 5.0); TesteEtapa[playerid] = 16; return 1; } if(TesteEtapa[playerid] == 16 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[16][0], TesteCoords[16][1], TesteCoords[16][2], TesteCoords[17][0], TesteCoords[17][1], TesteCoords[17][2], 5.0); TesteEtapa[playerid] = 17; return 1; } if(TesteEtapa[playerid] == 17 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[17][0], TesteCoords[17][1], TesteCoords[17][2], TesteCoords[18][0], TesteCoords[18][1], TesteCoords[18][2], 5.0); TesteEtapa[playerid] = 18; return 1; } if(TesteEtapa[playerid] == 18 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[18][0], TesteCoords[18][1], TesteCoords[18][2], TesteCoords[19][0], TesteCoords[19][1], TesteCoords[19][2], 5.0); TesteEtapa[playerid] = 19; return 1; } if(TesteEtapa[playerid] == 19 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); SetPlayerRaceCheckpoint(playerid, 1, TesteCoords[19][0], TesteCoords[19][1], TesteCoords[19][2], TesteCoords[19][0], TesteCoords[19][1], TesteCoords[19][2], 5.0); TesteEtapa[playerid] = 20; return 1; } if(TesteEtapa[playerid] == 20 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); DestroyVehicle(VAutoEscolaTeste[playerid]); ShowPlayerDialog(playerid, DRepetirMoto3, DIALOG_STYLE_MSGBOX, "Você conseguiu", "Você passou na segunda etapa, deseja ir para a próxima etapa do teste?", "Sim", "Não"); TesteEtapa[playerid] = 0; KillTimer(Verificar[playerid]); return 1; } if(TesteEtapa[playerid] == 21 && FazendoTeste[playerid] == 1) { DisablePlayerRaceCheckpoint(playerid); DestroyVehicle(VAutoEscolaTeste[playerid]); SetPlayerInterior(playerid, 3); SetPlayerPos(playerid, 1497.034423, 1308.573730, 1093.294799); ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Você conseguiu", "Você concluiu o teste para adiquirir sua habilitação, agora já pode pilotar motos.", "Ok", ""); TesteEtapa[playerid] = 0; KillTimer(Verificar[playerid]); //Aqui a variável habilitando o jogador à pilotar motos return 1; } if(TesteEtapa[playerid] == 22 && FazendoTeste[playerid] == 1) { if(lataria < 1000) { DisablePlayerRaceCheckpoint(playerid); DestroyVehicle(VAutoEscolaTeste[playerid]); KillTimer(Verificar[playerid]); ShowPlayerDialog(playerid, DRepetirAero1, DIALOG_STYLE_MSGBOX, "Você não conseguiu", "Você danificou sua aeronave, deseja repetir o teste?", "Sim", "Não"); return 1; } else if(lataria == 1000) { DisablePlayerRaceCheckpoint(playerid); DestroyVehicle(VAutoEscolaTeste[playerid]); ShowPlayerDialog(playerid, DRepetirAero2, DIALOG_STYLE_MSGBOX, "Você conseguiu", "Você passou na primeira etapa do teste de aeronaves, deseja passar para próxima etapa?", "Sim", "Não"); TesteEtapa[playerid] = 0; KillTimer(Verificar[playerid]); return 1; } return 1; } if(TesteEtapa[playerid] == 23 && FazendoTeste[playerid] == 1) { if(lataria < 1000) { DisablePlayerRaceCheckpoint(playerid); DestroyVehicle(VAutoEscolaTeste[playerid]); KillTimer(Verificar[playerid]); ShowPlayerDialog(playerid, DRepetirAero2, DIALOG_STYLE_MSGBOX, "Você não conseguiu", "Você danificou sua aeronave, deseja repetir o teste?", "Sim", "Não"); return 1; } else if(lataria == 1000) { DisablePlayerRaceCheckpoint(playerid); DestroyVehicle(VAutoEscolaTeste[playerid]); SetPlayerInterior(playerid, 3); SetPlayerPos(playerid, 1497.034423, 1308.573730, 1093.294799); ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Você conseguiu", "Você terminou o teste para obter a hábilitação para pilotar aeronaves, e agora já pode pilotar.", "Ok", ""); TesteEtapa[playerid] = 0; KillTimer(Verificar[playerid]); //Aqui a variável habilitando o jogador à pilotar aeronaves return 1; } return 1; } return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(newkeys == KEY_SECONDARY_ATTACK) { if(IsPlayerInRangeOfPoint(playerid, 3.0, 1081.219726, -1696.847534, 13.546875)) //Caso esteja nesta coordenada, executará o que está abaixo { SetPlayerPos(playerid, 1494.325195,1304.942871,1093.289062); //Teleporta para dentro da Auto Escola SetPlayerInterior(playerid, 3); //Setará o interior para [3] return 1; } if(IsPlayerInRangeOfPoint(playerid, 3.0, 1494.325195,1304.942871,1093.289062)) //Caso esteja nesta coordenada, executará o que está abaixo { SetPlayerPos(playerid, 1081.219726, -1696.847534, 13.546875); //Teleporta para fora da Auto Escola SetPlayerInterior(playerid, 0); //Setará o interior para [0] return 1; } if(IsPlayerInRangeOfPoint(playerid, 3.0, 1490.509765, 1305.782958, 1093.296386)) //Caso esteja nesta coordenada, executará o que está abaixo { ShowPlayerDialog(playerid, DMenuAutoEscola, DIALOG_STYLE_LIST, "{FFFFFF}Escolha o teste", "{FFFFFF}Carros {1E90FF}$5.000\n{FFFFFF}Motos {1E90FF}$3.000\n{FFFFFF}Aeronaves {1E90FF}$4.000", "Comprar", "Cancelar"); //Mostrará o menu return 1; } return 1; } return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid) { case DPerguntas: { if(response) { ShowPlayerDialog(playerid, DPergunta1, DIALOG_STYLE_MSGBOX, "Primeira Pergunta", "{FFFFFF}Você deve andar de que lado da rua?\n\n{1E90FF}Alternativas:\nA){FFFFFF} Do lado esquerdo{1E90FF}\nB){FFFFFF} Do lado direito", "A", "B"); return 1; } return 1; } case DPergunta1: { if(response) { ShowPlayerDialog(playerid, DProxPergunta2, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}B){FFFFFF} Do lado direito", "Continuar", ""); return 1; } if(!response) { ShowPlayerDialog(playerid, DProxPergunta2, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", ""); Acertou[playerid] ++; return 1; } return 1; } case DProxPergunta2: { if(response) { ShowPlayerDialog(playerid, DPergunta2, DIALOG_STYLE_MSGBOX, "Segunda Pergunta", "{FFFFFF}O sinal abre e tem um pedestre passando a faixa oque você deve fazer?\n\n{1E90FF}Alternativas:\nA){FFFFFF} Reduzo e deicho o pedestre acabar de passar{1E90FF}\nB){FFFFFF} Buzino para ele andar mais rapido", "A", "B"); return 1; } return 1; } case DPergunta2: { if(response) { ShowPlayerDialog(playerid, DProxPergunta3, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", ""); Acertou[playerid] ++; return 1; } if(!response) { ShowPlayerDialog(playerid, DProxPergunta3, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}A){FFFFFF} Reduzo e deicho o pedestre\n acabar de passar", "Continuar", ""); return 1; } return 1; } case DProxPergunta3: { if(response) { ShowPlayerDialog(playerid, DPergunta3, DIALOG_STYLE_MSGBOX, "Terceira Pergunta", "{FFFFFF}Você está com seu veiculo quando avista um grupo de meliantes\nna calçada oque você deve fazer?\n\n{1E90FF}Alternativas:\nA){FFFFFF}Vou reduzindo tentando chegar ao semaforo com ele aberto{1E90FF}\nB){FFFFFF} Acelero e paro do lado deles", "A", "B"); return 1; } return 1; } case DPergunta3: { if(response) { ShowPlayerDialog(playerid, DProxPergunta4, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", ""); Acertou[playerid] ++; return 1; } if(!response) { ShowPlayerDialog(playerid, DProxPergunta4, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}A){FFFFFF} Vou reduzindo\ntentando chegar ao semaforo com ele aberto", "Continuar", ""); return 1; } return 1; } case DProxPergunta4: { if(response) { ShowPlayerDialog(playerid, DPergunta4, DIALOG_STYLE_MSGBOX, "Quarta Pergunta", "{FFFFFF}Você está com seu veiculo normalmete a 110Km/h quando\nvisualiza uma placa de no maximo 80Km/h\noque você deve fazer?\n\n{1E90FF}Alternativas:\nA{FFFFFF} Continuo a 110Km/h{1E90FF}\nB){FFFFFF} Reduzo para os 80Km/h", "A", "B"); return 1; } return 1; } case DPergunta4: { if(response) { ShowPlayerDialog(playerid, DProxPergunta5, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}B){FFFFFF} Reduzo para os 80Km/h", "Continuar", ""); return 1; } if(!response) { ShowPlayerDialog(playerid, DProxPergunta5, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", ""); Acertou[playerid] ++; return 1; } return 1; } case DProxPergunta5: { if(response) { ShowPlayerDialog(playerid, DPergunta5, DIALOG_STYLE_MSGBOX, "Quinta Pergunta", "{FFFFFF}Você dirige a 120Km/h e visualiza um carro em\n sua frente oque você deve fazer?\n\n{1E90FF}Alternativas:\nA{FFFFFF} Colo na trazeira dele forçando a ultrapassagem{1E90FF}\nB){FFFFFF} Mantenho distancia e espero o momento certo", "A", "B"); return 1; } return 1; } case DPergunta5: { if(response) { ShowPlayerDialog(playerid, DProxPergunta6, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}B){FFFFFF} Mantenho distancia e espero o momento certo", "Continuar", ""); return 1; } if(!response) { ShowPlayerDialog(playerid, DProxPergunta6, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", ""); Acertou[playerid] ++; return 1; } return 1; } case DProxPergunta6: { if(response) { ShowPlayerDialog(playerid, DPergunta6, DIALOG_STYLE_MSGBOX, "Sexta Pergunta", "{FFFFFF}Você está seguindo normalmente quando um carro fazendo a\n ultrapassagem nota que está vindo um caminhao\ne precisa voltar para pista oque você deve fazer?\n\n{1E90FF}Alternativas:\nA){FFFFFF} Reduzir assim deichando espasso para ele voltar{1E90FF}\nB){FFFFFF} Acelerar e não deichar ele voltar", "A", "B"); return 1; } return 1; } case DPergunta6: { if(response) { ShowPlayerDialog(playerid, DFimdoTeste, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", ""); Acertou[playerid] ++; return 1; } if(!response) { ShowPlayerDialog(playerid, DFimdoTeste, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}B){FFFFFF} Mantenho distancia e espero o momento certo", "Continuar", ""); return 1; } return 1; } case DFimdoTeste: { if(response) { if(Acertou[playerid] >= 3) { ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Como concluír seu teste", "Dirija de LS até o porto de San Fierro sem danos e em menos de 3:40 minutos", "OK", ""); VAutoEscolaTeste[playerid] = CreateVehicle(402, 1089.949218, -1757.977783, 13.212669, 89.3455565, 1, 1, 5000); PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0); SetPlayerInterior(playerid, 0); TesteEtapa[playerid] = 1; FazendoTeste[playerid] = 1; GivePlayerMoney(playerid, -5000); Verificar[playerid] = SetTimerEx("VerificarConclusao", 220000, false, "playerid", playerid); SetPlayerRaceCheckpoint(playerid, 1, TesteCoords[0][0], TesteCoords[0][1], TesteCoords[0][2], TesteCoords[0][0], TesteCoords[0][1], TesteCoords[0][2], 5.0); return 1; } if(Acertou[playerid] <= 3) { ShowPlayerDialog(playerid, DNaoPasso, DIALOG_STYLE_MSGBOX, "Você foi reprovado", "Sinto muito você reprovou no teste tente novamente.", "OK", ""); return 1; } } return 1; } case DMPerguntas: { if(response) { ShowPlayerDialog(playerid, DMPergunta1, DIALOG_STYLE_MSGBOX, "Primeira Pergunta", "{FFFFFF}Você deve andar de que lado da rua?\n\n{1E90FF}Alternativas:\nA){FFFFFF} Do lado esquerdo{1E90FF}\nB){FFFFFF} Do lado direito", "A", "B"); return 1; } return 1; } case DMPergunta1: { if(response) { ShowPlayerDialog(playerid, DMProxPergunta2, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}B){FFFFFF} Do lado direito", "Continuar", ""); return 1; } if(!response) { ShowPlayerDialog(playerid, DMProxPergunta2, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", ""); Acertou[playerid] ++; return 1; } return 1; } case DMProxPergunta2: { if(response) { ShowPlayerDialog(playerid, DMPergunta2, DIALOG_STYLE_MSGBOX, "Segunda Pergunta", "{FFFFFF}O sinal abre e tem um pedestre passando a faixa oque você deve fazer?\n\n{1E90FF}Alternativas:\nA){FFFFFF} Reduzo e deicho o pedestre acabar de passar{1E90FF}\nB){FFFFFF} Buzino para ele andar mais rapido", "A", "B"); return 1; } return 1; } case DMPergunta2: { if(response) { ShowPlayerDialog(playerid, DMProxPergunta3, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", ""); Acertou[playerid] ++; return 1; } if(!response) { ShowPlayerDialog(playerid, DMProxPergunta3, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}A){FFFFFF} Reduzo e deicho o pedestre\n acabar de passar", "Continuar", ""); return 1; } return 1; } case DMProxPergunta3: { if(response) { ShowPlayerDialog(playerid, DMPergunta3, DIALOG_STYLE_MSGBOX, "Terceira Pergunta", "{FFFFFF}Você está com seu veiculo quando avista um grupo de meliantes\nna calçada oque você deve fazer?\n\n{1E90FF}Alternativas:\nA){FFFFFF}Vou reduzindo tentando chegar ao semaforo com ele aberto{1E90FF}\nB){FFFFFF} Acelero e paro do lado deles", "A", "B"); return 1; } return 1; } case DMPergunta3: { if(response) { ShowPlayerDialog(playerid, DMProxPergunta4, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", ""); Acertou[playerid] ++; return 1; } if(!response) { ShowPlayerDialog(playerid, DMProxPergunta4, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}A){FFFFFF} Vou reduzindo\ntentando chegar ao semaforo com ele aberto", "Continuar", ""); return 1; } return 1; } case DMProxPergunta4: { if(response) { ShowPlayerDialog(playerid, DMPergunta4, DIALOG_STYLE_MSGBOX, "Quarta Pergunta", "{FFFFFF}Você está com seu veiculo normalmete a 110Km/h quando\nvisualiza uma placa de no maximo 80Km/h\noque você deve fazer?\n\n{1E90FF}Alternativas:\nA{FFFFFF} Continuo a 110Km/h{1E90FF}\nB){FFFFFF} Reduzo para os 80Km/h", "A", "B"); return 1; } return 1; } case DMPergunta4: { if(response) { ShowPlayerDialog(playerid, DMProxPergunta5, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}B){FFFFFF} Reduzo para os 80Km/h", "Continuar", ""); return 1; } if(!response) { ShowPlayerDialog(playerid, DMProxPergunta5, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", ""); Acertou[playerid] ++; return 1; } return 1; } case DMProxPergunta5: { if(response) { ShowPlayerDialog(playerid, DMPergunta5, DIALOG_STYLE_MSGBOX, "Quinta Pergunta", "{FFFFFF}Você dirige a 120Km/h e visualiza um carro em\n sua frente oque você deve fazer?\n\n{1E90FF}Alternativas:\nA{FFFFFF} Colo na trazeira dele forçando a ultrapassagem{1E90FF}\nB){FFFFFF} Mantenho distancia e espero o momento certo", "A", "B"); return 1; } return 1; } case DMPergunta5: { if(response) { ShowPlayerDialog(playerid, DMProxPergunta6, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}B){FFFFFF} Mantenho distancia e espero o momento certo", "Continuar", ""); return 1; } if(!response) { ShowPlayerDialog(playerid, DMProxPergunta6, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", ""); Acertou[playerid] ++; return 1; } return 1; } case DMProxPergunta6: { if(response) { ShowPlayerDialog(playerid, DMPergunta6, DIALOG_STYLE_MSGBOX, "Sexta Pergunta", "{FFFFFF}Você está seguindo normalmente quando um carro fazendo a\n ultrapassagem nota que está vindo um caminhao\ne precisa voltar para pista oque você deve fazer?\n\n{1E90FF}Alternativas:\nA){FFFFFF} Reduzir assim deichando espasso para ele voltar{1E90FF}\nB){FFFFFF} Acelerar e não deichar ele voltar", "A", "B"); return 1; } return 1; } case DMPergunta6: { if(response) { ShowPlayerDialog(playerid, DMProxPergunta7, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", ""); Acertou[playerid] ++; return 1; } if(!response) { ShowPlayerDialog(playerid, DMProxPergunta7, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}A){FFFFFF} Reduzir assim deichando espasso para ele voltar", "Continuar", ""); return 1; } return 1; } case DMProxPergunta7: { if(response) { ShowPlayerDialog(playerid, DMPergunta7, DIALOG_STYLE_MSGBOX, "Setima Pergunta", "{FFFFFF}Numa moto você precisa usar capacete?\n\n{1E90FF}Alternativas:\nA){FFFFFF} Sim{1E90FF}\nB){FFFFFF} Não", "A", "B"); return 1; } return 1; } case DMPergunta7: { if(response) { ShowPlayerDialog(playerid, DMFimdoTeste, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", ""); Acertou[playerid] ++; return 1; } if(!response) { ShowPlayerDialog(playerid, DMFimdoTeste, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}A){FFFFFF} Sim", "Continuar", ""); return 1; } return 1; } case DMFimdoTeste: { if(response) { if(Acertou[playerid] >= 4) { ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Como concluír seu teste", "Siga reto e suba na laje atravez do meio fiu. Após isso vá para a casa do lado esquerdo com a moto.", "OK", ""); VAutoEscolaTeste[playerid] = CreateVehicle(522, 305.917968, -1868.175415, 2.393410, 0.3362, 0, 158, 5000); PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0); SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[13][0], TesteCoords[13][1], TesteCoords[13][2], TesteCoords[14][0], TesteCoords[14][1], TesteCoords[14][2], 5.0); TesteEtapa[playerid] = 13; GivePlayerMoney(playerid, -3000); FazendoTeste[playerid] = 1; SetPlayerInterior(playerid, 0); return 1; } if(Acertou[playerid] <= 4) { ShowPlayerDialog(playerid, DNaoPasso, DIALOG_STYLE_MSGBOX, "Você foi reprovado", "Sinto muito você reprovou no teste tente novamente.", "OK", ""); return 1; } } return 1; } case DMenuAutoEscola: { if(response) { switch(listitem) { case 0: { Acertou[playerid] = 0; ShowPlayerDialog(playerid, DPerguntas, DIALOG_STYLE_MSGBOX, "Teste Teorico", "Ola agora vamos ao Teste Teorico você precisa acertar\npelo menos 3 perguntas do teste para ser aprovado!", "Continuar", ""); return 1; } case 1: { Acertou[playerid] = 0; ShowPlayerDialog(playerid, DMPerguntas, DIALOG_STYLE_MSGBOX, "Teste Teorico", "Ola agora vamos ao Teste Teorico você precisa acertar\npelo menos 4 perguntas do para ser aprovado!", "Continuar", ""); } case 2: { ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Como concluír seu teste", "Decole o avião, leve-o até o hangar localizado no aeroporto abandonado de Las Venturas, estacione-o.", "OK", ""); VAutoEscolaTeste[playerid] = CreateVehicle(511, -1646.996459, -154.085769, 15.522509, 315.0830, 0, 158, 5000); PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0); SetPlayerRaceCheckpoint(playerid, 1, 405.687927, 2451.601562, 17.873716, 405.687927, 2451.601562, 17.873716, 5.0); TesteEtapa[playerid] = 22; GivePlayerMoney(playerid, -4000); FazendoTeste[playerid] = 1; SetPlayerInterior(playerid, 0); return 1; } } return 1; } return 1; } case DRepetirCarros1: { if(response) { ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Como concluír seu teste", "Dirija de LS até o porto de San Fierro sem danos e em menos de 3:40 minutos", "OK", ""); VAutoEscolaTeste[playerid] = CreateVehicle(402, 1089.949218, -1757.977783, 13.212669, 89.3455565, 1, 1, 5000); PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0); SetPlayerInterior(playerid, 0); TesteEtapa[playerid] = 1; FazendoTeste[playerid] = 1; Verificar[playerid] = SetTimerEx("VerificarConclusao", 220000, false, "playerid", playerid); SetPlayerRaceCheckpoint(playerid, 1, TesteCoords[0][0], TesteCoords[0][1], TesteCoords[0][2], TesteCoords[0][0], TesteCoords[0][1], TesteCoords[0][2], 5.0); return 1; } return 1; } case DRepetirCarros2: { if(response) { ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Como concluír seu teste", "Siga a trilha de checkpoints até o final do circuito, sem danos e em menos de 3:00 minutos", "OK", ""); VAutoEscolaTeste[playerid] = CreateVehicle(424, -1970.295898, -2434.038574, 30.194002, 273.215728, 0, 1, 5000); PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0); SetPlayerInterior(playerid, 0); TesteEtapa[playerid] = 2; FazendoTeste[playerid] = 1; Verificar[playerid] = SetTimerEx("VerificarConclusao", 180000, false, "playerid", playerid); SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[1][0], TesteCoords[1][1], TesteCoords[1][2], TesteCoords[2][0], TesteCoords[2][1], TesteCoords[2][2], 5.0); return 1; } return 1; } case DRepetirCarros3: { if(response) { ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Como concluír seu teste", "Desca pelo estacionamento até o Checkpoint no térreo e suba até o ponto de partida, sem danos e em 1:15 minutos", "OK", ""); VAutoEscolaTeste[playerid] = CreateVehicle(562, 2236.203613, 1974.228759, 31.350551, 273.215728, 158, 1, 5000); PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0); SetPlayerInterior(playerid, 0); TesteEtapa[playerid] = 11; FazendoTeste[playerid] = 1; Verificar[playerid] = SetTimerEx("VerificarConclusao", 75000, false, "playerid", playerid); SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[12][0], TesteCoords[12][1], TesteCoords[12][2], TesteCoords[11][0], TesteCoords[11][1], TesteCoords[11][2], 5.0); return 1; } return 1; } case DRepetirMoto1: { if(response) { ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Como concluír seu teste", "Siga reto e suba na laje atravez do meio fiu. Após isso vá para a casa do lado esquerdo com a moto.", "OK", ""); VAutoEscolaTeste[playerid] = CreateVehicle(522, 305.917968, -1868.175415, 2.393410, 0.3362, 0, 158, 5000); PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0); SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[13][0], TesteCoords[13][1], TesteCoords[13][2], TesteCoords[14][0], TesteCoords[14][1], TesteCoords[14][2], 5.0); TesteEtapa[playerid] = 13; FazendoTeste[playerid] = 1; return 1; } return 1; } case DRepetirMoto2: { if(response) { ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Como concluír seu teste", "Siga a trilha de checkpoints até o alto do morro, por fim, pule o muro e pare na laje abaixo.", "OK", ""); VAutoEscolaTeste[playerid] = CreateVehicle(522, 2838.280517, -1046.117309, 22.838201, 89.345565, 0, 158, 5000); PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0); SetPlayerRaceCheckpoint(playerid, 0, 2838.280517, -1046.117309, 22.838201, TesteCoords[15][0], TesteCoords[15][1], TesteCoords[15][2], 5.0); TesteEtapa[playerid] = 15; FazendoTeste[playerid] = 1; return 1; } return 1; } case DRepetirMoto3: { if(response) { ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Como concluír seu teste", "Chegue até o checkpoint em menos de 1:50 minutos, pegue o caminho que desejar.", "OK", ""); VAutoEscolaTeste[playerid] = CreateVehicle(468, 2418.786132, 91.505310, 26.047235, 89.345565, 158, 158, 5000); PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0); Verificar[playerid] = SetTimerEx("VerificarConclusao", 150000, false, "playerid", playerid); SetPlayerRaceCheckpoint(playerid, 1, -577.292663, -189.324462, 78.249137, TesteCoords[20][0], TesteCoords[20][1], TesteCoords[20][2], 5.0); TesteEtapa[playerid] = 21; FazendoTeste[playerid] = 1; return 1; } return 1; } case DRepetirAero1: { if(response) { ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Como concluír seu teste", "Decole o avião, leve-o até o hangar localizado no aeroporto abandonado de Las Venturas, estacione-o.", "OK", ""); VAutoEscolaTeste[playerid] = CreateVehicle(511, -1646.996459, -154.085769, 15.522509, 315.0830, 0, 158, 5000); PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0); SetPlayerRaceCheckpoint(playerid, 1, 405.687927, 2451.601562, 17.873716, 405.687927, 2451.601562, 17.873716, 5.0); TesteEtapa[playerid] = 22; FazendoTeste[playerid] = 1; SetPlayerInterior(playerid, 0); return 1; } return 1; } case DRepetirAero2: { if(response) { ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Como concluír seu teste", "Decole o avião, leve-o até o hangar localizado no aeroporto abandonado de Las Venturas, estacione-o.", "OK", ""); VAutoEscolaTeste[playerid] = CreateVehicle(563, 1766.504882, -2286.285644, 27.501468, 268.859832, 0, 158, 5000); PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0); SetPlayerRaceCheckpoint(playerid, 1, 2093.283447, 2414.863037, 75.284034, 2093.283447, 2414.863037, 75.284034, 5.0); TesteEtapa[playerid] = 23; FazendoTeste[playerid] = 1; return 1; } return 1; } } return 1; } public VerificarConclusao(playerid) //É chamada no fim do prazo, se o player chegar à tempo esse timer é destruído, então não será chamado { //Abaixo todas as etapas que tem um tempo limite para a chegada if(TesteEtapa[playerid] == 1) { if(FazendoTeste[playerid] == 1) { DestroyVehicle(VAutoEscolaTeste[playerid]); FazendoTeste[playerid] = 0; TesteEtapa[playerid] = 0; ShowPlayerDialog(playerid, DRepetirCarros1, DIALOG_STYLE_MSGBOX, "Você não conseguiu", "Você não chegou à tempo, deseja repetir o teste?", "Sim", "Não"); return 1; } return 1; } if(TesteEtapa[playerid] >= 2 && TesteEtapa[playerid] <= 10) { if(FazendoTeste[playerid] == 1) { DestroyVehicle(VAutoEscolaTeste[playerid]); FazendoTeste[playerid] = 0; TesteEtapa[playerid] = 0; ShowPlayerDialog(playerid, DRepetirCarros2, DIALOG_STYLE_MSGBOX, "Você não conseguiu", "Você não chegou à tempo, deseja repetir o teste?", "Sim", "Não"); return 1; } return 1; } if(TesteEtapa[playerid] >= 11 && TesteEtapa[playerid] <= 12) { if(FazendoTeste[playerid] == 1) { DestroyVehicle(VAutoEscolaTeste[playerid]); FazendoTeste[playerid] = 0; TesteEtapa[playerid] = 0; ShowPlayerDialog(playerid, DRepetirCarros3, DIALOG_STYLE_MSGBOX, "Você não conseguiu", "Você não chegou à tempo, deseja repetir o teste?", "Sim", "Não"); return 1; } return 1; } if(TesteEtapa[playerid] == 21) { if(FazendoTeste[playerid] == 1) { ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Como concluír seu teste", "Chegue até o checkpoint em menos de 1:50 minutos, pegue o caminho que desejar.", "OK", ""); VAutoEscolaTeste[playerid] = CreateVehicle(468, 2418.786132, 91.505310, 26.047235, 89.345565, 158, 158, 5000); PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0); Verificar[playerid] = SetTimerEx("VerificarConclusao", 15000, false, "playerid", playerid); SetPlayerRaceCheckpoint(playerid, 1, 2838.280517, -1046.117309, 22.838201, TesteCoords[20][0], TesteCoords[20][1], TesteCoords[20][2], 5.0); TesteEtapa[playerid] = 21; FazendoTeste[playerid] = 1; return 1; } return 1; } return 1; }
Download
PasteBin

---------------------------------------------------