This function allows you to set a player's camera to follow other elements instead. Currently supported element type is:
bool setCameraTarget ( player thePlayer [, player target = nil ] )
OOP Syntax Help! I don't understand this!
- thePlayer: The player whose camera you wish to modify.
- target: The player who you want the camera to follow. If none is specified, the camera will target the player.
bool setCameraTarget ( player target )
- target: The player who you want the local camera to follow.
This syntax mantains the player targeted by the camera, but makes the camera look at the specified coordinates. It has no effect when the camera doesn't have a target.
bool setCameraTarget ( float targetX, float targetY, float targetZ )
- targetX, targetY, targetZ: The target position that you want the local camera to look at.
Returns true if the function was successful, false otherwise.
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.
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 == localPlayer 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)