Jump to content

aka Blue

Members
  • Posts

    2,106
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by aka Blue

  1. ¿Por qué no guardas directamente el numero de tiros y los compruebas después? Haz un triggerClientEvent cuando se desloguee, luego de cliente a servidor con los datos y ya al loguearse pues comprobar sin más.
  2. Deberías hacer que cargue los datos cuando se loguee, no cuando inicie el recurso. Por lo demás, en el guardado, haz que tire un trigger al cliente y que devuelve al servidor con los datos y compruebas si el jet está en true, en caso contrario que no lo guarde.
  3. ¿Hay cálculos que lo transformen en relativo? Para los text uso sx/1000, sy/1000 y la escala sy*scale
  4. Si, debes pasarla a servidor ya que las funciones SQLite son de lado servidor.
  5. Buenas. Estoy utilizando un nuevo método para hacer dxDraws relativos y tengo problemas con el dxDrawRectangle, la cosa está en que, en resolución baja (800x624 si no me equivoco), se ponen más pequeños y no sé si en una mayor a la que tengo (1024x768) se verían bien o mal. Ésto es lo que uso: -- Parte normal: local sx, sy = guiGetScreenSize( ) dxDrawRectangle( sx/19, sy/10+480, sx/5, sy/30, tocolor( 0, 0, 0, 50 ) ) -- Con posiciones del ratón: local sx, sy = guiGetScreenSize( ) local mx, my, worldx, worldy, worldz = getCursorPosition( ) dxDrawRectangle( sx*mx-10, sy*my-3, sx/10+90, sy/10+70, tocolor( 0, 0, 0, 80 ) ) Gracias de antemano.
  6. Cuando usas # delante de la variable de una tabla o de una tabla, obtienes la longitud de la misma, con la cual pues, puedes comparar o lo que quieras hacer. Devuelve un número, la longitud o datos almacenados dentro.
  7. Usa #sendto para comprobar la longitud de la tabla.
  8. aka Blue

    Chat(Ayuda)

    Prueba lo que te dije... local tag = exports.gang_system:getGangData(group, "tag") or ""
  9. aka Blue

    Chat(Ayuda)

    local tag = exports.gang_system:getPlayerGang(source) Creo que podrías poner esto, no sé si funcionaría sinceramente local tag = exports.gang_system:getPlayerGang(source) or ""
  10. Te dejo unos ejemplos por aquí para que te puedas guiar. Sinceramente, no sé si son los métodos más efectivos (no nos vamos a mentir), por lo tanto no te aseguro una máxima optimización, pero en cuanto a si funciona o no, sí funciona. Suerte y si tienes alguna duda me dices. -- Creamos la base de datos y la tabla principal addEventHandler( "onResourceStart", resourceRoot, function( ) sql = dbConnect ( "sqlite" , "accounts.db" ) -- Create the connection accountsTable = dbExec ( sql , "CREATE TABLE IF NOT EXISTS accounts (account TEXT,password TEXT,serial TEXT)" ) if fileExists( "accounts.db" ) and sql and accountsTable then outputDebugString( "Succefully connected SQLite resource" ) else outputDebugString( "Failed to connect SQLite" ) end end ) -- Comprobar si un SELECT FROM devuelve un resultado: local find_account = dbQuery ( sql , "SELECT * FROM accounts WHERE account = ?", username ) local result = dbPoll( find_account, -1 ) if result and #result > 0 then outputDebugString( "Account exists" ) else outputDebugString( "Account does not exists" ) end -- Uso de INSERT local qh = dbQuery ( sql , "INSERT INTO accounts (account,password,serial) VALUES (?,?,?)", username, md5(password), serial ) local result = dbPoll( qh, -1 ) if result then outputDebugString( "Registered" ) return true else outputDebugString( "Error, contact server admin" ) return end -- Uso de UPDATE local result = dbFree ( dbQuery ( sql , "UPDATE accounts SET password = ? WHERE account = ?" , md5(new_pass), account ) ) if result then outputDebugString( "New MD5 password = "..md5(new_pass) ) outputDebugString( "Without MD5 = "..tostring( new_pass ) ) else outputDebugString( "Error changing password" ) end
  11. El error te lo indica correctamente. Elimina la ) de la línea 22... end)
  12. Si, puedes guardarlo haciendo una variable en el script y al desloguearse o irse del servidor hacer una serie de triggers para enviar los datos y guardarlos con SQLite o XML, lo que quieras. (Aunque tambien puedes usar elementData). Luego al loguearse pues simplemente mandas los datos al cliente, llenando esa variable que hemos creado y añadiéndole el progreso.
  13. Hace tiempo vi un aporte creo en la comunidad Española de un pequeño script que dibujaba una línea entre el arma del jugador y el objeto al que está apuntando, vamos, un láser que digamos. ¿Cómo podría hacerlo? Gracias Borrad el post, ya lo encontré: function drawline() if (getPedTargetStart(localPlayer)) then --Checks if there is a Point to start From. local x,y,z = getPedWeaponMuzzlePosition(localPlayer) -- Gets the Point to start From. local sx,sy,sz = getPedTargetCollision(localPlayer) -- Gets the Point where the Targets Collision is. dxDrawLine3D(x,y,z,sx,sy,sz, tocolor(255, 0, 0)) -- Draws the Line end end addEventHandler("onClientPreRender",getRootElement(),drawline) -- Adds the Handler.
  14. Si es para un selector de skins o algo parecido, puedes usar getCameraMatrix para obtener los datos de una posición y luego spawnear un ped en esa posición asignandole la rotación que necesita para que quede a tu gusto.
  15. This is because you have any error in code. I dont wanna make spam but you can try this resource made by me: http://www75.zippyshare.com/v/KKmIcopn/file.html
  16. Pues usas triggerServerEvent y una vez en lado servidor usas executeCommandHandler aunque si lo vas a hacer por panel, transforma el addcheck en función.
  17. Podrías como mínimo molestarte en leer los argumentos de la función. https://wiki.multitheftauto.com/wiki/ExecuteCommandHandler Si crear el marker es server-side debes crear un triggerServerEvent y ejecutar la función o el comando en ese lado.
  18. @kikos500 setTimer works with ms, 2 minutes are 120000 ms. MarkTraf = createMarker (2430.783203125, -988.7255859375, 70.225921630859,"cylinder",2.0 , 255, 255, 0, 255) setTimer( function( ) local players = getElementsByType( 'player' ) for i=1, #players do local player = players[ i ] if isElementWithinMarker( player, MarkTraf ) then givePlayerMoney( player, 500 ) end end end, 120000, 0 )
  19. aka Blue

    Bai

    Adiós
  20. aka Blue

    Duda(Script)

    Sincronizalo para todos con un triggerClientEvent con argumento root
  21. aka Blue

    Duda(Script)

    Se usan shaders. Hay scripts por la comunidad, busca Cinema y te saldrán.
  22. Buenos días/tardes/noches. Estoy creando un pequeño sistema de cifrado de contraseñas, debido a que los que hay actualmente disponibles (MD5, SHA1) son más que fáciles de descifrar por personas ajenas a un proyecto. Por ahora tengo algo así creado, me gustaría saber cómo podría hacer la sustitución de strings y lectura normal ya que ando aprendiendo con las funciones de string. Gracias de antemano local letras = { {"a", ""}, {"b", ""}, {"c", ""}, {"d", ""}, {"e", ""}, {"f", ""}, {"g", ""}, {"h", ""}, {"i", ""}, {"j", ""}, {"k", ""}, {"l", ""}, {"m", ""}, {"n", ""}, {"ñ", ""}, {"o", ""}, {"p", ""}, {"q", ""}, {"r", ""}, {"s", ""}, {"t", ""}, {"u", ""}, {"v", ""}, {"w", ""}, {"x", ""}, {"y", ""}, {"z", ""}, {"A", ""}, {"B", ""}, {"C", ""}, {"D", ""}, {"E", ""}, {"F", ""}, {"G", ""}, {"H", ""}, {"I", ""}, {"J", ""}, {"K", ""}, {"L", ""}, {"M", ""}, {"N", ""}, {"Ñ", ""}, {"O", ""}, {"P", ""}, {"Q", ""}, {"R", ""}, {"S", ""}, {"T", ""}, {"U", ""}, {"V", ""}, {"W", ""}, {"X", ""}, {"Y", ""}, {"Z", ""}, {"0", ""}, {"1", ""}, {"2", ""}, {"3", ""}, {"4", ""}, {"5", ""}, {"6", ""}, {"7", ""}, {"8", ""}, {"9", ""}, {"(", ""}, {")", ""}, {"{", ""}, {"}", ""}, {"[", ""}, {"]", ""}, {'"', ""}, {"'", ""}, {"?", ""}, {"¿", ""}, {"!", ""}, {"¡", ""}, {"+", ""}, {"-", ""}, {"\t", ""}, {"\n", ""}, {",", ""}, {"=", ""} }
×
×
  • Create New...