Query temporali postato il 29/07/2012 13:58:55 nel forum programmazione, gdrcd, open source, hosting
Salve a tutti...
qualcuno sa come ripetere una query Update ogni tot tempo?
Pagine → 1
29/07/2012 14:27:28
Se i due metodi sopra non ti dovessero andare bne, nel caso per esempio il tuo host non ti forniss eun tool pe ri chron job o far si che uno script esegua ciclicamente l'update quando qualcuno è connesso al sito puoi sempre cercare qualche servizio di chronjob via web, ce ne sono di gratuiti o a bass costo annuale
29/07/2012 14:35:22
Concordando con quello che ti hanno già risposto tutti gli altri, ti consiglio, se puoi, di impostare un cronjob che richiama un batch file o un file generico di scripting (asp o php) che esegua le operazioni che devi fare.
Questo noi lo utilizziamo, ad esempio, per la pulizia automatica delle chat, una volta al giorno, di notte.
Se questo non fosse possibile (de facto non sono molti gli host che offrono questo servizio ad un prezzo accessibile), e nel caso ti occorresse di eseguire l'update per un breve periodo di tempo, puoi considerare l'opzione di inserire questa 'direttiva' come parte integrante di una parte del codice di gioco. Considerando però che queste operazioni verranno eseguite, nel caso medio, molte più volte dello stretto necessario (se hai 100 utenti che richiamano quel blocco di codice, avrai l'operazione eseguita 100 volte.)
Un caso specifico che ci ha riguardato è l'aggiornamento dello stato online del player. Ogni player ha un campo di "Last Activity" e nelle pagine chiave dell'esperienza di gioco (non tutte per evitare eccessivi carichi al server) è stata inserita una direttiva di update di questo campo, con un timestamp apposito. Magari questa soluzione può esserti d'aiuto :)
Ciao ciao 😄
29/07/2012 20:36:36
quello che sto provando a fare io è, sempre rimanendo su GDRCD 5.1, ricaricare la vita del personaggio di un tot al giorno nel caso in cui fosse più bassa del massimo.
L'update è già fatto. Mi manca solo il poterlo ripetere ogni giorno.
ecco come ho provato io...
$row=gdrcd_query("SELECT COUNT(*) FROM personaggio WHERE data_modifica = DATE_SUB(NOW(), INTERVAL 1 DAY) AND nome = '".$record['nome']."'");
if (($record['salute']<$record['salute_max'])&&($row==0)) {
gdrcd_query("UPDATE personaggio SET salute = salute + 15, data_modifica = NOW() WHERE nome = '".$record['nome']."'");}; ?>
Il problema in questo codice è che dopo un tot di tempo (6 minuti) ripristina la vita. D:
29/07/2012 22:51:10 e modificato da dyrr il 29/07/2012 22:53:07
Leggendo il codice mi sembra, permettimi di dirlo un pò di casino:
Prima query:
30/07/2012 06:17:16
Per come la vedo io potresti evitarti tranquillamente l'update in cron, ma fare semplicemente un controllo da caricare in un frame (puoi utilizzare ad esempio stesso quello dei messaggi per non crearne un altro che è già impostato per un refresh ripetuto a tempo) e caricare il punteggio della salute in base al tempo trascorso.
In questo modo quando parte il refresh dell'iframe e viene quindi caricato il file in cui hai inserito il codice, questo potrebbe funzionare lanciando una query di aggiornamento con la quale ad esempio puoi attribuire 1 punto salute per ogni minuto trascorso dall'ultimo refresh indicato. Così facendo se un utente di disconnette mentre è off line non vengono aumentate le statistiche ma appena effettua il login se lo fa dopo 1 mese al primo refresh carica tutti punti per l'intero mese.
Altrimenti se vuoi utilizzare il lancio di una query temporizzata in generale devi farlo in modo ad ogni lancio aumenti il punteggio a tutti gli account (dato che è un singolo evento pianificato) come già scritto appunto o utilizzi un servizio crontab concesso dal server (che non concedono tutti) altrimenti puoi provare (non l'ho mai utilizzato onestamente, di solito uso i cron dei miei server su cui lavoro) il servizio di webcron che puoi cercare su google, dovrebbe permetterti di fare pianificare lanci di script temporizzati per chi non ha server che prevedono questo servizio.
Prima di tutto però secondo me devi partire dal decidere quanti pf far recuperare in quanto tempo, deciso questo si trova il sistema e query da lanciare per farlo.
30/07/2012 14:33:00
ho provato la query che mi hai dato e non sembra funzionare.
Comunque il mio obiettivo è quello di dare 15 punti di vita al giorno se un pg ha meno vita del totale anche se non è connesso. Vorrei utilizzare PHP.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
gdr-online.com ha risposto alla discussione: Aggiornamento "sotto il cofano" per il portale! 🔧
Lineage II: Evento di cambio classe
War Thunder → Aviazione, veicoli corazzati e flotte militari della seconda guerra mondiale. Parteciperai a tutte le principali battaglie!
Dalemyr: Il Morbo consuma Arabel
Stargate Command Online: Estate 2025 e tante novità!
La Tana del Ladro: I Sussurri della Foresta
Hogwarts Ends: ⚡Coppa del Mondo di Quidditch 2026 🏆
Enlisted → Guida la tua squadra di soldati in combattimenti su larga scala, con fanteria, veicoli corazzati e aerei della IIa Guerra Mondiale!
Il genere Crime raggiunge i 700 giochi catalogati!
Sea of Conquest: Changelog del Capitano!
nerethys ha recensito New World GDR
Sea of Conquest → Vivi un'avventura tra i mari! Dal cuore del Mare del Diavolo, un paradiso piratesco brulicante di magia, tesori e avventure, salperai verso l'ignoto!
Hikaru No Tohei - Le Luci di Tohei: Butanews! - Altro che changelog (malfunzionamenti)
I dati del generatore di rank sono stati aggiornati!
Ex Gratia GDR: La PEH! - Sogno e Incubo: Due Facce della Stessa M
lom ha aperto un annuncio di ricerca: Legacy of Magic ricerca Giocatore
Entropia Universe → Lascia che il tuo avatar esplori nuovi mondi e viaggi tra i pianeti in questo stupendo MmoRpg Sci-Fi Free to Play!
Power Player - Scopri chi sono i temuti Power Player e quali sono le loro caratteristiche! Articolo spassosissimo!
eXtremelot - ExtremeLot lascia il web dopo vent’anni.. :-(
Sigil - Intervista al gestore di Sigil, la Città dei Portali il play by chat ambientato nel mondo nei Planescape!
D&D 4ed - Dungeons and Dragons 4a edizione è rivolto solo al combattimento? Scopriamolo!
Diffusione dei GdR - Articolo sulla diffusione giochi di ruolo dello Strategia Blog
Accesibilità e GdR - Il Ruolo dell'Accessibilità nei Giochi di Ruolo Online: come coinvolgere tutti!
Piume Nere - Intervista ad Isabel Capuzzo, Creatrice di Piumenere.it e attuale Narratore...
Ravenloft - Ravenloft, il brivido, la rete: la creatività corale. Parliamo di Arshmork!