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