Sziasztok!
Egy egyszerű kis animációt készítettem el az MTA useful functions belüli smoothMooveCamera-val. Mivel több resourche-ban is szeretném használni, gondoltam hogy átrakom egy másik resourcheba, és majd oda exportálgatok ki ha máskor is szükség lesz rá.
Itt is lennének a kódok:
A smoothMooveCamera algoritmusát tartalmazó script:
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
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
Ugyanennek a meta-ja:
<meta>
<script src=\"c_animations.lua\" type=\"client\"/>
<export function=\"smoothMoveCamera\" type=\"client\"/>
</meta>
Maga az exportot tartalmazó script sor:
exports[\"new_animations\"]:smoothMoveCamera(592.26226806641,716.52661132813,2060.6108398438,595.27972412109,724.57922363281,2060.6062011719,593.00848388672,718.62255859375,2060.4455566406,595.27972412109,724.57922363281,2060.6062011719,3000)
Viszont az adatokat kapó resourche folyamatosan hibákat ír ki a debugba, hogy nem megfelelő értékeket kap...
Tudna valaki segíteni?