Jump to content

Kamera visszaállítása


Recommended Posts

Sziasztok! setCameraMatrix-al megadtam egy bizonyos helyet. Amikor visszaállítanám a játékosra a setCameraTarget-et, sikerül is, de a kamera mozgása "érdekes". Nem lehet fel, le nézni, a gyorsasága is katasztófa. Hogy lehetne ezt megoldani? Előre is köszönöm a válaszokat!

Link to comment
  • 5 months later...

Szerintem használd inkább a smoothMoveCamerat itt a mozgás is benne lesz mikor lefut és szebben is néz ki 

Kliens oldalra be kell ezt illeszteni: 

local sm = {}
sm.moov = 0
sm.object1,sm.object2 = nil,nil

local function removeCamHandler()
if(sm.moov == 1)then
	sm.moov = 0
end
end

local function camRender()
if (sm.moov == 1) then
	local x1,y1,z1 = getElementPosition(sm.object1)
	local x2,y2,z2 = getElementPosition(sm.object2)
	setCameraMatrix(x1,y1,z1,x2,y2,z2)
end
end
addEventHandler("onClientPreRender",root,camRender)

function smoothMoveCamera(x1,y1,z1,x1t,y1t,z1t,x2,y2,z2,x2t,y2t,z2t,time)
if(sm.moov == 1)then return false end
sm.object1 = createObject(1337,x1,y1,z1)
sm.object2 = createObject(1337,x1t,y1t,z1t)
setElementAlpha(sm.object1,0)
setElementAlpha(sm.object2,0)
setObjectScale(sm.object1,0.01)
setObjectScale(sm.object2,0.01)
moveObject(sm.object1,time,x2,y2,z2,0,0,0,"InOutQuad")
moveObject(sm.object2,time,x2t,y2t,z2t,0,0,0,"InOutQuad")
sm.moov = 1
setTimer(removeCamHandler,time,1)
setTimer(destroyElement,time,1,sm.object1)
setTimer(destroyElement,time,1,sm.object2)
return true
end

Használat + példa: 

smoothMoveCamera ( float x1, float y1, float z1, float x1t, float y1t, float z1t, float x2, float y2, float z2, float x2t, float y2t, float z2t, int time )

smoothMoveCamera (-1527.97180, -259.88281, 14.34688, -1555.83667, -203.45720, 19.37344, -1661.17383, -168.68188, 19.37344, -1632.46838, -138.43019, 19.37344, 8000)

Leállítás: 

function kameraMozgasLeallitas()
	removeEventHandler("onClientPreRender",root,camRender)
end

Funkción belül csak simán meghívod ezt a kameramozgasleallitas funkciót és le is állt és vissza ugrott a játékosra 

  • Like 1
Link to comment
  • 2 weeks later...
On 24/02/2019 at 18:03, Noname20 said:

Szerintem használd inkább a smoothMoveCamerat itt a mozgás is benne lesz mikor lefut és szebben is néz ki 

Kliens oldalra be kell ezt illeszteni: 


local sm = {}
sm.moov = 0
sm.object1,sm.object2 = nil,nil

local function removeCamHandler()
if(sm.moov == 1)then
	sm.moov = 0
end
end

local function camRender()
if (sm.moov == 1) then
	local x1,y1,z1 = getElementPosition(sm.object1)
	local x2,y2,z2 = getElementPosition(sm.object2)
	setCameraMatrix(x1,y1,z1,x2,y2,z2)
end
end
addEventHandler("onClientPreRender",root,camRender)

function smoothMoveCamera(x1,y1,z1,x1t,y1t,z1t,x2,y2,z2,x2t,y2t,z2t,time)
if(sm.moov == 1)then return false end
sm.object1 = createObject(1337,x1,y1,z1)
sm.object2 = createObject(1337,x1t,y1t,z1t)
setElementAlpha(sm.object1,0)
setElementAlpha(sm.object2,0)
setObjectScale(sm.object1,0.01)
setObjectScale(sm.object2,0.01)
moveObject(sm.object1,time,x2,y2,z2,0,0,0,"InOutQuad")
moveObject(sm.object2,time,x2t,y2t,z2t,0,0,0,"InOutQuad")
sm.moov = 1
setTimer(removeCamHandler,time,1)
setTimer(destroyElement,time,1,sm.object1)
setTimer(destroyElement,time,1,sm.object2)
return true
end

Használat + példa: 


smoothMoveCamera ( float x1, float y1, float z1, float x1t, float y1t, float z1t, float x2, float y2, float z2, float x2t, float y2t, float z2t, int time )

smoothMoveCamera (-1527.97180, -259.88281, 14.34688, -1555.83667, -203.45720, 19.37344, -1661.17383, -168.68188, 19.37344, -1632.46838, -138.43019, 19.37344, 8000)

Leállítás: 


function kameraMozgasLeallitas()
	removeEventHandler("onClientPreRender",root,camRender)
end

Funkción belül csak simán meghívod ezt a kameramozgasleallitas funkciót és le is állt és vissza ugrott a játékosra 

Azóta már komolyabban belefolytam a lua használatába, de köszönöm szépen a válaszodat.

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