Stavo provando a fare un evento, inutile in realtà, a scopo didattico (per me). Volevo fare in modo che, nel caso di resa da parte della Russia, la Mongolia abbandoni l'alleanza. Solo che mi sto scontrando con più problemi di quanto immaginassi. In db\events ho creato il file mongolia.txt e l'ho aggiunto alla lista di eventi. L'evento, molto scarno in realtà e ovviamente perfezionabile, è: Codice: event = { id = 1000000 random = no country = MON trigger = { ai = yes NOT = { war = { country = GER country = SOV } } } name = "La Mongolia lascia il Comintern" desc = "qualcosa" style = 0 date = { day = 1 month = january year = 1943 } offset = 10 action_a = { name = "La mongolia esce" ai_chance = 100 command = { type = leave_alliance } command = { type = relation which = SOV value = -200 } command = { type = relation which = ENG value = 15 } command = { type = relation which = FRA value = 15 } command = { type = relation which = USA value = 15 } command = { type = relation which = GER value = 30 } command = { type = relation which = ROM value = 30 } command = { type = relation which = HUN value = 30 } } action_b = { name = "la Mongolia resta" ai_chance = 0 command = { type = relation which = ENG value = -30 } command = { type = relation which = FRA value = -30 } command = { type = relation which = USA value = -30 } command = { type = relation which = GER value = -50 } } } Con il file mongolia.txt, l'evento praticamente non esiste. Dalla console del gioco (quella di F12 per intenderci) se digito "event 1000000" non succede assolutamente nulla. Quindi ho provato ad aggiungere l'evento in un file di eventi già esistente, se aspetto anche un mese non accade nulla, ma se lo chiamo da console il gioco esplode, nel senso che fa abbandonare l'alleanza alla Germania, nazione con cui sto giocando, dopo aver chiesto a me come reagire all'evento. In realtà mi son dimenticato di fare una premessa, anche se non credo importante: l'ho provato su una partita già avviata da tempo. Al di là dei contenuti dell'evento (che vorrei partisse subito dopo la pace amara, quindi senza trigger e che dovrei sistemare i valori politici della Mongolia perché lasciarli come sono non ha senso), dove sbaglio?
1. Non puoi aggiungere nuovi file di evento su una partita già iniziata.* 2. Quando fai "event 100000" l'evento viene fatto scattare per te e non per la nazione per cui e' previsto. Devi scrivere "event 100000 MON", cioe' mettere la TAG per la nazione a cui deve scattare questo evento manualmente. *In realtà si puo' fare ma bisogna editare il savegame e aggiungere event = "path\file.txt" verso la fine del file, dove trovi tutti gli altri file evento.
1+*: non editerò il salvataggio, proverò a far scattare l'evento da terminale per vedere se è corretto. Poi lo aggiungerò al file di eventi della mongolia che aggiungerò alla lista di eventi. A quel punto toglierò i trigger e lo farò scattare in seguito alla pace amara. 2: in qualche maniera immaginavo che fosse una boiata del genere.. Grazie per le preziose info.
Ciao. Ho chiamato l'evento da console come mi dicevi e funziona correttamente. Ora ho aggiunto dei comandi per modificare l'assetto politico della Mongolia ma non hanno effetto. L'alleanza viene abbandonata correttamente. Ti posto la parte dell'evento riguardante i comandi: Codice: action_a = { name = "La mongolia esce" ai_chance = 90 command = { type = set_domestic which = interventionism value = 3 } command = { type = domestic = which democratic value = 4 } command = { type = domestic = which political_left value = -4 } command = { type = headofgovernment which = -1 } command = { type = leave_alliance } command = { type = relation which = SOV value = -200 } command = { type = relation which = ENG value = 15 } command = { type = relation which = FRA value = 15 } command = { type = relation which = USA value = 15 } command = { type = relation which = GER value = 30 } command = { type = relation which = ROM value = 30 } command = { type = relation which = HUN value = 30 } command = { type = trigger which = 1000001 } } Le relazioni vengono modificate, l'evento 1000001 viene lanciato giusto (fino ad un certo punto, poi magari affronterò il problema), ma la Mongolia rimane stalinista e autoritaria. Mentre mi aspettavo delle posizioni più morbide.
command = { type = headofgovernment which = -1 } non sono sicuro che abbia qualche effetto. Cosa volevi fare? -1 non e' un codice valido per un ministro e non credo che metta un ministro a caso, come invece fa per altri comandi.
Ca***. Perché sbaglio le cavolate?! Tra l'altro ci sono perché prima avevo messo set_domestic, mentre è ovviamente più corretto modificare i valori esistenti, non imporne di nuovi. E mi son dimenticato lì gli uguali.. Ne approfitto per chiederti una cosa: l'evento che viene "triggerato" è la risposta russa. Ovvero dichiarazione di guerra. Codice: action_a = { name = "Guerra" ai_chance = 95 command = { type = end_access which = MON } command = { type = end_non_aggression which = SOV where = MON } command = { type = end_trades which = SOV where = MON } command = { type = end_guarantee which = SOV where = MON } command = { type = war which = MON } command = { type = dissent value = 2 } command = { type = belligerence value = 30 } } L'evento scatta, la Russia fa una scelta (quella sopra), ma non cambia niente nei loro rapporti. La Mongolia, come detto prima, esce dall'alleanza ma la non aggressione rimane e la guerra non viene dichiarata. Forse mi son dimenticato di togliere l'accesso militare? Non mi ricordo se c'è, però ora non posso guardare. In generale, se nell'evento dico di annullare un patto che non esiste, il resto dei comandi procede correttamente?
Volevo, appunto, mettere un capo del governo a caso. Quello attuale della Mongolia ha, fra le caratteristiche, un +50% di allearsi con regimi dittatoriali. Cosa che vorrei evitare, una volta uscita dal Comintern, non voglio che la Mongolia ci torni. Cerco un capo del governo più adatto. Comunque il comando non ha effetto, ho guardato nel file dei ministri mongoli e ce ne sono altri. Deduco che sia un comando superfluo, con -1.
scusa ma riguarda la mia risposta, dopo l'ho editata potrebbe esserti sfuggita... e non preoccuparti: quando ho iniziato io a moddare sono stato mezz'ora a scervellarmi e alla fine ho scoperto che avevo messo una parentesi graffa in più... sei sicuro che l'evento scatti?? non ti da messaggi di errore?? perchè l'evento mi sembra giusto... prova a vedere se mettendo solo la dichiarazione di guerra e togliendo il resto parte... :humm: ps: si non preoccuparti se dici all'evento di annullare qualcosa che non esiste non succede nulla..
Ho sistemato come dicevi nell'edit e quell'evento va bene ora, grazie. La storia della parentesi è capitata anche a me, il gioco, arrivato al punto in cui carica gli eventi, continuava a leggere il disco fisso senza schiodarsi, dopo 10 minuti ho deciso di spegnere di violenza. Riguardo il secondo evento, non so, scatta perché nel diario compare, ma compare la dicitura "Unione Sovietica assiste all'evento", quindi significa che non prende una decisione, come se non fosse rischiesta. Ho quindi cambiato l'evento, doppiandolo e mettendo un trigger per l'IA e uno per il giocatore umano, facendoli sollevare entrambi nell'evento della Mongolia, ma la Russia non prende una scelta. Ti posto l'evento intero: Codice: event = { id = 1000003 random = no country = SOV #Triggered by TAN_b1000002 trigger = { ai = yes } name = "I nostri amici ci hanno tradito" desc = "" style = 0 date = { day = 1 month = january year = 1936 } action_a = { name = "Guerra" ai_chance = 85 command = { type = war which = MON } #command = { type = end_access which = MON } #command = { type = end_non_aggression which = SOV where = MON } #command = { type = end_trades which = SOV where = MON } #command = { type = end_guarantee which = SOV where = MON } #command = { type = dissent value = 2 } #command = { type = belligerence value = 30 } } action_b = { name = "Lascia stare" ai_chance = 15 command = { type = dissent value = 4 } command = { type = domestic which = democratic value = 3 } command = { type = domestic which = freedom value = 3 } } } Avevo commentato alcuni comandi, ma il problema è che proprio non decide.
Ho provato anche io a fare una cosa del genere, ho copiato da HSR l'evento della resa dell'Italia (che prevede in realtà più eventi). Lo ho semplicemente copiato sul file italy.(nn ricordo). Devo fare anche altro??? Ah una curiosità... fra gli eventi che leggevo mi ha colpito uno che aveva come condizioni che l'Italia non controllasse Cosenza,Siracusa ed un'altra che come provincia di hoi non esiste... C'è una spiegazione plausibile?
non so che dirti... può darsi che l'ai scelga sempre la parte con 15% di possibilità ma mi sembra strano :humm: prova a ristrutturarlo così: Codice: event = { id = 1000003 random = no country = SOV #Triggered by TAN_b1000002 trigger = { event = 1000002 } name = "I nostri amici ci hanno tradito" desc = "bla bla bla" style = 0 action_a = { name = "Guerra" command = { type = war which = MON } } } se nemmeno così funziona non so... ps: anzi prova ad annullare manualmente tutti i trattati, poi fai partire l'evento... se così ti funziona è un problema dell'annullamento dei trattati
be hdevi copiare anche il testo se non è compreso nell'evento e l'immagine se non è nativa di hoi2... e poi devi controllare che l'id non sia già stato utilizzato (non credo però non si sa mai) e devi cancellare l'altro... l'unico evento simile che conosco è proprio quello sulla resa dell'italia... :humm:
Si proprio quello... ma cosa significa controllare cosenza e siracusa se non sono province che si trovano sulla mappa? E' forse un modo per riconoscere Reggio Calabria e Catania? Se si, come mai solo questo?
penso che tu ti riferisca a questa parte: Codice: # South Italy invaded NOT = { and = { control = { province = 515 data = ITA } #Roma not controlled by Italy control = { province = 523 data = ITA } #Taranto not controlled by Italy control = { province = 525 data = ITA } #Siracusa not controlled by Italy control = { province = 526 data = ITA } #Messina not controlled by Italy control = { province = 522 data = ITA } #Cosenza not controlled by Italy control = { province = 521 data = ITA } #Napoli not controlled by Italy and = { control = { province = 524 data = ITA } #Calabria control = { province = 525 data = ITA } #Palermo } nel gioco, la provincia 525 (segnata come siracusa) è palermo mentre la 522 (segnata come cosenza) è potenza: avranno sbagliato a scrivere i nomi...:humm:
Non riesco a farlo andare. Il primo evento scatta e l'ia sceglie, a questo punto dovrebbe scattare il secondo, il quale scatta ma non fa scegliere nulla. Anche modificandolo così, davvero non capisco perché non fa l'azione possibile, ma semplicemente assiste all'evento. Proverò a guardare meglio altri eventi. Ti ringrazio per l'aiuto che mi hai dato.
ma scusa...visto che non sei molto ferrato con gli eventi non ti converrebbe prendere un editor di eventi ?
di nulla... se hai altri problemi chiedi pure ps: anch'io ti consiglirei di usare un'editor in questi casi... se non riesci nemmeno così penso che dovrai rinunciare alla tua idea... pps: me ne sono accorto solo ora... sei sicuro di aver messo il comando trigger nella scelta dell'evento che fa scattare tutto??
ecco perchè glielo consiglio talvolta per una cosa da poco può succedere che l'evento non scatta e il giocatore inizia a rinunciare a creare eventi, è vero che mettendo mano direttamente si fa più esperienza ma bisogna avere molta pazienza e si deve avere un minimo di conoscenze di modding. Se ti interessasse ecco un topic che ho aperto tempo fa in cui si parla appunto di event's editor http://www.netwargamingitalia.net/forum/showthread.php?t=5348&highlight=editor+eventi
Editor eventi..? Non immaginavo potesse esistere. Grazie della segnalazione. Non è che stessi mollando l'editing di eventi (so programmare e il linguaggio di scripting degli eventi è piuttosto semplice, una volta capito il meccanismo), solo che proprio non capisco perché l'evento non fa quello che deve. Provo l'editor e vedo come genera l'evento che voglio fare io.