DimensioneX/it/guildsystem: Difference between revisions
Line 44: | Line 44: | ||
=== 4 il set comandi === | === 4 il set comandi === | ||
Il set dei comandi | Il set dei comandi '''guildOps''' potevo definirlo nella sezione SETS, però mi viene più comodo definirlo nell'evento '''onStart''', chiamato al caricamento del gioco. Se andate a controllare scoprirete che questo evento si trova in realtà nel nel file '''it_underworld.dxw''', per l'appunto nell'evento chiamato onStart. | ||
guildOps = NewSet("0new=Nuova gilda,1edt_logo=Cambiare logo,2edt_web=Cambiare pagina web,3del=Cancellare la gilda,4-=------(per tutti)------,join=Entrare in questa gilda:,leave=Abbandonare questa gilda:") | guildOps = NewSet("0new=Nuova gilda,1edt_logo=Cambiare logo,2edt_web=Cambiare pagina web,3del=Cancellare la gilda,4-=------(per tutti)------,join=Entrare in questa gilda:,leave=Abbandonare questa gilda:") |
Revision as of 10:19, 6 December 2005
Come funziona il guild system (sistema gilde) in Underworld
Il sistema delle gilde di Underworld è una piccola applicazione inserita nel gioco Underworld e costruita grazie a due caratteristiche di DimensioneX: i SET e le istruzioni SaveSetting/LoadSetting.
Come funziona
1 la stanza delle gilde
Tutto inizia da una stanza (guildroom), che è quella dove l'applicazione è concentrata.
Per questo ho creato una stanza apposita (torre sud-ovest) e un personaggio apposito (Lord Guilford) che serve a far arrivare all'utente i messaggi d'errore se per caso sbaglia qualcosa.
ROOM guildroom NAME nella Torre Sud-Ovest DESCRIPTION Questa è la stanza del capitano delle guardie. Lui conosce tutte le Gilde. IMAGE S armoroom2.jpg PANEL pguilds
In questa stanza si potranno gestire le gilde, ecco perchè nella definizione della stanza specifico che usa un pannello speciale di cui parliamo subito
2 il pannello
Perchè sia possibile gestire il sistema delle gilde, ho creato un apposito set di comandi.
In pratica serve creare un nuovo pannello di comandi, pguilds, che è così definito:
PANEL pguilds VERSION OF default CR CR BUTTON guildcmd, "Do this: ", "Guild action", doGuildOperation DROPDOWN guildop, guildOps, join LABEL "" DROPDOWN guildsel, guildnames, 0
Si tratta, come si vede di una variante del pannello di default a cui sono state aggiunte due liste a tendina (drop-down). Questo è un nuovo controllo che è stato introdotto nella versione 6.0.2 di DimensioneX, che funziona così (vediamo prima la prima lista):
3 la lista a discesa
Il primo id, guildop rappresenta la tendina stessa.
Di questo ID non ce ne dobbiamo preoccupare finché non arriva il momento di leggere l'input dell'utente.
Segue il nome di un SET, guildops. Questo è fondamentale perchè dovrà contenere tutte le scelte disponibili, ovvero i comandi che io decido di far utilizzare agli utenti.
4 il set comandi
Il set dei comandi guildOps potevo definirlo nella sezione SETS, però mi viene più comodo definirlo nell'evento onStart, chiamato al caricamento del gioco. Se andate a controllare scoprirete che questo evento si trova in realtà nel nel file it_underworld.dxw, per l'appunto nell'evento chiamato onStart.
guildOps = NewSet("0new=Nuova gilda,1edt_logo=Cambiare logo,2edt_web=Cambiare pagina web,3del=Cancellare la gilda,4-=------(per tutti)------,join=Entrare in questa gilda:,leave=Abbandonare questa gilda:")
Un SET è un array associativo, e la funzione NewSet me lo fa definire con una sintassi molto semplice. Gli elementi sono separati da virgole e sono coppie chiave=valore.
La chiave è un codice mnemonico in cui ho messo un numero per avere un ordinamento ben preciso. Il valore è una stringa che è ciò che l'utente vedrà. La chiave è quella che io dovrò controllare per scoprire che cosa l'utente ha scelto.
Torna a DimensioneX WIKI Italy