Advertisement
HR_Shaft

Gunner-is-Driver for Gametype Hogs for Phasor v2+

Sep 27th, 2014
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.77 KB | None | 0 0
  1. --[[ ###  Gunner-is-Driver for Gametype Hogs ###]]--
  2. --[[ ###      by H® Shaft for Phasor v2+     ###]]--
  3.  
  4. -- This version allows use of hogs spawned by gametype
  5. -- When a player attempts to enter a warthog, it will put them in the "Gunner-is-Driver" position
  6. -- 2 teammates may share a hog (Gunner and Passenger), drivers seat is blocked
  7. -- Only works with warthogs
  8.  
  9. function GetRequiredVersion()
  10.     return 200
  11. end
  12.  
  13. function OnScriptLoad(process, game, persistent)
  14.  
  15. end
  16.  
  17. function OnVehicleEntry(player, m_vehicleId, seat, mapid, relevant)
  18.     local m_vehicle = getobject(m_vehicleId)
  19.     local driver = readdword(m_vehicle + 0x324)
  20.    
  21.     if validvehicle(m_vehicle) then
  22.         if seat == 1 and driver == 0xFFFFFFFF then
  23.             registertimer(0, "GunnerIsDriver", {player, m_vehicleId})
  24.         elseif seat == 1 and driver ~= 0xFFFFFFFF then
  25.             return true
  26.         elseif seat == 0 and driver == 0xFFFFFFFF then
  27.             registertimer(0, "GunnerIsDriver", {player, m_vehicleId})
  28.         elseif seat == 0 and driver ~= 0xFFFFFFFF then
  29.             return false -- return true if you want to enable drivers seat (glitchy)
  30.         elseif seat == 2 and driver == 0xFFFFFFFF then
  31.             registertimer(0, "GunnerIsDriver", {player, m_vehicleId})
  32.         elseif seat == 2 and driver ~= 0xFFFFFFFF then
  33.             return false
  34.         end
  35.     end
  36.    
  37.     return nil
  38. end
  39.  
  40. function GunnerIsDriver(id, count, arg)
  41.     local player = arg[1]
  42.     local m_vehicleId = arg[2]
  43.     if player then
  44.         local m_object = getobject(getplayerobjectid(player))
  45.         if m_object and m_vehicleId then
  46.             entervehicle(player, m_vehicleId, 0)
  47.             entervehicle(player, m_vehicleId, 2)
  48.         end
  49.     end    
  50.     return false
  51. end
  52.  
  53. function validvehicle(m_vehicle)
  54.     local name = gettaginfo(readdword(m_vehicle))
  55.     if string.find(name, "warthog") then
  56.         return true
  57.     end
  58.     return false
  59. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement