Differenze tra le versioni di "PanoramicaMUD"
Da MontelLUG WIKI.
Riga 22: | Riga 22: | ||
==Permessi== | ==Permessi== | ||
+ | |||
+ | Gli oggetti, le connection, i dialoghi etc. non possono essere accessibili da tutti. Ad esempio, per attraversare una connection potrebbe essere necessario saper volare, o scalare o nuotare; per poter usare un oggetto può essere necessario essere un mago, o un elfo, o avere una determinata forza. Gli objet, connection e dialog contengono tutti un oggetto access, istanza di una classe che rappresenta le condizioni per cui un oggetto è utilizzabile, una connection attrabeversabile, un dialogo audibile. | ||
+ | Nella classe access sono contenute condizioni nella forma: | ||
+ | -Skills da avere almeno tot | ||
+ | -Skills da ''non'' avere o avere fino a tot | ||
+ | -Feats da avere | ||
+ | -Feats da ''non'' avere. | ||
+ | -... | ||
==Personaggi== | ==Personaggi== |
Versione delle 11:36, 16 lug 2004
Mappa
La mappa e' realizzata tramite 3 classi: Location, FakeLocation e Connection.
Location
Contiene una descrizione dell'ambiente e la lista di oggetti e personaggi non giocanti presenti all'interno dell'ambiente. Le informazioni contenute nella location sono normalmente immagazzinate nel db (su disco); vengono caricate in memoria solo quando almeno un personaggio giocante è nella location. Dopo tot tempo in cui nella location non vi è più nessun pg, viene salvata nel db e tolta dalla memoria.
FakeLocation
E' lo scheletro della location, mantenuto sempre in memoria per rappresentare la mappa. Contiene un'identificativo, un puntatore alla Location di cui e' scheletro, i puntatori alle Connection vicine e la lista dei personaggi giocanti.
Connection
Rappresenta la connessione tra FakeLocation. Gestisce i permessi di accesso alle FakeLocation da parte dei pg.
Esempio
Per muoversi un giocatore controlla la FakeLocation in cui si trova e chiama un metodo della sua FakeLocation per andare a nord. La FakeLocation chiede alla Connection se il personaggio puo' passare e in caso di risposta positiva modifica il puntatore FakeLocation del personaggio, altrimenti gli notifica il rifiuto.
Permessi
Gli oggetti, le connection, i dialoghi etc. non possono essere accessibili da tutti. Ad esempio, per attraversare una connection potrebbe essere necessario saper volare, o scalare o nuotare; per poter usare un oggetto può essere necessario essere un mago, o un elfo, o avere una determinata forza. Gli objet, connection e dialog contengono tutti un oggetto access, istanza di una classe che rappresenta le condizioni per cui un oggetto è utilizzabile, una connection attrabeversabile, un dialogo audibile. Nella classe access sono contenute condizioni nella forma: -Skills da avere almeno tot -Skills da non avere o avere fino a tot -Feats da avere -Feats da non avere. -...
Personaggi
Oggetti
Dialoghi
I dialoghi sono il punto distintivo di questo MUD. Anche i png fanno dialoghi sensati ed interattivi. I dialoghi sono tutti salvati nel db e vengono caricati in memoria a bisogna. Ogni dialogo è formato da frasi.
Dialog
Il dialogo ha dei permessi per essere sentito ed un link alla frase iniziale.
Phrase
La frase ha un testo che la rappsenta e una lista di possibili risposte. Ogni risposta viene presentata solo se consentito dai permessi di ogni risposta.
Answer
Contiene un testo, degli accessi per decidere se visualizzarla, un'azione che il personaggio parlante fa e un puntatore alla frase successiva.
Esempio esemplificativo:
-
Quest
Vediamo una quest come una "maglietta" che il pg indossa, su cui ci sono scritti i dialoghi dei png (personaggi non giocanti) che incontra e le informazioni sull'avanzamento della quest (persone uccise, oggetti trovati, membra smembrate, posti visitati etc.).
Ci sono due tipi di quest all'interno del mud:
- quelle autogenerate;
- quelle create ad hoc dagli amministratori.
Create ad hoc
Le scritte sulla maglietta sono create da un amministratore (probabilmente tramite interfaccia web). L'amministratore potendo creare i dialoghi e potendo scegliere chi e in che situazione li pronuncia, può creare qualsiasi tipo di avventura.
Autogenerate
Una funzione si occupa di creare una quest in base a determinati modelli. Ad esempio:
- Vai a prendere quell'oggetto e portamelo.
- Uccidi dolorosamente tizzio, caio e sempronio (che saranno di una gilda avversa e alla portata).
- ...