Advertisement
Guest User

Towtruck

a guest
Dec 13th, 2014
557
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.94 KB | None | 0 0
  1. // © 2013 Sydcul. All rights reserved. http://www.sydcul.com
  2. // Designed for SA-MP 0.3x - will not work in versions prior to 0.3c R3 (GetVehicleDistanceFromPoint)
  3. // You need to put "native IsValidVehicle(vehicleid);" in your a_samp.inc Or uncomment the line below. Not both.
  4. //native IsValidVehicle(vehicleid);
  5. #include <a_samp>
  6.  
  7. #define HOLDING(%0) \
  8.     ((newkeys & (%0)) == (%0))
  9. #define PRESSED(%0) \
  10.     (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  11. #define RELEASED(%0) \
  12.     (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
  13.  
  14. public OnFilterScriptInit()
  15. {
  16.     print("Towtruck v1.0 by Sydcul");
  17.     return 1;
  18. }
  19.  
  20. public OnFilterScriptExit()
  21. {
  22.     return 1;
  23. }
  24.  
  25. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  26. {
  27.     new vehicle = GetPlayerVehicleID(playerid);
  28.     new model = GetVehicleModel(vehicle);
  29.     new targetVehicle, Float:targetVehicleDistance, closestVehicle, Float:closestVehicleDistance = 7.0, found = 0;
  30.     new Float:tX, Float:tY, Float:tZ;
  31.     if ((GetPlayerState(playerid) == PLAYER_STATE_DRIVER) && PRESSED(KEY_ACTION) && (model == 525 || model == 531)) { // Player presses TAB, and the current vehicle is a towtruck / tractor
  32.         while(targetVehicle < MAX_VEHICLES) {
  33.             GetVehiclePos(targetVehicle, tX, tY, tZ);
  34.             targetVehicleDistance = GetVehicleDistanceFromPoint(vehicle, tX, tY, tZ);
  35.             if(IsValidVehicle(targetVehicle) && (floatcmp(targetVehicleDistance, 7.0) <= 0) && (targetVehicle != vehicle) && (floatcmp(targetVehicleDistance, closestVehicleDistance) <= 0)) { //deze conditie is 2000x goed, dus client overload met berichten
  36.                 found = 1;
  37.                 closestVehicle = targetVehicle;
  38.                 closestVehicleDistance = targetVehicleDistance;
  39.             }
  40.             targetVehicle++;
  41.         }
  42.         if(found) {
  43.             if  (IsTrailerAttachedToVehicle(vehicle))
  44.             {
  45.                 DetachTrailerFromVehicle(vehicle);
  46.             }
  47.             AttachTrailerToVehicle(closestVehicle, vehicle);
  48.         }
  49.     }
  50.     return 1;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement