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

Medieval Total War Italia

GUIDA ALLO SCRIPTING

  • Messaggi
  • OFFLINE
    The Housekeeper
    Post: 21.194
    Registrato il: 10/02/2007
    Principe

    00 22/01/2008 14:32
    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]
  • OFFLINE
    Pilbur
    Post: 1.356
    Registrato il: 06/05/2007
    Principe
    00 22/01/2008 15:27
    Come dire, sei sempre eccezionale [SM=x1140424]

    Adesso, dopo il mapping, conquisterò anche questo campo del modding... [SM=x1140423]
  • OFFLINE
    fedeita89
    Post: 588
    Registrato il: 29/01/2007
    Città: FIRENZE
    Età: 34
    Cavaliere
    00 22/01/2008 15:34
    bravissimo house questa guida si rivelerà utile a molte persone [SM=x1140440]
  • OFFLINE
    The Housekeeper
    Post: 21.194
    Registrato il: 10/02/2007
    Principe

    00 11/08/2009 10:15
    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]
  • OFFLINE
    agostinodiippona
    Post: 37
    Registrato il: 03/08/2009
    Città: ROMA
    Età: 36
    Contadino
    00 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
  • OFFLINE
    The Housekeeper
    Post: 21.194
    Registrato il: 10/02/2007
    Principe

    00 26/10/2009 19:43
    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)
  • OFFLINE
    agostinodiippona
    Post: 37
    Registrato il: 03/08/2009
    Città: ROMA
    Età: 36
    Contadino
    00 27/10/2009 10:24
    Grazie House,
    insomma non c'è nessuna grossa differenza sostanziale. Bo, chissà perchè questa duplicazione...

    Grazie
  • OFFLINE
    boboav
    Post: 4.442
    Registrato il: 24/01/2009
    Città: NAPOLI
    Età: 29
    Principe
    00 27/10/2009 18:44
    Perché hanno funzioni molto diverse nonostante la struttura simile
  • OFFLINE
    sangiovannievangelista
    Post: 2.046
    Registrato il: 20/02/2008
    Città: FIORANO CANAVESE
    Età: 48
    Principe
    00 18/05/2010 11:21
    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
  • OFFLINE
    The Housekeeper
    Post: 21.194
    Registrato il: 10/02/2007
    Principe

    00 18/05/2010 11:23
    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
  • OFFLINE
    Crociato78
    Post: 1.707
    Registrato il: 04/06/2009
    Città: FERRARA
    Età: 46
    Principe
    00 18/05/2010 12:17
    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-
  • OFFLINE
    sangiovannievangelista
    Post: 2.046
    Registrato il: 20/02/2008
    Città: FIORANO CANAVESE
    Età: 48
    Principe
    00 18/05/2010 13:00
    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
  • OFFLINE
    ReSirio
    Post: 1.619
    Registrato il: 30/05/2010
    Città: RIVAROLO CANAVESE
    Età: 30
    Principe
    00 05/09/2010 22:13
    questo è per i tratti, e per gli ancillari?
    --------------------------------------------------






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






    CLICCATE QUA PER GIOCARE A E-SIM!
  • OFFLINE
    The Housekeeper
    Post: 21.194
    Registrato il: 10/02/2007
    Principe

    00 06/09/2010 11:03
    Per gli ancillari:

    - data\export_descr_ancillaries
    - data\text\export_ancillaries
    - infine, inserire i TGA degli ancillari nella cartella data\ui\ancillaries
  • OFFLINE
    ReSirio
    Post: 1.619
    Registrato il: 30/05/2010
    Città: RIVAROLO CANAVESE
    Età: 30
    Principe
    00 06/09/2010 11:25
    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!
  • OFFLINE
    franky317
    Post: 2.534
    Registrato il: 05/06/2009
    Città: RIETI
    Età: 37
    Principe
    00 27/09/2010 11:50
    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.
  • OFFLINE
    boboav
    Post: 4.442
    Registrato il: 24/01/2009
    Città: NAPOLI
    Età: 29
    Principe
    00 27/09/2010 11:55
    Tu hai scaricato python però devi prendere la versione giusta cioè precedente alla 3.0 con cui non funziona lo string bin converte
  • OFFLINE
    franky317
    Post: 2.534
    Registrato il: 05/06/2009
    Città: RIETI
    Età: 37
    Principe
    00 27/09/2010 11:57
    quindi l'ultima versione non va bene? ed io che pensavo di andare a colpo sicuro! ora vedo!
  • OFFLINE
    boboav
    Post: 4.442
    Registrato il: 24/01/2009
    Città: NAPOLI
    Età: 29
    Principe
    00 27/09/2010 12:32
    l'ultima non và bene purtroppo
1