Nuovo controllo Punti postato il 20/04/2013 13:51:16 nel forum programmazione, gdrcd, open source, hosting
Buongiorno a tutti,
vi scrivo per un problema di programmazione, che in realtà è composto da più parti...
L'idea: Creare una pagina php, che verrà richiamata con un chronjob una volta al giorno, che controllo la data degli ultimi punti esperienza ricevuti da ogni PG e inserisce, nel caso la data sia più vecchia di una settimana, un malus (-1 punto esperienza) a quel PG.
Il motivo: I Punti esperienza in gioco "equivalgono" al grado di preparazione fisico e mentale dei PG. Essendo un'ambientazione militare, ci si addestra, ci si allena, si impara a sparare e si cerca di mantenere l'allenamento. A rigor di logica, se i punti salgono, man mano che il PG "migliora" in riflessi, forza fisica, prontezza ecc ecc sarebbe solo logico che se un PG non si muove per 2 settimane, questo sia "meno preparato" fisicamente e mentalmente di quanto non fosse prima.
Come fare: Il GDR è basato su GDR-CD, anche se ormai ben poco è rimasto del vecchio codice, cmq, la struttura della Tabella "Punti" non è cambiata moltissimo. Ci sono alcuni campi in più, ma per ora ignoriamoli e diamo per contato che i campi che ci interessano sono:
"Nome" (Il nome del personaggio), "DataEvento" (La data dell'ultima assegnazione dei punti) e "Esperienza" (I punti esperienza assegnati).
Il controllo dovrebbe essere:
if DataEvento < NOW-7gg
INSERT nuova riga con Nome = NomePG controllato, DataEvento = NOW e Esperienza = -1
I problemi:
- Come controllo TUTTI i PG iscritti?
- Come inserisco il valore di ID (La chiave primaria della tabella Punti) che deve "autoincrementarsi"?
Grazie a tutti ^^
20/04/2013 13:58:11
Ultima considerazione:
Pensavo di lavorare su qualcosa tipo:
20/04/2013 13:58:45 e modificato da overlord il 20/04/2013 14:07:03
Mi viene da pensare ad una soluzione migliore, perché invece di scomodare i job a tempo, non fai il controllo al login dell'utente? Non consumeresti neanche query in più. Quando richiami dal DB tutti i dati per la verifica che l'utente è vero, con un Join richiami anche la data ultimo evento di assegnazione PX, poi fai una verifica con IF (ovviamente XD) su questo valore, e se più vecchio di tot tempo, assegni il malus.
20/04/2013 14:12:37 e modificato da leoblacksoul il 20/04/2013 14:21:32
Una query per domarli:
20/04/2013 14:43:07 e modificato da sgc carter il 20/04/2013 14:46:47
OK...
Ora però, mi sono "reso conto" che inserire una riga in "Punti" non è l'unica cosa che devo fare... C'è da "togliere" un punto anche alla voce "Esperienza" della tabella "Personaggio" dove il "Nome" equivale al nome del PG "fuori allenamento" XD
Quindi,
uso un INSERT nella tabella Punti affinché il prossimo "punto" lo toglie quando passa un'altra settimana dall'ultimo controllo. E va bene
E poi devo togliere un punto exp dalla Tabella Personaggio...Any hint?
Quanto a:
"Devono aver ricevuto almeno una volta dei punti exp" certo... se non ne hanno nessuno, non possono ricevere sottrazioni, va bene.
"Non possono scendere sotto lo 0" Beh, tencicamente possono... non è un valore utile, ma in teoria, potrebbero.
20/04/2013 14:59:05 e modificato da leoblacksoul il 20/04/2013 15:00:55
una è un'update, l'altra è una insert, non si possono fare nella stessa query. Quindi devi necessariamente farle in due passi.
Fai prima:
20/04/2013 15:01:20
Quando fai l'INSERT del -1 lanci anche un UPDATE della tabella personaggio per sottrarre 1 al suo valore totale di esperienza, e che ci vuole :D
20/04/2013 15:05:09 e modificato da sgc carter il 20/04/2013 15:11:35
Hmm, quindi inserendo questo:
20/04/2013 15:14:14 e modificato da leoblacksoul il 20/04/2013 15:15:10
Si esatto. Io la farei in un cron però, al login viene eseguita molte più volte di quanto sia necessario e le query aggregate sono pesantucce.
Ricordati di testarle prima metterle per davvero sul tuo gdr, io non le ho testate per davvero ;)
20/04/2013 15:16:51
Sto testando or ora e...
Funziona la parte dell'inserimento della riga in "punti" ma non sottrae il punto al Personaggi nella tabella Personaggio...
20/04/2013 15:42:02
Domanda... ma perché proprio in quell'ordine?
Ho controllato i vari dati, nome tabella, nomi campi ecc ecc, e sono tutti giusti... può essere che il problema sia nel "Join" dei dati?
Discussione seguita da
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
Intervista alla gestione del play by chat Raxhodya Yaoi GdR
I dati del generatore di rank sono stati aggiornati!
War Robots → Domina il campo di battaglia con War Robots: strategia, azione e mecha in un'esperienza multiplayer epica!
tartoo ha recensito La Tana del Ladro
Ardhalyce: 📜Presentiamo: Il Regno di Eredin!✨
deanna ha recensito Apocalypse Requiem: Detroit
Salvation GDR: Inizio del primo episodio - Le sparizioni
World of Tanks → Lanciati in epiche battaglie spalla a spalla con altri giocatori. Conquista la supremazia nel mondo dei Carri Armati!
zarina si è accreditato come gestore di Sunday Bloody Sunday
Il gestore di La Tana del Ladro ha risposto alla recensione di iogiocodiruolo
Il gestore di La Tana del Ladro ha risposto alla recensione di ayla21
World of Tanks → Lanciati in epiche battaglie spalla a spalla con altri giocatori. Conquista la supremazia nel mondo dei Carri Armati!
War Robots: Aggiornamento 10.9
Star Wars Forum: Punti di Forza
Nuovo Play by Chat Scolastico → The Last Sparks - Savannah Tales
Exclusive Villa GdR → Las Vegas, azzardo, vizi, soldi, intrighi... Più le sue luci sono scintillanti, più le sue ombre sono oscure. La città che non dorme mai, vi aspetta.
Cos'è il Gdr? - Scopriamo dal maestro Yoshi i primi passi per giocare ad un gdr...
The Veil - Intervista al gestore Hello, friend - The Veil, play by chat urban fantasy!
Ravenloft - Ravenloft, il brivido, la rete: la creatività corale. Parliamo di Arshmork!
Hogwarts Legacy - Non solo Hogwarts Legacy: tutti i videogame ispirati a Harry Potter
Armi da Mischia - Semplice manuale per le armi da mischia in un gioco di ruolo. Scopri come giocarle al meglio!
Agarthi - Intervista alla gestione del play by chat fantasy Storie di Agarthi!
Creazione Linguistica - Tesi di Laurea dal titolo: La creazione linguistica in J.R.R. Tolkien
Last Order - Intervista alle gestrici di Last Order il play by chat esoterico