Oppure

Loading
26/10/12 17:08
Thejuster
Volevo un parare da voi

che ve ne pare di questa idea?

img89.imageshack.us/img89/2973/…


img526.imageshack.us/img526/4092/…

L'unico problema che ho, e che i file in txt o altri formati in vario simili
non è possibile compilarli in xnb. XNA non permette di effettuare questa cosa.
e pensandoci un pò qualcuno che imparerebbe perfettamente le varie funzioni di mmorpgmaker
potrebbe manipolare o alterare come vorrebbe il client a runtime.

qualcuno di voi ha qualche idea su come si potrebbe evitare un qualcosa di simile?
mire.forumfree.it/ - Mire Engine
C# UI Designer
27/10/12 9:46
Il Totem
Puoi usare il proxy/delegate pattern. Esponi un'interfaccia per le funzioni che sono usabili dagli script. Questi richiameranno tali funzioni attraverso l'interfaccia e potrai quindi decidere quali esporre, quali implementare e anche controllare i parametri prima di eseguire la funzione reale dell'oggetto in questione.
aaa
27/10/12 13:37
Thejuster
uhm non sò se si può fare totem.

Come linguaggio di scripting ho scelto le librerie lua.

il sistema di mmorpgmaker è che il client diventa un iterprete degli script creati dall'utente
che vuole permettere di far fare determinate cose programmando npc e eventi.

riguardo alla cosa forse mi è venuta una stramba idea.

Molti server MMORpg. utilizzano gli script depositati sul server.
cioè caricano gli script dal server.
potrei fare un qualcosa del genere?

in lua c'è l'opzione engine.DoFile(string filename)
legge il file e lo interpreta

chissà se si potrebbe fare qualcosa che il file lo vada a leggere direttamente sul server remoto anzichè direttamente dal client..


EDIT:

Dunque ho provato in questo modo ma forse si perde un pò in prestazioni



WebClient wb = new WebClient();
string data = wb.downloadstring("script sul webserver");

engine.DoString(data);



lo script viene eseguito correttamente e senza errori.
ma nel ricavare lo script c'è qualche secondo se freeze.

Uhmm siccome lo script deve essere eseguito ogni tot di secondi o al click di un evento o di un npc.
avevo pensato magari di caricare lo script che serve per quella determinata mappa temporaneamente.
in una variabile. e poi alla nuova mappa ricaricarne un'altro.
altrimenti il frezee sarebbe paradossale e renderebbe ingiocabile il gioco.
Ultima modifica effettuata da Thejuster 27/10/12 19:13
mire.forumfree.it/ - Mire Engine
C# UI Designer