Medieval Total War Italia

Problema con script send_off_mapp

  • Messaggi
  • OFFLINE
    auc162
    Post: 2.101
    Registrato il: 14/12/2009
    Città: MILANO
    Età: 52
    Principe

    00 27/09/2012 02:06
    Ci ho provato ad uscirne da solo, ma dopo tre notti di tentativi getto la spugna.....

    Ho bisogno di realizzare uno script con cui, quando un personaggio X diviene maggiorenne, viene mandato off_map e sostituito da uno che, con il suo stesso nome, ha degli specifici tratti, ancillari, modello e unità bodyguard (serve per personalizzarlo). Premetto che ho modificato lo scorrere del tempo ed ho turni da un mese, con i personaggi che aumentano di età nel turno 12 e suoi multipli.

    Il mio personaggio ha 13 anni e diventa maggiorenne a 14, ed infatti compare nel gioco al turno 12. Ho provato i seguenti script con questi risultati


    PRIMO SCRIPT
    monitor_event FactionTurnStart FactionType england
    and I_TurnNumber = 12
    send_character_off_map Willem Lannister
    spawn_army
    faction england
    character Willem Lannister, named character, age 14, x 28, y 190
    unit NE Late Bodyguard_X exp 2 armour 0 weapon_lvl 0
    end

    console_command give_trait "Willem Lannister" Biografia_Willem_Lannister 1
    console_command give_trait "Willem Lannister" GoodCommander 1

    terminate_monitor
    end_monitor

    Il personaggio non scompare al turno 12 ma al 13! Ed il suo sostituto non compare mai...

    SECONDO SCRIPT
    monitor_event CharacterComesOfAge FactionType england
    send_character_off_map Willem Lannister
    terminate_monitor
    end_monitor

    Il gioco si blocca al turno 12....

    TERZO SCRIPT
    monitor_event FactionTurnStart FactionType england
    send_character_off_map Willem Lannister
    terminate_monitor
    end_monitor

    Non succede nulla...

    [SM=x1140529] HELP!!!!!!!!!!
  • OFFLINE
    Crociato78
    Post: 1.707
    Registrato il: 04/06/2009
    Città: FERRARA
    Età: 46
    Principe
    00 27/09/2012 07:27
    Mi vengono in mente 2 cose:

    1- Secondo me non compare il suo sostituto perchè con lo script che fai gli dici di cancellarlo al 12° turno mentre dovrebbe aver compiuto 14 anni, quindi non può comparire il suo sostituto (perchè tale sostituto è off_map, non ci deve essere nella mappa).

    2- Con uno script non puoi aggiungere al personaggio il commando, esperienza ecc... senza creare un suo sostituto?
    Sono sicuro che hai già provato, forse non riesci come fare o non è possibile.

    P.S. Non me ne intendo di script, se vuoi proverò ad informarmi.

    [Modificato da Crociato78 27/09/2012 07:54]



    "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
    The Housekeeper
    Post: 21.194
    Registrato il: 10/02/2007
    Principe

    00 27/09/2012 10:37

    strano che non riappaia
    il log segnala errori?

    secondo me scompare al turno 13 perchè il primo turno sarebbe il turno 0, quindi dovresti mettere and I_TurnNumber = 11

    comunque c'è un metodo più semplice per fare (almeno in parte) quello che ti prefiggi: assegna a suo padre un particolare tratto unico, poi nell'eda e edct crea dei trigger che assegnino al figlio i tratti e ancillari desiderati, quando compie 14 anni. Sempre tramite tratti puoi anche cambiare il modello su mappa strategica (ma non su mappa tattica).
    Qualcosa del tipo:

    Trigger willem
    WhenToTest CharacterComesOfAge
    Condition FatherTrait ...
    ...








  • OFFLINE
    Crociato78
    Post: 1.707
    Registrato il: 04/06/2009
    Città: FERRARA
    Età: 46
    Principe
    00 28/09/2012 07:00
    Ho trovato questo consiglio:

    La cosa che mi sembra strana è che nel secondo script il gioco si ferma. Cosa succede? si blocca o crasha?
    Un'occhiata al log potrebbe aiutare. Dopo tutto, a parte (forse) le virgolette, sembra a posto.

    Sul modello di battaglia (battle_model) dovresti specificarlo dopo lo spawn_army, nella riga "character", come nel descr_strat. Tuttavia, non sono sicuro se questo attributo funziona come dovrebbe (una volta ho provato a cambiare il ritratto, usando l'attributo "portrait", e non funzionava).

    Ciò detto, mi permetto di suggerirti quanto segue:

    monitor_event CharacterComesOfAge FactionType england
    and I_CharacterExists "Willem Lannister"
    send_character_off_map "Willem Lannister"
    send_character_off_map "Willem Lannister"
    send_character_off_map "Willem Lannister" ;conviene ripetere in caso vi fosse qualcun altro (tipo, un agente) con lo stesso nome e cognome. Raro ma può capitare, in questo caso però l'agente viene eliminato dal gioco
    spawn_army
    faction england
    character Willem Lannister, named character, age 14, x 28, y 190 , battle_model nome-del-modello
    unit NE Late Bodyguard_X exp 2 armour 0 weapon_lvl 0
    end
    console_command remove_trait "Willem Lannister" ;per rimuovere gli eventuali tratti assegnati random ai nuovi generali
    console_command give_trait "Willem Lannister" Biografia_Willem_Lannister 1
    console_command give_trait "Willem Lannister" GoodCommander 1

    terminate_monitor
    end_monitor


    Fammi sapere se funziona!

    Aspetto una tua risposta!



    "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
    auc162
    Post: 2.101
    Registrato il: 14/12/2009
    Città: MILANO
    Età: 52
    Principe

    00 28/09/2012 13:47
    Ci ho lavorato ieri sera, ed inserendo come turni 11 anziché 12 ora ottengo il personaggio, con il corretto modello e la corretta guardia. Dovrebbero anche funzionare i tratti, ma devo ancora controllare.
    L'unico problema (ma molto fastidioso) è che il personaggio compare con il portrait di defunto generico, e non con il portrait che gli ho inserito io. Ho visto che questo succede tutte le volte che quando si utilizza il send_off_map il personaggio è solo con la sua guardia, mentre se ci sono altre unità il ritratto è corretto.
    Se avete suggerimenti per sistemare il ritratto sarebbe perfetto; è possibile attribuire un ritratto tramite script o con qualche altro barbatrucco?

    (_Giulio Cesare_), proverò anche il tuo sistema ma credo che questo problema non si risolva in questo modo.
  • OFFLINE
    Crociato78
    Post: 1.707
    Registrato il: 04/06/2009
    Città: FERRARA
    Età: 46
    Principe
    00 29/09/2012 06:55
    Il fatto è che il personaggio deve essere madato off_map quando è in un insediamento. Usando monitor_event CharacterComesOfAge si dovrebbe risolvere il problema.

    Comunque fammi sapere se funziona o se va in crash!

    [Modificato da Crociato78 29/09/2012 07:12]



    "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
    auc162
    Post: 2.101
    Registrato il: 14/12/2009
    Città: MILANO
    Età: 52
    Principe

    00 04/10/2012 00:14
    Dopo innumerevoli nottate di tentativi, alla fine ho risolto con uno script trovato sul TWC:

    monitor_event FactionTurnStart FactionType portugal
    and I_CharacterExists Terrance Lynderly
    and not I_SettlementUnderSiege Snakewood
    send_character_off_map Terrance Lynderly
    spawn_army
    faction portugal
    character Terrance Lynderly, named character, x 141, y 265, battle_model northern_general_F
    unit NE Late Bodyguard_F exp 2 armour 0 weapon_lvl 0
    end
    move Terrance Lynderly, 141,264 ;coordinate della città
    console_command remove_trait "Terrance Lynderly"
    console_command give_trait "Terrance Lynderly" Biografia_Terrance_Lynderly 1
    console_command give_trait "Terrance Lynderly" GoodCommander 1
    terminate_monitor
    end_monitor

    In questo modo si può dare ad un personaggio che diventa "maggiorenne" non solo tratti ed ancillari, ma anche un modello di generale specifico ed una unità di guardia, a propria scelta!
  • OFFLINE
    Crociato78
    Post: 1.707
    Registrato il: 04/06/2009
    Città: FERRARA
    Età: 46
    Principe
    00 04/10/2012 01:05
    Bene!
    Mi fa piacere che ci sei riuscito!



    "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-