Ciao criss....
Ci stavo pensando da tempo.
Vorrei redarre uno script che , premendo per esempio un pulsante che compare in una stanza soltanto,
il sistema memorizzi con un savesetting tutti gli oggetti in quella stanza con tutte le loro caratteristiche in modo da,con un altro pulsante ricrearrne delle copie esatte.
E' fattibile?
sì è fattibile, io sto pensando a una specie di scrigno magico in grado di salvare con delle savesetting tutti gli oggetti che ci metti, per poi recuperarli quando tornerai.
la difficoltà principale è quello di salvare tutte le informazioni che ti servono. alcuni oggetti sono perfettamente descritti dal loro tipo es. l'oggeto con tipo
weapon.21.sword
è nel mio catalogo e mi basta questa sigla per ricrearne uno uguale.
però l'oggetto
bottle.potion
è una pozione, ma non ho detto quanta ce n'è dentro (da 0 a 5 sorsi), e stessa cosa vale per le monete.
una volta risolto questo piccolo problemino con una serie di eccezioni (limitate) la strada è spianata. Mi spiego meglio: per questi oggetti particolari non basta salvare il loro tipo, ma devi anche memorizzare alcuni attributi tipo la quantità o le monete. QUindi non basta salvare il tipo ma una STRINGA in cui c'è sia il tipo sia gli eventuali altri attributi che servono.
se vuoi uno script che salva un SET di cose incluso il loro numero vedi un pò vedi dentro uwcommons le seguenti:
saveWcatalog()
buildWcatalog()
queste creano un "catalogo" ovvero un ricettario sul file .sav di stringhe codificate in modo ben preciso, per ricreare poi degli oggetti, dinamicamente.
makeItem()
ricrea un oggetto a partire dal catalogo, ovvero dalla stringa memorizzata nel file .SAV
Insomma la base è quella. Una volta che ci includi pozione e denaro e oggetti simili è fatta.
quindi se non ho capito male,conoscendo già quali siano gli atttributi degli oggetti,un o può salvare una stringa lunghissima dividendo per dire gli attributi con una , e un oggeetto dall'altro con uno / ( per esempio) e poi uno dovrebbe riuscire a spezzettare la stringa e ricreare gli oggetti,sbaglio???