CANDY-KUSH-GOD

gta 4 ped car follower mod

May 18th, 2014
287
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.91 KB | None | 0 0
  1. ///gta 4 ped car follower mod
  2.  
  3. CPeds = {
  4.     followers = {},
  5.     enemies = {}
  6. }
  7.  
  8. addEvent ( "addMissionPed", true )
  9. addEventHandler ( "addMissionPed", getRootElement(), function ( type, player )
  10.     if ( type == "f" ) then
  11.         CPeds.followers[source] = player
  12.     elseif ( type == "e" ) then
  13.         CPeds.enemies[source] = player
  14.     end
  15. end )
  16.  
  17. addEventHandler ( "onClientElementDestroy", getResourceRootElement ( getThisResource() ), function ()
  18.     if ( CPeds.followers[source] ) then
  19.         CPeds.followers[source] = nil
  20.     end
  21.     if ( CPeds.enemies[source] ) then
  22.         CPeds.enemies[source] = nil
  23.     end
  24. end )
  25.  
  26. addEventHandler ( "onClientRender", getRootElement(), function ()
  27.     for ped, player in pairs ( CPeds.followers ) do
  28.         if ( isElementStreamedIn ( ped ) and not getPedOccupiedVehicle ( ped ) ) then
  29.             local x, y, z = getElementPosition ( player )
  30.             local px, py, pz = getElementPosition ( ped )
  31.             local rot = math.deg ( math.atan2 ( ( x - px ), ( y - py ) ) ) % 360
  32.             local dist = getDistanceBetweenPoints3D ( x, y, z, px, py, pz )
  33.             setPedCameraRotation ( ped, rot )
  34.             dxDrawText ( tostring ( rot ), 1000, 400 )
  35.             local free = processLineOfSight ( x, y, z, px, py, pz )
  36.             if ( free and dist < 20 ) then
  37.                 if ( dist < 2 ) then
  38.                     setPedControlState ( ped, "forwards", false )
  39.                 else
  40.                     setPedControlState ( ped, "forwards", true )
  41.                     if ( dist < 6 ) then
  42.                         if ( isPedDucked ( ped ) ~= isPedDucked ( player ) ) then
  43.                             setPedControlState ( ped, "crouch", false )
  44.                             setPedControlState ( ped, "crouch", true )
  45.                             return
  46.                         end
  47.                         setPedControlState ( ped, "sprint", false )
  48.                         setPedControlState ( ped, "walk", true )
  49.                     elseif ( dist < 15 ) then
  50.                         setPedControlState ( ped, "sprint", false )
  51.                         setPedControlState ( ped, "walk", false )
  52.                     else
  53.                         setPedControlState ( ped, "sprint", true )
  54.                         setPedControlState ( ped, "walk", false )
  55.                     }
  56.                 }
  57.             }
  58.         }
  59.     }
  60.    )
Advertisement
Add Comment
Please, Sign In to add comment