Jump to content

Texto que aparece encima de un player y que sea visible?


lLinux

Recommended Posts

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

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
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
  • Recently Browsing   0 members

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