Jump to content

help me


emuk

Recommended Posts

I want to change handling to all the cars present and those that will be spawned, immediately and not after enter the car.

I solved the problem by putting a timer infinite:

setTimer ( changesultan, 1000, 0)

and a triggerServerEvent.

But I don't like this method.

If I start a resource the player is removed from the car.

someone recommend some method for me?

thanks and sorry for my bad english.

p.s

I'd like that the handling is changed after replaced models txd and dff.

Link to comment

the server code:

function cambiabuffalo () 
for i,v in ipairs(getElementsByType("vehicle")) do 
     if getElementModel(v) == 402 then  --buffalo 
          setVehicleHandling(v, "mass", 1059.9) 
          setVehicleHandling(v, "turnMass", 4099.9) 
          setVehicleHandling(v, "dragCoeff", 2.0) 
          setVehicleHandling(v, "centerOfMass", {0.0, 0.1, -0.48} ) 
          setVehicleHandling(v, "percentSubmerged", 75) 
          setVehicleHandling(v, "tractionMultiplier", 0.70) 
          setVehicleHandling(v, "tractionLoss", 0.80) 
          setVehicleHandling(v, "tractionBias", 0.47) 
          setVehicleHandling(v, "numberOfGears", 5) 
          setVehicleHandling(v, "maxVelocity", 350) 
          setVehicleHandling(v, "engineAcceleration", 55.0) 
          setVehicleHandling(v, "engineInertia", 5.0) 
          setVehicleHandling(v, "driveType", "rwd") 
          setVehicleHandling(v, "engineType", "petrol") 
          setVehicleHandling(v, "brakeDeceleration", 8.0) 
          setVehicleHandling(v, "brakeBias", 0.45) 
          setVehicleHandling(v, "ABS", true) 
          setVehicleHandling(v, "steeringLock", 55.0) 
          setVehicleHandling(v, "suspensionForceLevel", 1.4) 
          setVehicleHandling(v, "suspensionDamping", 0.15) 
          setVehicleHandling(v, "suspensionHighSpeedDamping", 0.0) 
          setVehicleHandling(v, "suspensionUpperLimit", 0.28) 
          setVehicleHandling(v, "suspensionLowerLimit", -0.05) 
          setVehicleHandling(v, "suspensionFrontRearBias", 0.5) 
          setVehicleHandling(v, "suspensionAntiDiveMultiplier", 0.3) 
          setVehicleHandling(v, "seatOffsetDistance", 1.25) 
          setVehicleHandling(v, "collisionDamageMultiplier", 0.10) 
          setVehicleHandling(v, "monetary", 35000) 
          setVehicleHandling(v, "modelFlags", 0xc0000000) 
          setVehicleHandling(v, "handlingFlags", 0x01780002) 
          setVehicleHandling(v, "headLight", 1) 
          setVehicleHandling(v, "tailLight", 1) 
          setVehicleHandling(v, "animGroup", 1) 
          end      
      end 
end 
addEvent( "handlingcambiato", true ) 
addEventHandler ( "handlingcambiato", getRootElement(), cambiabuffalo ) 
  
setTimer ( cambiabuffalo, 1000, 0) 
  

and the client:

function replaceModel () 
txd = engineLoadTXD ("buffalo.txd", true) 
engineImportTXD (txd, 402) 
dff = engineLoadDFF ("buffalo.dff", 402) 
engineReplaceModel (dff, 402)  
triggerServerEvent ( "handlingcambiato", getLocalPlayer())  
end 
  
addEventHandler ("onClientResourceStart", getRootElement(), replaceModel) 

Link to comment

I dont see a problem with the timer. But to prevent the server from doing too much work you could use these changes.

NB: Read the comments in the script.

  
function cambiabuffalo () 
for i,v in ipairs(getElementsByType("vehicle")) do 
local handlingSet = getElementData(v,"handlingSet") -- We use this to check if the current vehicle 'v' has changed handling 
    if handlingSet ~= true then -- If the handling has not been changed yet, then it will change it. 
        if getElementModel(v) == 402 then  --buffalo 
            setVehicleHandling(v, "mass", 1059.9) 
            setVehicleHandling(v, "turnMass", 4099.9) 
            setVehicleHandling(v, "dragCoeff", 2.0) 
            setVehicleHandling(v, "centerOfMass", {0.0, 0.1, -0.48} ) 
            setVehicleHandling(v, "percentSubmerged", 75) 
            setVehicleHandling(v, "tractionMultiplier", 0.70) 
            setVehicleHandling(v, "tractionLoss", 0.80) 
            setVehicleHandling(v, "tractionBias", 0.47) 
            setVehicleHandling(v, "numberOfGears", 5) 
            setVehicleHandling(v, "maxVelocity", 350) 
            setVehicleHandling(v, "engineAcceleration", 55.0) 
            setVehicleHandling(v, "engineInertia", 5.0) 
            setVehicleHandling(v, "driveType", "rwd") 
            setVehicleHandling(v, "engineType", "petrol") 
            setVehicleHandling(v, "brakeDeceleration", 8.0) 
            setVehicleHandling(v, "brakeBias", 0.45) 
            setVehicleHandling(v, "ABS", true) 
            setVehicleHandling(v, "steeringLock", 55.0) 
            setVehicleHandling(v, "suspensionForceLevel", 1.4) 
            setVehicleHandling(v, "suspensionDamping", 0.15) 
            setVehicleHandling(v, "suspensionHighSpeedDamping", 0.0) 
            setVehicleHandling(v, "suspensionUpperLimit", 0.28) 
            setVehicleHandling(v, "suspensionLowerLimit", -0.05) 
            setVehicleHandling(v, "suspensionFrontRearBias", 0.5) 
            setVehicleHandling(v, "suspensionAntiDiveMultiplier", 0.3) 
            setVehicleHandling(v, "seatOffsetDistance", 1.25) 
            setVehicleHandling(v, "collisionDamageMultiplier", 0.10) 
            setVehicleHandling(v, "monetary", 35000) 
            setVehicleHandling(v, "modelFlags", 0xc0000000) 
            setVehicleHandling(v, "handlingFlags", 0x01780002) 
            setVehicleHandling(v, "headLight", 1) 
            setVehicleHandling(v, "tailLight", 1) 
            setVehicleHandling(v, "animGroup", 1) 
            setElementData(v,"handlingSet",true) -- Let the server know that this vehicle has been changed, so it wont do it again next time. 
            end      
        end 
    end 
end 
addEvent( "handlingcambiato", true ) 
addEventHandler ( "handlingcambiato", getRootElement(), cambiabuffalo ) 
  
setTimer ( cambiabuffalo, 1000, 0) 
  

To prevent the cars from being removed whenever you load a new resource, you could change:

  
addEventHandler ("onClientResourceStart", getRootElement(), replaceModel) -- This is your line. 
addEventHandler ("onClientResourceStart", getResourceRootElement(getThisResource()) , replaceModel) -- Replace it with this line. Notice that we dont use getRootElement() now. With getResourceRootElement(getThisResource()) it only triggers when THAT resource is started/restarted 
  

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...