Problema con script send_off_mapp

auc162
00giovedì 27 settembre 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!!!!!!!!!!
Crociato78
00giovedì 27 settembre 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.

The Housekeeper
00giovedì 27 settembre 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 ...
...
Crociato78
00venerdì 28 settembre 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!
auc162
00venerdì 28 settembre 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.
Crociato78
00sabato 29 settembre 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!

auc162
00giovedì 4 ottobre 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!
Crociato78
00giovedì 4 ottobre 2012 01:05
Bene!
Mi fa piacere che ci sei riuscito!
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 01:55.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com