Jump to content

CK2 Modding Quick Question Thread


Recommended Posts

48 minutes ago, Abominus said:

Why dont you just use flags?

I said I'd try out flags if the variable approach didn't work.

 

I'd prefer the variable approach, as it's a lot cleaner than working with flags, but alas, it's not meant to be.

Link to comment
On 4/5/2018 at 2:57 PM, joemann said:

Validator also rejects the third_party_potential in the decision. However, I copied the structure from the wiki so I don't understand what the issue is

 

--- Error 1 of 1 ---
At <mod>\decisions\rsl_cc_decisions.txt [targetted_decisions\rsl_share_slave\third_party_potential] (Line 945, column 2):
Invalid node "third_party_potential" in scope DecisionDef (value is: <a complex type>)

 

Solved this one by downloading the latest version of Validator. I suppose that since third_party_potential was introduced with a recent DLC my old version of Validator could not recognize it . Anyhow the error no longer shows up. Haven't solved my scope issue though.

Link to comment
16 minutes ago, ducturlove said:

Does anyone know how to impregnate the transgender gender swapped characters in the Warhammer mod?

I'm not sure how (or if) Warhammer solved that one, but if you are doing your own mod, feel free to rip apart my mod and find the MPREG stuff and it should work for you.

Link to comment

I started creating conversion mod so we are making racial traits like Human, Elf, Dwarf etc etc... and there is a problem
If i want to have only one of these traits i must have them opposite and thats a problem for me.
Imagine situation I have 3 racial traits A B and C
A hate everyone so he have opposite trait opinion 50
B and C bouth hate A but can live together. How can I make opionion boost between these two traits?

Link to comment
49 minutes ago, sas0066 said:

I started creating conversion mod so we are making racial traits like Human, Elf, Dwarf etc etc... and there is a problem
If i want to have only one of these traits i must have them opposite and thats a problem for me.
Imagine situation I have 3 racial traits A B and C
A hate everyone so he have opposite trait opinion 50
B and C bouth hate A but can live together. How can I make opionion boost between these two traits?

There are a few approaches. One would be to make more traits, which is hidden, which would be something like humans_cool_with_dwarves and dwarves_cool_with_humans. Just flip the modifier around to counteract the negative.

 

Depending on how you're handling inheritance, you may need to juggle it some, but using hidden traits still applies opinion modifiers.

 

You could even get real fancy and not use the opposite_opinion modifier in your default human/elf/dwarf traits, and instead create some that are like hated_by_dwarves (opposite is dwarves, with a negative opposite_opinion), loved_by_dwarves (opposite is dwarves, with a positive opposite_opinion), and so on for the other races. And then having an on_action for the on_adulthood fire an event that would randomize which one a human gets. Such as 50% loved_by_dwarves, 30% hated_by_dwarves, 20% nothing (no hidden trait modifier).

 

The neat thing about using hidden traits for handing some opinions, is that you'd be able to have events influence them later on. Say you've an elf that has hated_by_dwarves, who saves a dwarven hero or official. The outcome of that could be that they have the hated_by_dwarves hidden trait removed due to the impressive deed.

Link to comment

Is there any mod that allows homosexual marriage? I can't seem to find it, so I got Legalized Gay Marriage mod to complement it. There are a few buggy behaviors like unfaithful opinion modifiers (my lesbian wife hate me for having sex with my wife lmao, netting -75 opinion oops).

 

If there is none, I'm attempting to try making one. Though I'm a total noob. But the LGM mod doesn't look so complicated.

 

Since I'm not knowledgeable about CK2 modding, I will look on LGM and make my own version in a different way. I plan to look for some way to betroth my own daughters to other girls or daughters or futas. My homo and futa daughters don't seem to choose the decision to pursue other homo or futas, even though they do choose some of my own sons (or grandsons) for marriage.

 

I'm thinking of using the following way:

- Right-clicking on first target (self or your offsprings) and it allows you to choose something like "Looking for relationship" or "Looking for betrothal" (if underaged).

- Right-clicking on second target (the marriage partner of your choice) and it allows you to choose something like "Arrange relationship with you or your offsprings" or "Arrange betrothal with you or your offsprings", as long as the first target is chosen.

- An event is sent to the target or the guardian (if underaged), allowing them to decide.

- If the second target/guardian agree (if they like you or offsprings enough, and futa/homosexual trait adds a bonus), both targets will become lovers or betrothals. Homosexual trait will be applied at a random moment while being lovers or betrothals (if not futa). Mb there should be a futa lover trait, I don't know.

- You can then decide for them to marry (at any age for betrothals, if underaged). The futa/homosexual traits will become the deciding factors here, though if both of them have favorable opinions enough they can still agree. Homosexual trait will be applied upon agreement.

Link to comment
Spoiler

targetted_decisions = {
 
 ala_traits = (
  filter = all_including_me
  ai_target_filter = none
  
  from_potential = {
   ai = no
  }
  potential = {
   always = yes
  }
  allow = {
   always = yes
  }
  effect = {
   FROM = ( character_event = { id = ala.0 } }
  )
  revoke_allowed = {
   always = no
  }
  ai_will_do = {
   factor = 0
  }
 }
}

I am having trouble getting a event to fire properly for npcs like I wrote it for. It fires for me just fine, but if I select an npc when the event fires it treats it as if I had used it on myself. If I change the FROM to ROOT then it won't fire on npcs at all.

 

I made this using the wiki and a cheat mod from the workshop that I know works in almost exactly the same way. Any modding exp I have is from tweaking other peoples mods so when my example fails me I am not sure what to try. The point of this mod is to add traits through an event window to skip the need for console commands and looking up character IDs.

 

 

EDIT: OK, figured out that I was missing FROMs in the event itself, works like a charm now

 

EDIT: Next snag, I lose the targeted npc again when I move to a second page

Link to comment

So... apparently all variable-changing commands can also take the value to change by from another scope. The wiki says this is possible:

 

(set|change|subtract|multiply|divide)_variable = { which = <variable_name> which = <scope> }

if scope is FROM, ROOT, PREV, etc.

 

However, event targets are supposed to work as right-side arguments too (eg the "who" argument in an opinion clause), so would the following work?

 

(set/change/subtract/multiply/divide)_variable = { which = <variable_name> which = event_target:my_target }

 

EDIT: yes you can, apparantly :smile:

Link to comment

I am trying to incorporate one of Tosca's events in my own mod. It is an on-action triggered event however it never fires in-game. Validator has no problems and when  using the console commands testevent and event  it seems to work well. However  I noticed that there were two on-action triggers (on_siege_over_winner and on_siege_over_loc_chrs)  both triggering the same event. Would that be a problem?

Link to comment
 

I am trying to incorporate one of Tosca's events in my own mod. It is an on-action triggered event however it never fires in-game. Validator has no problems and when  using the console commands testevent and event  it seems to work well. However  I noticed that there were two on-action triggers (on_siege_over_winner and on_siege_over_loc_chrs)  both triggering the same event. Would that be a problem?

It shouldn't be a problem, each trigger will call a seperate instance of the event.

Link to comment

Anybody know a good program that's similar to but is not photoshop or GIMP? I tried GIMP yesterday and it seem to struggle with .dds files even with the .dds plugin. Some it opens, and some it crashes when I try to open. It will not save in .dds either. After looking online I found there were plenty of others going through the same problems, and the plugin is from 2013, but is considered the official, up-to-date version.

 

I am trying to make unique intrigue decision icons for my stuff. Using the vanilla options work but it is hard to tell apart from other options at a glance. I also have permission to use somebody elses icon, but I would rather use/make my own stuff. Partly to learn and partly so I can actually say its mine. Any recommendations?

 

EDIT : Solved, found a steam guide for skyrim that explained a bit about using GIMP with .dds files

Link to comment

Is there a special Marshal flag, like Steward is special_treasurer? I have found the other four, but can't seem to find this one. This is what I have tried;

 

special_marshal

special_marshall

special_martial

tried using an allow block with can_be_marshal_trigger = yes inside, tried it without the allow block just cause I was there, but that one broke it lol

Link to comment

                    set_character_flag = special_marshal
                    set_character_flag = special_treasurer
                    set_character_flag = special_spymaster
                    set_character_flag = special_spiritual 
                    set_character_flag = special_chancellor

Those are precisely correct for each position.  You are right with your first option.  "special_marshal"

Link to comment
8 minutes ago, Mr_Treason said:

                    set_character_flag = special_marshal
                    set_character_flag = special_treasurer
                    set_character_flag = special_spymaster
                    set_character_flag = special_spiritual 
                    set_character_flag = special_chancellor

Those are precisely correct for each position.  You are right with your first option.  "special_marshal"

sweet, it worked that time. I must have been doing something else wrong the first time then. ty

Link to comment

Hey, how can i multiply variables? i am using darkworlds coding convention and in scripted_effects i have an effect "calculate_pleasure_levels" with a variable

set_variable { which = pleasure_level value = 1 }

that gives me different values based on different traits by using ifs and limits and change_variable. I also have an event with 3 options that give either gold, prestige or piety. I want to multiply this variable with a base gold value like 5, a base prestige value like 20, and a base piety value like 10 and i dont know how.

 

 

If i try in the event file something like

wealth = {

                 {calculate_pleasure _levels = yes } x 5 } it wont work.

 

 

In the scripted effects file if i try something like

wealth = {

     multiply_variable { which = pleasure_level value = 5 }     again it doesent work.

 

 

i tried making separate effects for calculating gold, prestige and piety. Example

calculate_pleasure_levels_gold = {
    set_variable = { which = pleasure_levels_gold value = 5 }
    multiply_variable = { which = pleasure_levels which = pleasure_levels_gold  }
    wealth = pleasure_levels_gold
}

i was hoping that i could use calculate_pleasure_levels_gold = yes in the options in the event file. it gives back a value of 0 when tested in game

 

Any ideas ???

 

EDIT: Solved, i tried a lot of things but i think using global before the variable name is what did the trick.

 

####  Event option:

 

        event_target:who_gets_fucked = {
            calculate_getting_fucked_gold = yes
            wealth = global_getting_fucked_goldgain
        }
        event_target:who_fucks = {
            calculate_getting_fucked_gold = yes
            wealth = global_getting_fucked_goldloss
        }        
    }

  

####  Gold calculation:

 

calculate_getting_fucked_gold = {
    
    set_variable = { which = global_getting_fucked_goldgain value = 10 }
    set_variable = { which = global_getting_fucked_goldloss value = -10 }
    
    calculate_getting_fucked_value = yes
    
    multiply_variable = { which = global_getting_fucked_goldgain which = global_getting_fucked_pleasure  }
    multiply_variable = { which = global_getting_fucked_goldloss which = global_getting_fucked_pleasure  }

}

 

 

#### Main pleasure calculation:

 

calculate_getting_fucked_value = {
    set_variable = { which = global_getting_fucked_pleasure value = 1 }   # base getting fucked pleasure

    if = { # fair
        limit = {
            event_target:who_gets_fucked = { 
                trait = fair
            }
        }
        multiply_variable = { which = global_getting_fucked_pleasure value = 1.1 }
    }

    if = { # bombshell
        limit = {
            event_target:who_gets_fucked = { 
                trait = bombshell
            }
        }
        multiply_variable = { which = global_getting_fucked_pleasure value = 1.3 }
    }    

    if = { # seductress
        limit = {
            event_target:who_gets_fucked = { 
                trait = seductress
            }
        }
        multiply_variable = { which = global_getting_fucked_pleasure value = 1.1 }
    }
}

Link to comment
  • 2 weeks later...

I am trying to get an on_action event chain to work.

narrative_event = {
    id = RSLRandom.600
    
    ai = no
    hide_window = yes
    is_triggered_only = yes  #by on_action yearly pulse
    
    trigger = {
            liege = {    
            has_character_modifier = pet_hunting_dog }
        }
    immediate = {            
            
    location = {
            random_courtier = {
                    limit = {
                        is_female = yes
                        age = 14
                        NOT = { trait = incapable }
                        prisoner = no
                    }
                }
            }
            
                narrative_event = { id = RSLRandom.603 }    #female courtier event
            }
    
}

 

Although  event .600 fires (on yearly pulse) and also the subsequent event .603 it doesn't select a random courtier to join the event.

 I assume the problem lies in the block that follows the immediate but I can't figure out what to change. Thanks for your help.

Link to comment

Thanks that did work. However, although the courtier now shows up it is not selected according to the criteria in the previous block

 

 location = {
            random_courtier = {
                    limit = {
                        is_female = yes
                        age = 14
                        NOT = { trait = incapable }
                        prisoner = no
                    }
                }
            }

 

 

 I get men and women of all ages including younger than 14. I tried putting both blocks in an option {} but that doesn't change anything.

Link to comment
12 hours ago, joemann said:

 location = {
            random_courtier = {

Random_courtier scopes from a character, while location scopes to a province. You probably want to get rid of location and go with something like random_host_courtier. In addition, if you have major = yes in your narrative event, you should use a major_trigger block to determine who it shows up for, in addition to the person actually having the event.

Link to comment

Hey,

 

I made an event chain with 6 steps.

Event number 4 in the chain gets a random vassal to interact with, using save_event_target_as .

If i run the event from console, it shows my icon and the vassals icon.

If i run event 1 and let it continue, at event number 4 it only shows my picture. 

Any ideas why?

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use