Esperienza automatica postato il 04/04/2010 10:27:51 nel forum programmazione, gdrcd e open source e modificato da hakkai_cho il 04/04/2010 10:28:31
Ragazzi forse questa domanda è stata rifatta e ri-rifatta xD ma dai post che io ho cercato e trovato,non ho ottenuto nulla di buono,allora vi chiedo per favore,di potermi postare la stringa di codice che serve per fara aumentare l'esperienza ad ogni ruolata:
SE il testo inviato dal personaggio è > di 200 caratteri,aumenta di 0.1 i punti esperienza del personaggio.
Scritto in italiano è facile xD è in php che non so scriverlo :(
Questa è la stringa dove vorrei applicare il codice.
Pagine → 1 2
04/04/2010 10:52:37
Quella è la parte del refresh.php e se anche dovessi applicare li un controllo che assegna 0.1 px se la frase è più lunga di 200 caratteri. Ogni volta che qualcuno visualizza quella frase, cioè ogni qualvolta un pg entra o esce dalla chat dove è stata inviata l'azione nell'intervallo di tempo in cui viene visualizzata quella frase all'ingresso in chat vengono assegnati 0.1 px a quell'utente.
Al massimo un controllo sula lunghezza della stringa per assegnare i px lo metterai nell'input.php poco prima che venga inserita la frase nel database. in questa maniera puoi essere sicuro che i px vengano dati una volta sola per ogni inserimento di frase.
Consiglio poi spassionato se usi questa meccanica è di fare qualche controllo, magari automatizzato che controlli i px giornalieri fatti da ogni utente e che in caso ne abbiano fatti più di un tot ti avvisi onde evitare spammning selvaggio da parte di furbi.
P.S.: nella mia spiegazione visto il pezzo di codice ho assunto che tu stessi usando il gdrcd-extreme, nel caso stessi usando qualche altro os i file di riferimento sono diversi ma il concetto sul fatto di inserire il controllo e l'assegnazione dei px nella pagina dove inserissce la frase nel database è sempre valido
04/04/2010 21:45:30
Bhe vi ringrazio anche per i consigli ma io voglio continuare su questa via,ma non so proprio come fare,ho bisogno di una mano.... T_T
05/04/2010 00:56:34
Sembra, pari pari, il sistema exp che usavano su Klotien.
A prescindere dall'implementazione tecnica e dal numero di punti assegnati, ovviamente l'esperienza così assegnata di per sé dice poco. Suppongo che tu sappia cosa farne, dopo che i pg la accumulano. Quindi evito di darti suggerimenti sulla sensatezza o meno del sistema.
In ogni caso avendo implementato un sistema simile, i suggerimenti per rendere meno soggetto al flood finalizzato all'accumulo di esperienza il sistema sono:
1) Numero minimo di caratteri inviati
2) Intervallo minimo di tempo tra un invio e l'altro (antiflood) con mancata attribuzione di px in caso di invio troppo ravvicinato (o addirittura mancata considerazione dell'invio, non solo per l'exp ma anche per l'apparizione in chat).
3) Quorum massimo giornaliero di px accumulabili, non solo per frenare eventuali profittatori, ma anche per non svantaggiare eccessivamente chi può giocare meno degli altri (ossia per non rischiare di trasformare questo sistema in un meccanismo di web-forcing).
Il controllo sull'invio di frasi di senso compiuto lo vedo difficile, e anche qualora fosse implementabile tecnicamente un sistema di riconoscimento delle frasi di senso compiuto, lo vedo un sistema facilmente aggirabile tramite copia-incolla di frasi di senso compiuto.
Esattamente come un automatismo da chat difficilmente potrà valutare con precisione il senso di una freccia scoccata da un pg in funzione di eventuali ostacoli presenti nel luogo.
05/04/2010 01:37:30
Extreme gia' assegna di suo i px per azione. Naturalmente, come tutto in extreme, spesso e volentieri non funziona.
06/04/2010 15:25:34
Si infatti Faber,ho trovato questo piccolo codice proprio nell'input,forse ti riferisci a questo,e a mio parere non parte nemmeno,allora lo posto magari qualcuno riesce a capire il problema...
06/04/2010 16:46:53
hai provato a controllare che tipo di dato è impostato nei campi Esperienza e PXRegalati della tabella Personaggio?
magari non prende i decimali. come tentativo potresti assegnare come valore iniziale di $PXRegalati invece che 0.01 un numero intero, 1 ad esempio o anche 2
vedi se funfa così, altrimenti metti un echo dopo la query e fatti stampare l'update :P
07/04/2010 10:40:11 e modificato da hakkai_cho il 07/04/2010 10:43:19
Ora funge *_* ho solo alcune domande:
Ora anche se l'utente invia ad esempio una sola lettera,l'esperienza sale di uno! O_O io vorrei mettere che ogni 100 cartteri si abbia un punto esperienza,ho pensato al'IF,ma non so dove inserirlo,potreste darmi una dritta? *_*
Ho pensato a questo:
07/04/2010 11:47:30
Con quel codice ti assegna i px solo se la lunghezza della stringa è = a 1000 a te serve usare un >= lunghezza minima a cui vuoi assegnare i px
07/04/2010 20:34:22
07/04/2010 22:17:55
Ok sono riuscito a farlo andare,,con i decimali *_*.
Però non riesco a calcolare il level up,insomma io setto che ogni 12.0 px lui mi deve aumentare il livello,ma me lo aumenta ogni 15 O____O illuminatevi T_T
Pagine → 1 2
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
Titan Revenge: Minigioco San Patrizio