Advertisement
Chip7

[FS] FilterScript Utilitários Para Veículos V2

Jun 12th, 2012
439
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 10.18 KB | None | 0 0
  1. //############### TODOS OS DIREITOS RESERVADOR À LEONARDO1434 !
  2. //############### NÃO REMOVER OS CRÉDITOS !
  3. //############### FAÇA BOM USO !
  4. //############### VISITE NOSSO SOTE: http://www.sampknd.com/
  5. //############### SAMP KND MELHOR BLOG DE SAMP DO BRASIL
  6.  
  7. // includes
  8. #include <a_samp>
  9. #include zcmd
  10. #include <SII>
  11. // fim includes
  12.  
  13. // defines
  14. #define FILTERSCRIPT
  15. #define VERDE 0x008000FF
  16. #define VERMELHO 0xFF0000FF
  17. #define AMARELO 0xFFFF00FF
  18. #define VEICULO_LIGADO  VEHICLE_PARAMS_ON
  19. #define VEICULO_DESLIGADO VEHICLE_PARAMS_OFF
  20. // fim defines
  21.  
  22. // news
  23. new gasolina[MAX_VEHICLES];
  24. new enchendo[MAX_PLAYERS] = 0;
  25. new marcha[MAX_PLAYERS];
  26. new bool:ativado[MAX_PLAYERS];
  27. new Text:velocimetro[MAX_PLAYERS];
  28. new motor,luzes,alarme,porta,capota,mala,objetivo;
  29. // fim new
  30.  
  31. // forwards
  32. forward poucagas(playerid);
  33. forward enchertank(playerid);
  34. forward ativa(playerid,params[]);
  35. // fim forwards
  36.  
  37. public OnFilterScriptInit()
  38. {
  39.     print("=================================");
  40.     print("Sistema de engine By Leonardo1434");
  41.     print("Sistema de engine carregado !");
  42.     print("=================================");
  43.     SetTimer("poucagas",6500,true);
  44.     for(new i=0;i<MAX_PLAYERS;i++)
  45.     {
  46.       velocimetro[i] = TextDrawCreate(1.0,433.0," ");
  47.       TextDrawAlignment(velocimetro[i],0);
  48.       TextDrawBackgroundColor(velocimetro[i],0x000000ff);
  49.       TextDrawFont(velocimetro[i],1);
  50.       TextDrawLetterSize(velocimetro[i],0.299999,1.200000);
  51.       TextDrawColor(velocimetro[i],0xffffffff);
  52.       TextDrawSetOutline(velocimetro[i],1);
  53.       TextDrawSetProportional(velocimetro[i],1);
  54.       TextDrawSetShadow(velocimetro[i],1);
  55.     }
  56.     for(new i=0;i<MAX_VEHICLES;i++) {
  57.         gasolina[i] = 0 + random(100);
  58.     }
  59.     return 1;
  60. }
  61. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  62. {
  63.     TextDrawShowForPlayer(playerid,velocimetro[playerid]);
  64.     return 1;
  65. }
  66. public OnPlayerConnect(playerid)
  67. {
  68.    CreatePlayer3DTextLabel(playerid,"DIGITAR /GASOLINA PARA ENCHER O TANQUE !",0x008080FF,1944.7036,-1774.6039,13.3906,50.0);
  69.    CreatePlayer3DTextLabel(playerid,"DIGITAR /GASOLINA PARA ENCHER O TANQUE !",0x008080FF,1836.1078,-2428.0291,13.5547,500.0);
  70.    SetPlayerMapIcon( playerid, 54, 1944.7036,-1774.6039,13.3906, 55, 3 );
  71.    SetPlayerMapIcon( playerid, 55, 1836.1078,-2428.0291,13.5547, 55, 3 );
  72.    return 1;
  73. }
  74. public OnPlayerUpdate(playerid)
  75. {
  76.     if(marcha[playerid] == 1) {
  77.         if(GetPlayerSpeed(playerid) > 10) {
  78.             marcha[playerid] ++;
  79.         }
  80.     }
  81.     else if(GetPlayerSpeed(playerid) < 10) {
  82.         marcha[playerid] = 1;
  83.     }
  84.     if(marcha[playerid] == 2) {
  85.         if(GetPlayerSpeed(playerid) > 40) {
  86.             marcha[playerid] ++;
  87.         }
  88.     }
  89.     else if(GetPlayerSpeed(playerid) < 40 && GetPlayerSpeed(playerid) > 10) {
  90.         marcha[playerid] = 2;
  91.     }
  92.     if(marcha[playerid] == 3) {
  93.         if(GetPlayerSpeed(playerid) > 70) {
  94.             marcha[playerid] ++;
  95.         }
  96.     }
  97.     else if(GetPlayerSpeed(playerid) < 70 && GetPlayerSpeed(playerid) > 40) {
  98.         marcha[playerid] = 3;
  99.     }
  100.     if(marcha[playerid] == 4) {
  101.         if(GetPlayerSpeed(playerid) > 100) {
  102.             marcha[playerid] ++;
  103.         }
  104.     }
  105.     else if(GetPlayerSpeed(playerid) < 100 && GetPlayerSpeed(playerid) > 70) {
  106.         marcha[playerid] = 4;
  107.     }
  108.     if(marcha[playerid] == 5) {
  109.         if(GetPlayerSpeed(playerid) > 130) {
  110.             marcha[playerid] ++;
  111.         }
  112.     }
  113.     else if(GetPlayerSpeed(playerid) < 130 && GetPlayerSpeed(playerid) > 100) {
  114.         marcha[playerid] = 5;
  115.     }
  116.     if(marcha[playerid] == 6) {
  117.         if(GetPlayerSpeed(playerid) > 130) {
  118.         }
  119.     }
  120.     new string[256];
  121.     if(IsPlayerInAnyVehicle(playerid)) {
  122.         new veiculoid = GetPlayerVehicleID(playerid);
  123.         TextDrawHideForPlayer(playerid, velocimetro[playerid]);
  124.         format(string,sizeof(string),"~g~Velocidade ~r~%dKM/H - Marcha %d - Gasolina: %i L",GetPlayerSpeed(playerid),marcha[playerid],gasolina[veiculoid]);
  125.         TextDrawSetString(velocimetro[playerid], string);
  126.         TextDrawShowForPlayer(playerid, velocimetro[playerid]);
  127.     }
  128.     else TextDrawHideForPlayer(playerid,velocimetro[playerid]);
  129. }
  130.  
  131. public OnPlayerExitVehicle(playerid, vehicleid)
  132. {
  133.     TogglePlayerControllable(playerid,1);
  134.     return 1;
  135. }
  136.  
  137. public OnPlayerStateChange(playerid, newstate, oldstate)
  138. {
  139.     new veiculoid = GetPlayerVehicleID(playerid);
  140.     if(newstate == PLAYER_STATE_DRIVER)
  141.     {
  142.       marcha[playerid] = 1;
  143.       GetVehicleParamsEx(veiculoid,motor,luzes,alarme,porta,capota,mala,objetivo);
  144.       SetVehicleParamsEx(veiculoid,VEICULO_DESLIGADO,luzes,alarme,porta,capota,mala,objetivo);
  145.     }
  146.     return 1;
  147. }
  148. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  149. {
  150.     if (newkeys && KEY_FIRE)
  151.     {
  152.         if (IsPlayerInAnyVehicle(playerid))
  153.         {
  154.           ativado[playerid] = true;
  155.           SetTimerEx("ativa",2000,false,"i",playerid);
  156.         }
  157.     }
  158.     return 1;
  159. }
  160. CMD:gas(playerid,params[])
  161. {
  162.   if(IsPlayerInAnyVehicle(playerid))
  163.   {
  164.     new car = GetPlayerVehicleID(playerid);
  165.     SetVehiclePos(car,1944.7036,-1774.6039,13.3906);
  166.     PutPlayerInVehicle(playerid,car,0);
  167.   }
  168.   else SetPlayerPos(playerid,1944.7036,-1774.6039,13.3906);
  169.   return 1;
  170. }
  171. CMD:ligarcar(playerid, params[])
  172. {
  173.     new veiculoid = GetPlayerVehicleID(playerid);
  174.     if(IsPlayerInAnyVehicle(playerid))
  175.     {
  176.         GetVehicleParamsEx(veiculoid,motor,luzes,alarme,porta,capota,mala,objetivo);
  177.         if(motor == VEICULO_LIGADO)
  178.         {
  179.             SendClientMessage(playerid,0x800000AA," O Veiculo já está ligado!");
  180.             return 1;
  181.         }
  182.         else
  183.         {
  184.             new Chance = random(5);
  185.             {
  186.                switch(Chance)
  187.                {
  188.                   case 1,2:
  189.                   {
  190.                      GetVehicleParamsEx(veiculoid,motor,luzes,alarme,porta,capota,mala,objetivo);
  191.                      SetVehicleParamsEx(veiculoid,VEICULO_LIGADO,luzes,alarme,porta,capota,mala,objetivo);
  192.                      SendClientMessage(playerid,0x008040AA,"CARRO LIGADO !");
  193.                   }
  194.                   case 3,4,5:
  195.                   {
  196.                   SendClientMessage(playerid,0x008040AA," Você falhou na iniciação do carro ! tenta novamente !");
  197.                   }
  198.                }
  199.             }
  200.         }
  201.     }
  202.     else
  203.     {
  204.         SendClientMessage(playerid,0x800000AA," Você não está em um veiculo!");
  205.     }
  206.     return 1;
  207. }
  208.  
  209. CMD:gasolina(playerid,params[])
  210. {
  211.    if(IsPlayerInRangeOfPoint(playerid,3.0,1944.7036,-1774.6039,13.3906) || IsPlayerInRangeOfPoint(playerid,30.0,1836.1078,-2428.0291,13.5547))
  212.    {
  213.        if (enchendo[playerid]) return SendClientMessage(playerid,0xFFC800FF,"Já está enchendo o tanque");
  214.        if (GetPlayerMoney(playerid) - 500 <0) return SendClientMessage(playerid,0xFFC800FF,"Sem dinheiro suficiente");
  215.        GivePlayerMoney(playerid,-500);
  216.        SendClientMessage(playerid,-1,"Você gastou 500 reais em um combustível aleatório !");
  217.        TogglePlayerControllable(playerid,0);
  218.        enchendo[playerid] = 1;
  219.        SetTimerEx("enchertank",4500,false,"i",playerid);
  220.    }
  221.    else SendClientMessage(playerid,-1,"Você não está perto do posto de gasolina");
  222.    return 1;
  223. }
  224. CMD:gass(playerid,params[])
  225. {
  226.   if(IsPlayerInAnyVehicle(playerid))
  227.   {
  228.     new car = GetPlayerVehicleID(playerid);
  229.     SetVehiclePos(playerid,1836.1078,-2428.0291,13.5547);
  230.     PutPlayerInVehicle(playerid,car,0);
  231.   }
  232.   else SetPlayerPos(playerid,1836.1078,-2428.0291,13.5547);
  233.   return 1;
  234. }
  235. CMD:desligacar(playerid, params[])
  236. {
  237.     new veiculoid = GetPlayerVehicleID(playerid);
  238.     if(IsPlayerInAnyVehicle(playerid))
  239.     {
  240.         GetVehicleParamsEx(veiculoid,motor,luzes,alarme,porta,capota,mala,objetivo);
  241.         if(motor == VEICULO_DESLIGADO)
  242.         {
  243.             SendClientMessage(playerid,0x800000AA," O Veiculo já está desligado!");
  244.             return 1;
  245.         }
  246.         else {
  247.             SetVehicleParamsEx(veiculoid,VEICULO_DESLIGADO,luzes,alarme,porta,capota,mala,objetivo);
  248.             SendClientMessage(playerid,0x008040AA," Motor Desligado.");
  249.         }
  250.     }
  251.     else
  252.     {
  253.         SendClientMessage(playerid,0x800000AA," Você não está em um veiculo!");
  254.     }
  255.     return 1;
  256. }
  257. public poucagas(playerid)
  258. {
  259.     for(new i=0;i<MAX_PLAYERS;i++) {
  260.         if (enchendo[i]) continue;
  261.         new veiculoid = GetPlayerVehicleID(i);
  262.         if (GetPlayerVehicleSeat(i) == 0) {
  263.             gasolina[veiculoid] = gasolina[veiculoid] -1;
  264.             if (gasolina[veiculoid]<1)
  265.             {
  266.                 gasolina[veiculoid] = 0;
  267.                 RemovePlayerFromVehicle(i);
  268.                 SendClientMessage(i,-1,"Sem gasolina");
  269.             }
  270.         }
  271.         new string[125];
  272.         format(string,sizeof(string),"~g~Velocidade ~r~%dKM/H - Marcha %d - Gasolina %i L",GetPlayerSpeed(playerid),marcha[playerid],gasolina[veiculoid]);
  273.         TextDrawSetString(velocimetro[playerid], string);
  274.     }
  275.     return 1;
  276. }
  277. public ativa(playerid,params[])
  278. {
  279.   new veiculoid = GetPlayerVehicleID(playerid);
  280.   GetVehicleParamsEx(veiculoid,motor,luzes,alarme,porta,capota,mala,objetivo);
  281.   if(motor == VEICULO_DESLIGADO)
  282.   {
  283.     if(ativado[playerid] == true)
  284.     {
  285.       cmd_ligarcar(playerid,params);
  286.       ativado[playerid] = false;
  287.     }
  288.   }
  289.   else return 0;
  290.   return 1;
  291. }
  292. public enchertank(playerid)
  293. {
  294.     new veiculoid = GetPlayerVehicleID(playerid);
  295.     gasolina[veiculoid] = gasolina[veiculoid] = 0 + random(200);
  296.     enchendo[playerid] = 0;
  297.     new string[125];
  298.     format(string,sizeof(string),"~g~Velocidade ~r~%dKM/H - Marcha %d - Gasolina %i L",GetPlayerSpeed(playerid),marcha[playerid],gasolina[veiculoid]);
  299.     TextDrawSetString(velocimetro[playerid], string);
  300.     TogglePlayerControllable(playerid,true);
  301.     SendClientMessage(playerid,-1,"Combustível aleatório adicionado !");
  302. }
  303. stock GetPlayerSpeed(playerid)
  304. {
  305.     new Float:ST[4];
  306.     if(IsPlayerInAnyVehicle(playerid))
  307.     GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
  308.     else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
  309.     ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 155.0;
  310.     return floatround(ST[3]);
  311. }
  312.  
  313. //########################################################## DIREITOS RESERVADOS À LEONARDO1434  ###########################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement