Script 12 turni per anno

(Sciaca)
00venerdì 11 ottobre 2013 18:49
Salve!

Impostando il timescale nel descr_strat a 0.0835 si ottengono i fatidici 12 turni per anno.
Quello che ho scoperto solo qualche giorno fa però è che tutti i personaggi in gioco continuano ad invecchiare comunque di 1 anno ogni 2 turni (come se un turno corrispondesse a 6 mesi anzichè 1).

Il pazientissimo House mi ha consigliato uno script apposito presente su TWC.
Lo script funziona egregiamente, trasformando persino ogni singolo turno in uno specifico mese e regolando quindi le stagioni. Il PROBLEMA (per me) è che lo script funziona unicamente per il single player, mentre il mio scopo era farlo girare sulle hotseat!

Mentre perdevo ogni speranza nella discussione su TWC però leggo:


The script runs off the IsLocal condition, and with a hotseat campaign the turn end is always local. Probably the best solution is to trigger it off the Slave turn end for a hotseat campaign.



Quindi?

Se lo script originario è questo, come dovrebbe diventare quello adattato per le hotseat?

SPOILER: Script


Nella mia ignoranza ho provato a modificare le prime righe così, ma ovviamente non ha funzionato:


declare_counter month
set_counter month 1 ;Set to January

monitor_event FactionTurnStart FactionType slave ; set the season for each month

The Housekeeper
00venerdì 11 ottobre 2013 19:32

Ricordo che l'invecchiamento dei personaggi avviene ogni qual volta alla fine del turno dei Ribelli è inverno. Per questo, nello script alla fine, compare un controllo finalizzato a settare estate dopo il turno dei ribelli, a meno che non sia effettivamente il mese di dicembre (ovvero month = 12)

In sostanza lo script, all'inizio del turno del giocatore umano, controlla un contatore (month) e assegna la stagione corrispondente (inverno da 1 a 2, ovvero da gennaio a febbraio, estate da 3 a 9, ovvero da marzo a settembre, inverno da 10 a 12, ovvero da ottobre a dicembre), poi aumenta di 1 il contatore. Quando il contatore raggiunge 13, viene riportato a 1.

Questo giochetto è perfetto se il contatore viene aumentato di 1 ad ogni turno, ovvero se c'è solo un giocatore umano. Nelle hotseat il contatore verrebbe aumentato non di 1, ma di un valore X pari al numero di fazioni locali, con conseguenti stagioni incasinate.

Qualche idea?
franky317
00venerdì 11 ottobre 2013 19:39
se si imposta lo script ad ogni fazione invece che locale?

(Sciaca)
00venerdì 11 ottobre 2013 19:49
Forse sono io che non ho afferrato, ma seguendo il tuo ragionamento, se facessi partire una hotseat con un singolo giocatore, lo script non dovrebbe funzionare ugualmente? Eppure anche con un solo giocatore sulla campagna multiplayer lo script pare non avere alcun effetto.

(Copiando lo stesso campaign_script e descr_strat che uso per l'hotseat nella cartella della campagna singola, lo script funziona perfettamente, quindi escluderei errori di ricopiatura)
(Sciaca)
00venerdì 11 ottobre 2013 20:09
EDIT: Mi rimangio quanto detto poco fa. Lo script funziona non perchè sono state aggiunte più fazioni, ma perchè aggiungendole ho dovuto aprire la console dei trucchi... se la console rimane chiusa lo script non funziona... uff...


Sarò io che non c'ho capito un cacchio, ma ho seguito il consiglio di franky317 (grazie!) e in campagna hotseat, se seleziono un solo giocatore, lo script non funziona, ma se inserisco più giocatori paradossalmente pare funzionare perfettamente.

Nei prossimi giorni farò qualche test di conferma, ma vi inizio comunque a ringraziare per il supporto dato, come sempre! ;)

(Sciaca)
00venerdì 11 ottobre 2013 22:30
Aggiornamento a chi sia interessato:

Purtroppo, anche lasciando la console dei comandi aperta, lo script in hotseat non funziona correttamente. Ora le stagioni non cambiano più ed è un eterno inverno e i personaggi non cambiano d'età nemmeno dopo 13 turni.
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 00:01.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com