Advertisement
Guest User

Sistema de Habilitacao

a guest
Aug 16th, 2011
427
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 44.30 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. #define PickupCor 0xF09C00AA
  4. #define DMenuAutoEscola          200
  5. #define DInstrucaoAutoEscola     201
  6. #define DRepetirCarros1          202
  7. #define DRepetirCarros2          203
  8. #define DRepetirCarros3          204
  9. #define DRepetirMoto1            205
  10. #define DRepetirMoto2            206
  11. #define DRepetirMoto3            207
  12. #define DRepetirAero1            208
  13. #define DRepetirAero2            209
  14. #define DPerguntas               210
  15. #define DPergunta1               211
  16. #define DPergunta2               212
  17. #define DPergunta3               213
  18. #define DPergunta4               214
  19. #define DPergunta5               215
  20. #define DPergunta6               216
  21. #define DProxPergunta2           217
  22. #define DProxPergunta3           218
  23. #define DProxPergunta4           219
  24. #define DProxPergunta5           220
  25. #define DProxPergunta6           221
  26. #define DFimdoTeste              222
  27. #define DNaoPasso                223
  28. #define DMPerguntas              224
  29. #define DMPergunta1              225
  30. #define DMPergunta2              226
  31. #define DMPergunta3              227
  32. #define DMPergunta4              228
  33. #define DMPergunta5              229
  34. #define DMPergunta6              230
  35. #define DMPergunta7              231
  36. #define DMProxPergunta2          232
  37. #define DMProxPergunta3          233
  38. #define DMProxPergunta4          234
  39. #define DMProxPergunta5          235
  40. #define DMProxPergunta6          236
  41. #define DMProxPergunta7          237
  42. #define DMFimdoTeste             238
  43. #define DMNaoPasso               239
  44. #define MAXPLAYERS                40
  45. #define sim true
  46. #define nao false
  47. //=============================[† Forward †]====================================
  48. forward VerificarConclusao(playerid);
  49. //============================[† Variáveis †]===================================
  50. new Acertou[MAXPLAYERS];
  51. new VAutoEscolaTeste[MAXPLAYERS];        //Veiculo do teste
  52. new TesteEtapa[MAXPLAYERS];              //Etapa do teste
  53. new FazendoTeste[MAXPLAYERS];            //Fazendo teste
  54. new Verificar[MAXPLAYERS];               //Tempo para chegada
  55. new Float: TesteCoords[21][3] =          //Coordenadas dos Checkpoints
  56. {
  57.     {-1641.479980, 1300.554687, 6.861728},       //Chegada 1° teste carros
  58.     {-1838.397460, -2455.462890, 27.546628},     //1° Ponto 2° teste carros
  59.     {-1649.979736, -2619.526611, 45.465484},     //2° Ponto 2° teste carros
  60.     {-1180.888061, -2639.533447, 11.539744},     //3° Ponto 2° teste carros
  61.     {-780.500183, -2684.883544, 83.137527},      //4° Ponto 2° teste carros
  62.     {-364.759643, -2255.772216, 43.043220},      //5° Ponto 2° teste carros
  63.     {-160.736419, -2425.323242, 35.856044},      //6° Ponto 2° teste carros
  64.     {-184.029815, -2819.222167, 42.097366},      //7° Ponto 2° teste carros
  65.     {-1342.344726, -2875.889160, 54.987930},     //8° Ponto 2° teste carros
  66.     {-1970.295898, -2434.038574, 30.194002},     //Chegada 2° teste carros
  67.     {2305.241455, 1962.293823, 9.433162},        //1° Ponto 3° teste carros
  68.     {2236.203613, 1974.228759, 31.350551},       //Saída 3° teste carros
  69.     {2305.241455, 1962.293823, 9.433162},        //Chegada 3° teste carros
  70.     {305.941436, -1760.017211, 7.244368},        //1° Ponto 1° teste motos
  71.     {294.514434, -1758.280761, 8.047305},        //Chegada 1° teste motos
  72.     {2775.379394, -1044.423217, 38.830417},      //1° Ponto 2° teste motos
  73.     {2697.045410, -1050.630004, 67.454254},      //2° Ponto 2° teste motos
  74.     {2660.527099, -1071.078979, 68.900634},      //3° Ponto 2° teste motos
  75.     {2742.664794, -1177.842651, 68.896690},      //4° Ponto 2° teste motos
  76.     {2815.201416, -1170.591308, 32.239631},      //Chegada 2° teste motos
  77.     {-577.292663, -189.324462, 78.249137}        //Chegada 3° teste motos
  78. };
  79.  
  80. main()
  81. {
  82.     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");
  83. }//MAIN By: Gill Penner
  84.  
  85. public OnFilterScriptInit()
  86. {
  87.     CreatePickup(1239, 1, 1494.325195,1304.942871,1093.289062, 0);   //Pickup autoescola entrada
  88.     CreatePickup(1239, 1, 1081.219726, -1696.847534, 13.546875, 0);  //Pickup autoescola saída
  89.     CreatePickup(2894, 1, 1490.509765, 1305.782958, 1093.296386, 0); //Pickup menu auto escola
  90.     Create3DTextLabel("Auto escola\nPressione ENTER para entrar.", PickupCor, 356.8607,186.0784,1009.1264, 40, 0, 0);
  91.     Create3DTextLabel("Auto escola\nPressione ENTER para sair.", PickupCor, 1494.325195,1304.942871,1093.289062, 40, 0, 0);
  92.     Create3DTextLabel("Menu Auto escola\nPressione ENTER para ver as opções.", PickupCor, 1490.509765, 1305.782958, 1093.296386, 40, 0, 0);
  93.     return sim;
  94. }
  95.  
  96. public OnPlayerConnect(playerid)
  97. {
  98.     SendClientMessage(playerid, 0x1E90FF99, "Este servidor usa um sistema de teste de habilitação do{FFFFFF} Progressão Pawn - Josma_CMD");
  99.     SendClientMessage(playerid, 0x1E90FF99, "e tambem a {FFFFFF}Gustavo_xP{1E90FF} pela criação do sistema de teste teoricos.");
  100.     return sim;
  101. }
  102.  
  103. public OnPlayerStateChange(playerid, newstate, oldstate)
  104. {
  105.     if(oldstate == PLAYER_STATE_DRIVER)
  106.     {
  107.         if(TesteEtapa[playerid] == 14 && FazendoTeste[playerid] == 1 || TesteEtapa[playerid] == 13 && FazendoTeste[playerid] == 1)
  108.         {
  109.             ShowPlayerDialog(playerid, DRepetirMoto1, DIALOG_STYLE_MSGBOX, "Você caiu", "Você caiu da moto, deseja repetir o teste?", "Sim", "Não");
  110.             DestroyVehicle(VAutoEscolaTeste[playerid]);
  111.             DisablePlayerRaceCheckpoint(playerid);
  112.             return sim;
  113.         }
  114.         return sim;
  115.     }
  116.     return sim;
  117. }
  118.  
  119. public OnPlayerEnterRaceCheckpoint(playerid)
  120. {
  121.     new Float: lataria, Float: P[3];                       //Cria as variáveis que serão usadas abaixo
  122.     GetVehicleHealth(VAutoEscolaTeste[playerid], lataria); //Getará o health do veiculo, para ver se o player danificou ele no teste
  123.     GetPlayerPos(playerid, P[0], P[1], P[2]);          //Pegará a coordenada de onde será aplicado o som
  124.     PlayerPlaySound(playerid, 1053, P[0], P[1], P[2]); //Aplicará som ao entrar no Race Checkpoint
  125.     if(TesteEtapa[playerid] == 1 && FazendoTeste[playerid] == 1)
  126.     {
  127.         if(lataria < 1000)
  128.         {
  129.             ShowPlayerDialog(playerid, DRepetirCarros1, DIALOG_STYLE_MSGBOX, "Você não conseguiu", "Você danificou seu veículo, deseja repetir o teste?", "Sim", "Não");
  130.             KillTimer(Verificar[playerid]);
  131.             DestroyVehicle(VAutoEscolaTeste[playerid]);
  132.             FazendoTeste[playerid] = 0;
  133.             DisablePlayerRaceCheckpoint(playerid);
  134.             return 1;
  135.         }
  136.         else if(lataria == 1000)
  137.         {
  138.             ShowPlayerDialog(playerid, DRepetirCarros2, DIALOG_STYLE_MSGBOX, "Você conseguiu", "Você deseja passar para a próxima etapa do teste de habilitação?", "Sim", "Não");
  139.             DestroyVehicle(VAutoEscolaTeste[playerid]);
  140.             FazendoTeste[playerid] = 0;
  141.             KillTimer(Verificar[playerid]);
  142.             DisablePlayerRaceCheckpoint(playerid);
  143.             return 1;
  144.         }
  145.         return 1;
  146.     }
  147.     if(TesteEtapa[playerid] == 2 && FazendoTeste[playerid] == 1)
  148.     {
  149.         DisablePlayerRaceCheckpoint(playerid);
  150.         SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[2][0], TesteCoords[2][1], TesteCoords[2][2], TesteCoords[3][0], TesteCoords[3][1], TesteCoords[3][2], 5.0);
  151.         TesteEtapa[playerid] = 3;
  152.         return 1;
  153.     }
  154.     if(TesteEtapa[playerid] == 3 && FazendoTeste[playerid] == 1)
  155.     {
  156.         DisablePlayerRaceCheckpoint(playerid);
  157.         SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[3][0], TesteCoords[3][1], TesteCoords[3][2], TesteCoords[4][0], TesteCoords[4][1], TesteCoords[4][2], 5.0);
  158.         TesteEtapa[playerid] = 4;
  159.         return 1;
  160.     }
  161.     if(TesteEtapa[playerid] == 4 && FazendoTeste[playerid] == 1)
  162.     {
  163.         DisablePlayerRaceCheckpoint(playerid);
  164.         SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[4][0], TesteCoords[4][1], TesteCoords[4][2], TesteCoords[5][0], TesteCoords[5][1], TesteCoords[5][2], 5.0);
  165.         TesteEtapa[playerid] = 5;
  166.         return 1;
  167.     }
  168.     if(TesteEtapa[playerid] == 5 && FazendoTeste[playerid] == 1)
  169.     {
  170.         DisablePlayerRaceCheckpoint(playerid);
  171.         SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[5][0], TesteCoords[5][1], TesteCoords[5][2], TesteCoords[6][0], TesteCoords[6][1], TesteCoords[6][2], 5.0);
  172.         TesteEtapa[playerid] = 6;
  173.         return 1;
  174.     }
  175.     if(TesteEtapa[playerid] == 6 && FazendoTeste[playerid] == 1)
  176.     {
  177.         DisablePlayerRaceCheckpoint(playerid);
  178.         SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[6][0], TesteCoords[6][1], TesteCoords[6][2], TesteCoords[7][0], TesteCoords[7][1], TesteCoords[7][2], 5.0);
  179.         TesteEtapa[playerid] = 7;
  180.         return 1;
  181.     }
  182.     if(TesteEtapa[playerid] == 7 && FazendoTeste[playerid] == 1)
  183.     {
  184.         DisablePlayerRaceCheckpoint(playerid);
  185.         SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[7][0], TesteCoords[7][1], TesteCoords[7][2], TesteCoords[8][0], TesteCoords[8][1], TesteCoords[8][2], 5.0);
  186.         TesteEtapa[playerid] = 8;
  187.         return 1;
  188.     }
  189.     if(TesteEtapa[playerid] == 8 && FazendoTeste[playerid] == 1)
  190.     {
  191.         DisablePlayerRaceCheckpoint(playerid);
  192.         SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[8][0], TesteCoords[8][1], TesteCoords[8][2], TesteCoords[9][0], TesteCoords[9][1], TesteCoords[9][2], 5.0);
  193.         TesteEtapa[playerid] = 9;
  194.         return 1;
  195.     }
  196.     if(TesteEtapa[playerid] == 9 && FazendoTeste[playerid] == 1)
  197.     {
  198.         DisablePlayerRaceCheckpoint(playerid);
  199.         SetPlayerRaceCheckpoint(playerid, 1, TesteCoords[9][0], TesteCoords[9][1], TesteCoords[9][2], TesteCoords[9][0], TesteCoords[9][1], TesteCoords[9][2], 5.0);
  200.         TesteEtapa[playerid] = 10;
  201.         return 1;
  202.     }
  203.     if(TesteEtapa[playerid] == 10 && FazendoTeste[playerid] == 1)
  204.     {
  205.         if(lataria < 1000)
  206.         {
  207.             ShowPlayerDialog(playerid, DRepetirCarros2, DIALOG_STYLE_MSGBOX, "Você não conseguiu", "Você danificou seu veículo, deseja repetir o teste?", "Sim", "Não");
  208.             KillTimer(Verificar[playerid]);
  209.             DestroyVehicle(VAutoEscolaTeste[playerid]);
  210.             FazendoTeste[playerid] = 0;
  211.             DisablePlayerRaceCheckpoint(playerid);
  212.             return 1;
  213.         }
  214.         else if(lataria == 1000)
  215.         {
  216.             ShowPlayerDialog(playerid, DRepetirCarros3, DIALOG_STYLE_MSGBOX, "Você conseguiu", "Você deseja passar para a próxima etapa do teste de habilitação?", "Sim", "Não");
  217.             DestroyVehicle(VAutoEscolaTeste[playerid]);
  218.             FazendoTeste[playerid] = 0;
  219.             KillTimer(Verificar[playerid]);
  220.             DisablePlayerRaceCheckpoint(playerid);
  221.             return 1;
  222.         }
  223.         return 1;
  224.     }
  225.     if(TesteEtapa[playerid] == 11 && FazendoTeste[playerid] == 1)
  226.     {
  227.         DisablePlayerRaceCheckpoint(playerid);
  228.         SetPlayerRaceCheckpoint(playerid, 1, TesteCoords[11][0], TesteCoords[11][1], TesteCoords[11][2], TesteCoords[11][0], TesteCoords[11][1], TesteCoords[11][2], 5.0);
  229.         TesteEtapa[playerid] = 12;
  230.         return 1;
  231.     }
  232.     if(TesteEtapa[playerid] == 12 && FazendoTeste[playerid] == 1)
  233.     {
  234.         if(lataria < 1000)
  235.         {
  236.             ShowPlayerDialog(playerid, DRepetirCarros3, DIALOG_STYLE_MSGBOX, "Você não conseguiu", "Você danificou seu veículo, deseja repetir o teste?", "Sim", "Não");
  237.             KillTimer(Verificar[playerid]);
  238.             DestroyVehicle(VAutoEscolaTeste[playerid]);
  239.             FazendoTeste[playerid] = 0;
  240.             DisablePlayerRaceCheckpoint(playerid);
  241.             return 1;
  242.         }
  243.         else if(lataria == 1000)
  244.         {
  245.             SetPlayerInterior(playerid, 3);
  246.             SetPlayerPos(playerid, 1497.034423, 1308.573730, 1093.294799);
  247.             ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Você conseguiu", "Você tirou sua carteira de habilitação, e agora pode dirigir carros.", "Ok", "");
  248.             DestroyVehicle(VAutoEscolaTeste[playerid]);
  249.             FazendoTeste[playerid] = 0;
  250.             KillTimer(Verificar[playerid]);
  251.             DisablePlayerRaceCheckpoint(playerid);
  252.             //Aqui a variável habilitando o jogador à pilotar carros
  253.             return 1;
  254.         }
  255.         return 1;
  256.     }
  257.     if(TesteEtapa[playerid] == 13 && FazendoTeste[playerid] == 1)
  258.     {
  259.         DisablePlayerRaceCheckpoint(playerid);
  260.         SetPlayerRaceCheckpoint(playerid, 1, TesteCoords[14][0], TesteCoords[14][1], TesteCoords[14][2], TesteCoords[14][0], TesteCoords[14][1], TesteCoords[14][2], 5.0);
  261.         TesteEtapa[playerid] = 14;
  262.         FazendoTeste[playerid] = 0;
  263.         return 1;
  264.     }
  265.     if(TesteEtapa[playerid] == 14 && FazendoTeste[playerid] == 0)
  266.     {
  267.         DisablePlayerRaceCheckpoint(playerid);
  268.         DestroyVehicle(VAutoEscolaTeste[playerid]);
  269.         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");
  270.         return 1;
  271.     }
  272.     if(TesteEtapa[playerid] == 15 && FazendoTeste[playerid] == 1)
  273.     {
  274.         DisablePlayerRaceCheckpoint(playerid);
  275.         SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[15][0], TesteCoords[15][1], TesteCoords[15][2], TesteCoords[16][0], TesteCoords[16][1], TesteCoords[16][2], 5.0);
  276.         TesteEtapa[playerid] = 16;
  277.         return 1;
  278.     }
  279.     if(TesteEtapa[playerid] == 16 && FazendoTeste[playerid] == 1)
  280.     {
  281.         DisablePlayerRaceCheckpoint(playerid);
  282.         SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[16][0], TesteCoords[16][1], TesteCoords[16][2], TesteCoords[17][0], TesteCoords[17][1], TesteCoords[17][2], 5.0);
  283.         TesteEtapa[playerid] = 17;
  284.         return 1;
  285.     }
  286.     if(TesteEtapa[playerid] == 17 && FazendoTeste[playerid] == 1)
  287.     {
  288.         DisablePlayerRaceCheckpoint(playerid);
  289.         SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[17][0], TesteCoords[17][1], TesteCoords[17][2], TesteCoords[18][0], TesteCoords[18][1], TesteCoords[18][2], 5.0);
  290.         TesteEtapa[playerid] = 18;
  291.         return 1;
  292.     }
  293.     if(TesteEtapa[playerid] == 18 && FazendoTeste[playerid] == 1)
  294.     {
  295.         DisablePlayerRaceCheckpoint(playerid);
  296.         SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[18][0], TesteCoords[18][1], TesteCoords[18][2], TesteCoords[19][0], TesteCoords[19][1], TesteCoords[19][2], 5.0);
  297.         TesteEtapa[playerid] = 19;
  298.         return 1;
  299.     }
  300.     if(TesteEtapa[playerid] == 19 && FazendoTeste[playerid] == 1)
  301.     {
  302.         DisablePlayerRaceCheckpoint(playerid);
  303.         SetPlayerRaceCheckpoint(playerid, 1, TesteCoords[19][0], TesteCoords[19][1], TesteCoords[19][2], TesteCoords[19][0], TesteCoords[19][1], TesteCoords[19][2], 5.0);
  304.         TesteEtapa[playerid] = 20;
  305.         return 1;
  306.     }
  307.     if(TesteEtapa[playerid] == 20 && FazendoTeste[playerid] == 1)
  308.     {
  309.         DisablePlayerRaceCheckpoint(playerid);
  310.         DestroyVehicle(VAutoEscolaTeste[playerid]);
  311.         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");
  312.         TesteEtapa[playerid] = 0;
  313.         KillTimer(Verificar[playerid]);
  314.         return 1;
  315.     }
  316.     if(TesteEtapa[playerid] == 21 && FazendoTeste[playerid] == 1)
  317.     {
  318.         DisablePlayerRaceCheckpoint(playerid);
  319.         DestroyVehicle(VAutoEscolaTeste[playerid]);
  320.         SetPlayerInterior(playerid, 3);
  321.         SetPlayerPos(playerid, 1497.034423, 1308.573730, 1093.294799);
  322.         ShowPlayerDialog(playerid, DInstrucaoAutoEscola, DIALOG_STYLE_MSGBOX, "Você conseguiu", "Você concluiu o teste para adiquirir sua habilitação, agora já pode pilotar motos.", "Ok", "");
  323.         TesteEtapa[playerid] = 0;
  324.         KillTimer(Verificar[playerid]);
  325.         //Aqui a variável habilitando o jogador à pilotar motos
  326.         return 1;
  327.     }
  328.     if(TesteEtapa[playerid] == 22 && FazendoTeste[playerid] == 1)
  329.     {
  330.         if(lataria < 1000)
  331.         {
  332.             DisablePlayerRaceCheckpoint(playerid);
  333.             DestroyVehicle(VAutoEscolaTeste[playerid]);
  334.             KillTimer(Verificar[playerid]);
  335.             ShowPlayerDialog(playerid, DRepetirAero1, DIALOG_STYLE_MSGBOX, "Você não conseguiu", "Você danificou sua aeronave, deseja repetir o teste?", "Sim", "Não");
  336.             return 1;
  337.         }
  338.         else if(lataria == 1000)
  339.         {
  340.             DisablePlayerRaceCheckpoint(playerid);
  341.             DestroyVehicle(VAutoEscolaTeste[playerid]);
  342.             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");
  343.             TesteEtapa[playerid] = 0;
  344.             KillTimer(Verificar[playerid]);
  345.             return 1;
  346.         }
  347.         return 1;
  348.     }
  349.     if(TesteEtapa[playerid] == 23 && FazendoTeste[playerid] == 1)
  350.     {
  351.         if(lataria < 1000)
  352.         {
  353.             DisablePlayerRaceCheckpoint(playerid);
  354.             DestroyVehicle(VAutoEscolaTeste[playerid]);
  355.             KillTimer(Verificar[playerid]);
  356.             ShowPlayerDialog(playerid, DRepetirAero2, DIALOG_STYLE_MSGBOX, "Você não conseguiu", "Você danificou sua aeronave, deseja repetir o teste?", "Sim", "Não");
  357.             return 1;
  358.         }
  359.         else if(lataria == 1000)
  360.         {
  361.             DisablePlayerRaceCheckpoint(playerid);
  362.             DestroyVehicle(VAutoEscolaTeste[playerid]);
  363.             SetPlayerInterior(playerid, 3);
  364.             SetPlayerPos(playerid, 1497.034423, 1308.573730, 1093.294799);
  365.             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", "");
  366.             TesteEtapa[playerid] = 0;
  367.             KillTimer(Verificar[playerid]);
  368.             //Aqui a variável habilitando o jogador à pilotar aeronaves
  369.             return 1;
  370.         }
  371.         return 1;
  372.     }
  373.     return 1;
  374. }
  375.  
  376. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  377. {
  378.     if(newkeys == KEY_SECONDARY_ATTACK)
  379.     {
  380.         if(IsPlayerInRangeOfPoint(playerid, 3.0, 1081.219726, -1696.847534, 13.546875)) //Caso esteja nesta coordenada, executará o que está abaixo
  381.         {
  382.             SetPlayerPos(playerid, 1494.325195,1304.942871,1093.289062);        //Teleporta para dentro da Auto Escola
  383.             SetPlayerInterior(playerid, 3);                                     //Setará o interior para [3]
  384.             return 1;
  385.         }
  386.         if(IsPlayerInRangeOfPoint(playerid, 3.0, 1494.325195,1304.942871,1093.289062)) //Caso esteja nesta coordenada, executará o que está abaixo
  387.         {
  388.             SetPlayerPos(playerid, 1081.219726, -1696.847534, 13.546875);       //Teleporta para fora da Auto Escola
  389.             SetPlayerInterior(playerid, 0);                                     //Setará o interior para [0]
  390.             return 1;
  391.         }
  392.         if(IsPlayerInRangeOfPoint(playerid, 3.0, 1490.509765, 1305.782958, 1093.296386)) //Caso esteja nesta coordenada, executará o que está abaixo
  393.         {
  394.             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
  395.             return 1;
  396.         }
  397.         return 1;
  398.     }
  399.     return 1;
  400. }
  401.  
  402. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  403. {
  404. switch(dialogid)
  405. {
  406.     case DPerguntas:
  407.     {
  408.         if(response)
  409.         {
  410.             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");
  411.             return 1;
  412.         }
  413.         return 1;
  414.     }
  415.     case DPergunta1:
  416.     {
  417.         if(response)
  418.         {
  419.             ShowPlayerDialog(playerid, DProxPergunta2, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}B){FFFFFF} Do lado direito", "Continuar", "");
  420.             return 1;
  421.         }
  422.         if(!response)
  423.         {
  424.             ShowPlayerDialog(playerid, DProxPergunta2, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", "");
  425.             Acertou[playerid] ++;
  426.             return 1;
  427.         }
  428.         return 1;
  429.     }
  430.     case DProxPergunta2:
  431.     {
  432.         if(response)
  433.         {
  434.             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");
  435.             return 1;
  436.         }
  437.         return 1;
  438.     }
  439.     case DPergunta2:
  440.     {
  441.         if(response)
  442.         {
  443.             ShowPlayerDialog(playerid, DProxPergunta3, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", "");
  444.             Acertou[playerid] ++;
  445.             return 1;
  446.         }
  447.         if(!response)
  448.         {
  449.             ShowPlayerDialog(playerid, DProxPergunta3, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}A){FFFFFF} Reduzo e deicho o pedestre\n acabar de passar", "Continuar", "");
  450.             return 1;
  451.         }
  452.         return 1;
  453.     }
  454.     case DProxPergunta3:
  455.     {
  456.         if(response)
  457.         {
  458.             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");
  459.             return 1;
  460.         }
  461.         return 1;
  462.     }
  463.     case DPergunta3:
  464.     {
  465.         if(response)
  466.         {
  467.             ShowPlayerDialog(playerid, DProxPergunta4, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", "");
  468.             Acertou[playerid] ++;
  469.             return 1;
  470.         }
  471.         if(!response)
  472.         {
  473.             ShowPlayerDialog(playerid, DProxPergunta4, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}A){FFFFFF} Vou reduzindo\ntentando chegar ao semaforo com ele aberto", "Continuar", "");
  474.             return 1;
  475.         }
  476.         return 1;
  477.     }
  478.     case DProxPergunta4:
  479.     {
  480.         if(response)
  481.         {
  482.             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");
  483.             return 1;
  484.         }
  485.         return 1;
  486.     }
  487.     case DPergunta4:
  488.     {
  489.         if(response)
  490.         {
  491.             ShowPlayerDialog(playerid, DProxPergunta5, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}B){FFFFFF} Reduzo para os 80Km/h", "Continuar", "");
  492.             return 1;
  493.         }
  494.         if(!response)
  495.         {
  496.             ShowPlayerDialog(playerid, DProxPergunta5, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", "");
  497.             Acertou[playerid] ++;
  498.             return 1;
  499.         }
  500.         return 1;
  501.     }
  502.     case DProxPergunta5:
  503.     {
  504.         if(response)
  505.         {
  506.             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");
  507.             return 1;
  508.         }
  509.         return 1;
  510.     }
  511.     case DPergunta5:
  512.     {
  513.         if(response)
  514.         {
  515.             ShowPlayerDialog(playerid, DProxPergunta6, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}B){FFFFFF} Mantenho distancia e espero o momento certo", "Continuar", "");
  516.             return 1;
  517.         }
  518.         if(!response)
  519.         {
  520.             ShowPlayerDialog(playerid, DProxPergunta6, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", "");
  521.             Acertou[playerid] ++;
  522.             return 1;
  523.         }
  524.         return 1;
  525.     }
  526.     case DProxPergunta6:
  527.     {
  528.         if(response)
  529.         {
  530.             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");
  531.             return 1;
  532.         }
  533.         return 1;
  534.     }
  535.     case DPergunta6:
  536.     {
  537.         if(response)
  538.         {
  539.             ShowPlayerDialog(playerid, DFimdoTeste, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", "");
  540.             Acertou[playerid] ++;
  541.             return 1;
  542.         }
  543.         if(!response)
  544.         {
  545.             ShowPlayerDialog(playerid, DFimdoTeste, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}B){FFFFFF} Mantenho distancia e espero o momento certo", "Continuar", "");
  546.             return 1;
  547.         }
  548.         return 1;
  549.     }
  550.     case DFimdoTeste:
  551.     {
  552.         if(response)
  553.         {
  554.             if(Acertou[playerid] >= 3)
  555.             {
  556.                 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", "");
  557.                 VAutoEscolaTeste[playerid] = CreateVehicle(402, 1089.949218, -1757.977783, 13.212669, 89.3455565, 1, 1, 5000);
  558.                 PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0);
  559.                 SetPlayerInterior(playerid, 0);
  560.                 TesteEtapa[playerid] = 1;
  561.                 FazendoTeste[playerid] = 1;
  562.                 GivePlayerMoney(playerid, -5000);
  563.                 Verificar[playerid] = SetTimerEx("VerificarConclusao", 220000, false, "playerid", playerid);
  564.                 SetPlayerRaceCheckpoint(playerid, 1, TesteCoords[0][0], TesteCoords[0][1], TesteCoords[0][2], TesteCoords[0][0], TesteCoords[0][1], TesteCoords[0][2], 5.0);
  565.                 return 1;
  566.             }
  567.             if(Acertou[playerid] <= 3)
  568.             {
  569.                 ShowPlayerDialog(playerid, DNaoPasso, DIALOG_STYLE_MSGBOX, "Você foi reprovado", "Sinto muito você reprovou no teste tente novamente.", "OK", "");
  570.                 return 1;
  571.             }
  572.         }
  573.         return 1;
  574.     }
  575.         case DMPerguntas:
  576.     {
  577.         if(response)
  578.         {
  579.             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");
  580.             return 1;
  581.         }
  582.         return 1;
  583.     }
  584.     case DMPergunta1:
  585.     {
  586.         if(response)
  587.         {
  588.             ShowPlayerDialog(playerid, DMProxPergunta2, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}B){FFFFFF} Do lado direito", "Continuar", "");
  589.             return 1;
  590.         }
  591.         if(!response)
  592.         {
  593.             ShowPlayerDialog(playerid, DMProxPergunta2, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", "");
  594.             Acertou[playerid] ++;
  595.             return 1;
  596.         }
  597.         return 1;
  598.     }
  599.     case DMProxPergunta2:
  600.     {
  601.         if(response)
  602.         {
  603.             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");
  604.             return 1;
  605.         }
  606.         return 1;
  607.     }
  608.     case DMPergunta2:
  609.     {
  610.         if(response)
  611.         {
  612.             ShowPlayerDialog(playerid, DMProxPergunta3, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", "");
  613.             Acertou[playerid] ++;
  614.             return 1;
  615.         }
  616.         if(!response)
  617.         {
  618.             ShowPlayerDialog(playerid, DMProxPergunta3, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}A){FFFFFF} Reduzo e deicho o pedestre\n acabar de passar", "Continuar", "");
  619.             return 1;
  620.         }
  621.         return 1;
  622.     }
  623.     case DMProxPergunta3:
  624.     {
  625.         if(response)
  626.         {
  627.             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");
  628.             return 1;
  629.         }
  630.         return 1;
  631.     }
  632.     case DMPergunta3:
  633.     {
  634.         if(response)
  635.         {
  636.             ShowPlayerDialog(playerid, DMProxPergunta4, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", "");
  637.             Acertou[playerid] ++;
  638.             return 1;
  639.         }
  640.         if(!response)
  641.         {
  642.             ShowPlayerDialog(playerid, DMProxPergunta4, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}A){FFFFFF} Vou reduzindo\ntentando chegar ao semaforo com ele aberto", "Continuar", "");
  643.             return 1;
  644.         }
  645.         return 1;
  646.     }
  647.     case DMProxPergunta4:
  648.     {
  649.         if(response)
  650.         {
  651.             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");
  652.             return 1;
  653.         }
  654.         return 1;
  655.     }
  656.     case DMPergunta4:
  657.     {
  658.         if(response)
  659.         {
  660.             ShowPlayerDialog(playerid, DMProxPergunta5, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}B){FFFFFF} Reduzo para os 80Km/h", "Continuar", "");
  661.             return 1;
  662.         }
  663.         if(!response)
  664.         {
  665.             ShowPlayerDialog(playerid, DMProxPergunta5, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", "");
  666.             Acertou[playerid] ++;
  667.             return 1;
  668.         }
  669.         return 1;
  670.     }
  671.     case DMProxPergunta5:
  672.     {
  673.         if(response)
  674.         {
  675.             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");
  676.             return 1;
  677.         }
  678.         return 1;
  679.     }
  680.     case DMPergunta5:
  681.     {
  682.         if(response)
  683.         {
  684.             ShowPlayerDialog(playerid, DMProxPergunta6, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}B){FFFFFF} Mantenho distancia e espero o momento certo", "Continuar", "");
  685.             return 1;
  686.         }
  687.         if(!response)
  688.         {
  689.             ShowPlayerDialog(playerid, DMProxPergunta6, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", "");
  690.             Acertou[playerid] ++;
  691.             return 1;
  692.         }
  693.         return 1;
  694.     }
  695.     case DMProxPergunta6:
  696.     {
  697.         if(response)
  698.         {
  699.             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");
  700.             return 1;
  701.         }
  702.         return 1;
  703.     }
  704.     case DMPergunta6:
  705.     {
  706.         if(response)
  707.         {
  708.             ShowPlayerDialog(playerid, DMProxPergunta7, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", "");
  709.             Acertou[playerid] ++;
  710.             return 1;
  711.         }
  712.         if(!response)
  713.         {
  714.             ShowPlayerDialog(playerid, DMProxPergunta7, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}A){FFFFFF} Reduzir assim deichando espasso para ele voltar", "Continuar", "");
  715.             return 1;
  716.         }
  717.         return 1;
  718.     }
  719.     case DMProxPergunta7:
  720.     {
  721.         if(response)
  722.         {
  723.             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");
  724.             return 1;
  725.         }
  726.         return 1;
  727.     }
  728.     case DMPergunta7:
  729.     {
  730.         if(response)
  731.         {
  732.             ShowPlayerDialog(playerid, DMFimdoTeste, DIALOG_STYLE_MSGBOX, "Você acertou", "{1E90FF}Parabéns!\n{FFFFFF}Você acertou", "Continuar", "");
  733.             Acertou[playerid] ++;
  734.             return 1;
  735.         }
  736.         if(!response)
  737.         {
  738.             ShowPlayerDialog(playerid, DMFimdoTeste, DIALOG_STYLE_MSGBOX, "Você errou", "{FFFFFF}Alternativa correta {1E90FF}A){FFFFFF} Sim", "Continuar", "");
  739.             return 1;
  740.         }
  741.         return 1;
  742.     }
  743.     case DMFimdoTeste:
  744.     {
  745.         if(response)
  746.         {
  747.             if(Acertou[playerid] >= 4)
  748.             {
  749.                 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", "");
  750.                 VAutoEscolaTeste[playerid] = CreateVehicle(522, 305.917968, -1868.175415, 2.393410, 0.3362, 0, 158, 5000);
  751.                 PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0);
  752.                 SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[13][0], TesteCoords[13][1], TesteCoords[13][2], TesteCoords[14][0], TesteCoords[14][1], TesteCoords[14][2], 5.0);
  753.                 TesteEtapa[playerid] = 13;
  754.                 GivePlayerMoney(playerid, -3000);
  755.                 FazendoTeste[playerid] = 1;
  756.                 SetPlayerInterior(playerid, 0);
  757.                 return 1;
  758.             }
  759.             if(Acertou[playerid] <= 4)
  760.             {
  761.                 ShowPlayerDialog(playerid, DNaoPasso, DIALOG_STYLE_MSGBOX, "Você foi reprovado", "Sinto muito você reprovou no teste tente novamente.", "OK", "");
  762.                 return 1;
  763.             }
  764.         }
  765.         return 1;
  766.     }
  767.     case DMenuAutoEscola:
  768.     {
  769.         if(response)
  770.         {
  771.             switch(listitem)
  772.             {
  773.                 case 0:
  774.                 {
  775.                     Acertou[playerid] = 0;
  776.                     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", "");
  777.                     return 1;
  778.                 }
  779.                 case 1:
  780.                 {
  781.                     Acertou[playerid] = 0;
  782.                     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", "");
  783.                 }
  784.                 case 2:
  785.                 {
  786.                     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", "");
  787.                     VAutoEscolaTeste[playerid] = CreateVehicle(511, -1646.996459, -154.085769, 15.522509, 315.0830, 0, 158, 5000);
  788.                     PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0);
  789.                     SetPlayerRaceCheckpoint(playerid, 1, 405.687927, 2451.601562, 17.873716, 405.687927, 2451.601562, 17.873716, 5.0);
  790.                     TesteEtapa[playerid] = 22;
  791.                     GivePlayerMoney(playerid, -4000);
  792.                     FazendoTeste[playerid] = 1;
  793.                     SetPlayerInterior(playerid, 0);
  794.                     return 1;
  795.                 }
  796.             }
  797.             return 1;
  798.         }
  799.         return 1;
  800.     }
  801.     case DRepetirCarros1:
  802.     {
  803.         if(response)
  804.         {
  805.             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", "");
  806.             VAutoEscolaTeste[playerid] = CreateVehicle(402, 1089.949218, -1757.977783, 13.212669, 89.3455565, 1, 1, 5000);
  807.             PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0);
  808.             SetPlayerInterior(playerid, 0);
  809.             TesteEtapa[playerid] = 1;
  810.             FazendoTeste[playerid] = 1;
  811.             Verificar[playerid] = SetTimerEx("VerificarConclusao", 220000, false, "playerid", playerid);
  812.             SetPlayerRaceCheckpoint(playerid, 1, TesteCoords[0][0], TesteCoords[0][1], TesteCoords[0][2], TesteCoords[0][0], TesteCoords[0][1], TesteCoords[0][2], 5.0);
  813.             return 1;
  814.         }
  815.         return 1;
  816.     }
  817.     case DRepetirCarros2:
  818.     {
  819.         if(response)
  820.         {
  821.             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", "");
  822.             VAutoEscolaTeste[playerid] = CreateVehicle(424, -1970.295898, -2434.038574, 30.194002, 273.215728, 0, 1, 5000);
  823.             PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0);
  824.             SetPlayerInterior(playerid, 0);
  825.             TesteEtapa[playerid] = 2;
  826.             FazendoTeste[playerid] = 1;
  827.             Verificar[playerid] = SetTimerEx("VerificarConclusao", 180000, false, "playerid", playerid);
  828.             SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[1][0], TesteCoords[1][1], TesteCoords[1][2], TesteCoords[2][0], TesteCoords[2][1], TesteCoords[2][2], 5.0);
  829.             return 1;
  830.         }
  831.         return 1;
  832.     }
  833.     case DRepetirCarros3:
  834.     {
  835.         if(response)
  836.         {
  837.             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", "");
  838.             VAutoEscolaTeste[playerid] = CreateVehicle(562, 2236.203613, 1974.228759, 31.350551, 273.215728, 158, 1, 5000);
  839.             PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0);
  840.             SetPlayerInterior(playerid, 0);
  841.             TesteEtapa[playerid] = 11;
  842.             FazendoTeste[playerid] = 1;
  843.             Verificar[playerid] = SetTimerEx("VerificarConclusao", 75000, false, "playerid", playerid);
  844.             SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[12][0], TesteCoords[12][1], TesteCoords[12][2], TesteCoords[11][0], TesteCoords[11][1], TesteCoords[11][2], 5.0);
  845.             return 1;
  846.         }
  847.         return 1;
  848.     }
  849.     case DRepetirMoto1:
  850.     {
  851.         if(response)
  852.         {
  853.             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", "");
  854.             VAutoEscolaTeste[playerid] = CreateVehicle(522, 305.917968, -1868.175415, 2.393410, 0.3362, 0, 158, 5000);
  855.             PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0);
  856.             SetPlayerRaceCheckpoint(playerid, 0, TesteCoords[13][0], TesteCoords[13][1], TesteCoords[13][2], TesteCoords[14][0], TesteCoords[14][1], TesteCoords[14][2], 5.0);
  857.             TesteEtapa[playerid] = 13;
  858.             FazendoTeste[playerid] = 1;
  859.             return 1;
  860.         }
  861.         return 1;
  862.     }
  863.     case DRepetirMoto2:
  864.     {
  865.         if(response)
  866.         {
  867.             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", "");
  868.             VAutoEscolaTeste[playerid] = CreateVehicle(522, 2838.280517, -1046.117309, 22.838201, 89.345565, 0, 158, 5000);
  869.             PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0);
  870.             SetPlayerRaceCheckpoint(playerid, 0, 2838.280517, -1046.117309, 22.838201, TesteCoords[15][0], TesteCoords[15][1], TesteCoords[15][2], 5.0);
  871.             TesteEtapa[playerid] = 15;
  872.             FazendoTeste[playerid] = 1;
  873.             return 1;
  874.         }
  875.         return 1;
  876.     }
  877.     case DRepetirMoto3:
  878.     {
  879.         if(response)
  880.         {
  881.             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", "");
  882.             VAutoEscolaTeste[playerid] = CreateVehicle(468, 2418.786132, 91.505310, 26.047235, 89.345565, 158, 158, 5000);
  883.             PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0);
  884.             Verificar[playerid] = SetTimerEx("VerificarConclusao", 150000, false, "playerid", playerid);
  885.             SetPlayerRaceCheckpoint(playerid, 1, -577.292663, -189.324462, 78.249137, TesteCoords[20][0], TesteCoords[20][1], TesteCoords[20][2], 5.0);
  886.             TesteEtapa[playerid] = 21;
  887.             FazendoTeste[playerid] = 1;
  888.             return 1;
  889.         }
  890.         return 1;
  891.     }
  892.     case DRepetirAero1:
  893.     {
  894.         if(response)
  895.         {
  896.             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", "");
  897.             VAutoEscolaTeste[playerid] = CreateVehicle(511, -1646.996459, -154.085769, 15.522509, 315.0830, 0, 158, 5000);
  898.             PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0);
  899.             SetPlayerRaceCheckpoint(playerid, 1, 405.687927, 2451.601562, 17.873716, 405.687927, 2451.601562, 17.873716, 5.0);
  900.             TesteEtapa[playerid] = 22;
  901.             FazendoTeste[playerid] = 1;
  902.             SetPlayerInterior(playerid, 0);
  903.             return 1;
  904.         }
  905.         return 1;
  906.     }
  907.     case DRepetirAero2:
  908.     {
  909.         if(response)
  910.         {
  911.             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", "");
  912.             VAutoEscolaTeste[playerid] = CreateVehicle(563, 1766.504882, -2286.285644, 27.501468, 268.859832, 0, 158, 5000);
  913.             PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0);
  914.             SetPlayerRaceCheckpoint(playerid, 1, 2093.283447, 2414.863037, 75.284034, 2093.283447, 2414.863037, 75.284034, 5.0);
  915.             TesteEtapa[playerid] = 23;
  916.             FazendoTeste[playerid] = 1;
  917.             return 1;
  918.         }
  919.         return 1;
  920.     }
  921. }
  922. return 1;
  923. }
  924.  
  925. public VerificarConclusao(playerid) //É chamada no fim do prazo, se o player chegar à tempo esse timer é destruído, então não será chamado
  926. {
  927.     //Abaixo todas as etapas que tem um tempo limite para a chegada
  928.     if(TesteEtapa[playerid] == 1)
  929.     {
  930.         if(FazendoTeste[playerid] == 1)
  931.         {
  932.             DestroyVehicle(VAutoEscolaTeste[playerid]);
  933.             FazendoTeste[playerid] = 0;
  934.             TesteEtapa[playerid] = 0;
  935.             ShowPlayerDialog(playerid, DRepetirCarros1, DIALOG_STYLE_MSGBOX, "Você não conseguiu", "Você não chegou à tempo, deseja repetir o teste?", "Sim", "Não");
  936.             return 1;
  937.         }
  938.         return 1;
  939.     }
  940.     if(TesteEtapa[playerid] >= 2 && TesteEtapa[playerid] <= 10)
  941.     {
  942.         if(FazendoTeste[playerid] == 1)
  943.         {
  944.             DestroyVehicle(VAutoEscolaTeste[playerid]);
  945.             FazendoTeste[playerid] = 0;
  946.             TesteEtapa[playerid] = 0;
  947.             ShowPlayerDialog(playerid, DRepetirCarros2, DIALOG_STYLE_MSGBOX, "Você não conseguiu", "Você não chegou à tempo, deseja repetir o teste?", "Sim", "Não");
  948.             return 1;
  949.         }
  950.         return 1;
  951.     }
  952.     if(TesteEtapa[playerid] >= 11 && TesteEtapa[playerid] <= 12)
  953.     {
  954.         if(FazendoTeste[playerid] == 1)
  955.         {
  956.             DestroyVehicle(VAutoEscolaTeste[playerid]);
  957.             FazendoTeste[playerid] = 0;
  958.             TesteEtapa[playerid] = 0;
  959.             ShowPlayerDialog(playerid, DRepetirCarros3, DIALOG_STYLE_MSGBOX, "Você não conseguiu", "Você não chegou à tempo, deseja repetir o teste?", "Sim", "Não");
  960.             return 1;
  961.         }
  962.         return 1;
  963.     }
  964.     if(TesteEtapa[playerid] == 21)
  965.     {
  966.         if(FazendoTeste[playerid] == 1)
  967.         {
  968.             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", "");
  969.             VAutoEscolaTeste[playerid] = CreateVehicle(468, 2418.786132, 91.505310, 26.047235, 89.345565, 158, 158, 5000);
  970.             PutPlayerInVehicle(playerid, VAutoEscolaTeste[playerid], 0);
  971.             Verificar[playerid] = SetTimerEx("VerificarConclusao", 15000, false, "playerid", playerid);
  972.             SetPlayerRaceCheckpoint(playerid, 1, 2838.280517, -1046.117309, 22.838201, TesteCoords[20][0], TesteCoords[20][1], TesteCoords[20][2], 5.0);
  973.             TesteEtapa[playerid] = 21;
  974.             FazendoTeste[playerid] = 1;
  975.             return 1;
  976.         }
  977.         return 1;
  978.     }
  979.     return 1;
  980. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement