lLinux Posted May 23, 2014 Share Posted May 23, 2014 Hola, bueno tengo una duda, estoy haciendo un nuevo script en el cual tu pones /mp (modo pasivo) el cual no permitira que te maten ni que tu mates, tambien cuando ponen /mp aparece un dxDrawText encima del player que lo puso. pero tambien quiero que sea visible para los demas, osea que los demas puedan ver el texto que tiene el player que lo puso. eso es lo que no puedo lograr. SERVER-SIDE: Este es iniciado meditante un comando en el client que activa un triggerServerEvent function on() local name = getPlayerName(source) setElementAlpha (source, 150) outputChatBox("#AFAFAF[MP] Modo pasivo activado.", source, 255, 255, 255, true) outputChatBox("#AFAFAF[MP] #FFFFFF"..name.."#FFFFFF Activo el modo pasivo.", getRootElement(), 255, 255, 255, true) triggerClientEvent( getRootElement(), "onTexto", source) --este el que digo end addEvent("DmON", true) addEventHandler("DmON",getRootElement(),on) function off() local name = getPlayerName(source) setElementAlpha (source, 255) outputChatBox("#AFAFAF[MP] Modo pasivo desactivado.", source, 255, 255, 255, true) outputChatBox("#AFAFAF[MP] #FFFFFF"..name.."#FFFFFF Desactivo el modo pasivo.", getRootElement(), 255, 255, 255, true) triggerClientEvent( getRootElement(), "offTexto", source) --este el que digo end addEvent("DmOFF", true) addEventHandler("DmOFF",getRootElement(),off) CLIENT- SIDE: function testoon() addEventHandler("onClientRender",getRootElement(), text) end addEvent("onTexto", true) addEventHandler("onTexto", getRootElement(), testoon) function testooff() removeEventHandler("onClientRender",getRootElement(), text) end addEvent("offTexto", true) addEventHandler("offTexto", getRootElement(), testooff) local pantalla_x, pantalla_y = guiGetScreenSize() local maxdistancia = 50 function text() local px, py, pz = getPedBonePosition(getLocalPlayer(), 6) local sx, sy = getScreenFromWorldPosition(px, py, pz + 0.3) local cx, cy, cz = getCameraMatrix() if sx then if getDistanceBetweenPoints3D(cx, cy, cz, px, py, pz) <= maxdistancia then dxDrawText("PASIVO",sx,sy,pantalla_x, pantalla_y,tocolor ( 255, 255, 255, 255 ), 1.5,"default-bold") end end end Link to comment
Bc# Posted May 25, 2014 Share Posted May 25, 2014 El problema esta aqui: local px, py, pz = getPedBonePosition(getLocalPlayer(), 6) No tienes que usar getLocalPlayer(), sino que el enviar el player que activó el comando desde server-side, y usar ese player como argumento en esa parte. Link to comment
lLinux Posted May 26, 2014 Author Share Posted May 26, 2014 El problema esta aqui: local px, py, pz = getPedBonePosition(getLocalPlayer(), 6) No tienes que usar getLocalPlayer(), sino que el enviar el player que activó el comando desde server-side, y usar ese player como argumento en esa parte. No entendi, tengo que usar el getPedBonePosition en server-side? o le cambio el getLocalPlayer? Link to comment
Tomas Posted May 27, 2014 Share Posted May 27, 2014 Traducción de lo que dijo Bc a idioma nuv: Debes hacer un trigger, desde server a client definiendo el player que ejecutó el comando para luego usarlo en el getPedBonePosition como primer argumento. Link to comment
lLinux Posted May 28, 2014 Author Share Posted May 28, 2014 Traducción de lo que dijo Bc a idioma nuv:Debes hacer un trigger, desde server a client definiendo el player que ejecutó el comando para luego usarlo en el getPedBonePosition como primer argumento. Ok shavo. Link to comment
Recommended Posts