Jump to content

Crear intervalo por MySQL


aka Blue

Recommended Posts

Buenas, quiero crear un intervalo que vaya por MySQL. Es decir, que por ejemplo, si yo ejecuto el comando /pedirAhora, calcule un día desde que lo pedí y que no deje utilizar el comando hasta que no se haya cambiado el valor en el SQL. Demostración:

MySQL = 0

/pedirAhora = MySQL (1), intervalo 1 día

MySQL = 1

/pedirAhora = "Tienes que esperar 1 día"

Al día siguiente

MySQL = 0

/pedirAhora = MySQL (1), intervalo 1 día

Espero que me haya explicado bien, xD.

Gracias de antemano.

Link to comment
Esto lo encontré en una GM de Mr.Aleks. ¿Se puede hacer?
local qh = dbQuery( mysql, "INSERT INTO table_name VALUES (charID, time, weapon)", exports.players:getCharacterID(player), "NOW() + interval 7 day)", weapon ) 
  

Antes que nada es gamemode es no es Mr.Aleks si no mio por que que yo sepa Mr.Aleks no hizo ningún GM de 0 por si mismo, y si perfectamente por ser mta el mysql no cambia para nada osea puedes usar el NOW() + interval 1 day o otra cosa para sumar dias ya sea en timestamp o fechas.

Te dejo algunos ejemplos

  
"UPDATE players SET jail = NOW() + INTERVAL 7 day WHERE ID = 1" 
"UPDATE players SET lastjoin = NOW() + INTERVAL 7 minute WHERE ID = 1" 
"UPDATE players SET lastjoin = NOW() + INTERVAL 10/30 hour_minute WHERE ID = 1" 

Otra cosa es que si quieres que mysql automaticamente lo haga por ti es decir cambiar el valor de 1 a 0 al pasar ese X tiempo para eso vas a tener que activar los EVENT de mysql con

SET GLOBAL event_scheduler = ON; 
SET @@global.event_scheduler = ON; 
SET GLOBAL event_scheduler = 1; 
SET @@global.event_scheduler = 1; 

y después podrás crear eventos como este:

CREATE EVENT myevent 
    ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 MINUTE 
    DO 
      UPDATE players SET money = 1 WHERE ID = 1; 

Tendrias un resultado parecido a este: 9466cc4b3cfaee8cd900ed7a47f2b98a.png

Si necesitas algo mas sobre mysql o no entiendes bien como funcionan los eventos avísame y te lo explico en este mismo post.

Link to comment
Como dice Asus ese GM no es mío, si no entiendes muy bien su comentario y conoces paradise puedes fijarte como sacan la última conexión en el sistema de facciones y hacerte una idea de como hacerlo.

Es mas bien tuyo y mio no solo tuyo por eso lo decía :) ( se refería al RC)

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...