Jump to content

Warp to car when spawn


Recommended Posts

  • 2 weeks later...

server.lua (untested):

function saveVehicleOnWasted() 
if not isPedInVehicle(source) then return end 
vehicle = getPedOccupiedVehicle(source) 
end 
addEventHandler("onPlayerWasted", getRootElement(), saveVehicleOnWasted) 
  
function warpPedToVehicle() 
if not vehicle then return end 
warpPedIntoVehicle(source, vehicle) 
end 
addEventHandler("onPlayerSpawn", getRootElement(), warpPedToVehicle) 

meta.xml:

<meta> 
<info author="Donut" description="Save vehicle on wasted and warp player into it on spawn" version="1.0.0"/> 
<script src="server.lua" type="server"/> 
</meta> 

Link to comment
server.lua (untested):
function saveVehicleOnWasted() 
if not isPedInVehicle(source) then return end 
vehicle = getPedOccupiedVehicle(source) 
end 
addEventHandler("onPlayerWasted", getRootElement(), saveVehicleOnWasted) 
  
function warpPedToVehicle() 
if not vehicle then return end 
warpPedIntoVehicle(source, vehicle) 
end 
addEventHandler("onPlayerSpawn", getRootElement(), saveVehicleOnWasted) 

meta.xml:

<meta> 
<info author="Donut" description="Save vehicle on wasted and warp player into it on spawn" version="1.0.0"/> 
<script src="server.lua" type="server"/> 
</meta> 

line 11 change

saveVehicleOnWasted 

to

warpPedToVehicle 
Link to comment
I already figured out my mistake as soon as I posted it. Thanks for correcting me tho ;)

You're Welcome. :)

Dude i dont want if i die, i dont want teleport.

Only i spawn car in F1 and teleporto to he.

Ok, Edit the freeroom and just put

warpPedIntoVehicle 
Link to comment

I'm not sure what you are trying to say but if you mean that you want to be teleported into the car you just spawned using the F1 menu (freeroam resource), then you will have to edit the freeroam resource, and add this on the spawn button click.

warpPedIntoVehicle(player, vehicle) 

You will need to modify the variables - player and vehicle to the ones in freeroam resource.

EDIT: Oh just noticed N3xt posted before me, but I'll leave my post as well ;)

Link to comment
I already figured out my mistake as soon as I posted it. Thanks for correcting me tho ;)

You're Welcome. :)

Dude i dont want if i die, i dont want teleport.

Only i spawn car in F1 and teleporto to he.

Ok, Edit the freeroom and just put

warpPedIntoVehicle 

where? .-.

Link to comment

freeroam/fr_server.lua:

g_Root = getRootElement() 
g_ResRoot = getResourceRootElement(getThisResource())
g_PlayerData = {}
g_VehicleData = {}
local chatTime = {}
local lastChatMessage = {}
 
g_ArmedVehicles = {
    [425] = true,
    [447] = true,
    [520] = true,
    [430] = true,
    [464] = true,
    [432] = true
}
g_Trailers = {
    [606] = true,
    [607] = true,
    [610] = true,
    [590] = true,
    [569] = true,
    [611] = true,
    [584] = true,
    [608] = true,
    [435] = true,
    [450] = true,
    [591] = true
}
 
g_RPCFunctions = {
    addPedClothes = { option = 'clothes', descr = 'Modifying clothes' },
    addVehicleUpgrade = { option = 'upgrades', descr = 'Adding/removing upgrades' },
    fadeVehiclePassengersCamera = true,
    fixVehicle = { option = 'repair', descr = 'Repairing vehicles' },
    giveMeVehicles = { option = 'createvehicle', descr = 'Creating vehicles' },
    giveMeWeapon = { option = 'weapons.enabled', descr = 'Getting weapons' },
    givePedJetPack = { option = 'jetpack', descr = 'Getting a jetpack' },
    killPed = { option = 'kill', descr = 'Killing yourself' },
    removePedClothes = { option = 'clothes', descr = 'Modifying clothes' },
    removePedFromVehicle = true,
    removePedJetPack = { option = 'jetpack', descr = 'Removing a jetpack' },
    removeVehicleUpgrade = { option = 'upgrades', descr = 'Adding/removing upgrades' },
    setElementAlpha = { option = 'alpha', descr = 'Changing your alpha' },
    setElementPosition = true,
    setElementInterior = true,
    setMyGameSpeed = { option = 'gamespeed.enabled', descr = 'Setting game speed' },
    setMySkin = { option = 'setskin', descr = 'Setting skin' },
    setPedAnimation = { option = 'anim', descr = 'Setting an animation' },
    setPedFightingStyle = { option = 'setstyle', descr = 'Setting fighting style' },
    setPedGravity = { option = 'gravity.enabled', descr = 'Setting gravity' },
    setPedStat = { option = 'stats', descr = 'Changing stats' },
    setTime = { option = 'time.set', descr = 'Changing time' },
    setTimeFrozen = { option = 'time.freeze', descr = 'Freezing time' },
    setVehicleColor = true,
    setVehicleHeadLightColor = true,
    setVehicleOverrideLights = { option = 'lights', descr = 'Forcing lights' },
    setVehiclePaintjob = { option = 'paintjob', descr = 'Applying paintjobs' },
    setVehicleRotation = true,
    setWeather = { option = 'weather', descr = 'Setting weather' },
    spawnMe = true,
    warpMe = { option = 'warp', descr = 'Warping' },
    setMyPos = true
}
 
g_OptionDefaults = {
    alpha = true,
    anim = true,
    clothes = true,
    createvehicle = true,
    gamespeed = {
        enabled = true,
        min = 0.0,
        max = 3
    },
    gravity = {
        enabled = true,
        min = 0,
        max = 0.1
    },
    jetpack = true,
    kill = true,
    lights = true,
    paintjob = true,
    repair = true,
    setskin = true,
    setstyle = true,
    spawnmaponstart = true,
    spawnmapondeath = true,
    stats = true,
    time = {
        set = true,
        freeze = true
    },
    upgrades = true,
    warp = true,
    weapons = {
        enabled = true,
        vehiclesenabled = true,
        disallowed = {}
    },
    weather = true,
    welcometextonstart = true,
    vehicles = {
        maxidletime = 60000,
        idleexplode = true,
        maxperplayer = 2,
        disallowed = {}
    }
}
 
function getOption(optionName)
    local option = get(optionName:gsub('%.', '/'))
    if option then
        if option == 'true' then
            option = true
        elseif option == 'false' then
            option = false
        end
        return option
    end
    option = g_OptionDefaults
    for i,part in ipairs(optionName:split('.')) do
        option = option[part]
    end
    return option
end
 
addEventHandler('onResourceStart', g_ResRoot,
    function()
        table.each(getElementsByType('player'), joinHandler)
    end
)
 
function joinHandler(player)
    if not player then
        player = source
    end
    local r, g, b = math.random(50, 255), math.random(50, 255), math.random(50, 255)
    setPlayerNametagColor(player, r, g, b)
    g_PlayerData[player] = { vehicles = {} }
    g_PlayerData[player].blip = createBlipAttachedTo(player, 0, 2, r, g, b)
    if g_FrozenTime then
        clientCall(player, 'setTimeFrozen', true, g_FrozenTime[1], g_FrozenTime[2], g_FrozenWeather)
    end
    if getOption('welcometextonstart') then
        outputChatBox('Welcome to Freeroam', player, 0, 255, 0)
        outputChatBox('Press F1 to show/hide controls', player, 0, 255, 0)
    end
end
addEventHandler('onPlayerJoin', g_Root, joinHandler)
 
addEvent('onLoadedAtClient', true)
addEventHandler('onLoadedAtClient', g_ResRoot,
    function()
        if getOption('spawnmaponstart') and isPedDead(client) then
            clientCall(client, 'showWelcomeMap')
        end
    end,
    false
)
 
addEventHandler('onPlayerWasted', g_Root,
    function()
        if not getOption('spawnmapondeath') then
            return
        end
        local player = source
        setTimer(
            function()
                if isPedDead(player) then
                    clientCall(player, 'showMap')
                end
            end,
            2000,
            1
        )
    end
)
 
addEvent('onClothesInit', true)
addEventHandler('onClothesInit', resourceRoot,
    function()
        local result = {}
        local texture, model
        -- get all clothes
        result.allClothes = {}
        local typeGroup, index
        for type=0,17 do
            typeGroup = {'group', type = type, name = getClothesTypeName(type), children = {}}
            table.insert(result.allClothes, typeGroup)
            index = 0
            texture, model = getClothesByTypeIndex(type, index)
            while texture do
                table.insert(typeGroup.children, {id = index, texture = texture, model = model})
                index = index + 1
                texture, model = getClothesByTypeIndex(type, index)
            end
        end
        -- get current player clothes { type = {texture=texture, model=model} }
        result.playerClothes = {}
        for type=0,17 do
            texture, model = getPedClothes(client, type)
            if texture then
                result.playerClothes[type] = {texture = texture, model = model}
            end
        end
        triggerClientEvent(client, 'onClientClothesInit', resourceRoot, result)
    end
)
 
addEvent('onPlayerGravInit', true)
addEventHandler('onPlayerGravInit', resourceRoot,
    function()
        triggerClientEvent(root, 'onClientPlayerGravInit', resourceRoot, getPedGravity(client))
    end
)
 
function setMySkin(skinid)
    if isPedDead(source) then
        local x, y, z = getElementPosition(source)
        if isPedTerminated(source) then
            x = 0
            y = 0
            z = 3
        end
        local r = getPedRotation(source)
        local interior = getElementInterior(source)
        spawnPlayer(source, x, y, z, r, skinid)
        setElementInterior(source, interior)
        setCameraInterior(source, interior)
    else
        setElementModel(source, skinid)
        setElementHealth(source, 100)
    end
    setCameraTarget(source, source)
    setCameraInterior(source, getElementInterior(source))
end
 
function spawnMe(x, y, z)
    if not x then
        x, y, z = getElementPosition(source)
    end
    if isPedTerminated(source) then
        repeat until spawnPlayer(source, x, y, z, 0, math.random(9, 288))
    else
        spawnPlayer(source, x, y, z, 0, getPedSkin(source))
    end
    setCameraTarget(source, source)
    setCameraInterior(source, getElementInterior(source))
end
 
Link to comment
I already figured out my mistake as soon as I posted it. Thanks for correcting me tho ;)

You're Welcome. :)

Dude i dont want if i die, i dont want teleport.

Only i spawn car in F1 and teleporto to he.

Ok, Edit the freeroom and just put

warpPedIntoVehicle 

where? .-.

fr_server.lua

line 356 press enter and put this

warpPedIntoVehicle(source, vehicle) 

It will be like that :

vehicle = createVehicle(vehID, vx, vy, vz, 0, 0, vrot) 
warpPedIntoVehicle(source, vehicle) 

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