--client 
local sWidth,sHeight = guiGetScreenSize() 
function motdis () 
    local motdt = guiGetText ( motdtxtbox ) 
        triggerServerEvent ( "getdx", root, motdt ) 
end 
addEventHandler ( "onClientGUIClick", motdbut, motdis, false ) 
  
--server 
function getdxtxt ( motdt ) 
        if not ( motd == "" ) then 
            for id, player in ipairs ( getElementsByType ( "player" ) ) do 
                triggerClientEvent ( "rendertxt", player, motdt ) 
            end 
        end 
end 
addEvent ("getdx",true) 
addEventHandler("getdx", resourceRoot, getdxtxt) 
  
  
  
--client 
function rendertxt (motdt) 
local sWidth,sHeight = guiGetScreenSize() 
    texts = dxDrawText( motdt, sWidth * 0.456, sHeight * 0.051, sWidth * 0, sHeight * 0,tocolor(255,255,255,195),1.0,"bankgothic","left","top",false,false,false,true)   
    addEventHandler ( "onClientRender", root, rendertxt ) 
end 
addEvent("rendertxt",true) 
addEventHandler("rendertxt", root, rendertxt ) 
  
  
 
Its kind of like a message of the day thing, so it always stays at the top of players screens. 
I have tried lots of things now, the problem is, the text actully displays once, but after that, the debugscript spams saying that the first argument in dxDrawText is nil. Im not sure what to do no more.