Punti carisma postato il 16/12/2008 21:39:36 nel forum programmazione, gdrcd e open source
nel mio gdr vorrei fare in modo che i punti carisma aumentino ad ogni pg ogni due ore.. vi riporto qui la query:
<?
# per modificare il lasso di tempo in cui fare acquisire l'esperienza cambiare il valore "10" di base in quello deciderato nella riga qui sotto
$MySql = "SELECT Ultimocarisma, (DATE_ADD(Ultimocarisma, INTERVAL 1 MINUTE) < NOW()) AS Tempo FROM Personaggio WHERE Nome = '".pars($Login)."'";
$Result = mysql_query($MySql);
$rs = mysql_fetch_array($Result);
$Tempo_ok = $rs['Tempo'];
$Ultimocarisma = $rs['Ultimocarisma'];
$rs->close;
if ($Tempo_ok ==1) {
$MySql = "UPDATE Personaggio SET Carisma = Carisma + '1' WHERE Nome = '".$Login."'";
$Result = mysql_query($MySql);
$MySql = "UPDATE Personaggio SET Ultimocarisma = NOW() WHERE Nome = '".$Login."'";
$Result = mysql_query($MySql);
}
?>
ora ho un problema..che ad alcuni pg si aggiorna ad altri invece rimane fermo e mi tocca aggiornarlo dal db...come risolverlo? Grazie
Pagine → 1
17/12/2008 01:38:39
INTERVAL 2 HOUR credo °-°
17/12/2008 08:33:32
Cioe', tu fai una query, diciamo, ogni 1-3 minuti o quel che e' il refresh di quella pagina per aggiornare un campo ogni 2 ore? :D Non e' molto efficiente...
17/12/2008 11:46:55
grazie ma se metto intervallo di due ore oppure superiore ad un minuto mi esce appena entro: Warning mysql_fre etc etc...
ed inoltre il problema è che si aggiorna sl ad un personaggio e non a tutti :S
17/12/2008 12:10:44
uhm..
modificando la query come han detto sopra mi pare strano che dia un errore. Comunque ti dò un'altra soluzione, se nella pagina di logout prendi l'ultimo accesso e l'ora del logout, fai la differenza delle due date e fai un piccolo calcolo in modo che ogni due ore da i punti?
17/12/2008 12:18:42
Ecco, questa e' un'ottima soluzione :) io avrei tenuto l'ora dell'ultimo carisma assegnato in sessione, ed effettuato l'aggiornamento solo dopo due ore, ma questa soluzione e' migliore.
17/12/2008 23:50:46
Grazie delle risposte..ma sorprende notare che un gestore mi abbia consigliato di mettere INTERVAL 3 HOUR e che questa proposta sia stata appoggiata da molti...bisognava mettere in minuti e non in ora..ma come si dice..chi fa da sè fa per tre...grazie mille. ^_*
18/12/2008 00:18:38
nel mio codice a ore funziona :P nello specifico del tuo non saprei perchè forse dipende dall'hosting che hai ^_^ e se eri tanto geniale da farlo da solo perchè invece di aprire un topic non hai semplicemente fatto come fanno tutti tentativi :) sbagliando si impara
18/12/2008 00:50:25
Ma, scusa, Laos... Se tu ha un appuntamento con una bella tipa alle 9.00 vicino a casa tua e sei a casa alle 6.00 cosa fai?
1) Ti prepari, esci di casa tipo alle 8.50 e arrivi li
2) Esci di casa alle 6.00, verifichi che lei ancora non c'e', torni a casa, riesci alle 6.10, verifichi che lei non c'e', torni a casa, riesci alle 6.20, verifichi che non c'e', torni a casa...
No, perche' il codice che tu proponi fa esattamente il metodo 2, quando ti abbiamo spiegato come fare l'1 :)
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
I dati del generatore di rank sono stati aggiornati!