Guest User

Hotwire for Drive Cars

a guest
Nov 25th, 2017
3
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.59 KB | None | 0 0
  1. ==================================================================
  2. STEP 1:
  3. Open file:
  4. Steam\SteamApps\workshop\content\108600\698689559\mods\Drive Cars\media\lua\client\DriveCars.lua
  5.  
  6. REPLACE DoStartCar and realStartCar with the following:
  7.  
  8. function DoStartCar(test,car)
  9. local player = getPlayer();
  10. local key = player:getInventory():getItemFromType("CarKey");
  11. if not key then
  12. key = car:getItemContainer():getItemFromType("CarKey");
  13. end
  14. if not key then
  15. key = player:getInventory():getItemFromType("Screwdriver");
  16. end
  17.  
  18. if(key) then
  19. realStartCar(car, key, player);
  20. else
  21. player:Say("Oh s**t! Where\'s the key?!");
  22. end
  23.  
  24. end
  25.  
  26. function realStartCar(car, keyItem, player)
  27. if(player:getModData().Driving ~= 1) then
  28. local key = keyItem:getModData().KeyID;
  29. Gcar = car;
  30. FakePlayerZ=0;
  31. if(player:getInventory():contains(Gcar)) then
  32. player:getInventory():Remove(Gcar);
  33. getWorld():getCell():getGridSquare(player:getX(),player:getY(),0):AddWorldInventoryItem(Gcar,player:getX() - math.floor(player:getX()),player:getY() - math.floor(player:getY()),0 - math.floor(0));
  34. end
  35.  
  36. --player:Say(tostring(Gcar:getModData().KeyID) .. " = " ..tostring(key) );
  37. if (((Gcar:getModData().KeyID == key) and (key ~= nil) and (key ~= 0)) or ((Gcar:getModData().KeyID == 0) and (keyItem:getType() == "Screwdriver") )) then
  38.  
  39. if(Gcar:getItemContainer():contains("PetrolCan"))
  40. then
  41. DriveCarsSaveBodyDamage(player);
  42. local Name = Gcar:getType();
  43. NTexture = getTextureFor("DriveCars."..Name.."N");
  44. NETexture = getTextureFor("DriveCars."..Name.."NE");
  45. NWTexture = getTextureFor("DriveCars."..Name.."NW");
  46. ETexture = getTextureFor("DriveCars."..Name.."E");
  47. WTexture = getTextureFor("DriveCars."..Name.."W");
  48. STexture = getTextureFor("DriveCars."..Name.."S");
  49. SETexture = getTextureFor("DriveCars."..Name.."SE");
  50. SWTexture = getTextureFor("DriveCars."..Name.."SW");
  51. BROKENTexture = getTextureFor("DriveCars."..Name.."BROKEN");
  52. GcarTexture = Texture.new(NTexture);
  53. getPlayer():getModData().Driving = 1;
  54. getPlayer():getModData().NumInCar = 1;
  55. getPlayer():getModData().CarLimit = getCarLimit(Gcar:getType());
  56. getPlayer():Say(tostring(getPlayer():getModData().NumInCar).. " / " .. tostring( getPlayer():getModData().CarLimit) .. " Capacity");
  57. Gcar:getModData().Driving=1;
  58. LastSquare = player:getCurrentSquare();
  59. SndLastSquare = player:getCurrentSquare();
  60. UpdateCount = 0;
  61. OutOfGas = 0;
  62. lastXoff = player:getX() - math.floor(player:getX());
  63. lastYoff = player:getY() - math.floor(player:getY());
  64.  
  65. if (Gcar:getModData().HP == nil) then
  66. Gcar:getModData().HP = DefaultCarHP;
  67. --Gcar:getWorldItem():transmitModData() ;
  68. end
  69.  
  70. Gcar:getModData().AirConditioning = 0;
  71. --Gcar:getWorldItem():transmitModData() ;
  72.  
  73.  
  74. player:setX(Gcar:getWorldItem():getX());
  75. player:setY(Gcar:getWorldItem():getY());
  76.  
  77. getSoundManager():PlayWorldSound("StartCar", false, getPlayer():getCurrentSquare(), 0.2, 60, 0.2, false) ;
  78.  
  79. --player:Say("ARROW KEYS TO MOVE/W,A,S or D KEY TO STOP GET OUT)");
  80. elseif(player:getInventory():contains("PetrolCan"))
  81. then
  82. player:Say("I should put the gas in the car before trying to start it...");
  83. else
  84. player:Say("no gas...");
  85. end
  86. elseif(Gcar:getModData().Driving == 1) then
  87. player:Say("Got in vehicle");
  88. Passenger = 1;
  89. UpdateCount = 0;
  90. OutOfGas = 0;
  91. else
  92. player:Say("This is not the right key it seems.");
  93. end
  94. player:getInventory():Remove("RegestationPapers");
  95. end
  96. end
  97.  
  98.  
  99. ==================================================================
  100. STEP 2:
  101. Still on DriveCars.lua
  102.  
  103. Paste the following function:
  104.  
  105. function hotwireCar(items, result, player)
  106. for i=0, items:size()-1 do
  107. if(items:get(i):getCategory() == "Container") then
  108. local car = items:get(i);
  109. car:getModData().KeyID = 0;
  110. player:Say("At least now I'll be able to start it with a screwdriver");
  111. end
  112. end
  113.  
  114. end
  115.  
  116. ==================================================================
  117. STEP 3:
  118. Open file:
  119. Steam\SteamApps\workshop\content\108600\698689559\mods\Drive Cars\media\scripts\DriveCars.txt
  120.  
  121. Add the recipe anywhere on the file:
  122.  
  123. recipe Hotwire car
  124. {
  125. keep Plane/Tank/Beetle/Ambulance/Hummer/SportsCar/Van/Jeep2/Firetruck/Pickup/JeepCar/MTruck/MArmor/WhiteCar/Jeep/PCar/GreenCivic/MJeep,
  126. keep Screwdriver,
  127. Result:RegestationPapers,
  128. Time:500.0,
  129. OnCreate:hotwireCar,
  130. CanBeDoneFromFloor:true,
  131. Category:Car,
  132. }
  133.  
  134. ==================================================================
Advertisement
Add Comment
Please, Sign In to add comment