Plate Posted August 28, 2012 Posted August 28, 2012 Hola tengo un re problema con el label es que cuando el jugador reconnecta o se va y vuelve a entrar el label con el texto no aparece probe con onClientRender pero me anda terriblemente lag el server y aparte se ve mal el label addEventHandler("onClientResourceStart",root, function() GUIEditor_Label = {} GUIEditor_Label[2] = guiCreateLabel(625,153,53,43, tonumber ( getElementData ( localPlayer, "level" ) ),false) guiSetFont(GUIEditor_Label[2],"sa-header") GUIEditor_Label[4] = guiCreateLabel(679,159,49,14, tonumber ( getElementData ( localPlayer, "exp" ) ),false) guiSetFont(GUIEditor_Label[4],"default-bold-small") end)
Castillo Posted August 28, 2012 Posted August 28, 2012 addEventHandler ( "onClientResourceStart", resourceRoot, function ( ) GUIEditor_Label = { } GUIEditor_Label[2] = guiCreateLabel(625,153,53,43, tostring ( getElementData ( localPlayer, "level" ) ),false) guiSetFont ( GUIEditor_Label[2], "sa-header" ) GUIEditor_Label[4] = guiCreateLabel(679,159,49,14, tostring ( getElementData ( localPlayer, "exp" ) ),false) guiSetFont ( GUIEditor_Label[4], "default-bold-small" ) end ) addEventHandler ( "onClientElementDataChange", localPlayer, function ( dataName ) if ( dataName == "level" ) then guiSetText ( GUIEditor_Label[2], tostring ( getElementData ( localPlayer, "level" ) ) ) elseif ( dataName == "exp" ) then guiSetText ( GUIEditor_Label[4], tostring ( getElementData ( localPlayer, "exp" ) ) ) end end ) Proba con eso.
Plate Posted August 28, 2012 Author Posted August 28, 2012 No me funcioa solid D: haci no serviria? addEventHandler("OnClientPlayerSpawn",root, function() GUIEditor_Label = {} GUIEditor_Label[2] = guiCreateLabel(625,153,53,43, tonumber ( getElementData ( localPlayer, "level" ) ),false) guiSetFont(GUIEditor_Label[2],"sa-header") GUIEditor_Label[4] = guiCreateLabel(679,159,49,14, tonumber ( getElementData ( localPlayer, "exp" ) ),false) guiSetFont(GUIEditor_Label[4],"default-bold-small") end)
Castillo Posted August 28, 2012 Posted August 28, 2012 Ah, es que me olvide de definir 'dataName', copialo de nuevo. P.D: Mi script va a cambiar las labels al cambiar el valor.
Plate Posted August 28, 2012 Author Posted August 28, 2012 SIgue sin funciona me dan bad argument en guiSetText
Castillo Posted August 28, 2012 Posted August 28, 2012 Eso es porque las labels ni se crearon, copia el codigo de nuevo.
Plate Posted August 28, 2012 Author Posted August 28, 2012 Wow gracias y con esto? function dxsetText ( ) local text = "" local UP = tonumber ( getElementData ( localPlayer, "level" ) ) or 0 if ( UP == 1 ) then text = "/60" elseif ( UP == 2 ) then text = "/110" elseif ( UP == 3 ) then text = "/160" elseif ( UP == 4 ) then text = "/250" elseif ( UP == 5 ) then text = "/500" elseif ( UP == 6 ) then text = "/2000" elseif ( UP == 7 ) then text = "/4000" elseif ( UP == 8 ) then text = "/8000" end GUIEditor_Label[5] = guiCreateLabel(706,159,63,13, text,false) guiSetFont(GUIEditor_Label[5],"default-bold-small") end addEventHandler("onClientResourceStart",root,dxsetText)
Castillo Posted August 28, 2012 Posted August 28, 2012 addEventHandler ( "onClientResourceStart", resourceRoot, function ( ) GUIEditor_Label = { } GUIEditor_Label[2] = guiCreateLabel(625,153,53,43, tostring ( getElementData ( localPlayer, "level" ) ),false) guiSetFont ( GUIEditor_Label[2], "sa-header" ) GUIEditor_Label[4] = guiCreateLabel(679,159,49,14, tostring ( getElementData ( localPlayer, "exp" ) ),false) guiSetFont ( GUIEditor_Label[4], "default-bold-small" ) end ) addEventHandler ( "onClientElementDataChange", localPlayer, function ( dataName ) if ( dataName == "level" ) then guiSetText ( GUIEditor_Label[2], tostring ( getElementData ( localPlayer, "level" ) ) ) dxsetText ( ) elseif ( dataName == "exp" ) then guiSetText ( GUIEditor_Label[4], tostring ( getElementData ( localPlayer, "exp" ) ) ) end end ) Supongo que estan en el mismo archivo ambos scripts, ya que este ejecutara la funcion: dxsetText ( ) al cambiar el nivel.
Plate Posted August 28, 2012 Author Posted August 28, 2012 Ah ok muchas gracias solid PD: pero todabia no entiendo como cambiar jaja
Plate Posted August 28, 2012 Author Posted August 28, 2012 Jaja per todabia no entiendo como es para lo del script que recien pase eso del dxsetText
Castillo Posted August 28, 2012 Posted August 28, 2012 El script que contine: dxsetText ( ) es el mismo que tiene el que muestra el nivel y experiencia?
Plate Posted August 28, 2012 Author Posted August 28, 2012 No no ese script pone la exp que te falt apara subir de level cuando vos subis de level dxsetText se lo puse haci nada mas el nombre de la funcion
Castillo Posted August 29, 2012 Posted August 29, 2012 Ok, entonces olvidate del post anterior mio y usa esto: function dxsetText ( ) local text = "" local UP = tonumber ( getElementData ( localPlayer, "level" ) ) or 0 if ( UP == 1 ) then text = "/60" elseif ( UP == 2 ) then text = "/110" elseif ( UP == 3 ) then text = "/160" elseif ( UP == 4 ) then text = "/250" elseif ( UP == 5 ) then text = "/500" elseif ( UP == 6 ) then text = "/2000" elseif ( UP == 7 ) then text = "/4000" elseif ( UP == 8 ) then text = "/8000" end GUIEditor_Label[5] = guiCreateLabel(706,159,63,13, text,false ) guiSetFont ( GUIEditor_Label[5], "default-bold-small" ) end addEventHandler ( "onClientResourceStart", resourceRoot, dxsetText ) addEventHandler ( "onClientElementDataChange", localPlayer, function ( dataName ) if ( dataName == "level" ) then dxsetText ( ) end end )
Plate Posted August 29, 2012 Author Posted August 29, 2012 Gracias solid PD:hay un problema por que el jugador sube level y queda el texto anterior abajo
Recommended Posts