Jump to content

TheCrazy17

Members
  • Posts

    83
  • Joined

  • Last visited

Everything posted by TheCrazy17

  1. Hola Necesito una ayuda con un código que estoy haciendo, y que no puedo entender aún el por qué no funciona, el código es este: local sx, sy = guiGetScreenSize() --Chequear si el mouse se encuentra sobre las posiciones function isCursorHover(posX,posY,sizeX,sizeY) if posX and posY and sizeX and sizeY then if isCursorShowing() then local x,y = getCursorPosition() local x,y = x*sx,y*sy if x>=posX and x<=posX+sizeX and y>=posY and y<=posY+sizeY then return true end else return false end else return false end end Lobby = { {"JUGAR", 102, 410, 250, 448}, {"PERSONAJE", 102, 448, 250, 486}, {"CONFIGURACIÓN", 102, 486, 250, 524}, {"CREDITOS", 102, 524, 250, 562} } showCursor(true) addEventHandler("onClientPreRender",root, function() for i, v in ipairs(Lobby) do if isCursorHover(v[2], v[3], v[4], v[5]) then dxDrawText(v[1], v[2], v[3], v[4], v[5], tocolor(100, 100, 100, 255), 1.30, "default-bold", "left", "center", false, false, true, false, false) else dxDrawText(v[1], v[2], v[3], v[4], v[5], tocolor(255, 255, 255, 255), 1.30, "default-bold", "left", "center", false, false, true, false, false) end end end) ¿Que debería hacer esto? Se supone que al pasar el mouse por los textos, el que está seleccionado queda en un color mas oscuro. ¿Cual es el error? Si pasas el mouse por la opción 3 por ejemplo, también quedan oscuras la opcion 1 y 2 Ojalá puedan ayudarme, ya que hace mucho que no hacia cosas así y quiero saber por que no funciona como debería, gracias de antemano
  2. Para evitar hacer otro post vuelvo a preguntar aquí: Como hago para borrar una tienda en especifico de la base de datos? Hice esto para poder borrar las tiendas, pero lógicamente como no se borra de la base de datos sigue apareciendo cuando se inicia el script: Cliente function onPlayerTargetPickup(theElement) if getElementData(source,"Tienda") then setElementData(getLocalPlayer(),"currentCol",source) outputChatBox("Entraste en un colshape de tienda") end end addEventHandler("onClientColShapeHit",getRootElement(),onPlayerTargetPickup) function onPlayerTargetPickup (theElement) if theElement == getLocalPlayer() then local players = getElementsWithinColShape ( source, "player" ) if players == getLocalPlayer() then --[[return ]]end setElementData(getLocalPlayer(),"currentCol",false) end end addEventHandler("onClientColShapeLeave",getRootElement(),onPlayerTargetPickup) function borrar() local col = getElementData(getLocalPlayer(),"currentCol") if col then Objeto = getElementData(col,"parent") triggerServerEvent("removerTienda",getLocalPlayer(), Objeto, col) else outputChatBox("No estas en un colshape") --Debug end end addCommandHandler("borrar", borrar) Servidor addEventHandler("onResourceStart",getResourceRootElement(),function() --Conectar a la base de datos tiendasDB = dbConnect("sqlite",":/Tiendas.db") --Si no se puede conectar, cancelar if not tiendasDB then outputDebugString("[TIENDAS] No se puede conectar a la base de datos.") cancelEvent() return else outputDebugString("[TIENDAS] Sistema iniciado correctamente.") end --Crea la tabla de tiendas en la base de datos si no existe dbExec(tiendasDB,"CREATE TABLE IF NOT EXISTS Tiendas (Dueño TEXT, PosX INTEGER, PosY INTEGER, PosZ INTEGER, Rotacion INTEGER)") end,false) function cargarTiendas() local consulta = dbQuery(tiendasDB,"SELECT * FROM Tiendas") local resultado = dbPoll( consulta, -1 ) TiendasC = 0 if resultado then for _, v in ipairs(resultado)do local owner = v['Dueño'] local vX = v['PosX'] local vY = v['PosY'] local vZ = v['PosZ'] local rot = v['Rotacion'] local tent = createObject(3243, vX, vY, vZ - 1, 0, 0, rot) setObjectScale(tent, 1.3) local tentCol = createColSphere(vX, vY, vZ, 4) attachElements(tentCol, tent, 0, 0, 0) setElementData(tentCol, "parent", tent) setElementData(tent, "parent", tentCol) setElementData(tentCol, "Tienda", true) setElementData(tentCol, "MAX_Slots", 100) TiendasC = TiendasC + 1 end end outputChatBox(TiendasC.." tiendas restauradas") end addEventHandler("onResourceStart",getResourceRootElement (getThisResource()),cargarTiendas) function armarTienda(source) setPedAnimation(source, "BOMBER", "BOM_Plant", -1, false, false, nil, false) local source = source setTimer(function() local x, y, z = getElementPosition(source) local xr, yr, zr = getElementRotation(source) px, py, pz = getElementPosition(source) prot = getPedRotation(source) local offsetRot = math.rad(prot + 90) local vx = px + 5 * math.cos(offsetRot) local vy = py + 5 * math.sin(offsetRot) local vz = pz + 2 local vrot = prot + 180 tent = createObject(3243, vx, vy, z - 1, 0, 0, vrot) setObjectScale(tent, 1.3) tentCol = createColSphere(x, y, z, 4) attachElements(tentCol, tent, 0, 0, 0) setElementData(tentCol, "parent", tent) setElementData(tent, "parent", tentCol) setElementData(tentCol, "Tienda", true) setElementData(tentCol, "vehicle", true) setElementData(tentCol, "MAX_Slots", 100) vz = z - 1 nombre = "'"..getPlayerName(source).."'" dbExec(tiendasDB,"INSERT INTO Tiendas (Dueño, PosX, PosY, PosZ, Rotacion) VALUES (?, ?, ?, ?, ?)",nombre,vx,vy,vz,vrot) outputChatBox("Tienda creada, Datos: X:"..x.." Y:"..y.." Z:"..z.." R:"..vrot, root, 0, 255, 0) --Debug end, 1500, 1) end addCommandHandler("tienda", armarTienda) function removeTent(Objeto, Colision) destroyElement(Objeto) destroyElement(Colision) end addEvent("removerTienda", true) addEventHandler("removerTienda", getRootElement(), removeTent) Que debo hacer o usar para borrar de la base de datos, la tienda que se destruye?
  3. A la perfección De nuevo muchas gracias
  4. Funciono perfecto Muchas gracias Ahora otra pregunta, como obtengo todos los datos (Dueño, PosX, PosY, PosZ y Rotacion) que se guardaron en la base de datos ? Para así que poder hacer que se restauren todas las tiendas creadas cuando el script inicie
  5. Hola a todos Estoy aprendiendo a usar SQL para hacer un sistema de guardado para unas tiendas de campaña, estuve mirando un poco de esto en otros scripts y en el foro y logre esto: Me pareció que estaba todo bien, pero me sale este error: Alguien podría darme una manito? La verdad es que no entiendo mucho de esto y quiero aprender Gracias de antemano
  6. Si lo que buscas, es algo simple, con modos de juegos simples, puedes probar separando los modos por Dimensión y elementData, pero si quieres algo mas "complejo" así como el servidor FFS, ya tendrás que tener mejores métodos para lograrlo. Y eso de modo de juegos simple es mas facil? Me explicas como hacerlo ? Mira, por ejemplo, yo estaba tratando de hacer 3 modos simples, uno de "Modo libre", así como freeroam, otro zombies, y otro que no estaba seguro de que hacerlo, te recomendaría empezar con cosas simples si no sabes mucho de Script, si sabes un poco, trata de empezar haciendo unas ventanas simples, que te dejen elegir el modo
  7. Si lo que buscas, es algo simple, con modos de juegos simples, puedes probar separando los modos por Dimensión y elementData, pero si quieres algo mas "complejo" así como el servidor FFS, ya tendrás que tener mejores métodos para lograrlo.
  8. Creo que sin 'guiGetScreenSize' no es posible, aunque no es muy difícil usarlo, al principio parece difícil, pero en realidad es facil, solo son unas cuantas divisiones/multiplicaciones
  9. Me podrias dar un ejemplo? Estube intentando pero no me sale como quiero, y esta mal echo lo que hice
  10. Utiliza 'interpolateBetween' (y/o 'guiSetSize' de ser necesario). Me podrias dar un pequeño ejemplo? Es que no tengo muy en claro como hacer eso
  11. No se si entendí mal, pero ¿como esperas que algo se mueva sin cambiar de posición? Perdón, a lo que me refería, es que no cambie su posición dentro de la pantalla, si no que se mueva dentro de la misma imagen, o se haga mas grande cuando el mouse este encima, es posible eso?
  12. Hola de nuevo Quería ver si alguno de ustedes, podría ayudarnos con una pequeña duda. Estamos haciendo un pequeño "Proyecto" con Julian09123, y vamos de a poco, la duda era, ¿Como se puede hacer una imagen, que al pasar el mouse por encima, se mueva? Osea, que no cambie su posición, si no, que se mueva dentro de la misma, es posible eso? Que funciones deberíamos utilizar? Espero que puedan ayudarnos y gracias de antemano
  13. Funciona a la perfección Muchas gracias amigo
  14. ¿Quieres tener el símbolo o que este en porcentaje? ._. Supongo que eso es para que en la vida no salgan los 5 numeros que salen, verdad? Si, justamente eso, cuando pierdo un poco de vida, me sale por ejemplo "89.21397" o algo asi, por eso creo que es mejor pasarlo a porcentaje
  15. Hola amigos Quería pedirles una pequeña ayudita en algo que creo que es simple, pero no se como hacerlo, quiero pasar un numero, a un porcentaje, osea por ejemplo yo tengo esto: local Vida = getElementHealth(getLocalPlayer()) dxDrawText("Salud: ".. Vida, 161, 257, 477, 272, tocolor(255, 255, 255, 255), 1.00, "default-bold", "center", "center", false, false, false, true, false) Lo que quiero lograr, es que por ejemplo si tengo 100 de vida, se convierta en un porcentaje (100%), como puedo hacer eso?
  16. TheCrazy17

    Gui

    Asi tampoco me lo abre.. GUIEditor = { window = {}, edit = {}, memo = {} } addEventHandler("onClientResourceStart", resourceRoot, function() GUIEditor.window[1] = guiCreateWindow(178, 218, 641, 409, "Guia del server", false) guiWindowSetSizable(GUIEditor.window[1], false) guiSetVisible ( GUIEditor.window[1], false ) GUIEditor.edit[1] = guiCreateEdit(9, 21, 588, 28, " Bienvenido al servidor", false, GUIEditor.window[1]) GUIEditor.edit[2] = guiCreateEdit(582, 28, 15, 132, "", false, GUIEditor.edit[1]) Guia_del_server = guiCreateEdit(6666, 52, 0, 20, "", false, GUIEditor.window[1]) GUIEditor.memo[1] = guiCreateMemo(10, 48, 583, 330, "Hola bienvenido al server,mientras que estas aqui no olvides divertirte y pasarla bien recuerda qué cada vez que mejoremos mejor sera tu divercion. \"{SMILIES_PATH}/icon_biggrin.gif\" alt=\"\" title=\"Very Happy\" />", false, GUIEditor.window[1]) end ) abierto = false function gui() if abierto == false then guiSetVisible(GUIEditor.window[1], true) showCursor(true) abierto = true else abierto = false guiSetVisible(GUIEditor.window[1], false) showCursor(false) end end bindKey("f1","down",gui) Prueba asi
  17. Prueba asi local rx, ry = guiGetScreenSize ( ) function vehiclestatus ( ) if ( isPedInVehicle ( localPlayer ) == false ) then return false end local x, y, z = getElementPosition( localPlayer ) local car = getPedOccupiedVehicle ( localPlayer ) local sx, sy, sz = getElementVelocity ( car ) local kphSpeed = math.ceil( ( ( sx^2 + sy^2 + sz^2 ) ^ ( 0.5 ) ) * 161 ) local mphSpeed = math.ceil( ( ( ( sx^2 + sy^2 + sz^2 ) ^ ( 0.5 ) ) * 161 ) / 1.61 ) local health = getElementHealth ( car ) local name = getVehicleName ( car ) local currenthealth = math.floor( health/10 ) local fNitroLevel = getVehicleNitroLevel ( car ) if ( type ( fNitroLevel ) == "number" ) then fNitroLevel = math.floor ( ( fNitroLevel * 100 ) ) end local hColor = "#40FF00" local kColor = "#40FF00" local mColor = "#40FF00" local nColor = "#40FF00" -- Kph Colors -- if ( kphSpeed < 20 ) then kColor = "#D8F6CE" elseif ( kphSpeed < 40 ) then kColor = "#BCF5A9" elseif ( kphSpeed < 60 ) then kColor = "#9FF781" elseif ( kphSpeed < 70 ) then kColor = "#82FA58" elseif ( kphSpeed < 80 ) then kColor = "#64FE2E" elseif ( kphSpeed < 90 ) then kColor = "#40FF00" end -- Mph Colors -- if ( mphSpeed < 20 ) then mColor = "#D8F6CE" elseif ( mphSpeed < 40 ) then mColor = "#BCF5A9" elseif ( mphSpeed < 60 ) then mColor = "#9FF781" elseif ( mphSpeed < 70 ) then mColor = "#82FA58" elseif ( mphSpeed < 80 ) then mColor = "#64FE2E" elseif ( mphSpeed < 90 ) then mColor = "#40FF00" end -- Health Colors -- if ( currenthealth < 20 ) then hColor = "#ff0000" elseif ( currenthealth < 40 ) then hColor = "#FF6400" elseif ( currenthealth < 60 ) then hColor = "#C86400" elseif ( currenthealth < 70 ) then hColor = "#C89600" elseif ( currenthealth < 80 ) then hColor = "#329600" elseif ( currenthealth < 90 ) then hColor = "#40FF00" end -- Nitro Colors -- if ( fNitroLevel < 20 ) then nColor = "#ff0000" elseif ( fNitroLevel < 40 ) then nColor = "#FF6400" elseif ( fNitroLevel < 60 ) then nColor = "#C86400" elseif ( fNitroLevel < 70 ) then nColor = "#C89600" elseif ( fNitroLevel < 80 ) then nColor = "#329600" elseif ( fNitroLevel < 90 ) then nColor = "#40FF00" end dxDrawRectangle( ( rx-205 ), ( ry-78 ), 199, 17, tocolor(0, 0, 0, 180), true) dxDrawRectangle( ( rx-205 ), ( ry-54 ), 199, 17, tocolor(0, 0, 0, 180), true) dxDrawRectangle( ( rx-205 ), ( ry-30 ), 199, 17, tocolor(0, 0, 0, 180), true) dxDrawText ( "#0080FFVelocidad: #FFFFFF"..kColor..""..tostring(kphSpeed).." #FF8000Kmh #0080FF/ "..mColor..""..tostring(mphSpeed).." #FF8000Mph", ( rx - 199 ), ( ry - 77 ), 1280, 887, tocolor ( 255, 255, 255, 255 ), 1,"default-bold", "left", "top", false, false, true, true, false ) dxDrawText ( "#0080FFVehiculo: #FFFFFF".. hColor ..""..tostring(currenthealth).."#0080FF% #FF8000| #0080FF"..tostring(name).."", ( rx - 199 ), ( ry - 53 ), 1280, 887, tocolor ( 255, 255, 255, 255 ), 1,"default-bold", "left", "top", false, false, true, true, false ) dxDrawText ( "#0080FFNitro: #40FF00".. nColor ..""..( type ( fNitroLevel ) == "number" and fNitroLevel .."#0080FF%" or "#FF8000Sin nitro" ), (rx - 199 ), ( ry - 29), 1280, 887, tocolor ( 255, 255, 255, 255 ), 1, "default-bold", "left", "top", false, false, true, true, false ) end addEventHandler ( "onClientRender", root, vehiclestatus ) *Edit: Creo que esta mal o le falta algo :c
  18. Muchisisisimas gracias Funciona perfecto
  19. Hola Tengo un problema/duda, y quería saber si me podrían ayudar El problema es que yo estaba por hacer un script, que cambie el mundo de San Andreas por Vice City, iba bien, tengo las colisiones, modelo y textura de Vice City, pero el problema es, que el objeto que lo reemplazo, por defecto es muy chico (por ejemplo, cambio una toalla de playa del San Andreas, por una parte de la mansión), y si me alejo un poco me pasa esto: Si me alejo un poco, el objeto, empieza a.. desaparecer, osea se desvanece, pero el objeto sigue ahí, entonces... Es posible aumentarle la distancia de dibujado o algo así a algún objeto? Osea que se pueda ver de mas lejos ?? Existe una función para eso? (La foto, la tome con la máxima distancia de dibujado de mi MTA ) Ojala puedan ayudarme Gracias de antemano
  20. Prueba con esto Yo uso eso y borra todo el mapa, si quieres borrar el agua le bajas el nivel creo
  21. Creo que es así GUIEditor = { button = {}, window = {}, } function pan() GUIEditor.window[1] = guiCreateWindow(154, 123, 510, 420, "", false) guiWindowSetSizable(GUIEditor.window[1], false) Bang = guiCreateButton(154, 203, 114, 32, "Bangarang", false) First = guiCreateButton(286, 203, 114, 32, "First of the year", false) Rock = guiCreateButton(547, 203, 114, 32, "Rock n roll", false) Cinema = guiCreateButton(419, 203, 114, 32, "Cinema", false) end addEventHandler("onClientResourceStart", resourceRoot, pan ) addEventHandler("onClientRender", root, function() dxDrawRectangle(154, 91, 509, 49, tocolor(255, 0, 0, 255), true) dxDrawText("Panel de Musica -AR-", 221, 99, 625, 135, tocolor(255, 255, 255, 255), 1, "bankgothic", "left", "top", false, false, true, false, false) dxDrawText("Skrillex:", 154, 154, 286, 185, tocolor(255, 255, 255, 255), 1, "bankgothic", "left", "top", false, false, true, false, false) end ) function bangarang() if source == Bang then local sonido = playSound("Musica/Bang.mp3") setSoundVolume(sonido, 0.5) end end addEventHandler("onClientGUIClick", getResourceRootElement(getThisResource()), bangarang)
  22. Si, y me queda mal en otras resoluciones, si le subo mas, se queda muy chiquito o se corre para un costado Emm... Como seria eso?
  23. TheCrazy17

    Voice

    Y luego, reinicias el server y apretas la "Z" para hablar ._.
  24. Holas Tenia un pequeño problema que no puedo resolver ¿Es posible ajustar algo para todas las resoluciones? Por ejemplo yo tengo esto: Asi se ve en 800x600, que es la que siempre uso Y asi se ve en 1024x768 Y tengo este codigo que aun no termino: Que necesito para que se ajuste a todas las resoluciones, así como se ve en 800x600? (Quiero hacer un panel de spawn dx )
×
×
  • Create New...