AIUTO PER SCRIPT SCONTRI COMUNALI

Lucio.12
00martedì 27 agosto 2013 16:16
Ciao.

Volevo avere qualche delucidazione su come creare uno script di proposta (per intendere quello eventX_accepted/eventX_declined).

Nello specifico volevo rendere la dinamica dello scontro fra fazioni all’interno di una città, con lo sviluppo di un regime signorile che si mantenga fedele alla fazione ma che azzeri le entrate dell’insediamento.

Se il livello di Felicità in un insediamento scende al di sotto di una soglia X ed è presente un governatore, questi acquisterebbe il tratto “Aspirante Signore”.

Testata l’esistenza del tratto si attiverebbe lo script, che consisterebbe nella richiedere se concedere un mandato di signoria oppure se rifiutarlo. Nel primo caso i punti movimento del personaggio vengono azzerati, così come gli introiti dell’insediamento, ma in cambio il governatore riceverà un bonus consistente di ordine pubblico; nel secondo caso, invece, il signore rischierebbe rimanere ostaggio in città, con un grosso malus di ordine pubblico che potrebbe far scoppiare una rivolta nell’insediamento, con la conseguente morte del personaggio.

Avevo realizzato una bozza, ma il problema è che non riesco proprio a capire il funzionamento dello script di proposta…

Postreste aiutarmi???

Grazie mille in anticipo
The Housekeeper
00mercoledì 28 agosto 2013 12:06
Usa la condizione GovernorLoyaltyLevel che ti permette di controllare il grado di fedeltà dell'insediamento (nel docudemons spiega tutto)

ad es., se vuoi che la proposta appaia quando la faccina dell'ordine pubblico diventa rossa:

monitor_event CharacterTurnStart CharacterIsLocal
and GovernorLoyaltyLevel < loyalty_disillusioned
and Trait Aspirante_Signore = 1
add_events
event counter signoria_accepted
event counter signoria_declined
date 0
end_add_events
historic_event signoria_accepted true
end_monitor

monitor_conditions I_EventCounter signoria_accepted = 1
historic_event signoria_established
set_event_counter signoria_accepted 0
end_monitor


a questo script dovresti associare alcuni tratti e relativi trigger nell'export_descr_character_traits. Ad es.:

WhenToTest CharacterTurnStart
Condition CharacterIsLocal
and GovernorLoyaltyLevel < loyalty_disillusioned
and Trait Aspirante_Signore = 0
and not I_WorldwideTraitExists Aspirante_Signore true
Affects Aspirante_Signore 1 Chance 100

WhenToTest CharacterTurnEnd
Condition CharacterIsLocal
and GovernorLoyaltyLevel < loyalty_disillusioned
and Trait Aspirante_Signore = 1
and Trait Signore = 0
and I_EventCounter signoria_accepted > 0
Affects Aspirante_Signore -1 Chance 100
Affects Signore 1 Chance 100

WhenToTest CharacterTurnEnd
Condition CharacterIsLocal
and GovernorLoyaltyLevel < loyalty_disillusioned
and Trait Aspirante_Signore = 1
and Trait Ostaggio = 0
and I_EventCounter signoria_accepted = 0
Affects Aspirante_Signore -1 Chance 100
Affects Ostaggio 1 Chance 100



dove "Signore" sarà un tratto che azzera i punti movimento (MovementPoints -100) e introiti (TaxCollection -100), e aumenta ordine pubblico (Law 10), mentre "Ostaggio" sarà un tratto che aumenta il malcontento (Unrest 100)



Infine devi scrivere gli eventi "signoria_accepted" e "signoria_established" nell'historic_events.







Nota: questo script potrebbe non funzionare nel caso ci siano contemporaneamente più di 1 generale in odore di signoria. Per questo ho messo la condizione and not I_WorldwideTraitExists, in modo tale che solo un generale per volta possa aspirare alla signoria.

Lucio.12
00mercoledì 28 agosto 2013 13:47
Che dire? sono senza parole: me l'hai scritto tutto!!!

Grazie infinite, adesso testo e ti dico com'è andata; [SM=x1140430]

grazie e grazie ancora!!!
Lucio.12
00sabato 31 agosto 2013 11:54
Allora, ti aggiorno sul progresso:

il trigg I_WorldwideTraitExists non funziona, credo esista solo per l'ancillare, ma il problema non si pone perchè al posto del tratto gli assegno, per l'appunto, un oggetto (ad ex: chiavi della città) e il gioco è fatto.

Per il resto lo script non parte: fermo restando che posso aver commesso ignobili errori di scrittura, come al mio solito, ti volevo chiedere qualche precisazione:

a) devo dichiarare i contatori signoria_accepted e signoria_declined?
b) quando produco un historic_event tramite il campaign_script è normale che mi generi una richiesta accetta/rifiuta? perchè quando ho iniziato a provare il modding su mtw2 liscio (non kingdoms) questo non accadeva.
c) esiste un qualche modo per rimuovere il tratto a un tempo X dalla sua acquisizione (ex: concedo la signoria per soli 5 anni, dopo di che il tratto deve essere rimosso)

Attendo tue notizie e nel frattempo [SM=x1140430]

The Housekeeper
00sabato 31 agosto 2013 16:13

a) No, gli event_counter non hanno bisogno di essere dichiarati, a differenza dei normali counter.
b) su m2tw liscio non era implementata la possibilità della pergamena accetta\rifiuta, quindi uno script del genere funziona solo su kingdoms
c) puoi semplicemente strutturare un tratto su più livelli (mi pare che il massimo sia 8 o 9), tutti con gli stessi bonus e descrizioni s'intende, poi aggiungi un trigger per alzare di un livello all'inizio di ogni turno, e un altro trigger per azzerare il tratto quando raggiunge il quinto livello
Lucio.12
00mercoledì 4 settembre 2013 17:04
ok, forse però non sono stato chiaro sul punto b):

Volevo sapere se questo è normale che ogni volta che produco un historic_event tramite script mi generi un evento con proposta, perchè credo che, a fronte di controlli, dato che lo script è scritto bene,sia questo il mio problema.

PS: comunque ieri ho toccato il limite delle 199 regioni (che schifo)

Scusa lo sfogo [SM=x1140519]
Lucio.12
00martedì 10 settembre 2013 15:16
ok, forse però non sono stato molto chiaro sul punto b):

Volevo sapere se è normale che ogni volta che produco un historic_event tramite script mi generi un evento con proposta, perchè credo che, a fronte di controlli, dato che lo script è scritto bene,sia questo il mio problema.

Scusa se ti riscrivo il post!!!
The Housekeeper
00martedì 10 settembre 2013 15:40
per creare un evento storico senza scelta interattiva:

...
historic_event NOME_EVENTO PERCORSO_VIDEO (facoltativo)
...

per creare un evento con scelta interattiva:

...
add_events
event counter NOME_EVENTO_accepted
event counter NOME_EVENTO_declined
date 0
end_add_events
historic_event NOME_EVENTO true
...
monitor_conditions I_EventCounter NOME_EVENTO_accepted = 1
...



Lucio.12
00martedì 10 settembre 2013 19:55
beh a me non funziona così...

A me con il primo metodo mi dà il secondo e con il secondo.. nulla!!!

Grazie lo stesso: sei stato molto disponibile, vedrò di studiare qualche altra strada che si confaccia al mio caso
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 07:44.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com