Sasu Posted July 8, 2013 Posted July 8, 2013 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.
AlvareZ_ Posted July 8, 2013 Posted July 8, 2013 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)
Sasu Posted July 8, 2013 Author Posted July 8, 2013 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.
Alexs Posted July 8, 2013 Posted July 8, 2013 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 )
Arsilex Posted July 8, 2013 Posted July 8, 2013 ya que pusieron esto se puede hacer que se vea la cabeza que mueva otra persona en el servidor
Sasu Posted July 8, 2013 Author Posted July 8, 2013 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").
Alexs Posted July 8, 2013 Posted July 8, 2013 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 )
Arsilex Posted July 8, 2013 Posted July 8, 2013 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
Sasu Posted July 8, 2013 Author Posted July 8, 2013 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.
Recommended Posts