GTA Közösség - A magyar GTA fórum

Multi Theft Auto (MTA) => MTA: Szerverfejlesztés => Segítségkérés => A témát indította: DarkxD - 2017. Augusztus 24. - 12:47:39

Cím: CameraMatrix
Írta: DarkxD - 2017. Augusztus 24. - 12:47:39
Hogyan működik a setCameraMatrix?
Ez azt tudja, hogy lerakja a kamerát, és beállít neki egy pontot, hogy azt nézze?
Hogyan lehet ezt mozgatni?
Hogyan lehet a kamerát, visszaállítani a játékosra?
Cím: CameraMatrix
Írta: AlexSwamp - 2017. Augusztus 24. - 13:08:21
Itt le van írva érthetően, hogyan is működik. És az is benne van, hogy hogyan kell visszatenni.
Cím: CameraMatrix
Írta: DarkxD - 2017. Augusztus 24. - 13:22:32
De jó, már csak angolul kellek megtanulni! :D
Cím: CameraMatrix
Írta: thegergo02 - 2017. Augusztus 24. - 13:33:50
Ha programozni akarsz, tanuld meg az angolt mert ha nem nagyon nehéz lesz.
Cím: CameraMatrix
Írta: DarkxD - 2017. Augusztus 24. - 14:12:58
Oké... Hogyan tudom visszaállítani alap helyzetbe?
Cím: CameraMatrix
Írta: thegergo02 - 2017. Augusztus 24. - 14:26:17
setCameraTarget
Cím: CameraMatrix
Írta: BlackSy - 2017. Augusztus 24. - 14:47:53

setCameraTarget(localPlayer)

 
 
Cím: CameraMatrix
Írta: thegergo02 - 2017. Augusztus 24. - 14:52:06
Idézetet írta: BlackSy date=1503578873


   

setCameraTarget(localPlayer)

   
       
   


Azért nem kell a szájába rágni :)
Cím: CameraMatrix
Írta: BlackSy - 2017. Augusztus 24. - 14:55:48
Idézetet írta: thegergo02 date=1503579126


   
      Azért nem kell a szájába rágni :)
   


Nem kell, persze, de vadászom a lájkokat. #Kappa. Amúgy, írta, hogy nem tud angolul. :D
Cím: CameraMatrix
Írta: DarkxD - 2017. Augusztus 24. - 14:56:37
Köszi mind a kettőtöknek! 
Mikor van source, localPlayer, client, .... ?
Ezekbe mindig belehibázok...
Cím: CameraMatrix
Írta: thegergo02 - 2017. Augusztus 24. - 14:59:25
Arra emlékszem hogy a source nem mindig a player. Pl.: onVehicleEnter
 
 
 
https://forum.mtasa.com/topic/76964-help-root-resourceroot-source-etc/
Cím: CameraMatrix
Írta: DarkxD - 2017. Augusztus 24. - 15:00:44
Oké, köszi! 
Cím: CameraMatrix
Írta: DarkxD - 2017. Augusztus 24. - 15:38:59
Esetleg kamera mozgatásában, tudtok segíteni?
Cím: CameraMatrix
Írta: Tarack - 2017. Augusztus 24. - 17:35:21
Ha erre a kameramozgásra gondolsz, akkor ez a leghasznosabb kis script ami kellhet neked:
 
 
 
 
 

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

 
 
 
Forrás: https://wiki.multitheftauto.com/wiki/SmoothMoveCamera
 
 
 
Meghívása: (Az idő millisec-ben értendő!)
 

smoothMoveCamera(honnanX,honnanY,honnanZ,hovaX,hovaY,hovaZ,idő)
Cím: CameraMatrix
Írta: DarkxD - 2017. Augusztus 24. - 17:51:46
Idézetet írta: Tarack date=1503588921


   
      Ha erre a kameramozgásra gondolsz, akkor ez a leghasznosabb kis script ami kellhet neked:
   
   
       
   
   
       
   
   

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

   
       
   
   
      Forrás: https://wiki.multitheftauto.com/wiki/SmoothMoveCamera
   
   
       
   
   
      Meghívása:
   
   
       
   
   

smoothMoveCamera(honnanX,honnanY,honnanZ,hovaX,hovaY,hovaZ,idő)

   
       
   


Ezt megint csak nem tudom leállítani, a setCameraTarget el... De köszi! Legalább mozog, és úgy ahogyan kell... 
Cím: CameraMatrix
Írta: Tarack - 2017. Augusztus 24. - 18:08:48
Próbáld akkor leállítani, mikor a kamera elérte a megadott pozíciót a setCameraTarget(localPlayer,localPlayer)-el :)
Cím: CameraMatrix
Írta: DarkxD - 2017. Augusztus 24. - 18:14:04
Folyamatosan visszarakja a helyére...
 
 
Cím: CameraMatrix
Írta: Tarack - 2017. Augusztus 24. - 18:24:25
Nekem működik :)
Cím: CameraMatrix
Írta: DarkxD - 2017. Augusztus 24. - 18:32:51
Idézetet írta: Tarack date=1503591865


   
      Nekem működik :)
   


Hát én már tényleg nem értem!
Szerver be is beraktam a  setCameraTarget(localPlayer,localPlayer) -et, és a kliensbe is....
Cím: CameraMatrix
Írta: DarkxD - 2017. Augusztus 24. - 19:12:16
 Megoldva!
Egyszerűen belemásoltam a 
 

successfullLogin

 
funkcióba hogy 
 

sm.moov = 0

 
És már jó is! 
Cím: CameraMatrix
Írta: Tarack - 2017. Augusztus 25. - 00:19:16
Igen az is egy megoldás :) 
 
További szép estét! 
 
 
 
~ Tarack ~