RO/setCameraTarget

From Multi Theft Auto: Wiki
Revision as of 08:39, 10 October 2020 by Vinyard (talk | contribs) (Created page with "__NOTOC__ {{RO/Funcție comună}} Această funcție vă permite să setați camera jucătorului pentru a urmări alte elemente. Tipurile de element disponibile în acest momen...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Această funcție vă permite să setați camera jucătorului pentru a urmări alte elemente. Tipurile de element disponibile în acest moment:

Sintaxă

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

OOP Syntax Help! I don't understand this!

Method: player:setCameraTarget(...)
Variable: .cameraTarget
Counterpart: getCameraTarget


Argumente Necesare

  • thePlayer: Jucătorul a cărui cameră doriți să urmărească un element.

Argumente Opționale

  • target: Jucătorul pe care doriți să îl urmăriți cu camera. Dacă nici unul nu este specificat, camera va urmări jucătorul.
Click to collapse [-]
Client 1
bool setCameraTarget(player target)

Argumente Necesare

  • target: Jucătorul a cărui cameră doriți să urmărească un element.
Click to collapse [-]
Client 2

Această sintaxă menține jucătorul țintit de către cameră, însă face camera să privească spre coordonatele specificate. Nu are efect atunci când camera nu are un target.

bool setCameraTarget(float targetX, float targetY, float targetZ)

Argumente Necesare

  • targetX, targetY, targetZ: Poziția țintei (target-ului) spre care doriți să privească camera locală.

Redare

Redă true dacă funcția a avut succes. În caz contrar, false.

Exemplu

Acesta este un exemplu despre cum se poate implementa o funcție de spectator. Folosind săgețile stânga și dreapta puteți vizualiza alți jucători. Aveți în vedere că acest cod nu este complete și nu ia în considerare jucătorii care se (de)conectează.

Click to collapse [-]
Client script
g_Players = getElementsByType("player") -- obține o listă cu jucătorii de pe server
for i,aPlayer in ipairs(g_Players) do -- descoperă ce index are jucătorul local din listă
    if aPlayer == localPlayer then
        g_CurrentSpectated = i
        break
    end
end

function spectatePrevious() -- scade respectivul index și urmărește jucătorul corespunzător
     if g_CurrentSpectated == 1 then
         g_CurrentSpectated = #g_Players
     else
         g_CurrentSpectated = g_CurrentSpectated - 1
     end
    setCameraTarget(g_Players[g_CurrentSpectated])
end

function spectateNext() -- crește respectivul index și urmărește jucătorul corespunzător
     if g_CurrentSpectated == #g_Players then
         g_CurrentSpectated = 1
     else
         g_CurrentSpectated = g_CurrentSpectated + 1
     end
    setCameraTarget(g_Players[g_CurrentSpectated])
end

-- atribuie un bind celor două funcții de mai sus
bindKey("arrow_l", "down", spectatePrevious)
bindKey("arrow_r", "down", spectateNext)

Probleme

ID Problemă Descriere
#7594 (Rezolvat în r11452) setCameraTarget asupra unui jucător aflat într-un vehicul cu hidraulice cauzează probleme camerei

Vizualizați de asemenea