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
venus dormiens ha aperto un annuncio di ricerca: Origo Haeredis - Harry Potter Gdr ricerca Giocatore
Metin2: Server Boost Yohara – Dettagli e FAQ
Metin2 → Sfida i tuoi rivali a battersi con te e dimostra la tua superiorità in questo mondo fantasy!
Sea of Conquest: Ci dai una mano ai #PocketGamer Awards 2024?
goldaries ha recensito Games of Thrones Winter is Coming
spike92 ha recensito Il Grande Blu
World of Warship: Aggiornamento 13.11: anteprima
Entropia Universe → Lascia che il tuo avatar esplori nuovi mondi e viaggi tra i pianeti in questo stupendo MmoRpg Sci-Fi Free to Play!
gdr-online.com ha risposto alla discussione: Parere su BrowserGame
W40K Dathyar: Specializzazioni
NosTale: Ora nel NosMall: dolcissimi mini-pet
DarkOrbit: Aggiorna la scatola dell'Apocalisse!
Game of Thrones → Pronto a diventare il Signore dei Sette Regni? Guida la tua grande casata in epiche battaglie PvP ed esplora il mondo di Westeros!
I dati del generatore di rank sono stati aggiornati!
aik ha aperto una nuova discussione: Parere su BrowserGame
eXtremelot: La Bussola dei Cartografi di Lot
Dallas Black Gold: [Trama] JFK Memorial
OGame → In OGame migliaia di giocatori da tutto il mondo competono tra di loro per conquistare l'intero universo!
Crisi dei GdR - Il GdR è in declino? La colpa è di Dungeons & Dragons?
Avatar per GdR - Raccolta di oltre 1.200 avatar/prestavolto da utilizzare nei giochi di ruolo online
Giochi Guerre Mondiali - Lista completa dei giochi di ruolo online ambientati durante le guerre mondiali
Shannara - Recensione del GDR ambientato nel mondo creato da Terry Brooks
Lista Mud - Lista dei Multi user dungeon (Mud) presenti sul protale
Undead - Intervista al gestore del play by chat sui Vampiri Undead! Entra nell'oscurita!