Associare nuove bandiere a stati fantoccio?

Discussione in 'Darkest Hour' iniziata da Subversor, 23 Marzo 2021.

  1. Subversor

    Subversor

    Registrato:
    22 Marzo 2007
    Messaggi:
    502
    Ratings:
    +18
    Salve ragazzi, sto cercando di inserire in DH Full, col quale gioco sempre, la bandiera della Grecia fascista puppet presa dal mod Fatherland ma ho notato che non basta inserirla nella cartella flag e shield per farla comparire in quanto appare sempre la stessa bandiera di default.

    Qualcuno sa come aggiungere nuove bandiere di stati puppet non previste di default in DH?

    Grazie!
     
  2. ^_AC_^

    ^_AC_^ Moderator Membro dello Staff

    Registrato:
    20 Dicembre 2006
    Messaggi:
    3.785
    Ratings:
    +1.602
    In generale la procedura è quella.
    Qual è il tag della nazione che stai modificando?
    Come si chiamano i file che stai aggiungendo?
    In che cartella li stai inserendo?
     
  3. Subversor

    Subversor

    Registrato:
    22 Marzo 2007
    Messaggi:
    502
    Ratings:
    +18
    Ciao AC, grazie per l'interessamento, dunque il tag è quello standard della Grecia quindi GRE, in realtà non so esattamente cosa e dove modificare per far sì che una volta puppettizzata cambi bandiera a seconda dell'ideologia dominante. Ho anche confrontato i file.inc della Grecia nella cartella scenarios tra DH Full e Fatherland ma non vedo grosse differenze pertanto non so cosa faccia fare lo switch flag in base al tipo di governo. Al momento le mie prove sono state quelle di inserire in shield e flag la nuova bandiera rinominandola in svariate maniere senza successo.
    Ho notato in config/world names che gli stati fantoccio sono considerati nuovi stati col prefisso U quindi U01/02 ecc magari è per quello che non funziona. Da qui mi viene la domanda: è possibile aggiungere nuovi stati fantoccio o è possibile soltanto modificare quelli esistenti (sempre al fine di far comparire la bandiera giusta a seconda del gov)?
     
  4. ^_AC_^

    ^_AC_^ Moderator Membro dello Staff

    Registrato:
    20 Dicembre 2006
    Messaggi:
    3.785
    Ratings:
    +1.602
    Allora, calma perché si sta facendo confusione.

    Prima di tutto devi capire qual è il tag che stai creando. Con quello si può capire come chiamare il file.
    Gli stati fantoccio sono stati come tutti gli altri, quindi si possono creare o modificare.
    Non esiste un meccanismo automatico per cambiare nome o bandiera in base all'ideologia, quindi o si sostituisce la bandiera della nazione originale (ad esempio GRE, la Grecia normale che tutti probabilmente possono creare come fantoccio dopo averla annessa) oppure si usa un evento che effettui il cambio. Nel secondo caso di solito il nome del file ha un suffisso, ad esempio GRE_fas.bmp.

    Attento inoltre a quale cartella stai usando per copiare i file, perché in teoria basta copiarli al posto della bandiera di default (GRE in questo caso) e poi riavviare il gioco. Se non la vedi così probabilmente o il TAG è diverso oppure la cartella è sbagliata.
     
  5. Subversor

    Subversor

    Registrato:
    22 Marzo 2007
    Messaggi:
    502
    Ratings:
    +18
    Scusami per la confusione ma è la prima volta che mi approccio a questo tipo di modifica, ingenuamente come ti ho scritto pensavo bastasse sdoppiare e rinominare la bandiera col suffisso TAG_fas.bmp ma evidentemente è un automatismo che come mi hai confermato non esiste.
    Cambiare solamente la bandiera dello stato originario non mi permetterebbe lo switch a seconda del tipo di governo quindi immagino che l'unica soluzione sarebbe quella di creare un evento ad hoc oppure creare un nuovo tag per quella specifica nazione.
    Spero di aver compreso bene. Tu cosa mi consigli di fare?

    Inoltre per creare un tag immagino debba seguire linee guida specifiche onde evitare pasticci, mi sai dire/dare qualche dritta in merito?
     
  6. ^_AC_^

    ^_AC_^ Moderator Membro dello Staff

    Registrato:
    20 Dicembre 2006
    Messaggi:
    3.785
    Ratings:
    +1.602
    Creare un nuovo TAG è un'operazione complessa: bisogna creare ministri, leader, tech team, nomi per eserciti, flotte, stormi, etc.

    É più semplice un evento che cambia la bandiera.
    Esempio di evento esistente:
    Codice:
    event = {
        id = 2003128
        random = no
        country = SER
    
        trigger = {    
            puppet = { country = SER country = GER } 
        }
       
        name = "EVT_2003127_NAME"
        desc = "EVT_2003127_DESC"
        style = 2
        picture = "news_paper"
    
        date = { day = 0 month = january year = 1936 }
        offset = 16
        deathdate = { day = 29 month = december year = 1963 }
    
        action_a = {
            ai_chance = 100
            name = "ACTION_NAME_EXCELLENT" #Excellent
            command = { type = flag_ext where = SER which = _fas }
        }
    }
    
    Se prendiamo spunto da questo, si può fare un nuovo evento:
    Codice:
    event = {
        id = 123123456
        random = no
        country = GRE #evento per la Grecia
    
        trigger = {    
            puppet = { country = GRE country = ITA } #accade quando la Grecia è fantoccio dell'Italia
        }
       
        name = "La Grecia cambia bandiera" #titolo evento (non andrebbe messo qui, per un mod non va bene, ma per modifica personale ok)
        desc = "A seguito dei cambiamenti geopolitici, è tempo di adottare una nuova bandiera" #descrizione generica
        style = 2
        picture = "news_paper" #immagine evento, la lascerei
    
        date = { day = 0 month = january year = 1936 }
        offset = 32 #controlla ogni 32 giorni
        deathdate = { day = 29 month = december year = 1999 }
    
        action_a = {
            name = "ACTION_NAME_EXCELLENT" #Excellent
            command = { type = flag_ext where = GER which = _fas }
        }
    }
    A questo punto se ci sono i file giusti (flag_GRE_fas, icon_GRE_fas, shield_GRE_fas) allora dovrebbe cambiare bandiera. Ma attenzione a mettere i file nel posto giusto. Tu dove li stai mettendo?
     
    • Like Like x 1
  7. Subversor

    Subversor

    Registrato:
    22 Marzo 2007
    Messaggi:
    502
    Ratings:
    +18
    Perdona la risposta tardiva, nel frattempo spulciando sul forum paradox ho trovato un "pazzo" che si è messo a creare eventi che cambiano bandiere unicamente a seconda dell'ideologia e senza la limitazione del paese dominante cosa che nell'evento che gentilmente hai composto sopra c'è.
    Te ne linko uno, quello della Grecia ma gli stessi si ripetono quasi identicamente per ogni paese.

    Codice:
    event = {
    id = 999025
    random = no
    persistent = yes
    tag = { GRE }
    
    decision = {
        OR = {
    
        AND = {
            NOT = { local_flag = GRE_FAS }
            OR = { ideology = nazi ideology = fascist }
        }
        AND = {
            NOT = { local_flag = GRE_AUT }
            OR = { ideology = paternal_autocrat }
        }
        AND = {
            NOT = { local_flag = GRE_SLI }
            OR = { ideology = social_conservative ideology = market_liberal ideology = social_liberal ideology = social_democrat }
        }
        AND = {
            NOT = { local_flag = GRE_LEN }
            OR = { ideology = left_wing_radical ideology = leninist ideology = stalinist }
        }
        }
        }
    
        decision_trigger = {
            ai = no
        }
    
    trigger = {
    ai = yes
    OR = {
    
        AND = {
            NOT = { local_flag = GRE_FAS }
            OR = { ideology = nazi ideology = fascist }
        }
        AND = {
            NOT = { local_flag = GRE_AUT }
            OR = { ideology = paternal_autocrat }
        }
        AND = {
            NOT = { local_flag = GRE_SLI }
            OR = { ideology = social_conservative ideology = market_liberal ideology = social_liberal ideology = social_democrat }
        }
        AND = {
            NOT = { local_flag = GRE_LEN }
            OR = { ideology = left_wing_radical ideology = leninist ideology = stalinist }
        }
        }
        }
    
    name = "Winds of Change"
    desc = "The political reality in our country has changed, and it is time to show the rest of the world proudly."
    style = 2
    picture = "finland_sweden"
    
    date = { day = 26 month = june year = 1914 }
    offset = 1
    deathdate = { day = 29 month = december year = 1963 }
    
    action = {
        trigger = {
        OR = { ideology = nazi ideology = fascist }
        }
    
        name = "Adopt a Fascist Flag"
    
        command = { type = flag_ext where = GRE which = "_fas" }
        command = { type = name where = GRE which = ""}
        command = { type = local_setflag which = GRE_FAS }
    
        command = { type = local_clrflag which = GRE_AUT }
        command = { type = local_clrflag which = GRE_SLI }
        command = { type = local_clrflag which = GRE_LEN }
        }
    
    action = {
        trigger = {
            OR = { ideology = paternal_autocrat }
        }
    
        name = "Adopt a Monarchist Flag"
    
        command = { type = flag_ext where = GRE which = "_aut" }
        command = { type = name where = GRE which = "Hellenic State"}
        command = { type = local_setflag which = GRE_AUT }
    
        command = { type = local_clrflag which = GRE_FAS }
        command = { type = local_clrflag which = GRE_SLI }
        command = { type = local_clrflag which = GRE_LEN }
        }
    
    action = {
        trigger = {
        OR = { ideology = social_conservative ideology = market_liberal ideology = social_liberal ideology = social_democrat }
        }
    
        name = "Adopt a Liberal Flag"
    
        command = { type = flag_ext where = GRE which = "_sli" }
        command = { type = name where = GRE which = ""}
        command = { type = local_setflag which = GRE_SLI }
    
        command = { type = local_clrflag which = GRE_FAS }
        command = { type = local_clrflag which = GRE_AUT }
        command = { type = local_clrflag which = GRE_LEN }
        }
    
    action = {
        trigger = {
        OR = { ideology = left_wing_radical ideology = leninist ideology = stalinist }
        }
    
        name = "Adopt a Communist Flag"
    
        command = { type = country which = U33 }
        command = { type = name where = U33 which = ""}
        command = { type = local_setflag which = GRE_LEN }
    
        command = { type = local_clrflag which = GRE_FAS }
        command = { type = local_clrflag which = GRE_AUT }
        command = { type = local_clrflag which = GRE_SLI }
        }
    }
    Nel pacchetto ci sono anche le cartelle aggiuntive config,db e gfx con un sacco di bandiere.
    Che ne pensi potrebbe funzionare o alla lunga creare qualche problema, non so sovraccarico nelle lunghe partite o conflitti con altri eventi?

    Domani, previo backup, lo provo e faccio sapere magari può essere interessato qualcun'altro!
     
    • Like Like x 1
    Ultima modifica: 24 Marzo 2021
  8. ^_AC_^

    ^_AC_^ Moderator Membro dello Staff

    Registrato:
    20 Dicembre 2006
    Messaggi:
    3.785
    Ratings:
    +1.602
    Penso di sapere a quale mod ti stai riferendo.
    In generale l'evento è più che decente ma non ottimo. Sicuramente mettere tanti eventi scritti come questo va a rallentare le partite (evento persistente + offset = 1 ==> controlla ogni giorno se si verificano le condizioni, anche dopo aver cambiato bandiera).
    Che ci possa essere un conflitto a livello di config ed eventi con altri mod è possibile, dipende quali altri mod stai usando.

    Ottima cosa che fai backup, non tutti lo fanno ma è il modo giusto di fare questi cambiamenti.
     
    • Like Like x 1
  9. Subversor

    Subversor

    Registrato:
    22 Marzo 2007
    Messaggi:
    502
    Ratings:
    +18
    Dunque ho fatto il backup di tutto DH Full per sicurezza onde evitare spiacevoli sorprese anche perché sto facendo una interessantissima partita con l'Italia :D ho quindi sostituito le cartelle db/config e gfx e avviato il gioco.
    Prima cosa che ho notato all'avvio è che mi ha cambiato le 4 lettere di fianco alla versione del gioco quindi ora mi esce Darkest Hour 1.05.1 (XGGA) prima ricordo fossero diverse non so cosa comporta ciò :cautious:
    Ho avviato degli scenari a caso, ci mette leggermente di più a caricare ma lo scorrere del gioco sembra inalterato, non so se col passare del tempo di gioco si rallenti. Conflitti al momento nella mia breve prova non ce n'è sono stati (non utilizzo alcuna mod tecnica diciamo, solo il Francesco's models mod e altre icone delle unità). Inizialmente mi sono usciti tipo 100 messaggi di ogni singola nazione che mi informava che aveva cambiato bandiera per il proprio orientamento politico, mi è bastato settare di non vedere più il msg.
    Ho effettuato varie prove con i trucchi e sembra funzionare bene, le bandiere cambiano puntualmente a seconda del tipo di governo e quindi in automatico da chi vengono puppettizzate.
    Le uniche due cose che mi han lasciato perplesso sono la possibilità da parte della Germania di creare come stati fantoccio varie repubbliche socialiste tra cui Norvegia, Polonia, Belgio, Grecia e Olanda cosa che prima non avveniva, tra l'altro una volta create sono le uniche che non subiscono il cambio di bandiera quindi mi sono ritrovato ad avere per esempio l'Unione Socialista Olandese con ministri stalinisti ma col governo di tipo nazionalsocialista :wideyed:. Contemporaneamente però nella lista di stati da liberare rimangono i vari Reichkommisariat polacchi,olandesi ecc quindi c'è una sovrapposizione di stati fantoccio, il perchè non l'ho capito, in teoria i vari stati fantoccio da rilasciare non dovrebbero essere disponibili a seconda del paese che si sta usando? C'è un modo per modificare questa cosa?
    La seconda cosa, meno rilevante, è il cambio di bandiera manuale che il giocatore deve effettuare nelle decisioni, cioè l'automatismo funziona solo per le nazioni controllate dall'IA ma non per la propria, sarebbe carino se accadesse anche per il giocatore, se l'evento fosse automatico.
    Per il resto nulla da segnalare, oggi continuerò a fare altri test e vediamo che succede. Keep in contact!
     
  10. ^_AC_^

    ^_AC_^ Moderator Membro dello Staff

    Registrato:
    20 Dicembre 2006
    Messaggi:
    3.785
    Ratings:
    +1.602
    Le 4 lettere sono il checksum. Rilevano appunto che sono stati fatti dei cambiamenti ai file del gioco. Serve a notare questo cambiamento (senza modifiche tutti hanno lo stesso checksum) ed è necessario per il multiplayer (per giocare assieme bisogna avere tutti stesso checksum).
    Attento che così hai nascosto TUTTI gli eventi delle altre nazioni, non solo quelli relativi alle bandiere.
    Probabilmente hanno cambiato anche il file db/revolt.txt, ma immagino ci sia qualche tipo di errore/incompatibilità. Difficile però dirlo così al volto, non saprei darti indicazioni migliori.
    Questo è sicuramente voluto per come hanno scritto gli eventi, infatti nell'esempio che hai mostrato quella è una decisione. In realtà la cosa è normale, tutte le decisioni sono così e in generale si fa sempre così: lasciare al giocatore la scelta di se e quando attivare una decisione.
     
  11. Subversor

    Subversor

    Registrato:
    22 Marzo 2007
    Messaggi:
    502
    Ratings:
    +18
    Ok il codice allora non è un problema dato che purtroppo non gioco online da tanto tempo, un po' per mancanza di tempo e anche per mancanza di avversari :(

    Per gli eventi mannaggia la miseria hai ragione, ho fatto una cappellata, meglio sorbirsi inizialmente quei messaggi tanto alla fine i cambi di bandiere/governo non sono cosi frequenti.

    Ho confrontato i due file revolt.txt , quello di DH full e quello della mod che sto usando, sembrano identici ma per sicurezza te li allego qui sotto magari il tuo occhio clinico riesce a vedere quello che a me sfugge.
    Ho allegato anche il file degli eventi per i cambi bandiera magari può tornare utile anch'esso e in ultimo il link: https://www.dropbox.com/s/mvnf9y8ctv5m6hn/CSMF.rar?dl=0 con le varie cartelle della mod.
    Spero ci sia materiale sufficiente per venirne a capo :D


    P.S. Ho fatto un'ulteriore prova con la Germania, cambiando il tipo di governo, rendendolo più democratico, scompaiono come nazioni da liberare i vari Reichskommissariat come giusto che sia e ne compaiono altre più appropriate, rimangono quindi perennemente selezionabili unicamente i puppet stalinisti (U11,U17,U19,U22,U28,U33)
     

    Files Allegati:

    • Like Like x 1
    Ultima modifica: 25 Marzo 2021
  12. ^_AC_^

    ^_AC_^ Moderator Membro dello Staff

    Registrato:
    20 Dicembre 2006
    Messaggi:
    3.785
    Ratings:
    +1.602
    In realtà i due revolt.txt hanno molte differenze.
    In particolare se confronti ad esempio U11 vedrai che rispetto a DHFull hanno rimosso la riga con regular_id = FRA. Stessa cosa per gli altri (regular_id = BEL, regular_id = NOR, regular_id = DEN, regular_id = ALB, regular_id = GRE). Se non erro, ma non ricordo bene come funziona il meccanismo onestamente, questo fa capire al gioco che si tratta di versioni particolari di nazioni regolare; inoltre hanno intrinsic_gov_type = leninist e quindi solo governi autoritari di sinistra possono rilasciare queste nazioni, mentre le altre vedono quelle normali. Non ne ho la certezza al 100%, la scelta di quali nazioni mostrare come rilasciabili è parecchio complicata.
    Penso che se tu ri-aggiungessi queste righe, forse la Germania non dovrebbe più poter rilasciare le nazioni "comuniste".
     
    • Like Like x 1
  13. Subversor

    Subversor

    Registrato:
    22 Marzo 2007
    Messaggi:
    502
    Ratings:
    +18
    Eccomi, dunque togliendo la magra figura che ho fatto non accorgendomi di queste differenze :wall: ho provato a fare come hai detto rimettendo le diciture regular ma non è cambiato nulla purtroppo. Altresì vedendo i comandi nel file revolt ho provato ad escludere col NOT la Germania (visto che nella mod comunque il tag GER è associato sempre a un tipo di gov fascista/nazionalsocialista altrimenti cambia in DDR e RDT) quindi mi è parsa una mossa storicamente plausibile diciamo. E' venuta fuori una roba del genere:
    Codice:
    U10 = { # Dutch Socialist Union
    date = { day = 0 month = january year = 1914 }
    expirydate = { day = 29 month = december year = 1999 }
    minimum = { 122 118 119 120 121 123 124 125 }
    min = 2
    extra = { }
    claims = { 1761 1762 1999 } #Saba Island, Netherlands Antilles, Paramaribo
    capital = 122
    revolt = no
    not = { GER DFR }
    intrinsic_gov_type = leninist
    } 
    Ho testato la cosa svariate volte e sembra funzionare bene, nessun problema particolare e finalmente i fantocci comunisti sono scomparsi dalla lista quando si usa la GER e ricompaiono quando diventa DDR.
    Ho provato a capacitarmi del perché nonostante la dicitura intrinsic_gov_type = leninist veniva permesso alla Germania fas o naz di rilasciarle ma se non ne sei venuto a capo tu figurati io :ROFLMAO:
    Nel caso interessasse a qualcuno lascio qui in allegato il file revolt modificato per far rilasciare i puppet corretti almeno quelli principali.

    Un'ultima cosa: ho sbloccato Vichy (togliendo una serie di # incolonnati dal file revolt) che non so per quale motivo era stata esclusa (anche nel flagchange è scritto chiaramente che è rimossa) in favore di un fantoccio Francese unico, solo che la stessa funziona bene unicamente nello scenario 1941 mentre se viene rilasciata in qualsiasi altro contesto/scenario la schermata dei ministri è inesistente (allego foto). Il file.inc inizialmente era col tag FRA che ho cambiato in VIC (ho provato anche al contrario ma il risultato non cambia). In db/leaders ho visto che gli ID e la numerazione delle foto dei ministri si rifanno alla configurazione che c'è per la Francia e pure quelli sono corretti, ho controllato più volte, davvero non capisco perché faccia cosi.

    P.S. Scegliendo la Francia nello scenario 1941 al termine del caricamento crasha:depressed:
    P.P.S. Smanettando un po' ho visto che nel file di impostazione dello scenario c'era selezionabile la Francia normale anziché la Francia di Vichy, è bastato sostituire i tag con quelli corretti e ora non crasha più (unica cosa non ha squadre di ricerca, nemmeno una *risolto* un # nel file tech, tolto e mi ha letto le squadre)
     

    Files Allegati:

    • revolt.txt
      Dimensione del file:
      89,1 KB
      Visite:
      0
    • imm.jpg
      imm.jpg
      Dimensione del file:
      376,1 KB
      Visite:
      4
    • Like Like x 1
    Ultima modifica: 26 Marzo 2021
  14. ^_AC_^

    ^_AC_^ Moderator Membro dello Staff

    Registrato:
    20 Dicembre 2006
    Messaggi:
    3.785
    Ratings:
    +1.602
    In generale se ben ricordo intrinsic_gov_type viene usato solo se esistono versioni diverse della stessa nazione (quindi con regular_id = XYZ). Quindi usare intrinsic_gov_type senza regular_id è abbastanza inutile, per quanto io riesca a ricordare.
     
    • Like Like x 1
  15. Subversor

    Subversor

    Registrato:
    22 Marzo 2007
    Messaggi:
    502
    Ratings:
    +18
    RISOLTO L'ARCANO!!! Dunque dopo varie peripezie mi sono accorto che nel file revolt è spiegato come il check degli ID dei paesi e del tipo di governo viene regolato nel file misc facendomi sorgere un atroce dubbio...sono andato a controllare e indovina? Era disattivato.:wall: Non ho idea per quale motivo il creatore della mod lo abbia impostato cosi ma è bastato settarlo correttamente per far comparire i giusti puppet senza l'esclusione manuale da stringa come stavo facendo (no = GER DDR) ecc
    Allego immagine del misfatto. Mistero risolto finalmente, ho cambiato anche qualche offset per non appesantire troppo il tutto ma la fluidità è rimasta pressochè invariata.

    Grazie per il supporto AC!
     

    Files Allegati:

    • Like Like x 1
  16. ^_AC_^

    ^_AC_^ Moderator Membro dello Staff

    Registrato:
    20 Dicembre 2006
    Messaggi:
    3.785
    Ratings:
    +1.602
    Ah, ecco cos'era, me ne ero dimenticato.
    Sono lieto che il problema sia stato risolto.
     
    • Like Like x 1

Condividi questa Pagina