Jump to content

Rotacion Cabeza


Sasu

Recommended Posts

Yo uso el ejemplo de la wiki para la rotacion de la cabeza segun donde este apuntando la camara de nuestra pantalla:

function onClientLookAtRender() 
    local rotcam = math.rad (360 - getPedCameraRotation (localPlayer)) 
    local xpos,ypos,zpos = getPedBonePosition (localPlayer, 8 ) 
    local xlook,ylook,zlook = xpos - 300*math.sin(rotcam), ypos + 300*math.cos(rotcam), zpos 
    setPedLookAt (localPlayer, xlook, ylook, zlook, -1) 
end 
addEventHandler ("onClientRender", root, onClientLookAtRender) 

Y luego cuando quiero remover el evento mi cabeza queda mirando siempre al determinado lugar donde apunta la camara cuando el resource es apagado. Mi pregunta es como puedo hacer para que la cabeza vuelva a la normalidad. Desde ya, muchas gracias.

Link to comment

Prueba:

function onClientLookAtRender() 
    local rotcam = math.rad (360 - getPedCameraRotation (localPlayer)) 
    local xpos,ypos,zpos = getPedBonePosition (localPlayer, 8 ) 
    local xlook,ylook,zlook = xpos - 300*math.sin(rotcam), ypos + 300*math.cos(rotcam), zpos 
    setPedLookAt (localPlayer, xlook, ylook, zlook, -1) 
end 
addEventHandler ("onClientRender", root, onClientLookAtRender) 
  
function normal() 
    removeEventHandler("onClientRender", root, onClientLookAtRender) 
    setCameraTarget(localPlayer,localPlayer) 
end 
addEventHandler ("onClientResourceStop", root, normal) 

Link to comment
Prueba:
function onClientLookAtRender() 
    local rotcam = math.rad (360 - getPedCameraRotation (localPlayer)) 
    local xpos,ypos,zpos = getPedBonePosition (localPlayer, 8 ) 
    local xlook,ylook,zlook = xpos - 300*math.sin(rotcam), ypos + 300*math.cos(rotcam), zpos 
    setPedLookAt (localPlayer, xlook, ylook, zlook, -1) 
end 
addEventHandler ("onClientRender", root, onClientLookAtRender) 
  
function normal() 
    removeEventHandler("onClientRender", root, onClientLookAtRender) 
    setCameraTarget(localPlayer,localPlayer) 
end 
addEventHandler ("onClientResourceStop", root, normal) 

Eso no haria nada. Ya lo probe.

Link to comment
addEventHandler( "onClientResourceStop", resourceRoot, 
    function() 
        local a, b = guiGetScreenSize() 
        local x, y, z = getWorldFromScreenPosition( a * .5, b * .5, 1 ) 
        setPedLookAt ( localPlayer, x, y, z, -1 ) 
    end 
) 

Link to comment
addEventHandler( "onClientResourceStop", resourceRoot, 
    function() 
        local a, b = guiGetScreenSize() 
        local x, y, z = getWorldFromScreenPosition( a * .5, b * .5, 1 ) 
        setPedLookAt ( localPlayer, x, y, z, -1 ) 
    end 
) 

Mismo problema, queda mirando a un determinado lugar.

ya que pusieron esto se puede hacer que se vea la cabeza que mueva otra persona en el servidor

Haces un loop con getElementsByType("player").

Link to comment

Error mio, intenta con esto:

addEventHandler( "onClientResourceStop", resourceRoot, 
    function() 
        local a, b = guiGetScreenSize() 
        local x, y, z = getWorldFromScreenPosition( a * .5, b * .5, 1 ) 
        setPedLookAt ( localPlayer, x, y, z, 0 ) --Si no sirve, prueba con un numero mayor a 0 (pero no muy alto). 
    end 
) 

Link to comment
addEventHandler( "onClientResourceStop", resourceRoot, 
    function() 
        local a, b = guiGetScreenSize() 
        local x, y, z = getWorldFromScreenPosition( a * .5, b * .5, 1 ) 
        setPedLookAt ( localPlayer, x, y, z, -1 ) 
    end 
) 

Mismo problema, queda mirando a un determinado lugar.

ya que pusieron esto se puede hacer que se vea la cabeza que mueva otra persona en el servidor

Haces un loop con getElementsByType("player").

eso solo serviria hacer que todos los players miren donde tu yo quiero que cuando un player mueva la cabeza lo veas tu

Link to comment
addEventHandler( "onClientResourceStop", resourceRoot, 
    function() 
        local a, b = guiGetScreenSize() 
        local x, y, z = getWorldFromScreenPosition( a * .5, b * .5, 1 ) 
        setPedLookAt ( localPlayer, x, y, z, -1 ) 
    end 
) 

Mismo problema, queda mirando a un determinado lugar.

ya que pusieron esto se puede hacer que se vea la cabeza que mueva otra persona en el servidor

Haces un loop con getElementsByType("player").

eso solo serviria hacer que todos los players miren donde tu yo quiero que cuando un player mueva la cabeza lo veas tu

Pues haces un loop ._.

function headRP() 
for _, players in ipairs(getElementsByType("player")) do 
    local rotcam = math.rad (360 - getPedCameraRotation (players)) 
    local xpos,ypos,zpos = getPedBonePosition (players, 8 ) 
    local xlook,ylook,zlook = xpos - 300*math.sin(rotcam), ypos + 300*math.cos(rotcam), zpos 
    setPedLookAt (players, xlook, ylook, zlook, -1) 
end 
end 
addEventHandler("onClientRender", root, headRP) 

Error mio, intenta con esto:
addEventHandler( "onClientResourceStop", resourceRoot, 
    function() 
        local a, b = guiGetScreenSize() 
        local x, y, z = getWorldFromScreenPosition( a * .5, b * .5, 1 ) 
        setPedLookAt ( localPlayer, x, y, z, 0 ) --Si no sirve, prueba con un numero mayor a 0 (pero no muy alto). 
    end 
) 

Perfecto Alexs. Funciona. Muchas gracias.

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...