È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!

 

 

 

 

 

 

 

Medieval 2 Total War
Discussione generale sul videogioco Medieval 2 : Total War
Cattedra
Guide & Tutorial a cura dei maggiori esperti di modding
Medieval 2 Total War Cantiere
Progettazione di Mod relativi al videogame Medieval 2 Total War

 

 

Nuova Discussione
Rispondi
 
Stampa | Notifica email    
Autore

GUIDA ALLO SCRIPTING

Ultimo Aggiornamento: 28/01/2016 14:51
22/01/2008 14:32
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 21.194
Registrato il: 10/02/2007
Principe

Ciao a tutti,

con questo tutorial a puntate cercherò di riassumere gli elementi essenziali per comprendere la funzionalità degli script e dei trigger utilizzati in M2TW.


CAPITOLI 1-4


1. REQUISITI
------------

Per prima cosa, per modificare i files di M2TW dovrete scompattare il gioco con l'apposito unpacker, disponibile dalla versione 1.1 di M2TW. Consiglio di scompattare una versione 1.2 o 1.3 di M2TW, e soprattutto di non intaccare la copia di M2TW che usate correntemente per giocare, ma di farlo su una copia a parte.
Il comando per scompattare è tools\unpack_all. Il processo richiederà molti minuti, e si libereranno svariati GB di files, quindi assicuratevi di avere tempo e spazio disponibili.
E' inoltre consigliato il seguente file (Docudemons 4.0):

www.twcenter.net/forums/downloads.php?do=file&id=1579

Questo file in formato Excel rappresenta il testo sacro per gli scripter di M2TW! Si presenta come una serie di schede (troverete in basso i collegamenti) in cui sono tabulati tutti i comandi implementati nel gioco, utili per modificare moltissimi files.
Infine, per modificare i file di testo nella cartella data\text dovrete convertire i file in formato bin, usando il converter di Alpaca:

www.twcenter.net/forums/downloads.php?do=file&id=1006


2. COS'E' UNO SCRIPT?
---------------------

Uno script è uno speciale comando che consente di intervenire dall'esterno sulle dinamiche di gioco di M2TW. In alcuni files (export_descr_ancillaries, export_descr_character_traits, export_descr_guild) i comandi di script sono generalmente indicati come "trigger".
Creare uno script non è un affare semplice, soprattutto per i modder con poca esperienza, quindi è consigliabile anzitutto prendere confidenza con i comandi preesistenti nei files in formato testo, specialmente nel: campaign_script, export_descr_ancillaries, export_descr_character_traits.
In generale, uno script si compone di tre parti:
- controllo eventi;
- condizioni;
- comandi.
Quindi, al verificarsi di un determinato evento, se sono rispettate le condizioni imposte, allora lo script impone certi comandi.


3. IL CAMPAIGN_SCRIPT
---------------------

Questo file (data/world/maps/campaign/imperial_campaign/campaign_script.txt) contiene gli script di una campagna. Viene eseguito dal gioco al caricamento della campagna e continua ad essere eseguito fino alla fine della campagna stessa. A differenza di RTW, lo stato del campaign_script viene allocato nei salvataggi, per cui i cambiamenti del campaign_script possono generare incompatibilità con salvataggi precedenti.
Il campaign_script originale si compone di varie parti, tra cui le invasioni dei Mongoli e dei Timuridi, la scoperta dell'America, la presentazione delle fazioni.


3.1 I monitor

I monitor rappresentano il comando base di uno script. Esistono due diversi tipi di monitor: il monitor_event e il monitor_conditions. Un monitor_event specifica il momento in cui il gioco eseguirà lo script; un monitor_conditions invece non richiede alcun evento, ma specifica la condizione per la quale il gioco eseguirà lo script (alla quale potranno aggiungersene altre).
I monitor, di qualunque tipo siano, sono seguiti dalle condizioni e dai comandi. Nota che in uno script può esservi soltanto un solo monitor, che deve essere debitamente concluso con un "end_monitor":

monitor_event [evento] [condizione]
and [eventuali altre condizioni]
[comandi]
end_monitor

oppure

monitor_conditions [condizione]
and [eventuali altre condizioni]
[comandi]
end_monitor

E' possibile concludere il monitor con un "terminate_monitor": in questo caso, lo script verrà eseguito solamente una volta, anche se l'evento o la condizione dettate dal monitor si ripeteranno.

monitor_event [evento] [condizione]
and [eventuali altre condizioni]
[comandi]
terminate_monitor
end_monitor

oppure

monitor_conditions [condizione]
and [eventuali altre condizioni]
[comandi]
terminate_monitor
end_monitor


3.2 Le condizioni

A valle di un monitor, si devono imporre le condizioni da verificarsi affinchè il comando dello script venga eseguito. Le condizioni possono essere più di una, in questo caso il comando finale sarà eseguito solo se tutte le condizioni saranno verificate; le condizioni successive alla prima dovranno sempre essere precedute da un "and".


3.3 I comandi

A valle delle condizioni, si deve impostare il comando (o i comandi) da eseguire nel caso in cui le condizioni siano verificate. In questo caso, i comandi successivi al primo NON devono essere preceduti da un "and".


3.4 I contatori

Il sistema di costruzione di uno script in sè è abbastanza rigido, anche a causa del limitato (sebbene numeroso) numero di eventi, condizioni e comandi reperibili nel Docudemons 4.0.
Per questo può essere estremamente utile, per rendere il processo più flessibile e realizzare script elaborati e complessi, ricorrere a dei contatori ("counter"), che sono variabili in grado di memorizzare valori interi positivi e negativi.
Per usare un contatore, è necessario anzitutto dichiararlo e settare il suo valore iniziale:

declare_counter [nome del contatore]
set_counter [nome del contatore] [valore]

In seguito, entro uno script, si potrà introdurre un comando per decidere se mutare il valore del contatore ("inc_counter") oppure settarlo a un nuovo valore ("set_counter"):

monitor_event [evento] [condizione]
and [eventuali altre condizioni]
inc_counter [nome del contatore] [valore da aggiungere]
end_monitor

oppure

monitor_event [evento] [condizione]
and [eventuali altre condizioni]
set_counter [nome del contatore] [valore]
end_monitor

Nel primo esempio, si vede che il comando inc_counter deve essere seguito dal nome del contatore e dal valore da aggiungere: quest'ultimo deve essere un numero intero, positivo o negativo (se è negativo, ovviamente si avrà una diminuzione del valore del contatore).
L'utilità dei contatori è legata all'uso di una particolare condizione ("I_compareCounter") che richiama il loro valore:

monitor_event [evento] I_CompareCounter [name] {<, <=, =, >=, >} [valore]
and [eventuali altre condizioni]
inc_counter [nome del contatore] [valore da aggiungere]
end_monitor

Con ovvio significato degli operatori matematici (nota: <= significa "minore o uguale a")


3.5 Comporre uno script

Per comporre uno script si dovrà montare, nella giusta logica e nel giusto ordine, tutte le parti che abbiamo fin qui esaminato: eventuale dichiarazione e settaggio dei contatori usati, monitor, condizioni, comandi.
Il reperimento delle stringhe, necessarie al raggiungimento del fine che si vuole raggiungere con lo script, si potrà effettuare nel Docudemons 4.0; sebbene alcune delle stringhe elencate non siano state implementate (e quindi non funzionino), la stragrande maggioranza di esse funzionano perfettamente.
Bisogna però specificare che l'accoppiamento evento-condizione non può essere casuale, ma deve sottostare a precise regole: tutti gli eventi e tutte le condizioni sono suddivisi in categorie; a un evento appartenente a una certa categoria, potrete associare una o più condizioni che dovranno necessariamente essere della stessa categoria.
Per reperire le stringhe, aprite il Docudemons 4.0; le schede denominate "commands", "conditions", "events" contengono rispettivamente le stringhe per i comandi, le condizioni e gli eventi. Il nome della stringa si trova in corrispondenza di "Identifier:", mentre la categoria a cui quella stringa appartiene si trova in corrispondenza di "Exports:" (per gli eventi) o "Trigger requirements" (per le condizioni).
Per i comandi, ci sono alcune stringhe speciali, reperibili nella sezione "console_commands", che rappresentano comandi utilizzabili durante il gioco (con l'opzione console, attivabile col tasto "ò") e, alcuni, anche nel campaign_script. Se utilizzate, queste stringhe devono essere sempre precedute da "console_command".


4. ESEMPIO
----------

Aprite il campaign_script.txt. Cancellatene tutto il contenuto, lasciando soltanto:

script
;qui inserirete i vostri script
wait_monitors
end_script

Nota: tutte le righe che iniziano per ; non vengono lette dal gioco, quindi sono utili per segnarsi appunti e annotazioni.
Ora si introdurrà, nell'apposito spazio (tra "script" e "wait_monitors"), uno script per introdurre un "malus" economico all'inizio di ogni turno, solo per le fazioni non "locali" (ovvero non utilizzate dal giocatore umano, ma dalla IA), dipendente dal livello di difficoltà della campagna scelto.

---

monitor_event SettlementTurnStart FactionType england
and not FactionIsLocal
and CampaignDifficulty = easy
console_command add_money england, -1000
end_monitor

monitor_event SettlementTurnStart FactionType england
and not FactionIsLocal
and CampaignDifficulty = medium
console_command add_money england, -500
end_monitor

monitor_event SettlementTurnStart FactionType england
and not FactionIsLocal
and CampaignDifficulty = hard
console_command add_money england, -200
end_monitor

monitor_event SettlementTurnStart FactionType england
and not FactionIsLocal
and CampaignDifficulty = very_hard
console_command add_money england, -100
end_monitor

---

Esaminiamo lo script: abbiamo usato un monitor di tipo monitor_event, quindi di seguito a questa stringa dovremo mettere una stringa-evento, reperibile nel Docudemons 4.0 entro la sezione "events". Abbiamo scelto "SettlementTurnStart", che (come spiega il Docudemons stesso) serve a innescare lo script ogni volta che una fazione inizia il suo turno.
In seguito dovremo mettere una o più condizioni. La prima che troviamo, di seguito a "SettlementTurnStart", è "FactionType". Anche questa stringa-condizione è stata reperita nel Docudemons entro la sezione "conditions". E' del tipo:

FactionType [codice della fazione]

e serve a innescare lo script solo se la fazione che inizia il turno è quella da noi impostata, nell'esempio in esame quella inglese.
Seguono poi altre condizioni (sempre reperibili nel Docudemons), ciascuna preceduta dalla congiunzione "and" e, eventualmente, da "not" (se vogliamo che la condizione non sia verificata).
"FactionIsLocal" serve a specificare che lo script viene eseguito solo se la fazione inglese che inizia il turno è comandata da un giocatore umano; se preceduta da "not", serve a specificare che lo script viene eseguito solo se la fazione inglese che inizia il turno è comandata dalla IA. "CampaignDifficulty" è del tipo:

CampaignDifficulty {<, <=, =, >=, >} [livello di difficoltà della campagna: very_hard, hard, normal o easy]

serve a specificare che lo script viene eseguito solo se la difficoltà scelta per la campagna è quella indicata, nell'esempio in esame "molto difficile" (very_hard).
Infine abbiamo il comando: "add_money", che permette di aggiungere fiorini alla fazione. "add_money" è reperibile nella sezione "console_commands" del Docudemons, quindi se usato nel campaign_script deve essere preceduto da "console". E' del tipo:

console_command add_money [codice della fazione], [valore da aggiungere]

Nota: la virgola dopo il codice della fazione è necessaria.
Il valore espresso deve essere un intero, positivo o negativo, ed esprime la quantità di fiorini aggiunta o sottratta alla fazione.

Lo script è completo. Ora dovrete estenderlo a tutte le fazioni, copiando il blocco e incollandolo per ciascuna di esse, e sostituendo tutte le stringhe "england" con "france", "hre", "spain" eccetera (per l'elenco completo dei codici delle fazioni, basta guardare il descr_strat.txt, in alto).



Alla prossima puntata! [SM=x1140436]
22/01/2008 15:27
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 1.356
Registrato il: 06/05/2007
Principe
Come dire, sei sempre eccezionale [SM=x1140424]

Adesso, dopo il mapping, conquisterò anche questo campo del modding... [SM=x1140423]
22/01/2008 15:34
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 588
Registrato il: 29/01/2007
Città: FIRENZE
Età: 34
Cavaliere
bravissimo house questa guida si rivelerà utile a molte persone [SM=x1140440]
11/08/2009 10:15
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 21.194
Registrato il: 10/02/2007
Principe

Riprendiamo dopo un anno e mezzo ;)
Esaminiamo tratti e ancillari e come crearne di nuovi.

CAPITOLO 5

5. TRATTI
---------

file da modificare:
5.1- data\export_descr_character_traits
5.2- data\export_descr_vnvs_enums
5.3- data\text\export_vnvs



5.1- export_descr_character_traits

qui si deve inserire un nuovo tratto, ad esempio proviamo ad aggiungere un tratto per l'età dei personaggi:

;------------------------------------------

Trait Eta
Characters diplomat, family, princess, admiral, spy, assassins, priest, merchant

Level Eta1
Description Eta1_desc
EffectsDescription Eta1_effects_desc
Threshold 1

Effect HitPoints 1

Level Eta2
Description Eta2_desc
EffectsDescription Eta2_effects_desc
Threshold 2

Effect MovementPoints 0

Level Eta3
Description Eta3_desc
EffectsDescription Eta3_effects_desc
Threshold 3

Effect MovementPoints -1
Effect HitPoints -1

Level Eta4
Description Eta4_desc
EffectsDescription Eta4_effects_desc
Threshold 4

Effect MovementPoints -2
Effect HitPoints -2

Level Eta5
Description Eta5_desc
EffectsDescription Eta5_effects_desc
Threshold 5

Effect MovementPoints -3
Effect HitPoints -3

Level Eta6
Description Eta6_desc
EffectsDescription Eta6_effects_desc
Threshold 6

Effect MovementPoints -4
Effect HitPoints -4

;--------------------------

La struttura è semplice, anzitutto c'è il nome del tratto (Eta) poi una lista di personaggi che possono acquisire il tratto (diplomat, family, princess, admiral, spy, assassins, priest, merchant), infine un elenco di livelli (ne ho messi 6, al mssimo se ne possono mettere 8) per l'evoluzione del tratto. Ogni livello ha il suo nome, la sua descrizione e la descrizione del suo effetto (tutti questi verranno poi riportati negli altri 2 files di testo), nonchè un thresold (punteggio necessario affinchè un personaggio possa ricevere quel livello di tratto) e infine un elenco dei bonus.

Sempre nell'export_descr_character_traits, dobbiamo mettere i triggers per il tratto appena creato.

;------------------------------------------
Trigger età1
WhenToTest CharacterTurnStart

Condition CharacterAge > 15
and CharacterAge < 25
and Trait Eta = 0

Affects Eta 1 Chance 100

;------------------------------------------
Trigger età1a
WhenToTest CharacterTurnStart

Condition CharacterAge > 24
and CharacterAge < 35
and Trait Eta = 0

Affects Eta 2 Chance 100

;------------------------------------------
Trigger età1b
WhenToTest CharacterTurnStart

Condition CharacterAge > 34
and CharacterAge < 45
and Trait Eta = 0

Affects Eta 3 Chance 100

;------------------------------------------
Trigger età1c
WhenToTest CharacterTurnStart

Condition CharacterAge > 44
and CharacterAge < 55
and Trait Eta = 0

Affects Eta 4 Chance 100

;------------------------------------------
Trigger età1d
WhenToTest CharacterTurnStart

Condition CharacterAge > 54
and CharacterAge < 65
and Trait Eta = 0

Affects Eta 5 Chance 100

;------------------------------------------
Trigger età1e
WhenToTest CharacterTurnStart

Condition CharacterAge > 65
and Trait Eta = 0

Affects Eta 6 Chance 100

;------------------------------------------
Trigger età2a
WhenToTest CharacterTurnStart

Condition CharacterAge > 24
and CharacterAge > 35
and Trait Eta = 1

Affects Eta 2 Chance 100

;------------------------------------------
Trigger età2
WhenToTest CharacterTurnStart

Condition CharacterAge > 34
and CharacterAge > 45
and Trait Eta = 2

Affects Eta 3 Chance 100

;------------------------------------------
Trigger età3
WhenToTest CharacterTurnStart

Condition CharacterAge > 44
and CharacterAge > 55
and Trait Eta = 3

Affects Eta 4 Chance 100

;------------------------------------------
Trigger età4
WhenToTest CharacterTurnStart

Condition CharacterAge > 54
and CharacterAge > 65
and Trait Eta = 4

Affects Eta 5 Chance 100

;------------------------------------------
Trigger età5
WhenToTest CharacterTurnStart

Condition CharacterAge > 64
and Trait Eta = 5

Affects Eta 6 Chance 100

;------------------------------------------

I triggers hanno la stessa struttura degli script del campaign_script, sviluppandosi come evento-condizioni-comando. Eventi e condizioni si reperiscono, come sempre, nel Docudemons. Il comando è sempre nella forma "Affects TRATTO PUNTEGGIO Chance PROBBILITA' PERCENTUALE".



5.2- export_descr_vnvs_enums

qui basta riportare le stringhe relative a ciascun livello del tratto.

;-----------------------

Eta1
Eta1_desc
Eta1_effects_desc
Eta2
Eta2_desc
Eta2_effects_desc
Eta3
Eta3_desc
Eta3_effects_desc
Eta4
Eta4_desc
Eta4_effects_desc
Eta5
Eta5_desc
Eta5_effects_desc
Eta6
Eta6_desc
Eta6_effects_desc

;----------------------



5.3- export_vnvs

Qui si inseriscono le descrizioni che compariranno nel gioco.

{Eta1}Molto giovane
{Eta1_desc}Questo personaggio è nel fiore dei suoi anni.
{Eta1_effects_desc}+1 Punti Ferita
{Eta2}Giovane
{Eta2_desc}Questo personaggio è in perfetta forma.
{Eta2_effects_desc}Nessun effetto
{Eta3}Maturo
{Eta3_desc}Nel mezzo del cammin di sua vita, questo personaggio comincia ad accusare i primi sintomi dell'invecchiamento...
{Eta3_effects_desc}-1 Punti Movimento, -1 Punti Ferita
{Eta4}Anziano
{Eta4_desc}Questo personaggio ricorda nostalgico la lontana gioventù...
{Eta4_effects_desc}-2 Punti Movimento, -2 Punti Ferita
{Eta5}Molto anziano
{Eta5_desc}Questo personaggio è vecchio, le sue membra stanche e deboli.
{Eta5_effects_desc}-3 Punti Movimento, -3 Punti Ferita
{Eta6}Cariatide!
{Eta6_desc}Questo personaggio ormai ha un piede nella fossa!
{Eta6_effects_desc}-4 Punti Movimento, -4 Punti Ferita

[Modificato da The Housekeeper 11/08/2009 10:46]
26/10/2009 17:52
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 37
Registrato il: 03/08/2009
Città: ROMA
Età: 36
Contadino
Ciao House,
bel tutorial complimenti, ma volevo chiedere qual è la differenza tra uno script e un trigger?


Ciao e grazie
26/10/2009 19:43
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 21.194
Registrato il: 10/02/2007
Principe

Re:
agostinodiippona, 26/10/2009 17.52:

Ciao House,
bel tutorial complimenti, ma volevo chiedere qual è la differenza tra uno script e un trigger?


Ciao e grazie



strutturalmente sono simili (si compongono di evento-condizioni-comando), cambia solo:
1- l'allocazione (tutti gli script sono solo nel file campaign_script, i triggers in vari files: export_descr_character_traits, export_descr_ancillaries, export_descr_guilds, descr_faction_standings...)
2- negli script puoi mettere qualsiasi comando, mentre i triggers dei vari files supportano solo determinati comandi (ad es. nell'export_descr_character_traits l'unico comando possibile è "Affects..." per assegnare un tratto)
27/10/2009 10:24
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 37
Registrato il: 03/08/2009
Città: ROMA
Età: 36
Contadino
Grazie House,
insomma non c'è nessuna grossa differenza sostanziale. Bo, chissà perchè questa duplicazione...

Grazie
27/10/2009 18:44
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 4.442
Registrato il: 24/01/2009
Città: NAPOLI
Età: 29
Principe
Perché hanno funzioni molto diverse nonostante la struttura simile
18/05/2010 11:21
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 2.046
Registrato il: 20/02/2008
Città: FIORANO CANAVESE
Età: 48
Principe
Ciao Carissimo Housekeeper,

se volessi modificare gli spostamenti delle armate crociate, cosa devo modificare?

ciao





"Qual vantaggio infatti avrà l'uomo se guadagnerà il mondo intero, e poi perderà la propria anima? O che cosa l'uomo potrà dare in cambio della propria anima?"
Mt 16, 26
18/05/2010 11:23
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 21.194
Registrato il: 10/02/2007
Principe

data\descr_campaign_db

la stringa:
movement_points_modifier float="8.0"

8 significa che il movimento base è moltiplicato per 8.
se metti 1 non ci sarà nessuna differenza.
se metti 2 il movimento è raddoppiato.
e così via
18/05/2010 12:17
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 1.707
Registrato il: 04/06/2009
Città: FERRARA
Età: 46
Principe
Ottima guida!

Bravo House!




"Non occorre che un uomo sappia cosa avverrà alla fine del giorno dopo, è sufficiente che il giorno finisca e la conclusione sarà nota; se ci rincontreremo allora sorrideremo, sennò, sarà stato lo stesso un bell'addio."
-Gaio Giulio Cesare-
18/05/2010 13:00
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 2.046
Registrato il: 20/02/2008
Città: FIORANO CANAVESE
Età: 48
Principe
Grazie Housekeeper, grazie!





"Qual vantaggio infatti avrà l'uomo se guadagnerà il mondo intero, e poi perderà la propria anima? O che cosa l'uomo potrà dare in cambio della propria anima?"
Mt 16, 26
05/09/2010 22:13
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 1.619
Registrato il: 30/05/2010
Città: RIVAROLO CANAVESE
Età: 30
Principe
questo è per i tratti, e per gli ancillari?
--------------------------------------------------






CLICCATE QUA PER GIOCARE A E-SIM!
05/09/2010 22:34
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 1.619
Registrato il: 30/05/2010
Città: RIVAROLO CANAVESE
Età: 30
Principe
i file da modificare intendo quali sono?
--------------------------------------------------






CLICCATE QUA PER GIOCARE A E-SIM!
06/09/2010 11:03
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 21.194
Registrato il: 10/02/2007
Principe

Per gli ancillari:

- data\export_descr_ancillaries
- data\text\export_ancillaries
- infine, inserire i TGA degli ancillari nella cartella data\ui\ancillaries
06/09/2010 11:25
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 1.619
Registrato il: 30/05/2010
Città: RIVAROLO CANAVESE
Età: 30
Principe
ok, so riuscito a crare l'ancillare "Signore dell'Anduin, l'immagine ho usato quella dell'ancillare "re di rohan", quando ci vado sopra mi compare la descrizione, ma a fianco no c'è il nome.
cioè l'ancilare si presenta cosi
Immagine, descrizione (se ci passo sopra col mouse), ma a fianco dell'immagine non c'è il nome dell'ancillare, eppure ho controllato nel file text, c'è!
--------------------------------------------------






CLICCATE QUA PER GIOCARE A E-SIM!
27/09/2010 11:50
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 2.534
Registrato il: 05/06/2009
Città: RIETI
Età: 37
Principe
sono di nuovo un pò incasinato! sto cercando di convertire i file in data\text con il converter di Alpaca, ma una volta scaricato non va, ho installato l'altro programma che richiede ma nulla, avendo windows 7 ho pensato che fosse colpa sua, ho provato quindi con Xp ma stesso risultato! per precisare sto convertendo i file del mod di crusades.
27/09/2010 11:55
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 4.442
Registrato il: 24/01/2009
Città: NAPOLI
Età: 29
Principe
Tu hai scaricato python però devi prendere la versione giusta cioè precedente alla 3.0 con cui non funziona lo string bin converte
27/09/2010 11:57
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 2.534
Registrato il: 05/06/2009
Città: RIETI
Età: 37
Principe
quindi l'ultima versione non va bene? ed io che pensavo di andare a colpo sicuro! ora vedo!
27/09/2010 12:32
 
Email
 
Scheda Utente
 
Modifica
 
Cancella
 
Quota
OFFLINE
Post: 4.442
Registrato il: 24/01/2009
Città: NAPOLI
Età: 29
Principe
l'ultima non và bene purtroppo
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 » | Pagina successiva
Nuova Discussione
Rispondi

Feed | Forum | Album | Utenti | Cerca | Login | Registrati | Amministra
Crea forum gratis, gestisci la tua comunità! Iscriviti a FreeForumZone
FreeForumZone [v.6.1] - Leggendo la pagina si accettano regolamento e privacy
Tutti gli orari sono GMT+01:00. Adesso sono le 07:40. Versione: Stampabile | Mobile
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com