GDRCD EXP/TIME postato il 12/04/2006 22:18:59 nel forum programmazione, gdrcd e open source
Sebbeno avevo già chiesto in passato, sono costretto a richiederlo; causa mancanza di informazioni.
Se è possibile fare che il campo esperienza salga di un punto ogni 5 minuti.
(altrimenti l`apparizione di u bottone ogni 5 minuti che cliccando aumenta di un punto l`esp)
Pagine → 1
12/04/2006 23:33:58
Allora vediamo di risolvere questo problema che l`ultima volta non ci eravamo riusciti fino in fondo:
1) Crea un nuovo campo nella tabella personaggio "UltimaEsp".
2) Nel file che aggiorni regolarmente per controllare che arrivi la posta inserisci questo codice (un po` dove vuoi):
<?
$MySql = "SELECT UltimaEsp, (DATE_ADD(UltimaEsp, INTERVAL 5 MINUTE) < NOW()) AS Tempo FROM Personaggio WHERE Nome = `".pars($Login)."`";
$Result = mysql_query($MySql);
$rs = mysql_fetch_array($Result);
$Tempo_ok = $rs[`Tempo`];
$UltimaEsp= $rs[`UltimaEsp`];
$rs->close;
if ($Tempo_ok == 1) {
$Esp == [fai una query e prendi l`esperienza attuale del pg]
$MySql = "UPDATE Personaggio";
$MySql .= " SET Esperienza = $Esp+1, UltimaEsp=NOW()";
$MySql .= " WHERE Nome = `".pars($Login)."`";
$Result = mysql_query($MySql);
}
?>
//fine codice da inserire
L`unica cosa da rivedere è l`aggiornamento dell`esperienza che io non ho idea di come abbia tu impostato il database....insomma devi ricavarti con una query l`esperienza del pg e credo che tu lo possa fare da solo :P se non funziona vediamo di risolverla in qualche maniera :P
16/04/2006 00:44:51
$select = "SELECT * FROM Personaggio WHERE Esperienza = `$exp`";
$Result = mysql_query($MySql);
$rs = mysql_fetch_array($Result);
Cosi?!?!
21/04/2006 19:54:43
STrano anche a me continua a non funzionare::
PS:se non sbaglio bisogna chiudere la parentesi graffa subito dopo gli update del database;)
21/04/2006 20:14:41
In effetti mancava un parentesi da chiudere ma ora è risolto.
ecco il codice completo e funzionante (provato in locale):
<?
$MySql = "SELECT UltimaEsp, (DATE_ADD(UltimaEsp, INTERVAL 10 MINUTE) < NOW()) AS Tempo FROM Personaggio WHERE Nome = `".pars($Login)."`";
$Result = mysql_query($MySql);
$rs = mysql_fetch_array($Result);
$Tempo_ok = $rs[`Tempo`];
$UltimaEsp = $rs[`UltimaEsp`];
$rs->close;
if ($Tempo_ok ==1) {
$MySql = "UPDATE Personaggio SET Esperienza = Esperienza + `1` WHERE Nome = `".$Login."`";
$Result = mysql_query($MySql);
$MySql = "UPDATE Personaggio SET UltimaEsp = NOW() WHERE Nome = `".$Login."`";
$Result = mysql_query($MySql);
}
?>
da inserire esattaemnte prima di </body> nella pagina presenti.php
per qualsiasi altro problema (se non funzionasse) ho fattto un file rar che manderò adesso a Gianluca per farlo aggiungere tra i tool con delle spiegazioni più specifiche per l`uso XD
stay tuned.
21/04/2006 22:33:15
Ditemi se funziona perchè a me no....
(e a questo punto penso sia colpa del mio file presenti ((che tral`altro non mi segna i presenti)))
21/04/2006 23:45:30
non so che dire a me in locale funziona, quindi non vedo motivo per cui non dovrebbe funzionare su alterivista o simili :P
io ho mandato il tool a gianluca con spiegazione dettagliata sui passaggi da seguire speriamo di risolvere così
23/04/2006 14:19:23
Ho fatto talmente tante modifiche in giro delle pagine da aver toccato qualcosa....
in fatti non segna neanche i presenti nella stanza... ç_ç
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!