Advertisement
DraKiNs

[COD] Gasolina (não testado)

Jul 27th, 2011
947
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.08 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. #define DialogGasolina          (024)
  4. #define ValorLitro              (002)
  5. #define LitrosPorKilometros     (1.2)
  6.  
  7. new bJogadorAvisado[MAX_PLAYERS];
  8. new Float:iGasolinaAtual[MAX_PLAYERS];
  9.  
  10. public OnFilterScriptInit()
  11. {
  12.     return SetTimer("OnUpdateKM", 1000, true);
  13. }
  14.  
  15.  
  16. public OnPlayerCommandText(playerid,  cmdtext[])
  17. {
  18.     if(!strcmp(cmdtext,  "/gasolina",  true)) {
  19.  
  20.         if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,  0xFFFFFFFF,  "[Info] Você não esta em um veículo ");
  21.  
  22.         ShowPlayerDialog(playerid, DialogGasolina, DIALOG_STYLE_INPUT, "Colocar Gasolina", "Por favor digite a quantidade de litros para colocar \n o Preço  atual da Gasolina é 2$ por litro", "Sim", "Nao");
  23.  
  24.         return true;
  25.     }
  26.     return false;
  27. }
  28.  
  29.  
  30. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  31. {
  32.     if(dialogid == DialogGasolina) {
  33.         if(!response) return SendClientMessage(playerid, 0xFFFFFFFF, "[Info] Você não colocou gasolina");
  34.  
  35.         new
  36.             iLitrosGasolina = strval(inputtext),
  37.             sString[64],
  38.             iValor = iLitrosGasolina * ValorLitro;
  39.  
  40.         if(GetPlayerMoney(playerid) < iValor)       return SendClientMessage(playerid, 0xFFFFFFFF, "Você não tem dinheiro para isto");
  41.  
  42.         if(iLitrosGasolina > 100 || iLitrosGasolina < 1)        return SendClientMessage(playerid, 0xFFFFFFFF, "Quantia Inválida");
  43.  
  44.         format(sString, 60, "* Você abastaceu %d Litros por %d$", iLitrosGasolina, iValor);
  45.         SendClientMessage(playerid,0xFFFF00AA, sString);
  46.         TogglePlayerControllable(playerid, true);
  47.  
  48.         iGasolinaAtual[GetPlayerVehicleID(playerid)] = iLitrosGasolina;
  49.         GivePlayerMoney(playerid, - iValor);
  50.  
  51.         return bJogadorAvisado[playerid] = false, true;
  52.     }
  53.     return false;
  54. }
  55.  
  56.  
  57. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  58. {
  59.     static str[128];
  60.     format(str, sizeof(str), "* Este carro esta com %0.2f Litros de gasolina", iGasolinaAtual[vehicleid]);
  61.     return SendClientMessage(playerid,0xFFFF00AA, str);
  62. }
  63.  
  64.  
  65. OnUpdateKM();
  66. public OnUpdateKM()
  67. {
  68.     for(new i; i != MAX_PLAYERS; i++) if(IsPlayerInAnyVehicle(i) && !bJogadorAvisado[i]) {
  69.         static Float:PosX,Float:PosY,Float:PosZ, sString[64];
  70.        
  71.         new vehicleid = GetPlayerVehicleID(i);
  72.         GetVehicleVelocity(vehicleid, PosX, PosY, PosZ);
  73.  
  74.         format(sString, sizeof(sString), "~n~~n~~n~~n~~w~Gasolina: ~r~%0.1f", iGasolinaAtual[vehicleid]);
  75.         if(iGasolinaAtual[vehicleid] < 0.1) {
  76.             TogglePlayerControllable(i, false);
  77.             bJogadorAvisado[i] = true;
  78.             return SendClientMessage(i, 0xFFFF00AA, "[Info] A Gasolina acabou, use o comando (/gasolina)");
  79.         }
  80.         GameTextForPlayer(i, sString, 999, 3);
  81.         iGasolinaAtual[vehicleid] -= (((floatmul(((floatmul(floatsqroot(floatadd(floatadd(floatpower(PosX, 2), floatpower(PosY, 2)),  floatpower(PosZ, 2))), 170.0) * 1)),1000)) / 3600) * LitrosPorKilometros) / 1000;
  82.     }
  83.     return true;
  84. }
  85.  
  86.  
  87. // Criado por Bruno da Silva
  88. // www.ips-team.blogspot.com
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement