Ciao a tutti, scusate ma ho dei problemi con la creazione degli eventi. (premetto sto cercando di modificare HoI 2 con il Compendium 1.1) Premetto che è la prima volta che li faccio quindi passatemi la "niubbagine". Allora ho trovato vari file di eventi per l'italia già fatti. ho sotituito il file italy.txt nella cartella del gioco ma quando vado a giocare e dovrebbero scattare gli eventi tipo "Bonifica Agro Pontino" il 25 aprile 1936 non scattano. Qualcuno sa dirmi se devo fare qualcos'altro? Forse devo cambiare anche il file Events.csv? Questo è uno degli eventi: event = { id = 2988 random = no country = ITA trigger = { } name = "EVT_2988_NAME" desc = "EVT_2988_DESC" style = 0 picture = "mod_bonifica" date = { day = 25 month = april year = 1936 } action_a = { name = "ACTIONNAME2988A" command = { type = energypool value = -2500 } command = { type = metalpool value = -2500 } command = { type = money value = -250 } command = { type = supplies value = -1500 } command = { type = manpowerpool value = -25 } ai_chance = 97 } action_b = { name = "ACTIONNAME2988B" command = { type = manpowerpool value = 50 } command = { type = dissent value = 5 } command = { type = sleepevent which = 2909 } command = { type = sleepevent which = 2910 } ai_chance = 3 } Grazie
manca il trigger; se non inserisci le condizioni per cui debba scattare non può scattare. Nel caso di questo evento ti basta aggiungere al trigger ad esempio che l'italia sia fascista e che controlli Roma (è un esempio puoi inserire la condizione che preferisci) event = { id = 2988 random = no country = ITA trigger = { exists = ITA } date = { day = 25 month = april year = 1936 } offset = 20 (l'offset indica che ogni 20 giorni potrebbe scattare l'evento)
Il trigger non è necessario. Per far funzionare l'offset serve anche la deathdate (data oltre il quale l'evento non scatta più): date = { day = 25 month = april year = 1936 } offset = 20 deathdate = { day = 1 month = december year = 1963 } Cmq se scrivi 25 l'evento scatta il 26. Per farlo scattare l'1 devi scrivere 0.
Tu hai scritto alla voce offset 20. è un numero a caso o richiama qualche cosa? Posso usarlo per tutti gli eventi?
no no è un numero che ho messo io a caso, tu puoi scegliere autonomamente l'offset; come ho gia scritto: indica che ogni 20 giorni potrebbe scattare l'evento
Solo una piccola precisazione, ma doverosa. Quell'offset = 20 non indica che l'evento scatterà ogni 20 giorni ma che, non appena le condizioni (trigger) saranno state soddisfatte, potrebbe apparire entro un tempo massimo di 20 giorni. Mi spiego meglio: se hai impostato come data il 25 Aprile 1936 e se per quella data saranno state soddisfatte le condizioni l'evento ti dovrebbe apparire a caso in uno dei 20 giorni successivi, quindi entro la metà di Maggio.
No, non credo. Dovrebbe essere ogni quanti giorni il motore di gioco controlla il trigger per verificare se l'evento può scattare (a partire dal primo giorno in cui è disponibile). Se venisse usate solo per scegliere il giorno di attuazione una volta che le condizioni sono soddisfatte non avrebbe un tale impatto sulle prestazioni.
Vi invio un passo tratto dalla guida alla scrittura eventi di Luxor: 3.6 Date, offset and deathdate This is the date when the event may first happen. The offset is a random offset in days, always used in conjunction with the date statement. It means that the event may happen on any of these days from the time specified in date. If the event has triggers it will start searching for triggers on this date. Example: date = { day = 1 month = january year = 1936 } offset = 30 In this case the event will start checking for triggers on a random date within 30 days from the date specified. The deathdate is the deadline of an event, after which it may no longer be triggered. The deathdate statement is only useful if the event has a trigger condition. Events without a deathdate will fire if other triggers are valid on the date specified by the date/offset parameters above. If triggers are not valid on that date the event will never fire. If you want the event to keep looking for triggers you need to define a deathdate. Mi sa che Carlo V non sbagliava; buono a sapersi, ora dovrò modificare un pò di trigger di alcuni miei eventi
Secondo me sta dando ragione a me, ovvero l'offset indica ogni quanti giorni controllare i trigger, non dopo quanti giorni far avvenire l'evento dopo che i trigger sono verificati.
Ha ragione Carlos V. L'offset indica il tempo massimo entro cui l'evento puo' scattare, ma poi il giorno preciso e' casuale.
Per togliervi il dubbio inserite questo evento : e vedete quando vi scatta. L'offset = 0 equivale a 1.
Mi inchino alla tua superiore conoscenza. EDIT: ma scusa, quindi inserire offset alti non serve a ridurre il carico del motore di gioco?
Test 1: 7 gennaio Test 2: 2 gennaio Test 3: 5 gennaio Test 4: 3 gennaio Test 5: 4 gennaio Test 6: 8 gennaio Test 7: 3 gennaio Test 8: 6 gennaio Test 9: 2 gennaio Test 10: 2 gennaio Ovviamente hai ragione tu. Cmq per favore fammi sapere se inserire offset alti non aiuta a ridurre il carico del motore (io credevo fosse ogni quanto viene controllato il trigger dell'evento per vedere se soddisfatto), perchè se è così sto facendo del lavoro inutile su KR for DH.
Tranquillo, nemmeno io quando ero alle mie prime esperienze di modding sapevo a cosa servisse il comando offset ed infatti negli eventi da me creati usavo sempre la data singola per farlo apparire in un giorno preciso. Poi da quando l'ho capito ho potuto creare catene di eventi più verosimili e con il giusto tocco di imprevedibilità. Tipo se voglio che un evento compaia in un giorno a caso dell'anno metto: date = { day = 1 month = january year = 1936 } offset = 300 #oppure anche 365 va bene deathdate = { day = 29 month = december year = 1936 } Detto questo, dato che è tutto casuale penso che l'offset non incida molto sulle prestazioni, ma ovviamente non conoscendo a fondo i particolari tecnici potrei anche sbagliarmi.
usano l'anno commerciale, quindi di 360 giorni io ho sempre saputo che l'offset è ogni quanto il computer verifica i trigger.. quindi se li verifica ogni giorno consuma di più che se li consuma ogni 10.. saluti DAoS
Mi dispiace ma l'offset non influenza le prestazioni. Quello che appesantisce e' il numero di eventi e le date di inizio e fine. Se ci pensi, il motore di gioco analizza i trigger di tutti gli eventi che sono in un range di date valide. Questo e' quello su cui puoi in caso lavorare, non avere cioe' eventi che finiscono tutti al 1999 quando invece alcuni dopo una certa data non hanno piu' ragione di esistere.
Questa e' una leggenda metropolitana molto diffusa, ma purtroppo non e' cosi'. I trigger sono verificati tutti i giorni se la data corrente e' maggiore della data di inizio e minore della deathdate. Poi utilizza l'offset per decidere se alla data corrente puo' avvenire l'evento, usando una distribuzione statistica uniforme, cioe' tutti i giorni definiti dall'offset hanno la stessa probabilita' di ricevere l'evento.