Jump to content

aka Blue

Members
  • Posts

    2,106
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by aka Blue

  1. Aquí esta, es algo largo pero son las barras de necesidades de cada jugador. local sourceX, sourceY = 1024, 768 local sx, sy = guiGetScreenSize ( ) function dibujado ( ) -- Calculaciones hambre local width = 148 local nivelHambre = getElementData ( localPlayer, "hambre" ) local newWidth = ( width / 100 ) * nivelHambre -- Dibujado del hambre dxDrawRectangle( (812/sourceX)*sx, (172/sourceY)*sy, (155/sourceX)*sx, (16/sourceY)*sy, tocolor(0, 0, 0, 255), false) dxDrawRectangle( (815/sourceX)*sx, (174/sourceY)*sy, (148/sourceX)*sx, (11/sourceY)*sy, tocolor(200, 105, 30, 90), false) dxDrawRectangle( (815/sourceX)*sx, (174/sourceY)*sy, (newWidth/sourceX)*sx, (11/sourceY)*sy, tocolor(208, 105, 30, 255), false) dxDrawText("HAMBRE", (813/sourceX)*sx, (172/sourceY)*sy+2, (964/sourceX)*sx, (188/sourceY)*sy, tocolor(0, 0, 0, 255), ( sy / sourceY ) * 0.40, "bankgothic", "center", "center", false, false, false, false, false) dxDrawText("HAMBRE", (813/sourceX)*sx, (172/sourceY)*sy, (964/sourceX)*sx, (188/sourceY)*sy, tocolor(255, 255, 255, 255), ( sy / sourceY ) * 0.40, "bankgothic", "center", "center", false, false, false, false, false) -- Caculaciones sed local widthSed = 148 local nivelSed = getElementData ( localPlayer, "sed" ) local newWidthSed = ( widthSed / 100 ) * nivelSed -- Dibujado de la sed dxDrawRectangle( (812/sourceX)*sx, (192/sourceY)*sy, (155/sourceX)*sx, (16/sourceY)*sy, tocolor(0, 0, 0, 255), false) dxDrawRectangle( (815/sourceX)*sx, (194/sourceY)*sy, (148/sourceX)*sx, (11/sourceY)*sy, tocolor(80, 160, 174, 90), false) dxDrawRectangle( (815/sourceX)*sx, (194/sourceY)*sy, (newWidthSed/sourceX)*sx, (11/sourceY)*sy, tocolor(80, 160, 174, 255), false) dxDrawText("SED", (813/sourceX)*sx, (210/sourceY)*sy+2, (964/sourceX)*sx, (188/sourceY)*sy, tocolor(0, 0, 0, 255), ( sy / sourceY ) * 0.40, "bankgothic", "center", "center", false, false, false, false, false) dxDrawText("SED", (813/sourceX)*sx, (210/sourceY)*sy, (964/sourceX)*sx, (188/sourceY)*sy, tocolor(255, 255, 255, 255), ( sy / sourceY ) * 0.40, "bankgothic", "center", "center", false, false, false, false, false) -- Calculaciones resistencia local widthResistencia = 148 local nivelResistencia = getElementData ( localPlayer, "resistencia" ) local newWidthResistencia = ( widthResistencia / 100 ) * nivelResistencia -- Dibujado de la resistencia dxDrawRectangle( (812/sourceX)*sx, (212/sourceY)*sy, (155/sourceX)*sx, (16/sourceY)*sy, tocolor(0, 0, 0, 255), false) dxDrawRectangle( (815/sourceX)*sx, (214/sourceY)*sy, (148/sourceX)*sx, (11/sourceY)*sy, tocolor(0, 92, 0, 90), false) dxDrawRectangle( (815/sourceX)*sx, (214/sourceY)*sy, (newWidthResistencia/sourceX)*sx, (11/sourceY)*sy, tocolor(0, 92, 0, 255), false) dxDrawText("RESISTENCIA", (813/sourceX)*sx, (251/sourceY)*sy+2, (964/sourceX)*sx, (188/sourceY)*sy, tocolor(0, 0, 0, 255), ( sy / sourceY ) * 0.40, "bankgothic", "center", "center", false, false, false, false, false) dxDrawText("RESISTENCIA", (813/sourceX)*sx, (251/sourceY)*sy, (964/sourceX)*sx, (188/sourceY)*sy, tocolor(255, 255, 255, 255), ( sy / sourceY ) * 0.40, "bankgothic", "center", "center", false, false, false, false, false) -- Texto de ayuda dxDrawText("Usa /shownecesidades para quitar las barras", (799/sourceX)*sx, (231/sourceY)*sy+2, (960/sourceX)*sx, (242/sourceY)*sy, tocolor(0, 0, 0, 255), ( sy / sourceY ) * 0.80, "default", "left", "top", false, false, false, false, false) dxDrawText("Usa /shownecesidades para quitar las barras", (799/sourceX)*sx, (231/sourceY)*sy, (960/sourceX)*sx, (242/sourceY)*sy, tocolor(255, 255, 255, 255), ( sy / sourceY ) * 0.80, "default", "left", "top", false, false, false, false, false) end
  2. Bueno, últimamente estoy teniendo muchos errores con esta función y la verdad es que ya no tengo ni idea de como solucionarlo. Lo que quiero hacer y por ahora tengo hecho, es un sistema de radios en los vehículos que funcione mediante link de YouTube. El problema que tengo es que el sonido solo lo oyen los creadores del mismo y no el resto de jugadores que estén cerca del vehiculo o del sonido. Servidor: --[[ Script: Radio en vehiculos. Autor: Blue Pie Servidor: Las Venturas Roleplay. Version: 1.0 ]]-- local reproduciendo = { } addCommandHandler ( "radio", function ( player, commandName, link ) local vehicle = getPedOccupiedVehicle ( player ) local link = tostring ( link ) if vehicle then if getElementData ( vehicle, "radio" ) == 1 then if link then exports.chat:me(player, "enciende la radio del vehiculo") triggerClientEvent ( player, "onEncenderRadio", player, vehicle, link ) reproduciendo [ vehicle ] = true else outputChatBox ( "Syntax: /"..commandName.." [link de youtube]", player, 255, 255, 255 ) end else outputChatBox ( "El vehiculo no tiene radio. Compra uno en la electrónica.", player, 255, 145, 0 ) end end end ) addCommandHandler ( "aradio", function ( player, commandName ) local vehicle = getPedOccupiedVehicle ( player ) if vehicle and reproduciendo [ vehicle ] == true then exports.chat:me(player, "apaga la radio del vehiculo") triggerClientEvent ( player, "onApagarRadio", player, vehicle ) reproduciendo [ vehicle ] = false end end ) Cliente: --[[ Script: Radio en vehiculos. Autor: Blue Pie Servidor: Las Venturas Roleplay. Version: 1.0 ]]-- local sonido function radioOn ( vehicle, link ) local x, y, z = getElementPosition(vehicle) local interior, dimension = getElementInterior ( vehicle ), getElementDimension ( vehicle ) if vehicle and link then if not sonido then sonido = playSound3D("https://www.youtubeinmp3.com/fetch/?video="..link, x, y, z, false) setElementDimension ( sonido, dimension ) setElementInterior ( sonido, interior ) setSoundMaxDistance ( sonido, 4000 ) attachElements ( sonido, vehicle ) else stopSound ( sonido ) sonido = playSound3D("https://www.youtubeinmp3.com/fetch/?video="..link, x, y, z, false) setElementDimension ( sonido, dimension ) setElementInterior ( sonido, interior ) setSoundMaxDistance ( sonido, 4000 ) attachElements ( sonido, vehicle ) end end end addEvent ( "onEncenderRadio", true ) addEventHandler ( "onEncenderRadio", getRootElement ( ), radioOn ) function apagarRadio ( vehicle ) if vehicle then if sonido then stopSound ( sonido ) sonido = nil end end end addEvent ( "onApagarRadio", true ) addEventHandler ( "onApagarRadio", getRootElement ( ), apagarRadio )
  3. Si, ya que lo hice mediante el guieditor en mi pantalla. Lo único que hice fue realizar las divisiones y multiplicaciones como me dijo @Solidsnake14
  4. Me dicen los de 1336 que lo ven mas arriba de lo normal.
  5. Muchísimas gracias @Solidsnake. En cuanto tenga tiempo haré un pequeño test a ver si me sale lo que necesito. Comunicare por aquí si hay algún problema. Nuevamente gracias por la ayuda
  6. Osea, básicamente la x que es la anchura de la barra la debo dividir y multiplicar tal que así, ¿No? Disculpa mi ignorancia pero es que nunca me puse bastante en serio con este tema y tengo bastantes dudas. local anchura = ( valor * maxanchura ) ( anchura / sourceX ) * sx
  7. Gracias @Solidsnake por compartir tu código. Ahora mi duda es que si quiero hacer una barra que vaya aumentando o disminuyendo según un valor, ¿cómo tengo que hacerlo?
  8. Bueno, estoy teniendo un grave problema últimamente con las resoluciones de pantalla. Veamos, yo hago mis scripts (lo que vienen siendo paneles y demás DX) en el guieditor usando pues la función que ofrece de relatividad. El problema que tengo es que todos los que tienen mi resolución de pantalla, pues sí, lo ven bien, pero aquellos que la tienen mayor lo ven mal o solo ven una parte. Lo que hago es comprobar el valor de un elementData y seguidamente, realizar un anchototal para la barra (en éste caso de resistencia del jugador). Quisiera saber cual es la mejor manera de realizar el script para que todos los vean bien y se más óptimo el mismo. Mi resolución de pantalla es 1024x768 (es una caca, pero que se le va a hacer, vivo debajo de un puente con todo el musgo). function mostrarResistencia () local resistencia = getElementData ( localPlayer, "resistencia" ) local anchototal = 120 local anchototal2 = ( resistencia * anchototal ) / 106000 dxDrawRectangle(sx * 0.8086, sy * 0.2214, sx * 0.1221, sy * 0.0273, tocolor(0, 0, 0, 255), false) dxDrawRectangle(sx * 0.8125, sy * 0.2253, sx * 0.1133, sy * 0.0182, tocolor(49, 131, 170, 100), false) dxDrawRectangle(sx * 0.8125, sy * 0.2253, sx * anchototal2, sy * 0.0182, tocolor(49, 121, 151, 255), false) dxDrawText("RESISTENCIA", (sx * 0.8096) + 1, (sy * 0.2201) + 1, (sx * 0.9287) + 1, (sy * 0.2461) + 1, tocolor(0, 0, 0, 255), 0.42, "bankgothic", "center", "center", false, false, false, false, false) dxDrawText("RESISTENCIA", sx * 0.8096, sy * 0.2201, sx * 0.9287, sy * 0.2461, tocolor(255, 255, 255, 255), 0.42, "bankgothic", "center", "center", false, false, false, false, false) end Gracias de antemano
  9. ¿No sabes ingles? Ahi dice claro que se esperaba paracentesis para cerrar la función de la linea indicada. Paréntesis.
  10. ¿Realizar esa comprobación antes del guardado quieres decir?
  11. Buenas, últimamente estoy teniendo varios Warnings con el guardado toJSON en la base de datos. Los datos supuestamente se almacenan correctamente pero al momento del guardado (salir del juego, reiniciar) me sale un warning en la consola algo preocupante. A continuación os dejaré lo que yo hago: Primero uso la tabla al crear el jugador y demás, fácil: tabla [ jugador ] = { nombre = "tal", apellidos = "tal", edad = "tal" } Al guardarlo utilizo toJSON, es decir, esto: local datosTabla = toJSON ( tabla [ jugador ] ) Y lo preocupante es que me suelta el siguiente Warning que sigo sin entender: [2016-05-21 13:57:07] WARNING: players/main.lua:614: Bad argument @ 'toJSON' El guardado se realiza así: tabla = '%s' Y en la parte, acabando el WHERE, coloco una coma con sus datos, algo así "WHERE characterID = "..charID, datosTabla Gracias de antemano.
  12. Me sorprende tu trabajo, te lo has currado bastante. ¡Felicitaciones!
  13. ¿Por qué no lo haces server-side todo? Total, son funciones shared.
  14. UP. ¿Alguien me puede dar un ejemplo? No logre hacer que suene ni nada
  15. Quizás setElementCollisionsEnabled?
  16. Está muy chulo la verdad, gran trabajo como siempre.
  17. Ayer tuve problemas, creo que fue porque no asigné el interior y dimensión del sonido
  18. Mi pregunta es si se puede reproducir un sonido de YouTube mediante una api y usando playSound3D ya que quiero implementar música en interiores, como una discoteca por ejemplo. Este código uso yo en cliente. playSound("https://www.youtubeinmp3.com/fetch/?video="..link)
  19. aka Blue

    Pruebas

    Creo que se refiere a si lo está haciendo bien al consumir tanto porcentaje de CPU al usar tantas imágenes.
  20. Dios, se me olvidó comentar que ya está solucionado gracias a @Tomas. Era un fallo mío .
  21. Deberían creados. Si entras a tu servidor y no aparecen los objetos entonces al entrar un player al servidor llama la función donde se crean los objetos usando onPlayerJoin. Si eso no va al caso pues debe de haber algo en la función de inicio que no te deje crearlos. SI está en server-side no es necesario hacer eso porque se re-crearían para todos los jugadores. UNIX_TIMESTAMP() te devuelve eso? Ya está solucionado eso de los objetos, es server-side, se ve que era por mi ping o algo, no obstante, gracias @Gaberiel. Sí, UNIX_TIMESTAMP() me devuelve esos valores, todo en 0
  22. Me da error aritmético en la comprobación del timestamp y me lo guarda con todo a 0 0000-00-00 00:00:00
  23. Gracias Tomás, ahora tengo un problema el cual es que los objetos usando createObject no se crean a la primera sino que aparecen al reiniciar el script. ¿Alguien sabe por qué es eso?
×
×
  • Create New...