Jump to content

[Help] Player Position


Wumbaloo

Recommended Posts

Posted

Hi! I'm french, learning lua and try to script in lua.

I'm stuck for almost 5 hours on this problem:

I make a script to setCamera on the center of L.S but when I want to change the camera to the player, I have some errors, it's my code:

function cameraSwitch(player) 
    setTimer ( function(player) 
        local x, y, z = getElementPosition( player ) 
        outputChatBox("Message à délais de 5 secondes.")    
        outputChatBox("Un changement de caméra doit vous permettre de pouvoir jouer convenablement") 
        setCameraPosition(player, x, y, z) 
        setCameraTarget(player) 
    end, 5000, 1 ) 
end 

And the MTAServer.exe said that:

"WARNING: Bad argument 'getElementPosition' argument 1, got nill

"ERROR: attempt to call global 'setCameraPosition' (a nil value)

I tried with "thePlayer" but it didn't work

Can you help me ? Thanks, I will give all of the code if you want

Posted

You have to pass 'player' argument to setTimer.

function cameraSwitch(player) 
    setTimer ( function(player) 
        local x, y, z = getElementPosition( player ) 
        outputChatBox("Message à délais de 5 secondes.")   
        outputChatBox("Un changement de caméra doit vous permettre de pouvoir jouer convenablement") 
        setCameraMatrix(player, x, y, z) 
        setCameraTarget(player) 
    end, 5000, 1, player ) -- Here 
end 

Posted

It's a server sided script

It's the same warnings guys

WARNING: Bad argument getElementPosition [Expected element at argument 1, got nil]

WARNING: Bad argument setCameraMatrix [Expected element at argument 1, got nil]

WARNING: Bad argument setCameraTarget [Expected element at argument 1, got nil]

Posted

Those errors mean that player isn't defined. Pass a player element to cameraSwitch function. I guess this is not full code, therefore I can't help you further.

Posted

Here's the full code

function mainFunction() 
    cameraSwitch() 
end 
  
function setCameraOnPlayerJoin() 
        local x = 1544.0400390625 
        local y = -1649.0029296875 
        local z = 28.402114868164 
        spawnPlayer(source, x, y , z) 
        setCameraTarget(source, source) 
        setCameraMatrix(source, 1476.697265625, -1637.4736328125, 40.525096893311 , 1544.0400390625, -1649.0029296875, 28.402114868164, 0, 50) 
        fadeCamera(source, true, 5) 
        outputChatBox("Bienvenue sur le serveur de test!", source) 
        mainFunction() 
end 
addEventHandler("onPlayerJoin", getRootElement(), setCameraOnPlayerJoin) 
  
function createVehicleForPlayer(thePlayer, commandName, vehicleModel) 
   local x,y,z = getElementPosition(thePlayer) 
   x = x + 5 
   local createdVehicle = createVehicle(tonumber(vehicleModel),x,y,z) 
   if (createdVehicle == false) then 
        outputChatBox("Erreur lors de la création du véhicule") 
    end 
end 
addCommandHandler("veh", createVehicleForPlayer) 
  
function cameraSwitch(player) 
        setTimer ( function(player) 
            local x, y, z = getElementPosition(player) 
            outputChatBox("Message à délais de 5 secondes.")   
            outputChatBox("Un changement de caméra doit vous permettre de pouvoir jouer convenablement") 
            setCameraMatrix(player, x, y, z) 
            setCameraTarget(player) 
        end, 5000, 1, player ) 
end 

Posted
function setCameraOnPlayerJoin() 
        local x = 1544.0400390625 
        local y = -1649.0029296875 
        local z = 28.402114868164 
        spawnPlayer(source, x, y , z) 
        setCameraTarget(source, source) 
        setCameraMatrix(source, 1476.697265625, -1637.4736328125, 40.525096893311 , 1544.0400390625, -1649.0029296875, 28.402114868164, 0, 50) 
        fadeCamera(source, true, 5) 
        outputChatBox("Bienvenue sur le serveur de test!", source) 
        setTimer(cameraSwitch, 5000, 1, source) 
end 
addEventHandler("onPlayerJoin", getRootElement(), setCameraOnPlayerJoin) 
  
function createVehicleForPlayer(thePlayer, commandName, vehicleModel) 
   local x,y,z = getElementPosition(thePlayer) 
   x = x + 5 
   local createdVehicle = createVehicle(tonumber(vehicleModel),x,y,z) 
   if (createdVehicle == false) then 
        outputChatBox("Erreur lors de la création du véhicule") 
    end 
end 
addCommandHandler("veh", createVehicleForPlayer) 
  
function cameraSwitch(player) 
    local x, y, z = getElementPosition(player) 
    outputChatBox("Message à délais de 5 secondes.")   
    outputChatBox("Un changement de caméra doit vous permettre de pouvoir jouer convenablement") 
    setCameraMatrix(player, x, y, z) 
    setCameraTarget(player) 
end 

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