EnglishGermanFrenchRussianPolishItalianSpanish
Log inRegister
 
Guida al Modding di X²
Post new topic This topic is locked: you cannot edit posts or make replies. Goto page 1, 2, 3, 4  Next
View previous topic :: View next topic
Author Message
JonusITA





Joined: 21 Jun 2004
Posts: 3433 on topic
Location: The Old, Mighty Italy
Thank you for registering your game
modified
PostPosted: Fri, 15. Jul 05, 11:00    Post subject: Guida al Modding di X² Reply with quote Print

Guida al modding di X2

Parte 1: Introduzione generale

“Moddare” X² significa essenzialmente fare due tipi di modifiche: via script e via mod. le possibilità che offrono sono diverse: uno script permette di modificare quasi tutti gli aspetti del gioco, creando degli script che modificano il comportamento dei PNG, dell’economia… o che aggiungono dei nuovi comandi all’interfaccia di gioco, mentre un mod è un insieme di risorse che vengono aggiunte a X², o di file già nel gioco che vengono modificati dall’utente. Queste risorse poi possono essere inserite e utilizzate tramite degli script a parte.

Installazione e utilizzo di contenuti aggiuntivi (script/mod):

Le fasi per l’installazione di uno script sono le seguenti:

1) copiare i file contenuti nella cartella script e nella cartella t dello script che si intende installare rispettivamente nella cartella script e nella cartella t di x2 (è meglio fare prima un backup dei file), questa è l'unica operazione per gli script "ufficiali", che sono già compatibili con la versione italiana del gioco, e c'è un installer che se ne occupa

Ulteriori passaggi per l’installazione di script non ufficiali (o unsigned):

2) andare nella cartella t di x2 e rinominare i file che si ha appena inserito in questa cartella da 44XXXX (o 49XXXX o 33XXXX o 7XXXX, dipende dalla lingua dello script) in 39XXXX (39 è il language id della versione italiana del gioco, che è anche lo stesso prefisso internazionale dello stato, 39 per l'Italia, 44 Inghilterra, 33 Francia, 7 Russia, esistono anche spagnolo, portoghese e polacco ma non si trovano tanti script in quelle lingue)

3) bisogna aprire con notepad (o qualsiasi editor di testo, ma notepad è sufficiente) il file che abbiamo appena rinominato, e alla voce <language id="XX">, in genere all’inizio del file, sostituire XX con 39 (stesso discorso di prima). In questo modo si visualizzeranno i testi contenuti nel file.xml anche nel gioco (invece che dei famosi e fastiodiosi read-text), seppure nella lingua originaria dello script (che tradurre significa solamente tradurre dalla lingua originaria all’Italiano i loro contenuti)

L’installazione di un mod è molto più semplice, in quanto è sufficiente copiare la coppia di file cat/dat forniti col mod nella cartella mods del gioco. Se però nel mod vi sono presenti degli script con annessi file t (ovvero i file contenuti nella cartella t, presente anche nella directory del gioco) sarà necessario eseguire le stesse operazione che vanno fatte su uno script non ufficiale e descritte nei punti 2 e 3.

Si possono utilizzare più script (teoricamente all’infinito) nello stesso gioco, almeno finchè questi non vanno in conflitto, ovvero utilizzano gli stessi id per ogni loro stringa. Ogni script può generare delle stringhe di dati che verranno poi visualizzate in un menù, oppure come trasmissione all’utente, insomma che si potranno leggere direttamente all’interno del gioco. Ognuna di queste stringhe è identificata da due numero: l’id della pagina in cui si trova (es. le descrizioni delle navi sono nella pagina 17) e l’id della stringa stessa. Se questo id è condiviso da più script l’effetto è che su schermo verrà visualizzato il testo giusto solo quando la stringa appartiene allo script che l’ha chiamata, nell’altro caso verrà visualizzata la stessa scritta ma nel contesto sbagliato.

Invece i mod non possono andare in conflitto, dato che è possibile utilizzarne uno solo per volta. Ma questo non è del tutto vero, visto che esistono due modi per “ingannare” il gioco, e utilizzare teoricamente un numero infinito di mod. in questo modo però l’ultimo mod installato, o quello con numero maggiore sovrascriveranno sempre le risorse dei mod precedenti.

1) Questo metodo è utile (ma non indispensabile) nella creazione di un mod, ed è quello di fare andare il gioco in modalità “raw” (letteralmente cruda, selvaggia). Nella cartella principale del gioco esistono delle coppie di file .cat/dat, che contengono tutti i dati compressi utilizzati in gioco. Se questi file vengono scompattati (da quello con numeor minore al maggiore) il gioco partirà tranquillamente anche in questo modo; è quindi sufficiente scompattare anche tutti i mod che si desidera installare e copiare il contenuto nella directory principale del gioco, sovrascrivendo eventuali contenuti già presenti.

2) L’altro metodo per l’installazione di più mod è quello di sfruttare il sistema di patch del gioco. Difatti ad ogni patch ufficiale rilasciata dalla Egosoft nella cartella principale del gioco si aggiunge una coppia di file .cat/dat che porta lo stesso nome della versione della patch (esempio: la versione1.3 base del gioco contiene i file 01, 02 e 03 .cat/dat, mentre la 1.4 contiene anche i file 04 .cat/dat). Semplicemente basta copiare il contenuto del mod nella directory principale del gioco e cambiare il nome dei suoi file compressi in 05, 06… .cat/dat. In questo modo le risorse del mod con nome maggiore sovrascriveranno le risorse precedenti, ma senza cancellarle fisicamente dalla cartella del gioco.

Non esistono mod ufficiali, mentre la differenza tra gli scritp ufficiali (signed) e non ufficiali è che, oltre al fatto che i primi sono supportati dalla Egosoft, questi non fanno apparire la scritta “modified” nella parte superiore sinistra dello schermo. Nonostante questo esistono diversi metodi per eliminare la scritta, tra qui il più semplice e forse il più ingegnoso è quello di rendere il modello della scritta talmente piccolo da non essere visibile all’occhio umano.

Disinstallazione di script/mod:

Ed ecco la parte che mancava, come rimuovere eventuali contenuti aggiuntivi da noi installati. Ovviamente disinstallare il gioco e reinstallarlo funziona Very Happy, ma non è molto pratico.

Mod:

Qui è semplice: se il mod è stato installato semplicemente come "mod" (ovvero mettendo i files cat/dat nella cartella mods) basta eliminare questi file per eliminare il mod dal gioco. La stessa cosa se si è installato il mod sfruttando il sistema di patch del gioco, ricordandosi di eliminare le coppie di file cat/dat con numero superiore a 04 (e che corrispondano ai mod che vogliamo eliminare). Se questi mod contengono materiale aggiuntivo, come script o files t all'in fuori del "pacco" completo che si è installato (che sia indifferentemente nella cartella mods o nella directory principale del gioco) la situazione si complica un poco. La cosa migliore è cancellare il contenuto della cartella scripts e della cartella t contenute nella directory principale del gioco, e reinstallare la patch 1.4, i vari plug-in ufficiali che erano già stati installati, eventuali aggiornamenti alla IA ed ogni script non ufficiale che vogliamo tenere nel gioco. Nota bene: un savegame che utilizza un mod POTREBBE non essere compatibile con la versione base di X2 (ma nella maggiore dei casi NON lo è affatto). Se uno script aggiunge comandi particolari seguite le istruzioni per eliminarli qui sotto.

Script:

A differenza di un mod uno script viene salvato nel nostro salvataggio. Rimuoverlo è più difficile di un mod, ma è sempre possibile:

1) aprire il salvataggio (che vogliamo continuare ad usare) che utilizza lo script che vogliamo disinstallare, e disattivare il/i comando/i dello script che le navi o stazioni nell'x-universe usano
2) andare nello script editor (Theresallbewings) ed eliminare lo script dall'elenco selezionandolo con le freccie e schiacciando il tasto canc
3) tornare al menù e salvare nuovamente il gioco
4) uscire dal gioco ed eliminare fisicamente dal proprio hard disk i file (sia quelli nella cartella scripts che nella cartella t) dello script, fer farlo è sufficiente scaricare nuovamente questo script, controllare che file contiene e cancellare questi file dalla directory di X2 (occhio a non eliminare files potenzialmente usati da altri script)
5) provare a ricaricare il salvataggio "pulito" dallo script

Conflitti tra script:

Alcuni script possono andare in conflitto, perchè usano lo stesso file t (raro, ma può succedere), o perchè usano le stesse risorse del gioco (riferendosi alle stringhe e alle estensioni del menu varie - paroloni per dire che nei file t di diversi script possono esserci all'inizio di ogni riga gli stessi numeri...). Che fare quindi? Nel primo caso è sufficiente aprire uno dei due file con lo stesso nome, e copiare il contenuto di uno dei file t all'interno dell'altro (operazione relativamente semplice, basta stare attenti di unire risorse delle stesse pagine es:

1° file t

<language id="39">
<page id="2008" title="Script Object Commands" descr="0">
<t id="1221">COMMAND_MWM_STRT_KHAAK_INVASION2</t>
<t id="1222">COMMAND_MWM_STOP_KHAAK_INVASION2</t>
</page>
<page id="2010" title="Script Cmd Names" descr="Long version of commandos. These are the commandos assigned to ships using the commandconsole. Page 2010 and 2011 belong together and hold short and long versions of the same commands">
<t id="510">Scrap Ship</t>
<t id="1221">Run MWM Khaak 2nd Invasion Starter</t>
<t id="1222">Run MWM Khaak 2nd Invasion Stopper</t>
</page>
</language>

2° file t:

<language id="39">
<page id="2011" title="Script Cmd Shorts" descr="Short version of commandos. These are the commandos assigned to ships using the commandconsole. Page 2010 and 2011 belong together and hold short and long versions of the same commands">
<t id="510">SCRAP</t>
<t id="1221">STRTKHAAK2ND</t>
<t id="1222">STOPKHAAK2ND</t>
</page>
<page id="2022" title="Script Object Commands" descr="0">
<t id="1221">Run the starter for the MWM 2nd Khaak Invasion scripts.</t>
<t id="1222">Run the command to kill the MWM 2nd Khaak Invasion scripts.</t>
</page>
</language>

il file risultante sarà:

<language id="39">
<page id="2008" title="Script Object Commands" descr="0">
<t id="1221">COMMAND_MWM_STRT_KHAAK_INVASION2</t>
<t id="1222">COMMAND_MWM_STOP_KHAAK_INVASION2</t>
</page>
<page id="2010" title="Script Cmd Names" descr="Long version of commandos. These are the commandos assigned to ships using the commandconsole. Page 2010 and 2011 belong together and hold short and long versions of the same commands">
<t id="510">Scrap Ship</t>
<t id="1221">Run MWM Khaak 2nd Invasion Starter</t>
<t id="1222">Run MWM Khaak 2nd Invasion Stopper</t>
</page>
<page id="2011" title="Script Cmd Shorts" descr="Short version of commandos. These are the commandos assigned to ships using the commandconsole. Page 2010 and 2011 belong together and hold short and long versions of the same commands">
<t id="510">SCRAP</t>
<t id="1221">STRTKHAAK2ND</t>
<t id="1222">STOPKHAAK2ND</t>
</page>
<page id="2022" title="Script Object Commands" descr="0">
<t id="1221">Run the starter for the MWM 2nd Khaak Invasion scripts.</t>
<t id="1222">Run the command to kill the MWM 2nd Khaak Invasion scripts.</t>
</page>
</language>

(mi dispiace per eventuali problemi di indentazione del codice, ma non so come fare con questo forum)

Ovviamente risorse della stessa pagina (page id=XXXX, ovvero a che "pagina" che contiene le varie stringhe usate nel gioco quel determinato script punta) di due file diversi andranno racchiuse nello stesso spazio di quella pagina ed in un solo file.

Se invece il conflitto riguarda che due script usano le stesse risorse (stessa pagina e stesso indice al suo interno) il discorso cambia (info prese da un post di Lord Vader, non ho miei esempi a portata di mano):

1) identificare i due script che usano la stessa risorsa (è la parte più complicata, si va ad intuito, o almeno io faccio così)
2) trovare uns stringa del tipo
COMMAND_TYPE_TRADE_01
e cambiare il 01 con un numero non utilizzato da nessun'altro script
COMMAND_TYPE_TRADE_11
3) nel file t corrispondente allo script incriminato e cambiare
da
<t id="201">Trade Run</t>
a
<t id="211">Trade Run</t>

dove 01 e 11 corrispondono alla nostra modifica nello script, il 2 indica che quel comando andrà nel menù "commerciale", gli stessi tipi di menù della consolle di ogni nave, per vederli bene tutti prendetene una e installateci tutti gli aggirnamenti Laughing

A questo punto dovrebbero andare entrambi gli script.

Parte 2: Mod

Con un mod è possibile modificare quasi ogni aspetto di X², eccetto quello che è “fissato” (hardcoded in inglese) nell’eseguibile del gioco.

Tipi di mod

In un mod possono essere presenti queste cartelle, ed ognuna ha il suo significato, nel senso che tutte le risorse inserite in una di queste andrà a modificare un singolo aspetto del gioco:

V: questa directory contiene tutti i modelli che sono presenti nel gioco, o tutti i pezzi di oggetti più grandi. Inserendo risorse in questa cartella si possono aggiungere modelli al gioco, o alterare quelli presenti.

CUT: in questa cartella vi sono quelli chiamati “scene files”, ovvero i modelli degli oggetti “complessi” presenti in gioco. Questi includono principalmente navi e stazioni, oggetto della stragrande maggioranza delle modifiche, e utilizzano vari file contenuti nella cartella V, e attaccati insieme, per creare un oggetto più grande e dettagliato.

TEX/TRUE: questa directory contiene tutte le texture utilizzate dai modelli grafici contenuti nella cartella V. modificando le sole texture è effettivamente possibile modificare, almeno esteticamente, gli oggetti presenti in gioco.

MAPS: in questa cartella vi sono tutte le “galassie” in cui si può giocare. Può anche contenere la galassia originale, modificata in ciò che serve, per sovrascrivere la galassia base presente nel gioco. Questa modifica influenza sia il gioco con trama che senza trama. Eventuali galassie personalizzate e create da zero è meglio utilizzarle senza la trama (without plot).

L: in questa cartella vi sono presenti tutte le schermate che verranno usate al caricamento del gioco (quanto si accede a X² o durante il caricamento di una partita salvata).

S: qui sono presenti tutte le modifiche ai suoni del gioco.

TYPES: la cartella da dove ho iniziato a moddare, che contiene tutte le “statistiche” e i dati di tutti gli oggetti utilizzati in X². Vi sono vari tipi di files, ognuno per un singolo aspetto del gioco (navi, stazioni, merci, scudi, armi, missili, cockpit…)

SCRIPT e T: queste due cartelle, presenti anche nella cartella principale del gioco, possono essere incluse in un mod per sovrascrivere eventuali risorse presenti nelle omonime cartelle di X². Possono essere inclusi in un mod per semplicità di installazione/disinstallazione, e per mantenere un certo ordine nella cartella script e t del gioco.

Tipi di files

La maggiorparte dei files del gioco può essere compresso in modo di aumentare la velocità con cui il gioco legge il file stesso e per ridurre la dimensione finale (in termini di byte) del mod. Vi sono elencatri di seguito sia il tipo dei file base che la oro compressione:

modelli grafici e scene (cartelle V e CUT): BOD (files dati), convertibili in BOB (files binari)
texture (cartella TEX/TRUE): formato JPEG e targa (TGA)
galassie (cartella MAPS) e file T: file XML (comprimibili in PCK)
suoni (cartella S): file WAV
loadscreen (cartella L): file TGA, risoluzioni 640x480, 800x600, 1024x768
types file (cartella TYPES): file TXT, comprimibili in PCK

Tools per il modding

Esistono molto tools che semplificano la vita del modder, quindi è bene usarli^^

La maggiorparte di questi è stata creata da Doubleshadow, basandosi su dati raccolti da vari post sul forum egosoft e su altri tools già esistenti. Sono scaricabili dal suo sito.

I suoi programmi sono:

X² Editor: permette di modificare quasi ogni aspetto del gioco, comprende un txt editor per tutti i files T, TYPES, un galaxy editor basato su quello in java di Honk

X² Mod Manager: utile programma che permette di modificare un mod aggiungendo dati al suo interno, visualizzarli solamente o estrarli sessa compattare tutto il file, e tutto con una semplice interfaccia grafica

Bob-Bod converter: utilità a riga di comando per la conversione di un file da .bob a bod e viceversa

Poi vi sono altri programmi:
GMAX: programma della discreet, e fratello minore del costoso 3ds Max, è gratuito e scaricabile da questo sito, permette di modificare i modelli del gioco in maniera GRATUITA previa registrazione GRATUITA per ricevere il codice di attivazione del prodotto. Ho inserito GMAX nella lista dei programmi perché a breve sempre Doubleshadow ha intenzione di rilasciare un plug-in per permettere a questo programma di importare/esportare files con GMAX, seguite questo [url=http://www.***/forum/viewtopic.php?t=1047]tread[/url] su *** per informazioni.

Bod Viewer: c’è chi lo usa (io stesso l’ho usato per un certo periodo), l’unico suo problema è che non apre tutti i file BOB e che non fa vedere bene le texture di un modello. Ah, anche l’interfaccia in cirillico… non vi do il sito perché tanto è in russo…

Essenzialmente con questi programmi potete fare tutto, esistono anche delle altre cose (come lo Stormfront mod kit v5.0, o un post su come capire le un file “scena” sul forum Egosoft), oltre ovviamente al modder kit ufficiale e scaricabile da chi è regolarmente registrato. In ogni caso ho intenzione di scrivere una guida anche su tutti gli altri aspetti del modding, questa è solo un introduzione, basta solo che aspettiate^^.

Parte 2: Guida ai file types

Ovvero: come fare un bel po di smanettamenti


Introduzione

In poche parole i file types contengono tutti i dati degli oggetti presenti nell'universo di gioco. Questi files sono compressi (all'interno delgli archivi in cui si trovano) in files .pck, convertibili in normali files .txt con un tool come X2 Mod Manager col quale, semplicemente estraendo il file in questione, questo viene convertito e sarà possibile aprirlo con notepad.
Questi files si trovano nella cartella types (da cui il nome) che è contenuta di base nell'archivio 01.dat/cat del gioco, e che ad ogni modifica vengono inclusi nei file "successivi" (02, 03...), o nei mod che vengono installati nell'apposita cartella.

Esistono vari files "types", ma quelli con cui si lavora maggiormente sono:

TShips (contiene i dati delle navi)
TShieds (contiene i dati degli scudi)
TLaser (contiene i dati delle armi attaccabili ad ogni navi)
TBullets (contiene i dati di ogni colpo sparabile da ogni arma)
TRockets (contiene i dati di ogni missile)
TCockpits (contiene i dati dei cockpits)
TFactories (contiene i dati delle singole fabbriche)
TWare (di questi esistono vari files, ogniuno che rappresenta il tipo di merce che contiene)
TWareB (ci sono dati di prodotti intermedi come i cibi delle varie razze che servono alle cristallerie, ed altro)
TWareE (E = Energy, i dati delle e-cells)
TWareF (F = Food, dati dei cibi)
TWareM (M = Minerals, dati dei 3 minerali presenti nel gioco)
TWareN (vari oggetti, quelli delle "quest" dei BBS)
TWareT (T = Tech, dati di vari oggetti ed upgrade per le navi)

Inoltre altri files secondari ma presenti sono:

TDocks (contiene i dati di ogni molo di attracco di ogni razza)
TGates, TPlanets, TSuns, TNebula (contengono i dati di vari oggetti presenti nel gioco, non si moddano mai o quasi)

Dentro al file

Files "crudi" e descrizione di ogni valore

Premessa: X2 Editor aiuta (ed anche tanto), in ogni modo vi spiego come sono fatti i files "crudi" (che prima devono essere scompattati dal formato pck al txt, con il sopracitato X2 Mod Manager o volendo con il tool compreso nel modder kit).

Bisogna leggere le righe seguenti dall'alto al basso (per il fatto che a fianco ad ogni numero metterò il suo significato), mentre nel file stesso basta leggero da sinistra a destra. I valori scritti su questa guida sono in ordine, come li trovereste nei files types del gioco, anche se X2Editor li rappresenta in ordine diverso (ma li grazie all'interfaccia grafica è molto più semplice la loro modifica). Questo principio va applicato ad ogni files che andrò a descrivere.

Tutti i dati sono presi dal file types alla versione 1.0 del gioco (quindi dall'archivio 01.cat/dat opportunamente scompattato).
Se la funzione di alcuni valori è sconosciuta non c'è di cui preoccuparsi, probabilmente non vanno a modificare nulla che potrebbe rendersi utile modificare. In questi casi a fianco al valore non vi sarà scritto nulla.
Inoltre nel file stesso ogni numero è seguito da un ; che eliminerò per una più chiara lettura.

TShips:

Il file più oggetto di modificazioni di ogni altri file, ed anche il più conosciuto. La riga in esame è la prima, quella del TL Argon.
I primi numeri del file, ovvero la riga 14;114; sinceramente non so cosa significhi, ma non serve modificarla, basta lasciarla dove si trova.

940 (tag che identifica la nave come pilotabile o no, deve essere utilizzata insieme al "940" utilizzato nel file "scena" della nave (ovvero se non c'è in quello qui non può essere usato))
0 (picture ID)
0.00600 (capacità di virata della nave in orizzontale in unità del gioco, per averla in virate/sec basta dividere questo numero per 0,015)
0.00609 (capacità di virata della nave in verticale in unità del gioco, per averla in virate/sec basta dividere questo numero per 0,015)
0.00999 (capacità della nave di fare un giro completo su se stessa (lungo il suo asse) in unità del gioco, per averla in virate/sec basta dividere questo numero per 0,015 o 0,016)
0 (classe della nave)
3161 (numero che identifica la descrizione, questo numero meno uno, automaticamente calcolato dal gioco, contiene il nome
della nave)
25000 (velocità della nave, in unità del gioco, per invertirla basta dividere questo numero per 222, ottenendo il valore in m/s NOTA: nell X2Editor vengono visualizzate due velocità: la seconda è quella compresa di tutti gli upgrade al motore)
1500 (accelerazione in unità del gioco, per convertirlo basta dividere questo numero per 222, ottenendo il valore in m/s)
102 (suono associato ai motori)
1
11
373
1000 (energia della nave, influenza l'energia disponibile alle armi)
112
247
4102 (nome del file del modello della nave)
4516 (nome del file del modello del cockpit)
511 (armi che la nave può usare frontalmente, non incide su quelle nelle torrette)
4 (numero totale di armi sulla nave, modificare questo numero solo se si modifica effettivamente il numero di armi presenti)
3 (tipo di scudi che la nave riesce a tenere)
5 (numero massimo di scudi che la nave supporta)
4 (il più grande tipo di missili che la nave può usare)
9 (numero masismo di missili che trasportano le navi npc)
10 (numero massimo di ottimizzazioni del motore installabili)
15 (numero massimo di ottimizzazioni della manovrabilità installabili)
21000 (spazio nella stiva, valore base)
21000 (spazio nella stiva, valore compreso di tutte le possibili estensioni della stiva)
71 (torretta da usare nella nave, questo numero corrisponde alla torretta col medesimo indice in tcockpits)
3 (posizione della torretta soprastante)
73 (torretta da usare nella nave, questo numero corrisponde alla torretta col medesimo indice in tcockpits)
4 (posizione della torretta soprastante)
72 (torretta da usare nella nave, questo numero corrisponde alla torretta col medesimo indice in tcockpits)
2 (posizione della torretta soprastante)
0
0
0
0
0
0
12 (numero di caccia che la nave può tenere, un numero positivo indica un attracco interno, come un M1, un numero negativo un attracco esterno, come il Titan)
5 (tipo di carico che la nave può portare, in questo caso arriva alle stazioni)
1 (razza a cui appartiene la nave)
70000 (potenza dello scafo - quanti danni può assorbire prima di essere distrutto)
37
38 (questi sono due valori per le esplosioni, non interessano il modding)
0
4 (numero di torrette sulla nave, non modificare questo numero se non si hano fatto effettive modifiche al numero di torrette presenti)
1
0

********************** VALORI PER LE ARMI ********************************************
(vedere nell'appendice)

806
0
2
1
939
14
3
2
939
15
4
3
939
18
4
1
1
1
1
1
1
708
13
981
2
2
1
2
1
2
1
708
16
981
2
3
1
3
1
3
1
708
17
981
2
4
1
4
1
4
1
708
19
981
2
1

********************** FINE VALORI PER LE ARMI ********************************************

700000 (prezzo base della nave)
25
1 (questi due sono modificatori del prezzo base)
0 (tipo del carico ***NOTA BENE: anche se è una nave, e non viene caricata in una stiva, anche questa ha uno di questi valori, anche se inutile, tranne per le torrette laser***)
SS_SH_A_TL (ID con il quale il gioco identifica l'oggetto)

TShields:

Ecco i valori degli scudi, tutti in questo file. Questo file inizia con i numeri 13;4;, stesso discorso del file precedente.
Lo scudo in questione è quello da 25MW.

27 (id del modello, o body id, il modello dell'oggetto, ad es. quando è nello spazio)
156 (icona dell'oggetto (picture id), quella che si vede ad. es negli spazioporti officina quando lo si seleziona)
0
0
0 (questi 3 sono valori sconosciuti, trascurabili ai fini del gioco)
2 (è un indice che serve a dichiarare che è il terzo oggetto nella lista, da notare che quest numero va in ordine alfabetico partendo da 0)
2733 (numero che identifica la descrizione, questo numero meno uno, automaticamente calcolato dal gioco, contiene il nome dell'oggetto)
2500 (valore sconosciuto, ma sempre uguale alla potenza degli scudi/10)
25000 (potenza degli scudi)
1
0,01 (questi due sono altri valori sconosciuti)
10 (volume, ovvero la quantità di stiva che occupa)
6600 (prezzo base)
13
1 (questi sono entrambi modificatori del prezzo base)
2 (tipo di merce)
SS_SHIELD_C ID (ovvero il "codice" con il quale l'eseguibile identifica l'oggetto)

TLaser:

in questo file sono memorizzate tutte le statistiche di ogni arma presente in gioco. Questo file inizia con 13;24;, stesso discorso dei file precedenti. Il laser in questione è il LEI Alfa.

27 (body ID, il modello dell'arma)
294 (picture ID, l'immagine dell'arma)
0.35 (velocità della torretta sull'asse verticale (su-giù))
0.35 (velocità della torretta sull'asse orizzontale (destra-sinistra))
0
0 (indice dell'arma, numero 1)
2613 (tag della descrizione - questo numero meno uno, calcolato automaticament dal gioco, consiste nel nome dell'arma)
80 (tempo di fuoco del successivo colpo,in millisecondi per avere il numero di colpi/minuto basta dividere 1000 per questo numero, e poi moltiplicare per 60)
912 (suono associato al fuoco dell'arma)
0 (indice dell'arma, numero 2)
1000 (energia a disposizione dell'arma, maggiore è questa più a lungo si può sparare)
0.02 (rateo di ricarica dell'energia dell'arma)
1 (spazio occupato in stiva dall'arma)
48 (prezzo base)
16
1 (questi due sono modificatori al prezzo base)
1 (tipo di merce)
SS_LASER_LS_ALPHA (ID dell'arma nel gioco)

TBullets:

In questo file vi sono i dati di ogni singola "unità" che viene sparata da un arma. Questo file inizia con 13;24;, stesso discorso dei file precedenti. Il "pallettone" in questione e quello del LEI Alfa.

514 (body ID, il modello usato per l'effetto grafico dell'arma)
0
0 (angolazione rispetto all'asse x)
0 (angolazione rispetto all'asse y)
0 (angolazione rispetto all'asse z)
-1
9001 (descrizione)
50 (danni sgli scudi)
30 (energia utilizzata per colpo)
907 (suono all'impatto del colpo)
1800 (tempo di vita, in millisecondi (ovvero quanto tempo dura il colpo, il tempo utile per fare danno)
130000 (velocità del colpo, in unità del gioco, per avera in m/s basta dividerlo per 222 (valore approssimativo))
0 (tipo di colpo)
192 (colore, in valore da 0 a 65k, del blu)
16 (colore, in valore da 0 a 65k, del verde)
16 (colore, in valore da 0 a 65k, del rosso)
1
1
4
0
15 (effetto visivo all'impatto con il bersaglio)
22 (effetto visivo al "lancio" del colpo)
25 (danno allo scafo per colpo)
0
0
0
150
128 (spazio occupato nella stiva - serve solo pe ril mass driver, tutte le altre armi hanno 128)
10000 (prezzo base)
25
1 (questi due valori sono modificatori al prezzo)
0 (tipo di merce)
SS_BULLET_LS_ALPHA (ID del colpo nel gioco)

TRockets:

I dati dei missili. Questo file inizia con 13;8;, stesso discorso dei file precedenti. Il missile in questione è il mosquito.

148 (body ID, nome con cui il gioco identifica il missile)
148 (picture ID, l'immagine del missile che usa il gioco)
0.5 (angolo di sterzata, cambiare direzione in orizzontale (destra-sinistra))
0.5 (angolo di sterzata, cambiare direzione in verticale (alto-basso, cabrare-imbardare))
0
0 (indice dell'oggetto, la sua posizione all'interno del file in cui è)
2813 (numero della descrizione, questo numero meno uno, automaticamente calcolato dal gioco, contiene il nome dell'oggetto)
100000 (velocità dell'oggetto, non rappresenta la vera velocità di questo)
260000
915 (nome del file usato per il suono di lancio del missile)
112 (suono che fa il missile quando "cammina")
2
200 (danno verso gli scudi)
1 (danno verso lo scafo)
100000 (tempo di vita, in secondi, per ottenerlo bisogna dividere questo valore per 100)
1
21
10434 (effetto di luminosità applicato al missile)
918 (suono prodotto dall'esplosione del missile)
250
255
21 (effetto visivo dell'impatto del missile)
39 (effetto visivo dell'esplosione del missile)
7
4800 (nome del file che contiene il modello del missile)
1 (volume, spazio occupato dal missile nella stiva di una nave)
12 (prezzo base del missile)
20
1 (questi due sono modificatori al prezzo base del missile)
1 (tipo di merce)
SS_ROCKET_A (ID con il quale il gioco identifica l'oggetto)

TCockpits:

Contiene i dati dei "cockpits", ovvero le torrette di ogni singola nave che ne ha una (quindi il Nova per gli M3, gli M6 M2 e M1, oltre a TL, TS e TP). Il file inizia con 13;103;, stesso discorso dei files precedenti. Questa è la torretta superiore/inferiore di un tipico M6 Argon.

0
0
0
0
0
0
0
4567 (valore sconosciuto, anche se credo possa essere il modello di qualche oggetto)
65782 (maschera che identifica le armi utilizzabili in questa torretta)
0
0
0
0
0
SS_COCKPIT_A_UPDO_M6 (ID con il quale il gioco identifica l'oggetto, in questo caso la lettera A identifica la torretta come Argon, il carattere M6 identifica il tipo di nave su cui viene utilizzata questa torretta, UPDO identifica la posizione della torretta, ovvero questa si tratta sia di una torretta superiore che di una inferiore, UP/DOwn)

TFactories:

Contiene i dati delle fabbriche varie (non dei moli di attracco). Il file inizia con 13;242;, stesso discorso di prima.
La fabbrica analizzata è la fabbrica di mine, versione Argon.

1
0
0
0
0
1
3911 (descrizione, il numero che identifica la stringa che contiene l'identificazione della stazione< questo numero meno 1, automaticamente calcolato dal gioco, rappresenta il nome dell'oggetto)
108
-1.2
-3
200
4135 (numero che corrispone al nome del file che rappresenta il modello di questa stazione, è il modello della stazione rappresentato ad esempio anche nella sua descrizione, come nelle navi)
0 (inner body file)
1 (identificatore della razza)
37
38 (questi due sono dati che vengono utilizzato nelle "esplosioni", ovvero quando la stazione viene distrutta)
3000 (volume, ovvero lo spazio che occupa nella stiva di una nave, in questo caso solo di un TL)
20000 (prezzo base, non quello che viene visualizzato nel gioco)
25
20 (questi due files sono modificatori del prezzo base)
5 (tipo di merce)
SS_FAC_A_MINE (ID con il quale il gioco identifica l'oggetto)

TWare:

Questi files hanno tutti la stessa struttura, pertanto analizzeremo una riga di uno solo di questi. Prenderemo come esempio le celle di energia, contenute nel file TWareE (l'unico oggetto di questo file).

25 (numero che corrispone al nome del file che rappresenta il modello di questo prodotto)
158 (immagine che rappresenta l'oggetto)
0
0
0
0 (indice, posizione dell'oggetto nel file a cui appartiene)
2013 (codice della descrizione dell'oggetto)
1 (volume, spazio occupato dall'oggetto)
4 (prezzo base)
65
10 (questi due valori sono modificatori del prezzo base)
1 (tipo di merce)
SS_WARE_ENERGY (ID con il quale il gioco identifica l'oggetto)

Appendice ai files types

Numeri "identificatori"

Visto che questi files, tranne che per pochi limitati valori, devono contenere solo numeri e non lettere, ecco la tabella per capirne le associazioni.

Razze:

1 Argon
2 Boron
3 Split
4 Paranid
5 Teladi
6 Xenon
7 Khaak
8 Pirati
9 Goner

Valori delle "esplosioni" (rispettivamente offset 44 e 45):

Droni: 36, 36
Caccia e trasporti: 35, 36
M6: 40, 41
Navi maggiori e TL: 37, 38

Tipo di merce (o Ware Class), la taglia di un oggetto:

0 Nessun carico
1 Small (S)
2 Medium (M)
3 Large (L)
4 Extra-Large (XL)
5 Stazioni (solo TL o navi che devono portarle)

Tipi di scudi:

0 1MW
1 5MW
2 25MW
3 125MW

Tipi di missili:

0 Mosquito
1 Wasp
2 Dragonfly
3 Silkworm
4 Hornet
5 Sting
6 Needle
7 Thorn

Classe di una nave:

0 TL
1 TS
2 M0
3 M1
4 M2
5 M3
6 M4
7 M5
8 inutilizzato (e sconosciuto, che la ego si tenesse questo slot per una nuova classe di navi?)
9 TS-P (le navi pirata hanno questo particolare tipo)
10 UFO/Goner (eh si, hanno una classe a parte loro)
11 M6
12 TP

Tipi di colpi:

0 Arma a "pallettoni"
1 ??? (G CAP)
2 Arma a raggio (KYON)
20 Arma a raggio (ION)
8 Arma a "nuvola" (GOF)
96 Mass Driver

Posizione delle armi:

0 montaggio frontale (controllate direttamente dal pilota, nessun cockpit di mezzo)
1 anteriore
2 posteriore
3 sinistra
4 destra
5 superiore
6 inferiore

Valori per le armi

Una trafila di numeri serve ad identificare le armi, le torrette, in numero di armi per torretta, e via dicendo. In ogni caso per modifiche a questa parte della nave consgilgio di usare sempre il fidato X2Editor, anche perchè il minomo errore puù causare un crash del gioco, ed inoltre spiegare correttamente come modificare le armi manualmente non è il mio forte.
Ma posso provarci... spero siano esatte Smile

Argon TL (analizzate 2 torrette: quella frontale usata dal pilota e quella superiore):

806 (body id dell'arma, ovvero la sua apparenza, il nome del file in cui è contenuto il modello dell'arma)
0 (path ID - la posizione della torretta, 0=frontale)
2
1 (indice dell'arma, va in ordine numerico)
939 (body id dell'arma, ovvero la sua apparenza, il nome del file in cui è contenuto il modello dell'arma)
14 (path ID - la posizione della torretta)
3
2 (indice dell'arma, va in ordine numerico)

E poco sotto vi sono i valori di ogni arma, sempre della stessa nave e medesime torrette:

1 (numero della torretta a cui appartiene l'arma, parte da 1)
1 (indice dell'insieme delle armi)
1 (numero delle armi in questa torretta - utile quando in una postazione si hano più armi cone negli M2)
1
1
1
708 (body ID, modello dell'arma)
13 (path ID - la posizione dell'arma)
981 (body ID secondario, modello secondario dell'arma)
2 (numero della torretta a cui appartiene l'arma)
2 (indice dell'insieme delle armi)
1 (numero delle armi in questa torretta - utile quando in una postazione si hano più armi cone negli M2)
2
1
2
1
708 (body ID, modello dell'arma)
16 (path ID - la posizione dell'arma)
981 (body ID secondario, modello secondario dell'arma)

"Maschera" delle armi e suo calcolo:

Siamo giunti alla parte finale per quanto riguarda le navi e i cockpit. Ogni arma in X2 è rappresentata da un numero particolare. La

somma di questi numeri permette al gioco di capire quali armi un particolare cockpit o una nave possono usare.

Valori:
1 2 4
8 16 32
64 128 256
512 1024 2048
4096 8192 16384
32768 65536 131072
262144 524288 1048576
2097152 4194304 8388608

Armi (in rispettivo ordine):

A LEI ___ B LEI ___ G LEI
A CAP ___ B CAP ___ G CAP
A HEPT ___ B HEPT ___ G HEPT
A GOF ___ B GOF ___ G GOF
TRIVELLA MOBILE
______ KYON A __ KYON B
KYON G __ MASS DRIVER __ ION
A CFF ___ B CFF ___ G CFF
TORRETTA LASER
_______ SUPER KYON
______________ LASER RIPARATORE

(qui ho dovuto arrangiarmi, il forum non permette spazi e tabulazioni a piacere)

Ogni combinazione di numeri sarà diversa, quindi ongi nave può avere qualsiasi arma: ad esempio un M5 Argon con 7 (1+2+4) potrà portare tutte le armi LEI, se questo numero fosse 4194311 questo Discoverer oltre a portare le armi LEI anche il superlaser Khaak (4194304+1+2+4).


TLaser e TBullets: due files, una cosa sola: ARMI

Questa ultima sezione di questa parte dedicata ai files types mira a spiegare il funzionamento congiunto di questi due files. Per quanto riguarda il file TBullets parlo di unità perchè in base all'arma queste sono diverse, nella maggior parte delle armi sono dei "pallini", ma in altre (come i GOF o gli ION) sono cose a parte, che non saprei come descrivere se non come unità. Ogni unità che colpisce un bersaglio fa il suo danno. Credo che il gioco associ una unità ad un laser in base all'ordine di questi nei file types a cui appartengono (il laser LEI Alfa è alla stessa posizione, la prima, del file tlaser come lo è l'unità che viene sparata dai LEI Alfa nel file tbullets). Quindi in sostanza il tlaser è l'arma, ciò che è attaccato alla nave, e il tbullets è ciò che viene sparato.

E' possibile lavorare sulle armi in vari modi, cambiando la forma del colpo direttamente sul modello, il colore al file tbullets, come per il tipo e la quantità di energia usati, per avere sempre tante e teoricamente illimitate possibilità.


Osservazioni:

Di molti valori o non si conosce l'utilizzo, o non si è trovato, in entrambi i casi non conviene modificare i valori di cui non si conosce la funzione, per evitare problemi. Per lavorare nei file types X2Editor è il tool migliore, in quanto permette di fare modifiche con un interfaccia grafica semplice da usare. Con questo programma ho imparato praticamnte tuto quello che so su questo tipo di file e relative modifiche.
Specie per le modifiche alle armi installate su una nave (di cui sono sicuro non avere spiegato chiaramente come posizionare torrette e cannoni - se necessario aggiornerò quella parte della guida)l'editor è utilissimo (trovate il link per scaricarlo nella prima parte della guida).
Questa parte mira a spiegare cosa sono i file types e a che servono, oltre a dare una base per poterli modificare anche manualmente, se necessario, cosa che io per primo sconsiglio visti i tools disponibili per questo lavoro.

Queste guide saranno le prossime, con un indice sommario di quelli che saranno i loro contenuti:

Parte 3: Nuove navi in X² - Parte prima (come creare nuovi oggetti sfruttando ciò che abbiamo già)

Introduzione

In X² le navi non sono navi intere, o meglio, ogni singolo oggetto (o quasi) presente nel gioco è un insieme di altri oggetti più piccoli, che uniti formano una determinata nave, o stazione, etc.
I singoli pezzi sono contenuti fisicamente nella cartella V, e i file “scena” (che chiamo così perché in inglese vengono chiamati “scene” anche se forse la traduzione più esatta è scenario), che contengono tutte le coordinate dei vari pezzi che formano un oggetto, sono nella cartella CUT. Entrabi questi tipi di file, ovvero le parti di un oggetto (cartella V) e gli oggetti completi (cartella CUT) possono presentarsi in due formati: .bod e .bob. Non ci sono differenze tra questi due formati, se non che il gioco legge più velocemente un file in formato binario (bob) piuttosto che l’altro, quindi è consigliabile “comprimere” in questo modo il file prima di inserirlo in un mod. Per questa conversione si può utilizzare il tool creato sempre da Doubleshadow e disponibile dal suo sito per il download, ma anche il tool ufficiale presente nel modder kit scaricabile dal sito della egosoft.

Comprensione e creazione di un file “scena”

La domanda da un milione di dollari… come creo un file scena? Semplice, non lo create , ma si parte modificando un file esistente. Anche se utilizzando 3dsmax (e credo pure con gmax) e il tool per la conversione di un oggetto per il gioco a volte si riesce a generare il file scena senza fatica. Ma che gusto c’è allora? Laughing Beh, questo è il modo più complicato (ma neanche troppo) di creare uno di questi file, e basta un semplice editor di testo (notepad è più che sufficiente), word è anche troppo.

Componenti di un file scena:

Premessa: ogni oggetto DEVE contenere sempre il tag 940. Questo è una cosa che indica al gioco che la nave è utilizzabile dal giocatore, e quindi pilotabile. Se una nave non ha questo tag non sarà pilotabile (esempi sono i satelliti, i droni, le mine… mah, chissà come sarebbe pilotare una mina), non avrà neanche all’inizio della sua riga nel file TShips (cartella types) questo numero (guardate nella sezione precedente della guida). Questo tag inoltre definisce la posizione del cockpit all’interno della nave (ovvero la visuale del giocatore, che parte di nave vede dal suo interno), e il punto di attracco ad un cantiere navale (se M2 o M1).

Le altre parti che compongono una nave sono: i motori (qui credo ci arrivano in molti… Laughing), lo scafo e le armi. Per le navi più grandi anche dei punti per fare attraccare le navi più piccole (indifferentemente che siano attracchi esterni o interni).

Si possono inoltre inserire effetti come le luci della nave, il logo del giocatore, o l’effetto visivo dei motori in funzione.

Analizziamo un file scena, prendendo come esempio l’Argon Nova, ma non fatevi spaventare dalla sua lunghezza: molte parti infatti sono replicate e possono anche non essere inserite, sono solo frame della nave ad indici temporali diversi (non so spiegarlo in modo più semplice… ma in teoria diciamo che servono per le parti in movimento di una nave, tipo le antenne rotanti, e sono poche le parti che li hanno, quindi non preoccupatevi, ripeto: servono SOLO per le animazioni, ma se facciamo copia e incolla da un file già esistente e funzionante, ad esempio di un pezzo di qualche nave presente nel gioco base, senza mod, e con diversi frame copiamo anche questi, possono evitare problemi futuri.
In ogni caso le parti di cui tenere conto sono le prime righe, quelle che iniziano con P XX (dove XX è un numero) e la prima linea sotto di loro, quella con alla fine //0. Ma se modifichiamo la posizione di un oggetto con dei frame dovremo modificare la posizione dell’oggetto in tutti i suoi frame.

-----------------------------------------------------------------------------------
// Converted with x2bc from "04170.bob" at Mon Oct 17 08:45:26 2005

/# $PATH: F:\SRC\Xtract\Xtract\cut\04170.BOD SRC: F:\SRC\3DSMAX-Work\X2_The-Threat\Scenen-Ships\revised\4170_argon_nova_m3_notrails.max TIME: Sep 4 2003 00:37:38 Copyright 1 2003 by EGOSOFT$

VER: 4;
-----------------------------------------------------------------------------------
Questa parte è messa automaticamente dal converter (x2bc, ennesimo tool di Doubleshadow Very Happy ), che converte i bob già presenti nel gioco in bod, apribili con notepad. I trattini li ho messi io per chiarezza, e farò lo stesso con le sezioni successive.

P 6; B 106; C 1; N 106_1b;
{ 0x2002; -3806;168;-1745; 0.500046;0.000000;0.000000;1.000000; -1;-1; } // 0

P 7; B 106; C 1; N 106_1b01;
{ 0x2002; 3807;128;-1757; 0.500046;0.000000;0.000000;1.000000; -1;-1; } // 0

P 8; B 770; C 12289; N 770_12289b;
{ 0x2002; -2359;1782;-4105; 0.000000;0.000000;0.000000;0.000000; -1;-1; } // 0

P 9; B 906; N 906b;
{ 0xA002; 0;1123;-170; 0.027771;-1.000000;0.000000;0.000000; 0.000000;0.000000;0.000000;0.000000;0.000000; 1666;1; } // 0
{ 0x8012; 0.499985;0.000000;-0.984802;0.173645; 0.000000;0.000000;0.000000;0.000000;0.000000; 1667;2; } // 1
{ 0x8012; 0.499985;0.000000;-0.984802;0.173645; 0.000000;0.000000;0.000000;0.000000;0.000000; -1;-1; } // 2

P 10; B 909; N 909tie;
{ 0x2002; -2410;126;-155; 0.000000;0.000000;0.000000;0.000000; -1;-1; } // 0

P 11; B 909; N 909tie01;
{ 0x2002; 2413;126;-155; 0.499985;0.000000;0.000000;1.000000; -1;-1; } // 0

P 12; B 770; C 12289; N 770_12289b01;
{ 0x2002; -2359;-1453;-4105; 0.000000;0.000000;0.000000;0.000000; -1;-1; } // 0

P 13; B 770; C 12289; N 770_12289b02;
{ 0x2002; 2331;-1453;-4105; 0.000000;0.000000;0.000000;0.000000; -1;-1; } // 0

P 14; B 770; C 12289; N 770_12289b03;
{ 0x2002; 2331;1782;-4105; 0.000000;0.000000;0.000000;0.000000; -1;-1; } // 0

P 15; B 915; C 1; N 915_1Cockpit;
{ 0x2002; 0;0;791; 0.000000;0.000000;0.000000;0.000000; -1;-1; } // 0

P 16; B 91; C 2; N B91_2b;
{ 0x2002; 1;-136;-1076; 0.499985;0.000000;1.000000;0.000000; -1;-1; } // 0

P 17; B 940; N 940Mainbody;
{ 0x2002; 0;0;0; 0.000000;0.000000;0.000000;0.000000; -1;-1; } // 0

P 34; B 10322; N B10322b02;
{ 0x2002; -2349;-2601;-2524; 0.000000;0.000000;0.000000;0.000000; -1;-1; } // 0

P 35; B 10322; N B10322b03;
{ 0x2002; -2349;2841;-2524; 0.000000;0.000000;0.000000;0.000000; -1;-1; } // 0

P 36; B 10323; N B10323bl02;
{ 0x2002; 2361;-2597;-2526; 0.000000;0.000000;0.000000;0.000000; -1;-1; } // 0

P 37; B 10323; N B10323bl03;
{ 0x2002; 2361;2843;-2526; 0.000000;0.000000;0.000000;0.000000; -1;-1; } // 0

Dopo l’inquietante caterva di numeri possiamo iniziare ad analizzare il nostro amato/odiato Nova pezzo per pezzo… letteralmente. Partiamo dal primo oggetto:

P 6; B 106; C 1; N 106_1b;
{ 0x2002; -3806;168;-1745; 0.500046;0.000000;0.000000;1.000000; -1;-1; } // 0

P 6; il numero della parte all’interno del file scena
B 106; il modello della parte (è contenuto nella cartella v)
C 1; il cockpit a cui è assegnato l’oggetto (un arma), se non è un arma è il cockpit stesso (inteso come raggruppamento di armi, la “finestra” dal quale si spara in torretta)
N 106_1b; il nome con cui è stato salvato l’oggetto (ad esempio il nome interno dell’oggetto nell’editor 3d come gmax, basta copiarlo)
0x2002; il la posizione nel frame dell’animazione (se si tratta di una di queste), 2 è la posizione originale, altri numeri rappresentano alter posizioni, questo numero puù essere sia in esadecimale (cone im questo caso) che in forma decimale
-3806; la posizione relativamente al centro della scena (0;0), sull’asse x (sinistra-destra)
168; la posizione relativamente al centro della scena (0;0), sull’asse y (su-giù)
-1745; la posizione relativamente al centro della scena (0;0), sull’asse z (avanti-dietro, la profondità)
0.500046; questo numero è la percentuale di angolo applicata alle rotazioni (quelle qui sotto), appena ho più info aggiornerò questo pezzo
0.000000; la rotazione dell’oggetto sul suo asse, come se stesse cabrando/picchiando (lungo un asse che taglia l’oggetto al centro)
0.000000; la rotazione dell’oggetto sul suo asse, come se dovesse cambiare rotta (lungo un asse che taglia al centro l’oggetto al centro)
1.000000; la rotazione dell’oggetto sul suo asse, come se rollasse (lungo un asse che taglia l’oggetto al centro)
-1; tempo (in millisecondi) per l’animazione (-1 significa che l’oggetto è fermo)
-1; frame dell’oggetto (per le animazioni)

I caratteri { } e // sono usati dal sistema. I primi delimitano i valori di ogni singolo pezzo, i secondi vengono usati per “commentare” stringhe di codice che poi non andrà ad influenzare il modello in gioco.

Nota: ho eliminato tutti gli oggetti “inutili”… nel file originale vi sono molti (ma molti) oggetti con body B566, di cui un esempio qui sotto:

P 0; B 566; C 32; N 566_32bggg;
{ 0xA002; -2426;-2316; 0.333328;-0.577347;0.577347;0.577347; 0.000000;0.000000;0.000000;0.000000;0.000000; 333;1; } // 0

In particolare il body 566 sembra essere una delle luci della nave. Gli altri oggetti non sono che altre parti del caccia argon, come luci posizionali, la torretta, gli attacchi per le armi, i motori, le scie luminose dei motori, insomma, un largo insieme di parti, tutte assemblate tra di loro.

Per creare la nostra nave quindi sarà sufficiente care un bel copia e incolla delle parti di nostro interesse in un file di testo pulito, mettere tutte le parti in ordine, sistemare i cockpit e i numeri delle parti (devono essere presenti, in ordine e senza "buchi", ovvero parti mancanti, ad esempio una P5 e una P7 senza una P6 nella scena). Poi è sufficiente salvare il file come .bod, convertirlo in .bob (con il tool di doubleshadow), in modo da rendere al gioco l'accesso al modello in maniera (legermente) più rapida (il miglioramento si vede con tante navi sullo schermo), e includere il modello nella cartella CUT del nostro mod. Ovviamente andranno inserite nel mod anche tutte le parti personalizzate che avremo creato, e andranno salvate nella cartella V (sempre in formato bob se possibile).

Assemblare una scena non è semplice, nel senso che a meno di non avere un gran bel colpo di fortuna, la nave sarà come “esplosa”, con i suoi componenti staccati. Ovviare a questo la soluzione è semplice… uscire dal gioco (per provare il modello basta entrare in gioco e guardare una nave di questo tipo), provare a spostare le parti, salvare il file e riprovare il modello in gioco. Non è difficile, è solo molto, molto noioso, ma se viene un bel risultato da anche certe soddisfazioni…

In definitiva: ricordate che in X2 ogni oggetto è solo un insieme di più parti, che possono essere combinate a proprio piacimento. Non esistono limitazioni, ogni parte può sovrapporsi ad un'altra, però più parti ci sono maggior numero di poligoni avrà il nostro oggetto, rischiando di minare la fluidità del gioco (credo che intorno ai 10000 poligoni sia sufficiente per un modello ad ottima risoluzione e che non da troppo fastidio al gioco).

Suggerimento: per una lista completa dei file con i modelli dei vari pezzi usati nel gioco guardate questo tread: http://www.egosoft.com/x2/forum/viewtopic.php?t=50079. inoltre, sempre nel tool kit ufficiale egosoft potete trovare una lista con i nomi di alcune parti di navi, senza dover cercare ogni singolo pezzo adatto per i vostri scopi (ad. esempio dei motori, o attacchi per le armi) in tutto l’insieme di modelli di oggetti di x2.

Parte 4: Nuove navi in X² - Parte seconda (come creare nuovi oggetti con GMAX o 3DSMAX)
- Retexture di navi già modellate (altir mod, altri giochi...)
- Creazione della scena con GMAX
- Altro

Parte 5: Lo Script Editor
- Lo Script Editor
- Possibilità dell’editor
- Basi
- Comandi avanzati

Parte 6: Uso avanzato dello Script Editor

- Lavorare su script e files t
- Aggiungere nuovi prodotti
- Aggiungere nuovi comandi

Parte 7: OBJ, questi sconosciuti

I file .obj sono file che permettono modifiche di alto livello. All’inizio si pensava ad esempio che il numero di navi, o di armi fosse limitato nel gioco e non modificabile. In un certo senso è così, ma con le opportune modifiche si può rimediare…
Principalmente le modifiche riguardano due file, x2story.obj e x2galedit.obj, entrambi contenuti nella cartella l del gioco. Questi file sono nascosti (come lo è la loro cartella), anche perché nel gioco in versione base non servono a niente, invece sono inclusi in moltissimi mod (almeno degli ultimi tipo Terradine o i vari mod di Deadly), per accedervi basta armarsi di X2Modmanager.
Modificando questi file (con opportuni metodi, la maniera più semplice è usando i vari “patch” rilasciati periodicamente da CheckerTwo), è possibile ad esempio aumentare il numero di navi nel gioco (se non sbaglio il numero massimo è 314) o di armi (anche qi, oltre alle armi base si possono aggiungerne 32 nuove, di cui 7 armi normali e le altre armi missilistiche), si può aumentare il numero di scudi sulle stazioni, o fare in modo di attraccare dei tp/ts a navi che normalmente non li accetterebbero (tipo degli M2) o ancora far attraccare M3/M4 ad un M6.

Per fare questo basta seguire queste istruzioni (prese dal reame di patch.10, tradotte e semplificate dove possibile):

1) fare una copia di backup dei x2story.obj e x2galedit.obj originali (questo dovrebbe essere fatto sempre, in qualsiasi modding)

2) copiare il programma ptch10.exe (o qualsiasi sia il suo nome, ad ogni versione può cambiare) nella directory \x2\l dove sono contenuti questi due file obj, in questo caso è conveniente lavorare con i file obj estratti dal mod ed in una cartella chiamata appunto \x2\l, anche ad esempio, sul desktop…

3) avviare il programma ptch10.exe e aprire per primo x2story.obj

4) ogni linea che apparirà a schermo coincide con ogni singola riga del file Tships.txt contenuto nella cartella types del mod/gioco, ed ogni modifica ad uno di questi due file deve essere riportata anche nell’altro pena il malfunzionamento di tutto. Apparirà una schermata come questa: (per ottenerla ho aperto x2story.obj contenuto in 04.dat/cat)



In questa schermata è possibile modificare tutte le navi, con l’accortezza di modificare di conseguenza anche il file Tships.txt nella stessa maniera (ovvero: se in fondo a x2story.obj aggiungo una nave di classe M4 anche in fondo a Tships.txt andrò ad aggiungere un M4, non un'altra categoria di navi per non creare conflitti nel gioco)

Nelle altre 2 schermate si possono modificare altri aspetti del gioco come il numero di armi presenti e la possibilità di attraccare certe navi su altri tipi di navi, e il numero di scudi sulle stazioni



5) finito di fare le proprie modifiche basta salvare il file obj, se volete potete uscire dal programma

6) se si è cambiato il nome del file x2story.obj bisogna rinominarlo come in origine (ovvero proprio x2story.obj)

7) ora bisogna modificare Tships.txt, aggiungendo le navi in fondo a tutte quelle che abbiamo già nel gioco, proprio come abbiamo fatto in x2story.obj ma con un altro tool, come x2editor. Il concetto è relativamente semplice: con ptch10.exe abbiamo inserito degli ulteriori “slot” per delle nuove navi (o armi, o missili… dipende dalle modifiche che abbiamo fatto), e ci siamo riservati il tipo di nave (classe) che andrà a riempire quello slot, invece agendo su Tships.txt abbiamo effettivamente riempito quel buco mettendoci una nave

Se le modifiche che abbiamo fatto riguardano solo armi o missili bisogna andare a modificare rispettivamente TLasers.txt e Tbullets.txt per le amri, Trockets.txt per i missili, aggiungendo in fondo alla lista di oggetti già presenti quelli nuovi (con x2editor è sufficiente fare un click col tasto destro del mouse sull’elenco stesso e scegliere di aggiungere un oggetto alla lista)

Cool bisogna aggiungere le descrizioni delle navi/armi/missili e i loro nomi al gioco, per farlo bisogna agire su degli altri file (i file contenuti nella cartella T), per queste informazioni basta vedere il tutorial su come aggiungere un oggetto al gioco

9) tempo di tornare ad usare il ptch10.exe, sempre su x2story.obj, ora bisogna generare il file .ini che andrà a modificare automaticamente anche l’altro file .obj; per farlo è sufficiente clickare sul tasto “generate ini file” nell’interfaccia del programma. È consigliabile NON modificare manualmente il file che verrà generato, ptch10.ini, che può portare a dei bei bug

10) ora bisogna applicare le modifiche a x2galedit.obj, per farlo ci sono due possibilità: o si modifica manualmente come si è fatto con x2story.obj, stando attenti ad eseguire le stesse identiche modifiche, o si usa il file ini che abbiamo generato precedentemente, per farlo è sufficiente aprire una finestra ms-dos (start -> esegui -> cmd), portarsi nella directory che contiene tutti i file in questione (ptch10.exe, ptch10.ini, dovrebbero essere sempre nella cartella l su cui stavamo lavorando, basta fare cd <nomedirectory> se stiamo lavorando sul desktop, o cd .. per tornare indietro di una cartella) e digitare questa riga nella finestra ms-dos:

ptch10.exe x2galedit.obj x2ge.obj

questa stringa ordinerà al programma ptch10.exe di generare un file chiamato x2ge.opj (il nome è a piacere, basta mantenere la radice .obj), che sarà un file del tipo x2galedit.obj (che contiene le navi che fanno parte dell’universe editor, l’altro file contiene quelle esclusivamente di trama a quanto ho capito), utilizzando come base il file ptch10.ini che abbiamo generato in precedenza (non dobbiamo specificare questo file dato che è un impostazione di default)

Dopo aver fatto queste modifiche se tutto va bene il gioco dovrebbe partire… Laughing, altrimenti qualcosa non va, e conviene controllare il tutto. In genere gli errori più comuni sono degli sbagli nell’assegnazione delle classici una nave tra il file x2story.obj e TShips.txt, che basta correggere per eseguire X2 correttamente.

Nel rilasciare un mod questi file vanno inclusi nella cartella l compressa all’interno del mod stesso, è la maniera più pulita e semplice per eseguire queste modifiche. Per la gioia di molti tra di noi è possibile inserire dei veri M0 all’interno del gioco con questa modifica.

Parte 9: Lavorare con i suoni (armi ed altro)

Tutorial 1:

Usiamo X2Editor


A dire il vero non parlerò di X2Editor, non solo almeno… Doubleshadow ha fatto una bella gamma di tools utilissimi (se non indispensabili) per moddare X2. Forse non sono gli unici, ma sono quelli con cui ho imparato a moddare (anche se non ho mai fatto nulla di serio, lo ripeto… sto imparando insieme a voi, e quello che imparo lo scrivo qui). Inoltre questi tools sono molto semplici da usare.

X2Editor

Il tool di base. Installarlo è semplice, basta scaricare dal sito la versione del programma più aggiornata, e se necessario (ovvero se ci sono delle patch) aggiornare il programma con queste. Sono necessarie alcune librerie per far funzionare questo programma, scaricabili dallo stesso sito di Doubleshadow. Una volta che è tutto installato basta avviare il programma.

Schermata Opzioni/primo avvio:

Al primo avvio dovrebbe apparire una schermata come questa (o qualcosa di simile). Questa descrizione vale anche per il pannello “Opzioni”, che è identico.



Load object description: spuntando questa casella il programma caricherà automaticamente (se disponibili) le descrizioni degli oggetti che troverà nei vari file del gioco (contenuti per la maggiore nei file types).
Use language ID for description: all’interno di questa casella è possible selezionare il linguaggio dei file cui X2Editor terrà conto. File di altri linguaggi verranno ignorati. Di default la lingua selezionata è l’inglese (44), e l’italiano non è supportato, quindi se avete una versione inglese del gioco basta lasciare questo valore così come è, altrimenti basta selezionare questa casella, eliminarne il contenuto e scrivere 39, l’ID della nostra lingua.
Directory with data files: questa casella deve contenere niente altro che la directory dove si è installato il gioco
Path to 2 executable: qui bisogna inserire il percorso per arrivare all’eseguibile di X2 (generalmente è la directory della cartella precedente/X2.exe)
Program to run: qui si può eseguire un programma a scelta dell’utente, ad es. un editor di testo, o altro, basta mettere il suo path (è indifferente qui specificare un programma o meno)

Le altre tabelle di questa schermata sono inutili (al limite la terza, quella che dice 3D Viewer, ma siccome l’unico programma che apre di base i formati usati in X2 è in cirillico e non funziona su tutti i file mi sento di escludere che qualcuno lo usi…)

TXT Editor:

Questa parte del programma permette di modificare manualmente i valori contenuti nei file types. Per quanto mi riguarda è una delle funzioni che uso più spesso, permette di modificare ad esempio le caratteristiche delle navi, delle armi, di tutto o quasi, con una comoda interfaccia grafica. Nell’immagine ho aperto il file TShips.txt alla versione 1.4 del gioco (04.cat/dat). Se si vuole si possono anche visualizzare i dati come se il file fosse aperto con notepad (raw data).
Clickando col tasto destro del mouse sulla finestra laterale della schermata è possibile copiare/incollare/tagliare o aggiungere un oggetto.



Galaxi Editor:

Simile ad altri Galaxi Editor, questo serve a... indovinate un po? Laughing… a modificare la galassia Very Happy
Esistono altre guide sul galaxi editor, che bene o male valgono per tutti i vari programmi (quello incluso nel gioco, quello in java di XeHonk, questo di Doubleshadow…), guardate in fondo a questa guida per un link.

Text Resource Editor:

Questa funzione del programma permette di modificare come con un editor di testo di file contenuti nella cartella T del gioco. Nell’immagine (presa direttamente aprendo l’archivio 04.cat/dat, l’ultima patch applicata al gioco) è possibile notare sulla parte sinistra della schermata i nomi di tutte le pagine contenute nel gioco (file in formato .xml), che contengono tutte le stringhe usate nel gioco. Se avessi aperto un altro archivio, mag



Last edited by JonusITA on Mon, 5. Dec 05, 15:15; edited 30 times in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Hugoz
Moderator (Italiano)
Moderator (Italiano)



Joined: 05 Feb 2003
Posts: 2547 on topic

Thank you for registering your game
PostPosted: Fri, 15. Jul 05, 20:58    Post subject: Reply with quote Print

Stikkata Smile


_________________
"Violence is the last refuge of the incompetent" Salvor Hardin
http://it.universox.wikia.com/wiki/UniversoX_Wiki
Back to top
View user's profile Send private message Send e-mail
JonusITA





Joined: 21 Jun 2004
Posts: 3433 on topic
Location: The Old, Mighty Italy
Thank you for registering your game
modified
PostPosted: Fri, 15. Jul 05, 21:15    Post subject: Reply with quote Print

lol, tnx hugoz^^

edit: ok, uso questo post per fare una sorta di "aggiornamento":

versione 0.4: piccole correzioni, aggiunta la parte 8 e il primo tutorial
versione 0.5: avevo sistemato le immagini (inizio ad odiare altervista, non va neanche l'avatar), aggiunta una versione base della terza parte, rimossa la parte sul c (non ho tempo di fare una guida del genere, gli esami premono, e basta usare google e scrivere "guida c" per trovarne a bizzeffe)


_________________
Memento Audere Semper

X-Tended Mod Team Member
X-Tended Mod official forums
X-Tended official ship gallery


Last edited by JonusITA on Mon, 5. Dec 05, 15:17; edited 3 times in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website
tonino





Joined: 09 Sep 2004
Posts: 51 on topic

Thank you for registering your game
PostPosted: Sun, 21. Aug 05, 00:06    Post subject: Reply with quote Print

ciao a todos
non ho la cartella TYPES,
come è possibile?
eppure il gioco funsia lo stesso.
BOH Confused

Back to top
View user's profile Send private message
JonusITA





Joined: 21 Jun 2004
Posts: 3433 on topic
Location: The Old, Mighty Italy
Thank you for registering your game
PostPosted: Sat, 27. Aug 05, 23:00    Post subject: Reply with quote Print

tonino wrote:
ciao a todos
non ho la cartella TYPES,
come è possibile?
eppure il gioco funsia lo stesso.
BOH Confused


è normale, per spiegarti... immagina di avere tutto il gioco nel file 01.dat/cat (tranne l'eseguibile)

tutto il resto (ovvero tutti gli altri file cat/dat, la roba nella cartella mod, e quello che è contenuto nelle cartelle nella directory del gioco sono cose in più, risorse che vanno a modificare quelle del gioco (e se già presenti le sovrascrivono)

questo è il meccanismo anche delle patch in x2 Smile

la cartella types semplicemente non c'è nella directry di x2 perchè non deve esserci, al contrario è negli archivi catìdat che formano il gioco


_________________
Memento Audere Semper

X-Tended Mod Team Member
X-Tended Mod official forums
X-Tended official ship gallery
Back to top
View user's profile Send private message Send e-mail Visit poster's website
tonino





Joined: 09 Sep 2004
Posts: 51 on topic

Thank you for registering your game
PostPosted: Thu, 1. Sep 05, 02:37    Post subject: Reply with quote Print

ciao
grazzie" Jonus_ita"
ho capito!

Back to top
View user's profile Send private message
JonusITA





Joined: 21 Jun 2004
Posts: 3433 on topic
Location: The Old, Mighty Italy
Thank you for registering your game
PostPosted: Thu, 8. Sep 05, 21:02    Post subject: Reply with quote Print

versione 0.31 della guida

aggiunta la seconda parte della guida (fiile types) e aggiornata la "wishlist" (ovvero cosa vorrei riuscire a finire), oltre a correzioni minori


_________________
Memento Audere Semper

X-Tended Mod Team Member
X-Tended Mod official forums
X-Tended official ship gallery
Back to top
View user's profile Send private message Send e-mail Visit poster's website
essefosse





Joined: 20 May 2005
Posts: 84 on topic
Location: vigevano
Thank you for registering your game
PostPosted: Thu, 8. Sep 05, 21:32    Post subject: Reply with quote Print

sta venendo voglia anche a me di cimentarmi in qualche "moddata"... prima o poi Thinking
merito di questa guida! bel lavoro davvero e non è ancora finita.
complimenti Jonus

Back to top
View user's profile Send private message
JonusITA





Joined: 21 Jun 2004
Posts: 3433 on topic
Location: The Old, Mighty Italy
Thank you for registering your game
PostPosted: Thu, 8. Sep 05, 21:35    Post subject: Reply with quote Print

essefosse wrote:
sta venendo voglia anche a me di cimentarmi in qualche "moddata"... prima o poi Thinking
merito di questa guida! bel lavoro davvero e non è ancora finita.
complimenti Jonus


se viene come penso sarà qualcosa del tipo 3-4 volte questa Very Happy


mi fa piacere che anche qualcun'altro voglia "moddare" (e qualcuno per fortuna c'è già), in fondo la via per il forum anchra più "ubba" passa anche di qui Wink


_________________
Memento Audere Semper

X-Tended Mod Team Member
X-Tended Mod official forums
X-Tended official ship gallery
Back to top
View user's profile Send private message Send e-mail Visit poster's website
NavaCorp





Joined: 16 Nov 2004
Posts: 2200 on topic
Location: Silvio's Kingdom
Thank you for registering your game
PostPosted: Thu, 8. Sep 05, 22:59    Post subject: Reply with quote Print

Grazie Jonus Very Happy Thumb up

Back to top
View user's profile Send private message
Tolihama



MEDALMEDALMEDAL

Joined: 31 May 2005
Posts: 4416 on topic
Location: New X-Universe
Thank you for registering your game
PostPosted: Fri, 9. Sep 05, 15:53    Post subject: Reply with quote Print

Grazie Very Happy Thumb up

Back to top
View user's profile Send private message Send e-mail
-Dna-



MEDALMEDALMEDAL

Joined: 03 Jan 2005
Posts: 15612 on topic

Thank you for registering your game
PostPosted: Fri, 9. Sep 05, 19:08    Post subject: Reply with quote Print

NavaCorp wrote:
Grazie Jonus Very Happy Thumb up


Con questa guida riusciremo finalmente a imparare a moddare... ancora complimenti Thumb up


_________________
Remember: Good things don't come to an end: good things just stop. ~ [cit. Day[9]]
Back to top
View user's profile Send private message
JonusITA





Joined: 21 Jun 2004
Posts: 3433 on topic
Location: The Old, Mighty Italy
Thank you for registering your game
PostPosted: Fri, 9. Sep 05, 19:56    Post subject: Reply with quote Print

Dna007 wrote:
NavaCorp wrote:
Grazie Jonus Very Happy Thumb up


Con questa guida riusciremo finalmente a imparare a moddare... ancora complimenti Thumb up


aspettate che sia finita, poi iniziamo su x3 in maniera pesante Very Happy

cmq devo imparare io stesso delle cose (modellazione grafica, li ho solo delle basi) e script editor (conosco un bel po di linguaggi complessi, non dovrebbe essere un problema))


_________________
Memento Audere Semper

X-Tended Mod Team Member
X-Tended Mod official forums
X-Tended official ship gallery
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Hugoz
Moderator (Italiano)
Moderator (Italiano)



Joined: 05 Feb 2003
Posts: 2547 on topic

Thank you for registering your game
PostPosted: Sat, 10. Sep 05, 00:32    Post subject: Reply with quote Print

Il gioco usa il KC come linguaggio (linguaggio ad oggetti , molto simile al C++ per intenderci) se sei a lev 3 dovresti riuscire a scaricare il manuale di istruzioni dove spiega tutto per benino .


_________________
"Violence is the last refuge of the incompetent" Salvor Hardin
http://it.universox.wikia.com/wiki/UniversoX_Wiki
Back to top
View user's profile Send private message Send e-mail
JonusITA





Joined: 21 Jun 2004
Posts: 3433 on topic
Location: The Old, Mighty Italy
Thank you for registering your game
PostPosted: Sat, 10. Sep 05, 11:36    Post subject: Reply with quote Print

conosco il c++, quello non è il mio problema, è solo che devo imparare le varie funzioni e variabili di ambiente presenti di base nel gioco

cmq tra guide + o - ufficiali per gli script anche un non-lev3 può imparare senza problemi


_________________
Memento Audere Semper

X-Tended Mod Team Member
X-Tended Mod official forums
X-Tended official ship gallery
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic This topic is locked: you cannot edit posts or make replies. Goto page 1, 2, 3, 4  Next
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum
Control Panel
Login Data
The time now is Tue, 21. Oct 14, 02:31

All times are GMT + 2 Hours


Board Security

Copyright © EGOSOFT 1989-2009
Powered by phpBB © 2001, 2005 phpBB Group
Template created by Avatar & BurnIt!
Debug: page generation = 0.57854 seconds, sql queries = 74