Jump to content

Problem with Script..


TheOne

Recommended Posts

Ey , I recently wrote a script that make the wheels of your car magnet that is enabled/disabled by markers. Below you will see the script I wrote.

  
function removeGravityFinder(veh) 
   removeEventHandler("onClientRender",getRootElement(),magnetWheels) 
end 
  
function magnetWheels() 
      local veh = getPedOccupiedVehicle(getLocalPlayer()) 
  local x,y,z = getElementPosition(veh) 
     local underx,undery,underz = getPositionUnderTheElement(veh) 
     setVehicleGravity(veh,underx - x,undery - y,underz - z)  
end 
  
function getPositionUnderTheElement(element) 
     local matrix = getElementMatrix (element) 
     local offX = 0 * matrix[1][1] + 0 * matrix[2][1] - 1 * matrix[3][1] + matrix[4][1] 
     local offY = 0 * matrix[1][2] + 0 * matrix[2][2] - 1 * matrix[3][2] + matrix[4][2] 
     local offZ = 0 * matrix[1][3] + 0 * matrix[2][3] - 1 * matrix[3][3] + matrix[4][3] 
     return offX,offY,offZ 
end 
  
function stopMagnets()      
 removeEventHandler("onClientPlayerVehicleExit",getLocalPlayer(),removeGravityFinder) 
 removeEventHandler("onClientRender",getRootElement(),magnetWheels)     
 veh = getPedOccupiedVehicle(getLocalPlayer()) 
 if veh then 
         setVehicleGravity(veh,0,0,-1) 
  
 end 
end   
  
function startMagnets() 
     addEventHandler("onClientPlayerVehicleExit",getLocalPlayer(),removeGravityFinder) 
 addEventHandler("onClientRender",getRootElement(),magnetWheels)   
  
end 
  
  
marker1 = createMarker(1931.306640625,-7655.42578125,49.669486999512,"corona",5,0,0,0,0) -- to start the magnets 
marker2 = createMarker(1931.4370117188,-8029.53125,53.335014343262,"corona",5,0,0,0,0) -- to stop the magnets 
  
  
addEventHandler("onClientMarkerHit", marker1, startMagnets) 
addEventHandler("onClientMarkerHit", marker2, stopMagnets) 
  

(I'm using MTA 1.1)

Well, The script switch to Magnet mode perfectly, but there is a bug. when a player hit the marker to activate Magnet, the player active for everyone else on the server, not only for him.

So I want to know if I missed some arguments or something else..

Waiting for help.. Thanks.

Link to comment

try this

  
function removeGravityFinder(veh) 
   removeEventHandler("onClientRender",getRootElement(),magnetWheels) 
end 
  
function magnetWheels() 
      local veh = getPedOccupiedVehicle(getLocalPlayer()) 
  local x,y,z = getElementPosition(veh) 
     local underx,undery,underz = getPositionUnderTheElement(veh) 
     setVehicleGravity(veh,underx - x,undery - y,underz - z)  
end 
  
function getPositionUnderTheElement(element) 
     local matrix = getElementMatrix (element) 
     local offX = 0 * matrix[1][1] + 0 * matrix[2][1] - 1 * matrix[3][1] + matrix[4][1] 
     local offY = 0 * matrix[1][2] + 0 * matrix[2][2] - 1 * matrix[3][2] + matrix[4][2] 
     local offZ = 0 * matrix[1][3] + 0 * matrix[2][3] - 1 * matrix[3][3] + matrix[4][3] 
     return offX,offY,offZ 
end 
  
function stopMagnets(hitPlayer) 
if hitPlayer ~= getLocalPlayer() then return end 
 removeEventHandler("onClientPlayerVehicleExit",getLocalPlayer(),removeGravityFinder) 
 removeEventHandler("onClientRender",getRootElement(),magnetWheels)     
 veh = getPedOccupiedVehicle(getLocalPlayer()) 
 if veh then 
         setVehicleGravity(veh,0,0,-1) 
  
 end 
end   
  
function startMagnets(hitPlayer) 
if hitPlayer ~= getLocalPlayer() then return end 
     addEventHandler("onClientPlayerVehicleExit",getLocalPlayer(),removeGravityFinder) 
     addEventHandler("onClientRender",getRootElement(),magnetWheels)   
end 
  
  
marker1 = createMarker(1931.306640625,-7655.42578125,49.669486999512,"corona",5,0,0,0,0) -- to start the magnets 
marker2 = createMarker(1931.4370117188,-8029.53125,53.335014343262,"corona",5,0,0,0,0) -- to stop the magnets 
  
  
addEventHandler("onClientMarkerHit", marker1, startMagnets) 
addEventHandler("onClientMarkerHit", marker2, stopMagnets) 

also you're not who wrote this script

https://community.multitheftauto.com/index.php?p= ... ils&id=329

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...