WB MB Guida Guida Definitiva al Modding di Lumos [TRADUZIONE by dessan95]

Users who are viewing this thread

Jostino

Section Moderator
M&BWBWF&SNWVC
Guida Definitiva al Modding by Lumos [Tradotta da @dessan95]
Contiene Informazioni: Reali, Corrette, Aggiornate e Testate.
Dai modders. Per i modders.


Perchè questo è il tutorial “giusto”?
Perché è scritto da una persona con oltre sette anni di modding in vari giochi alle spalle, in particolare Mount & Blade e Warband. Ho la massima ownership disponibile nel forum, e ho pubblicato qualche pacchetto di codice OSP, così come la creazione di un paio di applicazioni stand-alone, dedicata al modding di questo gioco.

Ma in altri tutorials le persone mi dicono di fare cose leggermente diverse...
Questa guida contiene informazioni trasmesse ai nuovi modders in numerosi post. Ti sto fornendo queste informazioni in base alla mia esperienza e credimi che io ne so qualcosa. Inoltre, se fossero presenti errori, non cercherei assolutamente di giustificarli, ma piuttosto li correggerei, così che tutti possano essere sicuri che questo tutorial è affidabile al 100%.

Ok ma da questo inizio sembra noioso. Sta iniziando a non piacermi.
Come credi; ti potrà sembrare noioso ma ti assicuro che ne vale la pena. Ad ogni modo ti consiglio di prendere una birra fresca, mettere un po' di musica e iniziare a leggere. Se vuoi sapere come modificare il Module, salta la sezione “Teoria” nello spoiler se sei già esperto, altrimenti leggila.

Cos'è in realtà il modding?
Come probabilmente già sapete, la parola "modding" deriva da "modifica" e "mod" può significare sia "modifica" che "modulo". Ma ciò che la parola significa in realtà non importa.
"Modding" significa modificare qualcosa. In questo caso si tratta di modificare Mount & Blade o uno dei suoi derivati, Il modding in realtà è una programmazione, ma a livello base, quindi se avete esperienza in programmazione, non dovreste avere alcun problema nel capire come si modda.

E come funziona il modding in M&B?
Per capire ciò, è necessario comprendere quei pochi, semplici concetti alla base della programmazione ( La programmazione è in realtà abbastanza semplice). Quindi, apri la tua cartella Mount & Blade \ Modules. Li si trova la mod Native fornita insieme al gioco, e qualsiasi mod che hai scaricato. Notare che ho detto " Mount & Blade", ma la cosa vale anche per Warband. Se parliamo di Warband, la cartella sarà " Mount & Blade Warband ".
Dai un'occhiata all'interno della cartella “Native”. All'interno troviamo un sacco di file di testo e alcune cartelle. Aprine uno, per esempio " presentations.txt ", e scorri un po' verso il basso... Complesso, non è vero? Fatta eccezione per qualche testo qua e là, il resto sono cifre e numeri. Tutto questo è ciò che il gioco legge, e ciò di cui è fatta una mod. Per creare una mod, è possibile modificare direttamente il file di testo , anche se questo è lavoro noioso e soggetto a errori. Il mio consiglio: non fatelo. Naturalmente, io l'ho fatto all'inizio. L'altro modo è quello di utilizzare il "System Module", che consiste in un insieme di file di script (con un linguaggio comprensibile e molti numeri in meno) che vengono compilati utilizzando Python, un linguaggio di programmazione. E 'importante per voi sapere che, anche se i file del Sistema Module (ModSys) hanno l'estensione .py (file Python),se i ModSys non sono scritti in formato Python, per il 99,99% delle vostre esigenze non è necessario che ve ne preoccupiate. Il ModSys utilizza qualcosa di più semplice; solo un mucchio di "operazioni" che fanno il lavoro. E dopo li modificate. Py, traduce questi file e crea i file txt che, come detto in precedenza, il gioco può leggere.

Il “linguaggio” di M&B non ha un abbreviativo preciso; Io lo chiamo MABL, ma molte persone preferiscono chiamarlo M&B Script. Tuttavia ciò non è importante. Lo potete chiamare “NI” e sarebbe ancora perfettamente funzionante.

Va bene, ho capito... ma cosa devo fare per modificare realmente il mio gioco?
Dipende da cosa vuoi fare. Se desideri modificare oggetti, aggiungere nuovi elementi o truppe o ancora cambiare aspetti esistenti e vuoi fare tutto ciò a uso personale (per lo più), è possibile modificare il file di testo a mano (non consigliato!) o utilizzando qualsiasi applicazione per modding ricavata dall'elenco Unofficial Editing Tools.
Se hai intenzioni serie, devi procurarti il ModSys. Inoltre, ricordati che la compilazione dei ModSys sovrascrive tutte le modifiche effettuate ai file .txt. Esistono, a mio parere, tre categorie di modding: la codifica (stesura vera e propria di nuovi script per modifiche massive al gioco), la modellazione (in cui si rendono visibili oggetti 3D come case e oggetti) che di solito non viene fatta lavorando con ModSys. Tuttavia, per aggiungere oggetti al gioco avrai bisogno di sapere come funziona il ModSys. La terza categoria è il texturing (in cui si attribuisce un aspetto realiztico ai modelli mediante disegni). Naturalmente la maggior parte dei modder sono texturer, ma è possibile includere qualsiasi altro tipo di arte 2D (poiché il gioco utilizza anche quella!) in questa categoria. La conoscienza di ModSys in questo caso non è necessaria, ma consigliata.

Sto iniziando a pensare che menzionerai questo ModSys sempre più spesso!
Infatti hai ragione. Io sono un programmatore. E, in qualità di programmatore, intendo concentrarmi perlopiù sulla codifica. Parlerò solo sulle nozioni di base che tutti dovrebbero conoscere.

E se io non volessi specializzarmi come programmatore?
Va bene lo stesso. Ma potresti imparare qualcosa che ti farebbe comodo in futuro. Se stai cercando dei software puoi usare qualsiasi programma che esporti come un obj/smd per i modelli e tutto ciò che si può modificare file dds per le textures (o usa il convertitore DDS per quello). I software per la modellazione 3D includono Wings3D e Blender (gratuito), 3DSMax, Maya, Zbrush e via dicendo.
Invece, i software per il texturing includono GIMP, Paint.NET (gratuito), Photoshop e altri. Date un'occhiata ad altri tutorial sulla modellazione e sul texturing anche se questo sarà un'ottima base di partenza.

Complimenti per aver letto per intero lo spoiler! Ora prendi una birra... se non ce l'hai già!

Hai finito con la teoria? Voglio iniziare il modding ora!
Si, ho finito. Ora iniziamo col modding. Vuoi configurare un Module System, vero? Ebbene, basta andare al Module System Download Thread e scaricare un ModSys recente. Ora; per essere in grado di trasformare i file in file di testo (txt) leggibili dal gioco, pieni cioè di numeri, e rendere la vostra mod realtà, vi serve il linguaggio Python. Adesso, non precipitarti a scaricare l'ultima versione di Python! Ecco qualcosa di davvero importante da sapere: il gioco non funziona con qualsiasi Python più recente del 2.X, e IIRC, ciò significa che si tratta della nuova versione 2.7.5. Perciò, prendi un programma di installazione di Python alla pagina giusta. Ora tutto ciò che devi fare è installare Python utilizzando ovviamente i diritti di programmatore. E' una buona idea installarlo nella periferica C:\Python27. Ora andiamo avanti! Dai uno sguardo alle Environment Variables per vedere se è tutto ok. Per chi non sapesse cosa sono, si tratta di file che utilizza il vostro Windows. Dovete solo interessarvi della variabile “PATH”. Aprite la finestra.

Windows XP/7 – Computer → Proprietà → Impostazioni di sistema avanzate (in alto a sinistra) → Avanzate → Variabili d'ambiente (in fondo).

DiiILZX.jpg

Scorrete l'elenco fino a trovare il “Path”, quindi clicca su di esso e premi il pulsante “Modifica” infondo. Questa variabile Path è importante solo per una serie di percorsi importanti per il vostro sistema operativo ed è diversa per ogni PC. Per consentire al programmatore di lavorare senza alcuna hack o correzione, devi avere la cartella Python all'interno della variabile Path. Per esempio, se hai installato Python in C:\Python27, dovrebbe risultare alla fine del percorso. Non alterare il percorso in nessun altro modo! Dato che contiene importanti dati di sistema, non è affatto consigliabile. Se non è presente basta aggiungerlo manualmente alla fine del percorso. In ogni modo, notare il punto e virgola davanti a C:\Python27. Le voci delle diverse applicazioni sono separate con un punto e virgola nella stringa di percorso, quindi dovresti aggiungerlo se assente in modo che il sistema operativo sa di che stai parlando. E questo è tutto per l'impostazione di Python.

E dove si trova il modding?
Il modding viene dopo. Tutto ok? Sei ancora vivo? E' esploso il computer? Bene, continua a leggere! Hai impostato il compilatore Python e ora è il momento di compilare la base per la nuova mod. Assicurati di possedere i permessi di lettura e scrittura nella cartella di ModSys e nella cartella di Mount & Blade (sarebbe ancora meglio poter modificare l'intere cartella). Ora, apri il tuo Mount & Blade\Modules e copia\incolla Native sempre nella cartella Modules. Modifica il nome della cartella col nome che vuoi dare alla mod.

MQ6EdDG.jpg

Ora che hai la cartella col nome della tua mod, devi usare il ModSys. Apri la cartella Module System, trova il file module_info.py e aprilo. Non serve il doppio clic. Se lo fai, Python penserà che stai cercando di compilare un programma, e non farà nulla. Per far si di modificare file di ModSys, devi utilizzare un editor di testo. E' possibile usare Blocco Note, anche se ti consiglio vivamente di usare Notepad++ (LINK - http://notepad-plus-plus.org/ ), un potente e gratuito editor di testo.

FUbFGL1.jpg

Ad ogni modo, apri il file di testo (module_info.py) col tuo editor di testo preferito e ti apparirà questo...

Code:
# Point export_dir to the folder you will be keeping your module
# Make sure you use forward slashes (/) and NOT backward slashes (\)

export_dir = "../WOTS/Modules/Native/"
#export_dir = "C:/Program Files/Mount&Blade/Modules/Native/"

Quindi, hai visto cosa devi fare. Ora cerchiamo di fare un po' d'ordine. Il simbolo # che vedi li segnala che quella linea è un commento. Se sei un programmatore, sai cos'è un commento, se non lo sei, il commento è qualcosa che serve al programmatore, e non al PC. I commenti vengono usati per prendere appunti, documentare e quant'altro. I commenti sono molto utili. Cambia la tue export_dir in modo che faccia riferimento alla nuova cartella delle mod.

KJza2E6.jpg


Come puoi vedere, la seconda linea (commento) non è cambiata e funziona a meraviglia! Ora hai impostato la tua mod e ora arriva la prima sfida.

Sfida? Che sfida?
Non preoccuparti, non è niente. Devi fare doppio clic sul file build_module.bat nella cartella ModSys, questo è il compilatore. Ora si aprirà una finestra di console e potrai osservarne il contenuto. Se avrai fatto tutto secondo criterio, dovrebbe essere andato tutto bene e puoi star felice!

Aj6R6oQ.jpg

Ma se qualcosa è andato storto, è possibile incappare in errori. L'errore più frequente da vedere è...

“Python non è riconosciuto come comando interno o esterno, eseguibile o batch”
...o in inglese...
“Python' is not recognized as internal or external command, operable program or batch file”

… e questo potrà accadere circa venti volte di fila. Ciò significa che non hai impostato la variabile Path in modo corretto. Non esitare a consultare il thread “Python not recognised...” nel forum. Se tutto funziona bene, continua a leggere.

Mi compare l'errore “Impossibile aprire il file” o simili; che devo fare?
Dovresti assicurarti di avere i permessi di Lettura/Scrittura per la cartella ModSys e in quella della tua nuova mod. E' anche possibile provare a eseguire la build_module.bat come Amministratore, ma dato che non ci ho provato, non so se funziona. Tuttavia, mettere la cartella ModSys su desktop o nella cartella Documenti dovrebbe risolvere il problema.

Mi compare un altro errore!
Usa la funzione di ricerca del forum (in alto a destra) o fai una domanda nel thread Q&A. Non impostare un nuovo topic per fare una domanda.

Va bene, la mia mod funziona correttamente. E adesso?
Bene, amico mio, ciò significa che il gioco è fatto. Hai la base per completare la mod, e tutto quello che resta è puro modding. Dovresti sapere ancora una cosa, però: come avrai notato, ci sono quattro tipi di file .py nella cartella ModSys. Continua a leggere sotto per capire a cosa servono.

Cosa sono gli header_*files?
I file header sono file di intestazione contengono le costanti del il gioco. Si possono cambiare, ma in generale non è ne raccomandato ne necessario. Se vuoi definire una nuova costante, puoi farlo nel module_*file appropriato. Tutte le operazioni sono documentate in header_operations.py

Cosa sono gli ID_*files?
Gli ID_*files contengono gli indici numerici per qualunque cosa nella tua mod. Tutto può essere visto come un elenco di cose rappresentato da un indice, e gli ID_*files contengono questi indici.

Cosa sono i module_*files?
Come hai già notato, abbiamo modificato i file module_info.py. I file module_*files contengono tutto il materiale di gioco e sono quelli che verranno modificati. Contengono quasi tutto; le truppe, gli oggetti, le scene, ecc... Hai il permesso di modificarli. E' consigliabile, di tanto in tanto, il backup della cartella ModSys.

Cosa sono i process_*files?
I file di process sono responsabili di compilare la tua mod dentro i numeri di gioco. E' raro modificare questi file, e quando lo si fa, si dev'essere assolutamente certi di ciò che si sta facendo, ma per ora non toccarli. I file process, a differenza delle altre parti del ModSys, sono scritti mediante Python.

Ma aspetta, non hai intenzione di dirmi come di modda?
Questa è una strada che tutti devono percorrere da soli. In altre parole, non ho intenzine di dirti come moddare! Ti fornirò tuttavia alcuni consigli e link utili.

Bene. Cosa sono?
Eccoci dunque...
In primo luogo, la grammatica e l'atteggiamento. Ricordati queste due parole perchè sono molto importanti. Scrivi correttamente, sii gentile con gli altri e le probabilità di ottenere aiuto aumenteranno in modo esponenziale. Inserisci gli spazi dopo la punteggiatura e ricorda che “u” e “y” e altre str***ate non sono parole ma lettere. Tratta quelli come te nel modo in cui vorresti essere trattato tu. Gli utenti con maggior esperienza (che dedicano anche tempo libero a rispondere alle tue domande) devono essere trattati con rispetto con cui tratti i tuoi professori (o maestri!) Non aver paura di porre domande e di usare il termine “per favore”.
I topic principali sono tuoi amici; sono quelli che stanno sempre in cima in questo forum poiché sono importanti. Leggerli è sempre una buona idea.
Leggi le regole del forum. Non sono molte e sono scritte in modo breve e comprensibile. Ricorda anche di leggere il dialogo che visualizzi quando si apre un uovo argomento. Leggere non ti farà male.
Se intendi porre una anche piccola domanda, non aprire un topic a riguardo. Posta una domanda nel topic Q&A piuttosto.
Usa la ricerca rapida nel forum o su google per trovare ciò che desideri.
Il modo migliore per imparare è quello di provare il modding. Inizia in modo semplice, anche se ti può sembrare noioso come consiglio. Credimi però; lo so per esperienza. Partendo dal facile è il miglior modo per iniziare, se invece tenti di realizzare dall'inizio un progetto complesso, è una pessima idea fidati di me.
Puoi leggere ciò che ogni operazione (cioè la funzione di ModSys) fa in header_operations.py

Questi erano gli unici consigli che mi sono venuti in mente in questo momento. Ora ti passo qualche link utile.
http://forums.taleworlds.com/index.php/board,12.0.html The Official ModSys Documentation. Questo è molto vecchio e obsoleto, ma le ModSys funzionano ancora sullo stesso principio. Leggerli non ti farà male.
http://forums.taleworlds.com/index.php/topic,56798.0.html Jik's Updated ModSys Tutorial. Questa è una nuova versione più elaborata rispetto a quella ufficiale. Piuttosto utile.
http://mbmodwiki.ollclan.eu/Main_Page The Mount & Blade Mod Wiki. Qesto è abbastanza nuovo e contiene alcuni consigli utili.
http://forums.taleworlds.com/index.php/topic,48405.0.html Ruthven's Beginning to mod. E' una raccolta di link di tutorial e altro materiale. Si è dimostrato utile.
http://forums.taleworlds.com/index.php/topic,231341.0.html Pyrate's Modding 101. Contiene info utili.
http://forums.taleworlds.com/index.php/topic,142422.0.html Caba'drin's ModuleSystem Syntax Tutorial. Incredibilmente utile se stai cercando di farti strada nel MABL o MBScript o comunque si chiami.

Aspetta, come posso modificare la mappa di gioco?
Dal momento che me l'hai chiesto, ecco qualcosa di importante. Nel modding, il termine “mappa” si riferisce esclusivamente alla Mappa di Gioco, quella in cui ci si sposta per i villaggi e le città con il tuo omino. Le mappe multyplayer, così chiamate in altri giochi, vengono chiamate scene. Sappi che, è molto fastidioso incontrare una persona che ti chiede come modificare una mappa mentre si riferisce ad una scena. Ma torniamo sulla questione. Per modificare la mappa del mondo, è necessaria un'applicazione MapEditor. Ce ne sono un paio esistenti, ma la più nota è MapEditor di Thorgrim. E' stata pensata per il vecchio M&B ma può funzionare anche con Warband, non importa quello che la gente ti dice. Se vuoi modificare mappe per Warband dai un'occhiata al mio Warband MapManager [http://forums.taleworlds.com/index.php/topic,169595.0.html]. Ci vuole del lavoro sporco (necessario per far funzionare il MapEditor per Warband) e lui lo fa al posto tuo.
Ecco un link ad un ottimo tutorial [http://forums.taleworlds.com/index.php/topic,162501.0.html (che ho seguito io stesso) che aiuta ad iniziare il montaggio di una mappa. Inoltre, ti ricordo che più grande sarà la mappa, e più sarà ingombrante. Le mappe con carichi verticali (ebbene si, la mappa è in realtà una mesh 3D) come quelle che superano 80000, metteranno pressione al computer e ciò è da evitare.

Tutto qui?
Questo è tutto. E' giunto il momento per te di avventurarti nel vasto mondo del modding.



Quanto tempo hai impiegato per scrivere questo tutorial?
Poche ore. Forse due o tre. Io pretendo di essere un perfezionista e cerco di fare sempre del mio meglio, non importa quanto tempo ci voglia.



Molte grazie a Caba'drin (il nostro amministratore più attivo da queste parti) per aver deciso di onorare questa discussione e grazie a Dawiduh per aver tradotto questo topic in rumeno.
Spero che l'abbiate letto, che vi sia piaciuto e che anniate potenzialmente imparato qualcosa. Idee per migliorarlo? Fatemelo sapere.

@Lumos

Crediti: http://forums.taleworlds.com/index.php/topic,240255.0.html



Tutti i crediti di traduzione vanno a @dessan95
Questo vuole essere un repost pulito del suo lavoro, in modo da darne visibilità a tutti e verrà inoltre linkato nella raccolta di strumenti per modder all'interno della nostra community.
 
Top Bottom