SetCameraTarget: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
m (Checked a note and it indeed is not meant for vehicles nor objects, changed description)
Line 1: Line 1:
__NOTOC__
__NOTOC__
{{Server client function}}
{{Server client function}}
{{Needs Checking|This function doesn't work for vehicle elements? Returns always false and doesn't set the target to vehicle. -- [[User:Awwu|Awwu]] 13:25, 24 February 2008 (CST)}}
This function allows you to set a player's camera to follow other players instead.  
This function allows you to set a player's camera to follow a specific [[element]]. This could be another player, a vehicle or an object depending on what the camera mode expects.
 
==Syntax==
==Syntax==
<section name="Server" class="server" show="true">
<section name="Server" class="server" show="true">

Revision as of 18:31, 6 June 2008

This function allows you to set a player's camera to follow other players instead.

Syntax

Click to collapse [-]
Server
bool setCameraTarget ( player thePlayer, element target )

Required Arguments

  • thePlayer: The player whose camera you wish to modify.

Optional Arguments

  • target: The element that you want the camera to follow. If none is specified, the camera will target the player.
Click to collapse [-]
Client
bool setCameraTarget ( element target )

Required Arguments

  • target: The element that you want the local camera to follow.

Returns

Returns true if the function was successful, false otherwise.

Example

This is an example of how one could implement a spectator function. Using the left and right arrow keys you can view other players. Note that this code isn't complete as it doesn't take into account joining or quitting players.

Click to collapse [-]
Client script
g_Players = getElementsByType("player")        -- get a list of all players in the server
for i,aPlayer in ipairs(g_Players) do          -- find out what index the local player has in the list
    if aPlayer == getLocalPlayer() then
        g_CurrentSpectated = i
        break
    end
end

function spectatePrevious()                    -- decrement the spectate index and spectate the corresponding player
     if g_CurrentSpectated == 1 then
         g_CurrentSpectated = #g_Players
     else
         g_CurrentSpectated = g_CurrentSpectated - 1
     end
    setCameraTarget(g_Players[g_CurrentSpectated])
end

function spectateNext()                        -- increment the spectate index and spectate the corresponding player
     if g_CurrentSpectated == #g_Players then
         g_CurrentSpectated = 1
     else
         g_CurrentSpectated = g_CurrentSpectated + 1
     end
    setCameraTarget(g_Players[g_CurrentSpectated])
end

-- Bind above functions to arrow keys
bindKey("arrow_l", "down", spectatePrevious)
bindKey("arrow_r", "down", spectateNext)


See Also