Jump to content

Anzo

Members
  • Posts

    276
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Anzo

  1. Cambie los sourceX y sourceY para 'sx' y 'sy' por que miré un post viejo y lo tenían así, pero me olvide también de cambiar los sourceX/Y a los dx. Me aparecen más abajo los dx ahora: local sourceX, sourceY = 1366, 768 local sx, sy = guiGetScreenSize ( ) dxDrawLine((65 /sourceX )*sx, (746 /sourceY )*sy, (65 /sourceX )*sx, (784 /sourceY)*sy, tocolor(0, 0, 0, 255), 1, false) dxDrawLine((386 /sourceX)*sx, (746 /sourceY )*sy, (65 /sourceX )*sx, (746 /sourceY )*sy, tocolor(0, 0, 0, 255), 1, false) dxDrawLine((65 /sourceX )*sx, (784 /sourceY)*sy, (386 /sourceX)*sx, (784 /sourceY)*sy, tocolor(0, 0, 0, 255), 1, false) dxDrawLine((386 /sourceX)*sx, (784 /sourceY)*sy, (386 /sourceX)*sx, (746 /sourceY )*sy, tocolor(0, 0, 0, 255), 1, false) dxDrawRectangle((65 /sourceX)*sx, (746 /sourceY)*sy, (321 /sourceX)*sx, (38 /sourceY)*sy, tocolor(0, 0, 0, 180), false) dxDrawText("GPS:", (75 - 1 /sourceX)*sx, (759 - 1 /sourceY)*sy, (386 - 1 /sourceX)*sx, (794 - 1 /sourceY)*sy, tocolor(0, 0, 0, 255), 1.00, dxfont0_fontmoney11, "left", "top", false, false, false, true, false) dxDrawText("GPS:", (75 + 1 /sourceX)*sx, (759 - 1 /sourceY)*sy, (386 + 1 /sourceX)*sx, (794 - 1 /sourceY)*sy, tocolor(0, 0, 0, 255), 1.00, dxfont0_fontmoney11, "left", "top", false, false, false, true, false) dxDrawText("GPS:", (75 - 1 /sourceX)*sx, (759 + 1 /sourceY)*sy, (386 - 1 /sourceX)*sx, (794 + 1 /sourceY)*sy, tocolor(0, 0, 0, 255), 1.00, dxfont0_fontmoney11, "left", "top", false, false, false, true, false) dxDrawText("GPS:", (75 + 1 /sourceX)*sx, (759 + 1 /sourceY)*sy, (386 + 1 /sourceX)*sx, (794 + 1 /sourceY)*sy, tocolor(0, 0, 0, 255), 1.00, dxfont0_fontmoney11, "left", "top", false, false, false, true, false) dxDrawText("GPS:", (75 /sourceX)*sx, (759 /sourceY)*sy, (386 /sourceX)*sx, (794 /sourceY)*sy, tocolor(255, 255, 255, 255), 1.00, dxfont0_fontmoney11, "left", "top", false, false, false, true, false) dxDrawLine((70 /sourceX)*sx, (746 /sourceY)*sy, (70 /sourceX)*sx, (787 /sourceY)*sy, tocolor(255, 255, 255, 255), 1, false)
  2. Espero te sirva. activo = false --Creamos una variable con cualquier nombre function abrirCerrar() -- Por medio del comando cerramos la GUI if (guiGetVisible(ventanaP) == false) then if not activo then -- 'if not' devolverá verdarero, así que aparecerá el dx addEventHandler ( "onClientRender", root, text ) -- keep the text visible with onClientRender. guiSetVisible(ventanaP, true) showCursor(true) activo = true --ponemos 'true' para que 'detecte' que aquí aparecerá el dx else removeEventHandler ( "onClientRender", root, text ) --usamos removeEventHandler para remover el dx guiSetVisible(ventanaP, false) showCursor(false) activo = false --ponemos 'false' para que 'detecte' que al precionar de nuevo f3, se cierre el dx. end end end bindKey("f3","down",abrirCerrar) addEventHandler("onClientGUIClick", Cerrar, abrirCerrar, false)
  3. Una pregunta, cómo puedo hacer para que un dx se vea en TODAS las resoluciones? yo use esto: local sx, sy= 1280, 1024 local x, y= guiGetScreenSize ( ) dxDrawLine((65 /sourceX )*sx, (746 /sourceY )*sy, (65 /sourceX )*sx, (784 /sourceY)*sy, tocolor(0, 0, 0, 255), 1, false) dxDrawLine((386 /sourceX)*sx, (746 /sourceY )*sy, (65 /sourceX )*sx, (746 /sourceY )*sy, tocolor(0, 0, 0, 255), 1, false) dxDrawLine((65 /sourceX )*sx, (784 /sourceY)*sy, (386 /sourceX)*sx, (784 /sourceY)*sy, tocolor(0, 0, 0, 255), 1, false) dxDrawLine((386 /sourceX)*sx, (784 /sourceY)*sy, (386 /sourceX)*sx, (746 /sourceY )*sy, tocolor(0, 0, 0, 255), 1, false) dxDrawRectangle((65 /sourceX)*sx, (746 /sourceY)*sy, (321 /sourceX)*sx, (38 /sourceY)*sy, tocolor(0, 0, 0, 180), false) dxDrawText("GPS:", (75 - 1 /sourceX)*sx, (759 - 1 /sourceY)*sy, (386 - 1 /sourceX)*sx, (794 - 1 /sourceY)*sy, tocolor(0, 0, 0, 255), 1.00, dxfont0_fontmoney11, "left", "top", false, false, false, true, false) dxDrawText("GPS:", (75 + 1 /sourceX)*sx, (759 - 1 /sourceY)*sy, (386 + 1 /sourceX)*sx, (794 - 1 /sourceY)*sy, tocolor(0, 0, 0, 255), 1.00, dxfont0_fontmoney11, "left", "top", false, false, false, true, false) dxDrawText("GPS:", (75 - 1 /sourceX)*sx, (759 + 1 /sourceY)*sy, (386 - 1 /sourceX)*sx, (794 + 1 /sourceY)*sy, tocolor(0, 0, 0, 255), 1.00, dxfont0_fontmoney11, "left", "top", false, false, false, true, false) dxDrawText("GPS:", (75 + 1 /sourceX)*sx, (759 + 1 /sourceY)*sy, (386 + 1 /sourceX)*sx, (794 + 1 /sourceY)*sy, tocolor(0, 0, 0, 255), 1.00, dxfont0_fontmoney11, "left", "top", false, false, false, true, false) dxDrawText("GPS:", (75 /sourceX)*sx, (759 /sourceY)*sy, (386 /sourceX)*sx, (794 /sourceY)*sy, tocolor(255, 255, 255, 255), 1.00, dxfont0_fontmoney11, "left", "top", false, false, false, true, false) dxDrawLine((70 /sourceX)*sx, (746 /sourceY)*sy, (70 /sourceX)*sx, (787 /sourceY)*sy, tocolor(255, 255, 255, 255), 1, false) Pero solo me aparece donde debe ser en la resolución 1280x1024, en la 1024x768 o 800x600 me aparece más abajo el dx, y aveces, en la resolución donde lo hice (1280x1024) no me aparece el dxText...
  4. Probare más tarde, ahorita no puedo... Igual ya tengo más o menos una idea de como hacerlo con esas funciones. (aunque no sé si vaya a funcionar)
  5. Hola, Estoy haciendo un panel en dx y quisiera saber como puedo mover el dx como en el guieditor, no precisamente me lo tienen que hacer, pero si me pueden decir que funciones usar les agradecería. Lo que quiero hacer es que al darle click derecho al dx te salga una opción de ''Cambiar posición del panel'' y si le das click lo puedas mover a donde quieras. Si es muy complicado, diganmelo...
  6. Anzo

    Una ayudadita

    Gracias pero me podrías dar un código de ejemplo por que no logro hacerlo, ah y quisiera saber si hay una función para ser que el window se mueva lentamente hacia abajo o cual quier posición que yo ponga Para lo de los FPS: local fps = false function getCurrentFPS() -- Setup the useful function return fps end local function updateFPS(msSinceLastFrame) -- FPS are the frames per second, so count the frames rendered per milisecond using frame delta time and then convert that to frames per second. fps = (1 / msSinceLastFrame) * 1000 end addEventHandler("onClientPreRender", root, updateFPS) function fpsColor() if not getCurrentFPS then return end local fps = math.floor(getCurrentFPS()) if (fps > 35) then--Si los fps son mayores a 35, cambia a color verde dxDrawText("#ffffffFps: #00ff00" ..fps.."", screenW * 0.7087, screenH * 0.8033, screenW * 0.7550, screenH * 0.8283, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, true, false) elseif (fps < 35) then--Si los fps son menores a 35 cambia el color a amarillo dxDrawText("#ffffffFps: #ffff00" ..fps.."", screenW * 0.7087, screenH * 0.8033, screenW * 0.7550, screenH * 0.8283, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, true, false) if (fps < 10) then--Si los fps son menores 10 cambia el color a rojo dxDrawText("#ffffffFps: #ff0000" ..fps.."", screenW * 0.7087, screenH * 0.8033, screenW * 0.7550, screenH * 0.8283, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, true, false) end end end addEventHandler("onClientRender", root, fpsColor) Recuerda que getCurrentFPS es una useful. Lo que si no sé es por qué al tener el ping mayor a 35 parpadean los fps
  7. Con eso aparecen todos los nombres de los skin en la otra grid al comprar solo un skin
  8. Ok, ya se crea la row en la otra gridlist, pero con cada skin que compro siempre aparece el nombre de ''Swag Boy'' y no el nombre que le puse a cada skin. Dejare la parte cuando se compra la skin (no es el código completo): skins = { {"Military Girl",15000 ,304,"+1 Health"}, {"COP Polin", 19000 ,267,"+1 Health"}, {"Swag Boy", 30000,271,"+2 Health"}, } addEventHandler("onClientGUIClick", resourceRoot, function() if source == buySKinButton then local row, column = guiGridListGetSelectedItem(skinsGridList) if ( row ~= guiGridListGetRowCount ( skinsGridList ) and column ~= 0) then local model = guiGridListGetItemData(skinsGridList, row,1) local precioSkin = tonumber(guiGridListGetItemData(skinsGridList, row, price)) local money = getPlayerMoney(localPlayer) if money >= precioSkin then triggerServerEvent("Skin", localPlayer, model,precioSkin) outputChatBox("You have bought a skin for: "..precioSkin.."") --ESTA ES LA PARTE CUANDO AÑADO LA ROW local raw = guiGridListAddRow(gridTusSkins) for _,k in ipairs(skins) do guiGridListSetItemText(gridTusSkins, raw,1,k[1], false,false) end else outputChatBox("You don't have money") end end end end)
  9. Tienes razón, gracias por la aclaración.
  10. Puedes usar la useful de Hasson, dxDrawTextOnElement Un Ejemplo: addEventHandler("onClientRender", getRootElement(), function () for k,v in ipairs(getElementsByType("vehicle")) do local vehicle = getVehicleName(v) local vidaAuto = getElementHealth(v) dxDrawTextOnElement(v,"Vehicle:"..vehicle.."",1.5,20,255,0,0,255,1.5,"arial") dxDrawTextOnElement(v,"Vida:"..(math.floor(vidaAuto)).."%",1,20,255,0,0,255,1.5,"arial") end end) Aunque no sé si el text lo podrán ver los demás o solo tu.
  11. Hechale un vistazo a dbExec y dbQuery, que son los que vas a tener que usar para hacer lo que quieres. Gracias por eso, luego veo como funcionan. Ahora principalmente lo que necesito es saber como hacer que al comprar una skin se te ponga en otra gridlist la skin comprada, alguna idea de como podría hacerlo? (mientras tanto iré leyendo lo de dbExec y dbQuery, por que la verdad no sé ni como empezar para que la skin que compres se mande a otra gridlist.)
  12. Quisiera aprender a usar SQLite, pero hay unas cosas que no entiendo... dbConnect Se usa para crear la base de datos? Pero cómo hago para ''manejar'' esa base de datos? ._., luego que la creo con dbConnect no sé que más hacer. Si yo quiero que se guarden las skin que compres en una gridlist, más o menos que tengo que hacer con la db? En la wiki dice que hay que crear una tabla, pero en esa tabla que tengo que poner? Espero me puedan ayudar.
  13. ¿Cuál es la mejor forma de hacerlo? con elementData o con MySQL?
  14. Quieres hacer algo parecido como esto solo que con autos? https://community.multitheftauto.com/in ... ls&id=7298
  15. Usa esto: - getVehicleName - getElementHealth - - getPlayerName y si quieres sacar la velocidad del auto usa: getElementSpeed
  16. Bueno, tendré que leer sobre MySQL para entender como funciona, gracias.
  17. local status = false addCommandHandler("m", function() status = not status end) addEventHandler('onClientPlayerDamage', localPlayer, function (_, weapon) if status and weapon == 54then setPedAnimation(localPlayer, "BLOCK", "ANIM") end end ) Gracias.
  18. Pensé que cuando el jugador compre el skin se podía usar un table.insert, pero no sé. (aunque se que usar esto no me guardara al reiniciar el script, o eso creo...) Tengo una pregunta, SQlite es lo mismo que MySQL? en la sección de inglés hay un tutorial sobre usar SQlite, y quería saber si SQlite puede hacer lo mismo que MySQL.
  19. Quiero que al escribir por ejemplo, /m, ya no te hagan daño las caidas, y luego si pones /m de nuevo, si te hagan daño
  20. Estoy tratando de hacer un script que al comprar un skin se te guarde en una gridlist y tu más adelante si quieres cambiarte el skin, pues, te lo cambias. Mi duda es si es mejor usar tablas para hacer esto o usar una base de datos. Por si hay que usar MySQL o esas cosas raras para mi , sería bueno si me dijeran un ejemplo o me pasaran algún sitio web o tutorial de como usarlo para entenderlo mejor.
  21. addEventHandler('onClientPlayerDamage', localPlayer, function (_, weapon) if (weapon == 54) then setPedAnimation(localPlayer, "BLOCK", "ANIM") end end ) Gracias, tengo una pregunta más... Se puede hacer que se active esto al usar un comando? Necesito saber eso para terminar un script.
  22. Para no crear otro tema sobre esto, hay alguna manera de hacer que al caer haga una animación?
  23. Lo que tengo hasta ahora es un sistema que si matas a 100 zombies te sube al lvl 1, luego si matas a 300 te sube al lvl 2, y lo logre guiándome de un script de la comunidad. Mi pregunta es si puedo hacer que cuando mates zombies te vayan dando 2 o 3 de exp. Ya he usado el exp_system de castillo, pero no me gusta el sonido que sale al subir de nivel. (Buenoo, si me gusta, pero quisiera hacer uno yo ). Lo que estoy usando es esto: niveles = { 100,--1 210,--2 320,--3 430,--4 540,--5 650,--6 760,--7 880,--8 990,--9 1300,--10 } --------------- setElementData(root, "zombiesKilled",0) setElementData(root, "lev",0) function render() local name = getPlayerName(localPlayer) dxDrawText("Zombies kills:"..getElementData(localPlayer, "zombiesKilled"), 10, 356, 117, 370, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText(name.."#ffffff.#ffff00[Lvl."..getElementData(localPlayer, "lev").. "]", screenW * 0.7000, screenH * 0.1150, screenW * 0.7288, screenH * 0.1400, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, true, false) end addEventHandler("onClientRender", root, render) function leveling(attacker) local dat = getElementData(localPlayer, "zombiesKilled") if getElementData (source, "zombie") == true and attacker == localPlayer then setElementData(localPlayer, "zombiesKilled", dat+1) dxDrawText("Zombies kills:"..getElementData(localPlayer, "zombiesKilled"), 10, 356, 117, 370, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("#ffffff.#ffff00[Lvl."..getElementData(localPlayer, "lev").. "]", screenW * 0.7000, screenH * 0.1150, screenW * 0.7288, screenH * 0.1400, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, true, false) end if dat == niveles[1] then setElementData(localPlayer, "lev", 1) exports.notifications:showBox("info", "Has subido al nivel "..getElementData(localPlayer, "lev").."!\n+$500") triggerServerEvent("money1", localPlayer) elseif dat == niveles[2] then setElementData(localPlayer, "lev",2) exports.notifications:showBox("info", "Has subido al nivel "..getElementData(localPlayer, "lev").."!\n+$1000") triggerServerEvent("money2", localPlayer) elseif dat == niveles[3] then setElementData(localPlayer, "lev",3) exports.notifications:showBox("info", "Has subido al nivel "..getElementData(localPlayer, "lev").."!\n+$1500") triggerServerEvent("money3", localPlayer) elseif dat == niveles[4] then setElementData(localPlayer, "lev",4) exports.notifications:showBox("info", "Has subido al nivel " ..getElementData(localPlayer, "lev").."!\n+$2000") triggerServerEvent("money4", localPlayer) elseif dat == niveles[5] then setElementData(localPlayer, "lev",5) exports.notifications:showBox("info", "Has subido al nivel " ..getElementData(localPlayer, "lev").."!\n+$3000") triggerServerEvent("money5", localPlayer) elseif dat == niveles[6] then setElementData(localPlayer, "lev",6) exports.notifications:showBox("info", "Has subido al nivel " ..getElementData(localPlayer, "lev").."!\n+$4000") triggerServerEvent("money6", localPlayer) elseif dat == niveles[7] then setElementData(localPlayer, "lev",7) exports.notifications:showBox("info", "Has subido al nivel " ..getElementData(localPlayer, "lev").."!\n+$5000") triggerServerEvent("money7", localPlayer) elseif dat == niveles[8] then setElementData(localPlayer, "lev",8) exports.notifications:showBox("info", "Has subido al nivel " ..getElementData(localPlayer, "lev").."!\n+$5555") triggerServerEvent("money8", localPlayer) elseif dat == niveles[9] then setElementData(localPlayer, "lev",9) exports.notifications:showBox("info", "Has subido al nivel " ..getElementData(localPlayer, "lev").."!\n+$6500") triggerServerEvent("money9", localPlayer) elseif dat == niveles[10] then setElementData(localPlayer, "lev",10) exports.notifications:showBox("info", "Has subido al nivel " ..getElementData(localPlayer, "lev").."!\n+$8000") triggerServerEvent("money10", localPlayer) end end addEventHandler("onClientPedWasted", root, leveling) function saveUpdate() dxDrawText("Zombies kills:"..getElementData(localPlayer, "zombiesKilled"), 10, 356, 117, 370, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("#ffffff.#ffff00[Lvl."..getElementData(localPlayer, "lev").. "]", screenW * 0.7000, screenH * 0.1150, screenW * 0.7288, screenH * 0.1400, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, true, false) end addEvent("saveKills", true) addEventHandler("saveKills", root, saveUpdate) No sé si me entendieron, pero a lo que me refiero es que si en vez de subir de nivel al matar 100 zombies puedo hacer otro dxText que diga EXP: 0 y que mientras mate zombies me sume ese EXP: 0 a EXP: 2 o EXP:5 y cuando llegue a la EXP:300 me suba al nivel 1, luego si llego a EXP:1000 me suba al nivel 2 y así sucesivamente.
  24. Estoy haciendo un panel login en dx, para que se vea más bonito, por ahora solo tengo la parte de los botones que en este caso serían rectangles, tengo para cuando darle click se cambien de color y al pasar el mouse en el rectangle salga un borde de color celeste. Lo que quiero saber es si hay alguna forma de hacer este código más corto (igualmente no es tan largo, pero me refiero a una mejor forma de hacer el script): local screenW, screenH = guiGetScreenSize() local colorForAll = tocolor(0,220,239,255) activo = false function newsLogin ()--Cambio a color azul (rectangle y text, rectangle: Login) dxDrawRectangle(screenW * 0.2125, screenH * 0.3383, screenW * 0.1300, screenH * 0.0517, colorForAll, false)--Login Rectangle dxDrawText("Login", screenW * 0.2325, screenH * 0.3383, screenW * 0.3212, screenH * 0.3850, tocolor(255, 255, 255, 255), 2.00, "default-bold", "left", "top", false, false, false, false, false) end --Al darle click al boton Login se pondrá azul el rectangle y texto [^] y se borraran los otros botones que esten azules. function createNewLoginInformation(_,state) if activo == false then if state == "down" then if isMouseInPosition (screenW * 0.2125, screenH * 0.3383, screenW * 0.1300, screenH * 0.0517) then removeEventHandler("onClientRender", root, loginInformations) removeEventHandler("onClientRender", root, newsRegister) removeEventHandler("onClientRender", root, newsInformations) removeEventHandler("onClientRender", root, mewss) removeEventHandler("onClientRender", root, newCharaterText) addEventHandler("onClientRender", root, newsLogin) addEventHandler("onClientRender", root, newsInformations) addEventHandler("onClientRender", root, registerInformations) addEventHandler("onClientRender", root, characterInformations) end end end end addEventHandler ("onClientClick", root, createNewLoginInformation) --Cambio a color azul (rectangle y text, rectangle: Register) function newsRegister() dxDrawRectangle(screenW * 0.3425, screenH * 0.3383, screenW * 0.1450, screenH * 0.0517,colorForAll, false)--Register Rectangle dxDrawText("Register", screenW * 0.3550, screenH * 0.3383, screenW * 0.4437, screenH * 0.3850, tocolor(255, 255, 255, 255), 2.00, "default-bold", "left", "top", false, false, false, false, false) end --Al darle click al boton Register se pondrá azul el rectangle y texto [^] y se borraran los otros botones que esten azules. function createNewRegisterInformation(_,state) if activo == false then if state == "down" then if isMouseInPosition(screenW * 0.3425, screenH * 0.3383, screenW * 0.1450, screenH * 0.0517) then removeEventHandler("onClientRender", root, newsLogin) removeEventHandler("onClientRender", root, registerInformations) removeEventHandler("onClientRender", root, mewss) removeEventHandler("onClientRender", root, newsInformations) removeEventHandler("onClientRender", root, newCharaterText) addEventHandler("onClientRender", root, newsRegister) addEventHandler("onClientRender", root, newsInformations) addEventHandler("onClientRender", root, loginInformations) addEventHandler("onClientRender", root, characterInformations) end end end end addEventHandler ("onClientClick", root, createNewRegisterInformation) --Cambio a color azul (rectangle y text, rectangle: News) function mewss() dxDrawRectangle(screenW * 0.4875, screenH * 0.3383, screenW * 0.1450, screenH * 0.0517, colorForAll, false)--News Rectangle dxDrawText("News", screenW * 0.5162, screenH * 0.3383, screenW * 0.6050, screenH * 0.3850, tocolor(255, 255, 255, 255), 2.00, "default-bold", "left", "top", false, false, false, false, false) end --Al darle click al boton News se pondrá azul el rectangle y texto [^] y se borraran los otros botones que esten azules. function createNewInformation(_,state) if activo == false then if state == "down" then if isMouseInPosition(screenW * 0.4875, screenH * 0.3383, screenW * 0.1450, screenH * 0.0517) then removeEventHandler("onClientRender", root, newsLogin) removeEventHandler("onClientRender", root, newsRegister) removeEventHandler("onClientRender", root, newsInformations) removeEventHandler("onClientRender", root, newCharaterText) addEventHandler("onClientRender", root, newsInformations) addEventHandler("onClientRender", root, loginInformations) addEventHandler("onClientRender", root, registerInformations) addEventHandler("onClientRender", root, characterInformations) addEventHandler("onClientRender", root, mewss) end end end end addEventHandler ("onClientClick", root, createNewInformation) --Cambio a color azul (rectangle y text, rectangle: Character) function newCharaterText() dxDrawRectangle(screenW * 0.6325, screenH * 0.3383, screenW * 0.1450, screenH * 0.0517, colorForAll, false)--Character Rectangle dxDrawText("Character", screenW * 0.6325, screenH * 0.3383, screenW * 0.7212, screenH * 0.3850, tocolor(255, 255, 255, 255), 1.90, "default-bold", "left", "top", false, false, false, false, false) end --Al darle click al boton Character se pondrá azul el rectangle y texto [^] y se borraran los otros botones que esten azules. function createNewCharacterInformation(_,state) if activo == false then if state == "down" then if isMouseInPosition(screenW * 0.6325, screenH * 0.3383, screenW * 0.1450, screenH * 0.0517) then removeEventHandler("onClientRender", root, characterInformations) removeEventHandler("onClientRender", root, newsRegister) removeEventHandler("onClientRender", root, newsLogin) removeEventHandler("onClientRender", root, mewss) addEventHandler("onClientRender", root, newCharaterText) addEventHandler("onClientRender", root, registerInformations) addEventHandler("onClientRender", root, loginInformations) end end end end addEventHandler("onClientClick", root, createNewCharacterInformation) --Este es el texto y rectangle que aparecerá por defecto al iniciar el script, con createNewLoginInformation se borrará este texto y aparecerá el de newsLogin. function loginInformations() dxDrawRectangle(screenW * 0.2125, screenH * 0.3383, screenW * 0.1300, screenH * 0.0517, tocolor(0, 0, 0, 180), false)--Login Rectangle dxDrawText("Login", screenW * 0.2325, screenH * 0.3383, screenW * 0.3212, screenH * 0.3850, tocolor(255, 255, 255, 255), 2.00, "default-bold", "left", "top", false, false, false, false, false) if isMouseInPosition(screenW * 0.2125, screenH * 0.3383, screenW * 0.1300, screenH * 0.0517) then --Login Lines dxDrawLine((screenW * 0.2125) - 1, (screenH * 0.3383) - 1, (screenW * 0.2125) - 1, screenH * 0.3900, tocolor(0, 255, 239, 255), 1, false) dxDrawLine(screenW * 0.3425, (screenH * 0.3383) - 1, (screenW * 0.2125) - 1, (screenH * 0.3383) - 1, tocolor(0, 255, 239, 255), 1, false) dxDrawLine((screenW * 0.2125) - 1, screenH * 0.3900, screenW * 0.3425, screenH * 0.3900, tocolor(0, 255, 239, 255), 1, false) dxDrawLine(screenW * 0.3425, screenH * 0.3900, screenW * 0.3425, (screenH * 0.3383) - 1, tocolor(0, 255, 239, 255), 1, false) end end addEventHandler("onClientRender", root, loginInformations) --Este es el texto y rectangle que aparecerá por defecto al iniciar el script, con createNewRegisterInformationInformation se borrará este texto y aparecerá el de newsRegister. function registerInformations() dxDrawRectangle(screenW * 0.3425, screenH * 0.3383, screenW * 0.1450, screenH * 0.0517,tocolor(0,0,0,180), false)--Register Rectangle dxDrawText("Register", screenW * 0.3550, screenH * 0.3383, screenW * 0.4437, screenH * 0.3850, tocolor(255, 255, 255, 255), 2.00, "default-bold", "left", "top", false, false, false, false, false) if isMouseInPosition(screenW * 0.3425, screenH * 0.3383, screenW * 0.1450, screenH * 0.0517) then --Register Lines dxDrawLine((screenW * 0.3425) - 1, (screenH * 0.3383) - 1, (screenW * 0.3425) - 1, screenH * 0.3900, tocolor(0, 255, 239, 255), 1, false) dxDrawLine(screenW * 0.4875, (screenH * 0.3383) - 1, (screenW * 0.3425) - 1, (screenH * 0.3383) - 1, tocolor(0, 255, 239, 255), 1, false) dxDrawLine((screenW * 0.3425) - 1, screenH * 0.3900, screenW * 0.4875, screenH * 0.3900, tocolor(0, 255, 239, 255), 1, false) dxDrawLine(screenW * 0.4875, screenH * 0.3900, screenW * 0.4875, (screenH * 0.3383) - 1, tocolor(0, 255, 239, 255), 1, false) end end addEventHandler("onClientRender", root, registerInformations) --Este es el texto y rectangle que aparecerá por defecto al iniciar el script, con createNewInformation se borrará este texto y aparecerá el de mewss. function newsInformations() dxDrawRectangle(screenW * 0.4875, screenH * 0.3383, screenW * 0.1450, screenH * 0.0517, tocolor(0, 0, 0, 180), false)--News Rectangle dxDrawText("News", screenW * 0.5162, screenH * 0.3383, screenW * 0.6050, screenH * 0.3850, tocolor(255, 255, 255, 255), 2.00, "default-bold", "left", "top", false, false, false, false, false) if isMouseInPosition(screenW * 0.4875, screenH * 0.3383, screenW * 0.1450, screenH * 0.0517) then --News lines dxDrawLine((screenW * 0.4875) - 1, (screenH * 0.3383) - 1, (screenW * 0.4875) - 1, screenH * 0.3900, tocolor(0, 255, 239, 255), 1, false) dxDrawLine(screenW * 0.6325, (screenH * 0.3383) - 1, (screenW * 0.4875) - 1, (screenH * 0.3383) - 1, tocolor(0, 255, 239, 255), 1, false) dxDrawLine((screenW * 0.4875) - 1, screenH * 0.3900, screenW * 0.6325, screenH * 0.3900, tocolor(0, 255, 239, 255), 1, false) dxDrawLine(screenW * 0.6325, screenH * 0.3900, screenW * 0.6325, (screenH * 0.3383) - 1, tocolor(0, 255, 239, 255), 1, false) end end addEventHandler("onClientRender", root, newsInformations) --Este es el texto y rectangle que aparecerá por defecto al iniciar el script, con createNewCharacterInformation se borrará este texto y aparecerá el de newCharaterText. function characterInformations() dxDrawRectangle(screenW * 0.6325, screenH * 0.3383, screenW * 0.1450, screenH * 0.0517, tocolor(0, 0, 0, 180), false)--Character Rectangle dxDrawText("Character", screenW * 0.6325, screenH * 0.3383, screenW * 0.7212, screenH * 0.3850, tocolor(255, 255, 255, 255), 1.90, "default-bold", "left", "top", false, false, false, false, false) if isMouseInPosition(screenW * 0.6325, screenH * 0.3383, screenW * 0.1450, screenH * 0.0517) then dxDrawLine((screenW * 0.6325) - 1, (screenH * 0.3383) - 1, (screenW * 0.6325) - 1, screenH * 0.3900, tocolor(0, 255, 239, 255), 1, false) dxDrawLine(screenW * 0.7775, (screenH * 0.3383) - 1, (screenW * 0.6325) - 1, (screenH * 0.3383) - 1, tocolor(0, 255, 239, 255), 1, false) dxDrawLine((screenW * 0.6325) - 1, screenH * 0.3900, screenW * 0.7775, screenH * 0.3900, tocolor(0, 255, 239, 255), 1, false) dxDrawLine(screenW * 0.7775, screenH * 0.3900, screenW * 0.7775, (screenH * 0.3383) - 1, tocolor(0, 255, 239, 255), 1, false) end end addEventHandler("onClientRender", root, characterInformations) --Este es el rectangle principal addEventHandler("onClientRender", root, function() dxDrawRectangle(screenW * 0.2125, screenH * 0.2833, screenW * 0.5650, screenH * 0.0550, tocolor(254, 253, 253, 255), false) end ) Pido ayuda con esto por que al precionar los rectangle's me tira errores: Bad usage @ 'addEventHandler' ['onClientRender' with this function is already handled] Y pues quisiera sabe como ya dije anteriormente, si hay una manera de hacer el código más corto y mejor
×
×
  • Create New...