Dzsipszi Posted March 8, 2013 Share Posted March 8, 2013 I found a very good script and its not mine. It has a bug: if you are in the vehicle you see the manual and if your friend enter a nearby vehicle or next to you in the car, the manual is gone and i dont know why. The guy who release this script stopped the updates in 2010-08. Here is the code: local playerGear = 0 local playerVehicleSeat = 0 function setPlayerGear( key ) if key == "num_add" then if playerGear < 5 then playerGear = playerGear + 1 playSoundFrontEnd( 4 ) end elseif key == "num_sub" then if playerGear > -1 then playerGear = playerGear - 1 playSoundFrontEnd( 4 ) end end end function setPlayerGearByCmd( command ) if command == "gearu" then setPlayerGear( "num_add" ) elseif command == "geard" then setPlayerGear( "num_sub" ) end end function createImage() gearbox = guiCreateStaticImage(0.8232,0.5508,0.1172,0.1563,"gearbox.png",true) marker = guiCreateStaticImage(0.4667,0.4667,0.0833,0.0833,"marker.png",true,gearbox) end function manual() local vehicle = getPedOccupiedVehicle( getLocalPlayer() ) if vehicle and playerVehicleSeat == 0 then local vehicleGear = getVehicleCurrentGear( vehicle ) local velX, velY, velZ = getElementVelocity( vehicle ) local vType = getVehicleType( vehicle ) local velX2 = math.abs( velX ) local velY2 = math.abs( velY ) local velZ2 = math.abs( velZ ) local visible local dvel if playerGear == 1 then dvel = 1.055 elseif playerGear == 2 then dvel = 1.012 elseif playerGear == 3 then dvel = 1.005 elseif playerGear == 4 then dvel = 1.0025 end if vType ~= "Plane" and vType ~= "Helicopter" and vType ~= "Boat" and vType ~= "Trailer" and vType ~= "Train" and vType ~= "BMX" then visible = true if playerGear > 0 then toggleControl( "accelerate", true ) toggleControl( "brake_reverse", false ) if playerGear < vehicleGear then if math.max( velX2, velY2, velZ2 ) ~= velZ2 then local x, y = velX / dvel, velY / dvel setElementVelocity ( vehicle, x, y, velZ ) end end elseif playerGear == 0 then toggleControl( "accelerate", false ) toggleControl( "brake_reverse", false ) elseif playerGear == -1 then toggleControl( "accelerate", false ) toggleControl( "brake_reverse", true ) local state = false local keys = getBoundKeys( "accelerate" ) for key,_ in pairs(keys) do if getKeyState( key ) then state = true end end local keys2 = getBoundKeys( "brake_reverse" ) for key,_ in pairs(keys2) do if getKeyState( key ) then state = true end end if state then setControlState( "accelerate", false ) setControlState( "brake_reverse", true ) else setControlState( "accelerate", false ) setControlState( "brake_reverse", false ) end end if vehicleGear < playerGear then if math.max( velX2, velY2, velZ2 ) ~= velZ2 then local s = ( ( ( playerGear - vehicleGear ) / 100 ) + 1 ) s = s * ( ( ( playerGear - vehicleGear ) / 120 ) + 1 ) local x, y = velX / s, velY / s setElementVelocity ( vehicle, x, y, velZ ) end end else visible = false toggleControl( "accelerate", true ) toggleControl( "brake_reverse", true ) end if visible then guiSetVisible( gearbox, true ) if playerGear == -1 then guiSetPosition( marker, 0.1583, 0.275, true ) elseif playerGear == 0 then guiSetPosition( marker, 0.4667, 0.4667, true ) elseif playerGear == 1 then guiSetPosition( marker, 0.3583, 0.275, true ) elseif playerGear == 2 then guiSetPosition( marker, 0.3583, 0.6417, true ) elseif playerGear == 3 then guiSetPosition( marker, 0.5583, 0.275, true ) elseif playerGear == 4 then guiSetPosition( marker, 0.5583, 0.6417, true ) elseif playerGear == 5 then guiSetPosition( marker, 0.7583, 0.275, true ) end else guiSetVisible( gearbox, false ) end else playerGear = 0 guiSetVisible( gearbox, false ) end end function seat( player, seat ) playerVehicleSeat = seat end bindKey( "num_add", "up", setPlayerGear ) bindKey( "num_sub", "up", setPlayerGear ) addEventHandler( "onClientResourceStart", getResourceRootElement(getThisResource()), createImage ) addEventHandler( "onClientRender", getRootElement(), manual ) addEventHandler( "onClientVehicleEnter", getRootElement(), seat ) addCommandHandler( "gearu", setPlayerGearByCmd ) addCommandHandler( "geard", setPlayerGearByCmd ) so the bug again: if a player enter a vehicle nearby the manual is gone. I need this script, and the debugscript 3 dont help so much. very old script Link to comment
Castillo Posted March 8, 2013 Share Posted March 8, 2013 local playerGear = 0 local playerVehicleSeat = 0 function setPlayerGear( key ) if key == "num_add" then if playerGear < 5 then playerGear = playerGear + 1 playSoundFrontEnd( 4 ) end elseif key == "num_sub" then if playerGear > -1 then playerGear = playerGear - 1 playSoundFrontEnd( 4 ) end end end function setPlayerGearByCmd( command ) if command == "gearu" then setPlayerGear( "num_add" ) elseif command == "geard" then setPlayerGear( "num_sub" ) end end function createImage() gearbox = guiCreateStaticImage(0.8232,0.5508,0.1172,0.1563,"gearbox.png",true) marker = guiCreateStaticImage(0.4667,0.4667,0.0833,0.0833,"marker.png",true,gearbox) end function manual() local vehicle = getPedOccupiedVehicle( getLocalPlayer() ) if vehicle and playerVehicleSeat == 0 then local vehicleGear = getVehicleCurrentGear( vehicle ) local velX, velY, velZ = getElementVelocity( vehicle ) local vType = getVehicleType( vehicle ) local velX2 = math.abs( velX ) local velY2 = math.abs( velY ) local velZ2 = math.abs( velZ ) local visible local dvel if playerGear == 1 then dvel = 1.055 elseif playerGear == 2 then dvel = 1.012 elseif playerGear == 3 then dvel = 1.005 elseif playerGear == 4 then dvel = 1.0025 end if vType ~= "Plane" and vType ~= "Helicopter" and vType ~= "Boat" and vType ~= "Trailer" and vType ~= "Train" and vType ~= "BMX" then visible = true if playerGear > 0 then toggleControl( "accelerate", true ) toggleControl( "brake_reverse", false ) if playerGear < vehicleGear then if math.max( velX2, velY2, velZ2 ) ~= velZ2 then local x, y = velX / dvel, velY / dvel setElementVelocity ( vehicle, x, y, velZ ) end end elseif playerGear == 0 then toggleControl( "accelerate", false ) toggleControl( "brake_reverse", false ) elseif playerGear == -1 then toggleControl( "accelerate", false ) toggleControl( "brake_reverse", true ) local state = false local keys = getBoundKeys( "accelerate" ) for key,_ in pairs(keys) do if getKeyState( key ) then state = true end end local keys2 = getBoundKeys( "brake_reverse" ) for key,_ in pairs(keys2) do if getKeyState( key ) then state = true end end if state then setControlState( "accelerate", false ) setControlState( "brake_reverse", true ) else setControlState( "accelerate", false ) setControlState( "brake_reverse", false ) end end if vehicleGear < playerGear then if math.max( velX2, velY2, velZ2 ) ~= velZ2 then local s = ( ( ( playerGear - vehicleGear ) / 100 ) + 1 ) s = s * ( ( ( playerGear - vehicleGear ) / 120 ) + 1 ) local x, y = velX / s, velY / s setElementVelocity ( vehicle, x, y, velZ ) end end else visible = false toggleControl( "accelerate", true ) toggleControl( "brake_reverse", true ) end if visible then guiSetVisible( gearbox, true ) if playerGear == -1 then guiSetPosition( marker, 0.1583, 0.275, true ) elseif playerGear == 0 then guiSetPosition( marker, 0.4667, 0.4667, true ) elseif playerGear == 1 then guiSetPosition( marker, 0.3583, 0.275, true ) elseif playerGear == 2 then guiSetPosition( marker, 0.3583, 0.6417, true ) elseif playerGear == 3 then guiSetPosition( marker, 0.5583, 0.275, true ) elseif playerGear == 4 then guiSetPosition( marker, 0.5583, 0.6417, true ) elseif playerGear == 5 then guiSetPosition( marker, 0.7583, 0.275, true ) end else guiSetVisible( gearbox, false ) end else playerGear = 0 guiSetVisible( gearbox, false ) end end function seat( player, seat ) if ( player == localPlayer ) then playerVehicleSeat = seat end end bindKey( "num_add", "up", setPlayerGear ) bindKey( "num_sub", "up", setPlayerGear ) addEventHandler( "onClientResourceStart", getResourceRootElement(getThisResource()), createImage ) addEventHandler( "onClientRender", getRootElement(), manual ) addEventHandler( "onClientVehicleEnter", getRootElement(), seat ) addCommandHandler( "gearu", setPlayerGearByCmd ) addCommandHandler( "geard", setPlayerGearByCmd ) Try it. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now