Qualche modifica postato il 08/12/2006 19:53:54 nel forum programmazione, gdrcd, open source, hosting
Salve a tutti!
Nello scorso thread ho chiesto come risolvere un problema, che è stato risolto alla grande. Ora, più che altro, chiedo un aiutino per quanto riguarda una modifica al codice di GDRCD Blue. Naturalmente, riguarda funzionalità che non sono comprese nella versione non modificata del GDRCD Blue.
1) Avevo in mente di realizzare un gioco di ruolo con "vita" e "mana". Questo richiede che durante il gioco vengano gestite le caratteristiche del personaggio. Sia inteso che dalle due basilari (Mente, Fisico) ne ho aggiunte altre, quindi in questo senso so come fare. Quello che non so fare, è fare in modo di modificare questi dati direttamente dal gioco e non dal database. Mi pare che questa caratteristica sia implementata in altre versioni del GDRCD, ma non sono capace di inserirla, a causa della mia scarsa competenza nel php.
2) Altra cosa: le skill e gli oggetti. Vorrei implementare un sistema di utilizzo di abilità e oggetti posseduti, e magari qualcosa che nel caso degli oggetti li rimuova dall'inventario una volta utilizzati, mentre per le abilità diminuisca il mana di determinate quantità.
3) Avanzamento automatico di una caratteristica. In alcuni giochi di ruolo, ci sono caratteristiche che avanzano automaticamente nel corso del tempo. Mi interesserebbe conoscere il codice per realizzare qualcosa di simile, nei casi più disparati:
a) aumento di una caratteristica senza limite, nel corso del tempo anche non di connessione. Esempio: se qualcuno gioca a Travian, l'incremento regolare delle risorse.
b) aumento di una caratteristica senza limite, nel corso del tempo di connessione. Esempio: se conoscete i gdr online come ExtremeLot, il carisma è l'esempio calzande.
c) aumento di una caratteristica limitata, nel corso del tempo anche non di connessione. Ecco, questa è interessante: faccio il caso del mana. Una volta utilizzata una skill, il mana si rigenera da solo nel corso nel tempo, fermandosi alla quantità massima. Questo regola l'utilizzo della skill nel tempo per evitare abusi.
d) aumento di una caratteristica limitata, nel corso del tempo di connessione. Questo può servire.. non so esattamente a cosa, ma ripeto: sapere come fare è comunque utile.
So che sono tante richieste, e naturalmente non voglio darvi disturbo, tuttavia sarei lieto se poteste aiutarmi. Grazie per l'attenzione!
Pagine → 1
09/12/2006 09:23:08
Invito a soffermarsi un momento sul punto tre.
Il mio inento non è quello di premiare i giocatori con quel tipo di vantaggio, cioè con l'aumento di una caratteristica del genere "carisma". Sinceramente, è un metodo che non mi piace. Tuttavia ritengo che la conoscenza di un sistema del genere può sempre tornare utile.
Parte più importante, espressa nel punto 3c e 3d, riguarda invece non un premio, bensì un ripristino, trattandosi di caratteristiche limitate.
Perchè, direte.
Immaginiamo un pg guerriero. Se la sua salute si abbassa troppo, non sarà in grado di combattere per un pò. Ma la salute si recupera gradualmente. Per farla breve: il pg guarisce nel tempo.
E ora immaginiamo un mago. Possibile che lanci trecento magie al giorno? Anche "regolando" il gioco stabilendo per esempio tre magie al giorno, come faccio ad essere SICURO che il personaggio ne impieghi tre al giorno?
Volendo, in questo caso si può agire in diversi modi, conoscendo il php (non è il mio caso). Possiamo considerare ad esempio quattro variabili: var1, var2, var3, var4.
Queste dovrebbero indicare rispettivamente il numero di discipline utilizzabili al giorno del 1°, 2°, 3°, o 4° livello. Ogni qual volta si utilizza la skill, la variabile del suo livello decresce di uno. Se la variabile è pari a 0 le skill di quel livello non saranno più utilizzabili fino al giorno seguente.
Oppure, soluzione più semplice e forse anche migliore, impostiamo una sola variabile, la caratteristica "Mana". Impostiamo per ogni skill un consumo di mana, ed stabiliamo un'incremento regolare di mana. Ed ecco che abbiamo regolato. Se il massimo di mana è per esempio 100 e l'abilità più forte del pg costa 99 mana, ecco che non la potrà utilizzare più di una volta, ma magari entro breve potrà utilizzare un'abilità minore, che costi 5 o 10 magari.
Spero di esser stato chiaro sul tipo di sistema che vorrei implementare. E' solo un sistema di regolazione, non di premio.
09/12/2006 10:54:52
potresti provare a fare un innesto del gdrcd blue di faber e la chat (con tutto il sistema di skill) del gdrcd aranlab che prevede proprio l'uso di oggetti e skill in chat e che, opportunatamente modificato, farebbe al caso tuo. Nella city di Naruto attualmente in beta test esiste una cosa del genere: il chakra scende con l'uso delle tecniche e sale con il tempo di un certo numero di unità (solo da connessi al momento).
il codice da modificare è quello della pagina input.php aggiungendo qualcosa di simile:
se ($ogg == "2") allora //vuol dire che stai facendo un azione con le skill
selezioni quanto mana ci vuole
selezioni quanto mana ha il pg
se (manapg - manaskill >= 0) allora
manapg = manapg - manaskill
altrimenti
$Msg = "Prova ad usare la tecnica ma non ha abbastanza mana per farlo";
poi ovviamente ci sarebbe da implementare la pagina che in automatico restituisce il mana e si può fare con un codice del genere (è inteso che nella tabella pg ci siano il campo Mana[int], MaxMana [int], UltimoMana [Date]):
<?
# per modificare il lasso di tempo in cui fare acquisire l'esperienza cambiare il valore "3" di base in quello deciderato nella riga qui sotto
$MySql = "SELECT UltimoMana, (DATE_ADD(UltimoMana, INTERVAL 3 MINUTE) < NOW()) AS Tempo FROM Personaggio WHERE Nome = '".pars($Login)."'";
$Result = mysql_query($MySql);
$rs = mysql_fetch_array($Result);
$Tempo_ok = $rs['Tempo'];
$UltimoMana= $rs['UltimoMana'];
$rs->close;
$MySql = "SELECT * FROM Personaggio WHERE Nome = '".$Login."'";
$Result2 = mysql_query($MySql);
$rs2 = mysql_fetch_array($Result2);
$Mana = $rs2["Mana"];
$maxMana = $rs2["MaxMana"];
if ($Tempo_ok ==1) {
if (intval($maxMana) <= intval($Mana)) {
} else {
$MySql = "UPDATE Personaggio SET Mana = Mana + '1' WHERE Nome = '".$Login."'";
$Result = mysql_query($MySql);
$MySql = "UPDATE Personaggio SET UltimoMana = NOW() WHERE Nome = '".$Login."'";
$Result = mysql_query($MySql);
}
} else {
}
?>
salva questa pagina con un nome qualsiasi (mana_up.php ad esempio) e poi modifica la pagina che effettua il refresh (non so quale sia nel gdrcd blue) aggiungendo alla fine:
<? include (mana_up.php'); ?>
09/12/2006 12:40:49
Grazie dei suggerimenti, ora grosso modo ho capito cosa fare.. Ma non "come" fare.
Insomma, attualmente sto confrontando il codice del file input.php del gdrcd blue con quello di gdrcd aranlab per vedere un pò come inserire l'utilizzo delle skill.. Di fatti ho notato che il sistema dell'aranlab utilizza un'altra barra di testo dove inserisce il testo che poi risulterà fra i tag, e non solo: oltre all'invio della frase scritta, ci sono altri pulsanti. Se ho capito bene dovrebbero essere uno per i sussurri, uno per gli oggetti, e uno per le skill. E' un bel caos, sto cercando di fare una via di mezzo.. in pratica una chat alla aran lab che funzioni sul blue. Ma non ci capisco nulla.. Please, help!
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
I dati del generatore di rank sono stati aggiornati!
Saint or Sinner?: Le news del sabato sera..
Planethos GdR → Al gioco del trono o si vince o si muore. Con i Regni divisi, quale sarà la tua strada? Guerra, diplomazia, inganno o commercio? Entra e scoprilo!
Legacy of Magic: Al tempio di Raswa-Ti
ultima_profecia ha risposto alla discussione: Ùltima Profecía
Hogwarts Mystery - GdR: Accademia di Arti Magiche rasa al suolo {Edicola}
nexigeneration ha recensito Anima
OGame → In OGame migliaia di giocatori da tutto il mondo competono tra di loro per conquistare l'intero universo!
The Voyager: Central Train Station e un viaggio in prima classe
Lineage II: Evento di controllo incrociato
Enlisted: Nuovi miglioramenti grafici
desenlace ha aperto un annuncio di ricerca: Road to Hamartia RPG ricerca Giocatore
Ikariam → Su una piccola isola, in qualche parte del Mediterraneo, sorge un`antica civiltà. Sotto la tua guida inizia un`era di ricchezza e di scoperte!
Legacy of Magic: Un nuovo Drakul
Road to Hamartia: Regolamento 2.0: guida alle nuove Maestrie
Nuovo Play by Chat Harry Potter → Dissendium Draconis
World Without Heroes → Affronta le forze occulte che minacciano il mondo in World Without Heroes, un gdr play-by-mobile su Whatsapp basato sulle teorie del complotto!
Dusk - Intervista a Dusk, il play by chat Urban Fantasy ambientato nell'America rurale!
Riverstone - Intervista alla gestrice del play by chat storico ambientato negli anni 20: Riverstone!
Forgotten Kingdom - Intervista al gestore di Forgotten Kingdom, play by chat fantasy mitologico!
Giochi Bleach - Lista completa dei giochi di ruolo online ambientati nel mondo di Bleach
Fairy Tail GDR - Intervista al gestore del gioco di ruolo play by chat ambientato nel mondo del manga Fairy Tail
Westeros GDR - Intervista allo staff di Cronache del Ghiaccio e del Fuoco GDR al gran completo!