Strec Posted January 16, 2020 Posted January 16, 2020 1 hour ago, lockeslylcrit said: Everything looks ok. Might want to delete the desc and the picture lines though. And the OR is redundant. Other than that, I see absolutely no reason why it wouldn't work. Thx for the answer. I was unable to find the problem too so I solved it by completly removing the events (I don't really like this part of modding) and moving all in the 'on_actions' code.
joemann Posted January 19, 2020 Posted January 19, 2020 I made a new mod and I can't get the event_window working correctly. I have the event_narrative_bg .dds file and the event_narrative_area.dds in the gfx/interface folder and the following script in the interface folder Spoiler guiTypes = { #### NARRATIVE EVENT windowType = { name = "EventWindowNarrative" backGround="Background" position = { x=-530 y=-385 } size = { x=770 y=620 } moveable = 1 dontRender = "" horizontalBorder= "" verticalBorder= "" fullScreen = no Orientation = "CENTER" click_to_front = yes guiButtonType = { name = "Background" quadTextureSprite ="GFX_event_narrative_area" } iconType = { name ="Background_2" spriteType = "GFX_event_narrative_bg" position = { x= 0 y = 0 } Orientation = "UPPER_LEFT" } iconType = { name ="event_extension_1" spriteType = "GFX_event_narrative_extension" position = { x= -99993 y = 719 } Orientation = "UPPER_LEFT" } iconType = { name ="event_extension_2" spriteType = "GFX_event_narrative_extension" position = { x= -99993 y = 759 } Orientation = "UPPER_LEFT" } iconType = { name ="event_extension_3" spriteType = "GFX_event_narrative_extension" position = { x= -99993 y = 799 } Orientation = "UPPER_LEFT" } iconType = { name ="event_picture" spriteType = "GFX_evt_throne_room" position = { x= 562 y = 34 } Orientation = "UPPER_LEFT" } ### colored frames. iconType = { name ="event_frame" spriteType = "GFX_event_narrative_frame_diplomacy" position = { x= 99936 y = 60 } Orientation = "UPPER_LEFT" } ### portraits. guiButtonType = { name ="EventWindowMainChar_portrait" quadTextureSprite = "GFX_char_75" position = { x = 485 y = 34 } pdx_tooltip = "CHARACTER_TOOLTIP" pdx_tooltip_delayed = "CHARACTER_TOOLTIP_DELAYED" } guiButtonType = { name = "EventWindowMainChar_portrait_frame" quadTextureSprite = "GFX_charframe_75" position = { x= 477 y = 25 } Orientation = "UPPER_LEFT" } guiButtonType = { name ="EventWindowMainChar_shield" quadTextureSprite = "GFX_shield_medium2" position = { x= 460 y = 72 } Orientation = "UPPER_LEFT" } iconType = { name ="EventWindowMainChar_crown" spriteType = "GFX_shield_crown_strip_medium2" position = { x= 470 y = 56 } Orientation = "UPPER_LEFT" } iconType = { name ="EventWindowMainChar_portrait_relation" spriteType = "GFX_overlay_char_relation_75" position = { x= 537 y = 30 } Orientation = "UPPER_LEFT" } ### guiButtonType = { name ="EventWindowFromChar_portrait" quadTextureSprite = "GFX_char_75" position = { x = 485 y = 124 } pdx_tooltip = "CHARACTER_TOOLTIP" pdx_tooltip_delayed = "CHARACTER_TOOLTIP_DELAYED" } guiButtonType = { name = "EventWindowFromChar_portrait_frame" quadTextureSprite = "GFX_charframe_75" position = { x= 477 y = 115 } Orientation = "UPPER_LEFT" } guiButtonType = { name ="EventWindowFromChar_shield" quadTextureSprite = "GFX_shield_medium2" position = { x= 460 y = 162 } Orientation = "UPPER_LEFT" } iconType = { name ="EventWindowFromChar_crown" spriteType = "GFX_shield_crown_strip_medium2" position = { x= 470 y = 146 } Orientation = "UPPER_LEFT" } iconType = { name ="EventWindowFromChar_portrait_relation" spriteType = "GFX_overlay_char_relation_75" position = { x= 537 y = 120 } Orientation = "UPPER_LEFT" } ##### instantTextBoxType = { name = "decorative_letter" position = { x = 45 y = 29 } textureFile = "" font = "decorative_color" borderSize = {x = 0 y = 0} text = "" maxWidth = 75 maxHeight = 75 format = left } instantTextBoxType = { name = "Title" position = { x = 119 y = 31 } textureFile = "" font = "vic_36_black" borderSize = {x = 0 y = 0} text = "UI_MISSING_TEXT" maxWidth = 366 maxHeight = 40 fixedsize = yes format = left } instantTextBoxType = { name = "Description_firstpart" position = { x = 122 y = 65 } textureFile = "" font = "vic_18_black" borderSize = {x = 0 y = 0} text = "UI_MISSING_TEXT" maxWidth = 350 maxHeight = 37 format = left } instantTextBoxType = { name = "Description" position = { x = 41 y = 101 } textureFile = "" font = "vic_18_black" borderSize = {x = 0 y = 0} text = "UI_MISSING_TEXT" maxWidth = 435 maxHeight = 590 format = left fixedsize = yes } # options: guiButtonType = { name = "EventOptionButton1" position = { x = 542 y = 474 } quadTextureSprite ="GFX_event_normal_option" } instantTextBoxType = { name = "EventOptionText1" position = { x = 555 y = 484 } textureFile = "" font = "vic_22_black" borderSize = {x = 0 y = 0} text = "UI_MISSING_TEXT" maxWidth = 456 maxHeight = 32 format = left fixedsize = yes allwaystransparent = yes } OverlappingElementsBoxType = { name = "EventOptionPortraits1" position = { x = 840 y = 476 } size = { x=180 y=40 } format = right spacing = 0 Orientation = "UPPER_LEFT" } OverlappingElementsBoxType = { name = "related_traits1" position = { x = 830 y = 470 } size = { x=195 y=40 } format = right } ### guiButtonType = { name = "EventOptionButton2" position = { x = 542 y = 514 } quadTextureSprite ="GFX_event_normal_option" } instantTextBoxType = { name = "EventOptionText2" position = { x = 555 y = 524 } textureFile = "" font = "vic_22_black" borderSize = {x = 0 y = 0} text = "UI_MISSING_TEXT" maxWidth = 456 maxHeight = 32 format = left fixedsize = yes } OverlappingElementsBoxType = { name = "EventOptionPortraits2" position = { x = 840 y = 516 } size = { x=180 y=40 } format = right spacing = 0 Orientation = "UPPER_LEFT" } OverlappingElementsBoxType = { name = "related_traits2" position = { x = 820 y = 520 } size = { x=195 y=40 } format = right } ### guiButtonType = { name = "EventOptionButton3" position = { x = 542 y = 554 } quadTextureSprite ="GFX_event_normal_option" } instantTextBoxType = { name = "EventOptionText3" position = { x = 555 y = 564 } textureFile = "" font = "vic_22_black" borderSize = {x = 0 y = 0} text = "UI_MISSING_TEXT" maxWidth = 456 maxHeight = 32 format = left fixedsize = yes } OverlappingElementsBoxType = { name = "EventOptionPortraits3" position = { x = 840 y = 556 } size = { x=180 y=40 } format = right spacing = 0 Orientation = "UPPER_LEFT" } OverlappingElementsBoxType = { name = "related_traits3" position = { x = 820 y = 560 } size = { x=195 y=40 } format = right } ### guiButtonType = { name = "EventOptionButton4" position = { x = 542 y = 594 } quadTextureSprite ="GFX_event_normal_option" } instantTextBoxType = { name = "EventOptionText4" position = { x = 555 y = 604 } textureFile = "" font = "vic_22_black" borderSize = {x = 0 y = 0} text = "UI_MISSING_TEXT" maxWidth = 456 maxHeight = 32 format = left fixedsize = yes } OverlappingElementsBoxType = { name = "EventOptionPortraits4" position = { x = 840 y = 596 } size = { x=180 y=40 } format = right spacing = 0 Orientation = "UPPER_LEFT" } OverlappingElementsBoxType = { name = "related_traits4" position = { x = 820 y = 600 } size = { x=195 y=40 } format = right } instantTextBoxType = { name = "CountdownText" position = { x = -5 y = 565 } textureFile = "" font = "vic_18_black" borderSize = {x = 0 y = 0} text = "" maxWidth = 456 maxHeight = 32 format = left fixedsize = yes } } } The problem is that I get the correct double event window but all text, portraits and pictures are on the left page of the window the right page where normally the pictures show is blank. I used exactly the same files in my previous mod and there it works well. I am not using any other mods. Is there something I have forgotten to do?
lockeslylcrit Posted January 19, 2020 Posted January 19, 2020 2 hours ago, joemann said: I made a new mod and I can't get the event_window working correctly. I have the event_narrative_bg .dds file and the event_narrative_area.dds in the gfx/interface folder and the following script in the interface folder Reveal hidden contents guiTypes = { #### NARRATIVE EVENT windowType = { name = "EventWindowNarrative" backGround="Background" position = { x=-530 y=-385 } size = { x=770 y=620 } moveable = 1 dontRender = "" horizontalBorder= "" verticalBorder= "" fullScreen = no Orientation = "CENTER" click_to_front = yes guiButtonType = { name = "Background" quadTextureSprite ="GFX_event_narrative_area" } iconType = { name ="Background_2" spriteType = "GFX_event_narrative_bg" position = { x= 0 y = 0 } Orientation = "UPPER_LEFT" } iconType = { name ="event_extension_1" spriteType = "GFX_event_narrative_extension" position = { x= -99993 y = 719 } Orientation = "UPPER_LEFT" } iconType = { name ="event_extension_2" spriteType = "GFX_event_narrative_extension" position = { x= -99993 y = 759 } Orientation = "UPPER_LEFT" } iconType = { name ="event_extension_3" spriteType = "GFX_event_narrative_extension" position = { x= -99993 y = 799 } Orientation = "UPPER_LEFT" } iconType = { name ="event_picture" spriteType = "GFX_evt_throne_room" position = { x= 562 y = 34 } Orientation = "UPPER_LEFT" } ### colored frames. iconType = { name ="event_frame" spriteType = "GFX_event_narrative_frame_diplomacy" position = { x= 99936 y = 60 } Orientation = "UPPER_LEFT" } ### portraits. guiButtonType = { name ="EventWindowMainChar_portrait" quadTextureSprite = "GFX_char_75" position = { x = 485 y = 34 } pdx_tooltip = "CHARACTER_TOOLTIP" pdx_tooltip_delayed = "CHARACTER_TOOLTIP_DELAYED" } guiButtonType = { name = "EventWindowMainChar_portrait_frame" quadTextureSprite = "GFX_charframe_75" position = { x= 477 y = 25 } Orientation = "UPPER_LEFT" } guiButtonType = { name ="EventWindowMainChar_shield" quadTextureSprite = "GFX_shield_medium2" position = { x= 460 y = 72 } Orientation = "UPPER_LEFT" } iconType = { name ="EventWindowMainChar_crown" spriteType = "GFX_shield_crown_strip_medium2" position = { x= 470 y = 56 } Orientation = "UPPER_LEFT" } iconType = { name ="EventWindowMainChar_portrait_relation" spriteType = "GFX_overlay_char_relation_75" position = { x= 537 y = 30 } Orientation = "UPPER_LEFT" } ### guiButtonType = { name ="EventWindowFromChar_portrait" quadTextureSprite = "GFX_char_75" position = { x = 485 y = 124 } pdx_tooltip = "CHARACTER_TOOLTIP" pdx_tooltip_delayed = "CHARACTER_TOOLTIP_DELAYED" } guiButtonType = { name = "EventWindowFromChar_portrait_frame" quadTextureSprite = "GFX_charframe_75" position = { x= 477 y = 115 } Orientation = "UPPER_LEFT" } guiButtonType = { name ="EventWindowFromChar_shield" quadTextureSprite = "GFX_shield_medium2" position = { x= 460 y = 162 } Orientation = "UPPER_LEFT" } iconType = { name ="EventWindowFromChar_crown" spriteType = "GFX_shield_crown_strip_medium2" position = { x= 470 y = 146 } Orientation = "UPPER_LEFT" } iconType = { name ="EventWindowFromChar_portrait_relation" spriteType = "GFX_overlay_char_relation_75" position = { x= 537 y = 120 } Orientation = "UPPER_LEFT" } ##### instantTextBoxType = { name = "decorative_letter" position = { x = 45 y = 29 } textureFile = "" font = "decorative_color" borderSize = {x = 0 y = 0} text = "" maxWidth = 75 maxHeight = 75 format = left } instantTextBoxType = { name = "Title" position = { x = 119 y = 31 } textureFile = "" font = "vic_36_black" borderSize = {x = 0 y = 0} text = "UI_MISSING_TEXT" maxWidth = 366 maxHeight = 40 fixedsize = yes format = left } instantTextBoxType = { name = "Description_firstpart" position = { x = 122 y = 65 } textureFile = "" font = "vic_18_black" borderSize = {x = 0 y = 0} text = "UI_MISSING_TEXT" maxWidth = 350 maxHeight = 37 format = left } instantTextBoxType = { name = "Description" position = { x = 41 y = 101 } textureFile = "" font = "vic_18_black" borderSize = {x = 0 y = 0} text = "UI_MISSING_TEXT" maxWidth = 435 maxHeight = 590 format = left fixedsize = yes } # options: guiButtonType = { name = "EventOptionButton1" position = { x = 542 y = 474 } quadTextureSprite ="GFX_event_normal_option" } instantTextBoxType = { name = "EventOptionText1" position = { x = 555 y = 484 } textureFile = "" font = "vic_22_black" borderSize = {x = 0 y = 0} text = "UI_MISSING_TEXT" maxWidth = 456 maxHeight = 32 format = left fixedsize = yes allwaystransparent = yes } OverlappingElementsBoxType = { name = "EventOptionPortraits1" position = { x = 840 y = 476 } size = { x=180 y=40 } format = right spacing = 0 Orientation = "UPPER_LEFT" } OverlappingElementsBoxType = { name = "related_traits1" position = { x = 830 y = 470 } size = { x=195 y=40 } format = right } ### guiButtonType = { name = "EventOptionButton2" position = { x = 542 y = 514 } quadTextureSprite ="GFX_event_normal_option" } instantTextBoxType = { name = "EventOptionText2" position = { x = 555 y = 524 } textureFile = "" font = "vic_22_black" borderSize = {x = 0 y = 0} text = "UI_MISSING_TEXT" maxWidth = 456 maxHeight = 32 format = left fixedsize = yes } OverlappingElementsBoxType = { name = "EventOptionPortraits2" position = { x = 840 y = 516 } size = { x=180 y=40 } format = right spacing = 0 Orientation = "UPPER_LEFT" } OverlappingElementsBoxType = { name = "related_traits2" position = { x = 820 y = 520 } size = { x=195 y=40 } format = right } ### guiButtonType = { name = "EventOptionButton3" position = { x = 542 y = 554 } quadTextureSprite ="GFX_event_normal_option" } instantTextBoxType = { name = "EventOptionText3" position = { x = 555 y = 564 } textureFile = "" font = "vic_22_black" borderSize = {x = 0 y = 0} text = "UI_MISSING_TEXT" maxWidth = 456 maxHeight = 32 format = left fixedsize = yes } OverlappingElementsBoxType = { name = "EventOptionPortraits3" position = { x = 840 y = 556 } size = { x=180 y=40 } format = right spacing = 0 Orientation = "UPPER_LEFT" } OverlappingElementsBoxType = { name = "related_traits3" position = { x = 820 y = 560 } size = { x=195 y=40 } format = right } ### guiButtonType = { name = "EventOptionButton4" position = { x = 542 y = 594 } quadTextureSprite ="GFX_event_normal_option" } instantTextBoxType = { name = "EventOptionText4" position = { x = 555 y = 604 } textureFile = "" font = "vic_22_black" borderSize = {x = 0 y = 0} text = "UI_MISSING_TEXT" maxWidth = 456 maxHeight = 32 format = left fixedsize = yes } OverlappingElementsBoxType = { name = "EventOptionPortraits4" position = { x = 840 y = 596 } size = { x=180 y=40 } format = right spacing = 0 Orientation = "UPPER_LEFT" } OverlappingElementsBoxType = { name = "related_traits4" position = { x = 820 y = 600 } size = { x=195 y=40 } format = right } instantTextBoxType = { name = "CountdownText" position = { x = -5 y = 565 } textureFile = "" font = "vic_18_black" borderSize = {x = 0 y = 0} text = "" maxWidth = 456 maxHeight = 32 format = left fixedsize = yes } } } The problem is that I get the correct double event window but all text, portraits and pictures are on the left page of the window the right page where normally the pictures show is blank. I used exactly the same files in my previous mod and there it works well. I am not using any other mods. Is there something I have forgotten to do? Can you provide a screenshot? Did you name the interface file to something that might come last alphabetically (e.g. zzz_my_interface.gui )? Nothing in the script pops out as being wrong at first glance when running it in a compare tool in Notepad++ with Luxuria Fantasia's gui.
Untolddead Posted January 19, 2020 Posted January 19, 2020 Hello. I decided to give CK2 modding a try. I've done EU modding before. Anyways I may end up asking a bunch of questions so thanks for the help in advance! Alright so my question is how do you trigger an event on marriage? Anyways so I found this. But I can't figure out how it works. It doesn't seem to have a marriage check? Anyways maybe I'm blind sorry. # On-action event: Zoroastrian Xwedodah marriage character_event = { id = 501 desc = EVTDESC501 picture = GFX_evt_marriage_zoroastrian_group religion = zoroastrian is_triggered_only = yes trigger = { new_character = { is_close_relative = FROM } OR = { FROM = { character = ROOT } AND = { FROM = { dynasty = ROOT is_primary_heir = ROOT } new_character = { NOT = { character = ROOT } } } } }
joemann Posted January 19, 2020 Posted January 19, 2020 you have to add the event id = 501 to the on_marriage in the on_action file in the common/on_actions folder on_marriage = { events = { } }
Untolddead Posted January 19, 2020 Posted January 19, 2020 Thanks a lot! I was totally missing that while looking at the wiki. It makes so much more sense now. lol
rookie189 Posted January 21, 2020 Posted January 21, 2020 I realize this isn't really a quick question but does anyone have ANY experience with map modding? I've made a few maps without issue for the most part but now I'm trying to make a modified version of the Guardians of Azeroth map JUST for personal use and its not wanting to cooperate all the sudden. On top of all the land being blackish, I marked where I have my cursor hovering and even though its in the middle of land its showing its ocean and I cant figure out why. I've triple checked the topology index and all land is 96+ (most of it being way higher) and all ocean is 86- The land also blurs really bad the farther you zoom out: Here's a picture of one of the first couple I did that turned out relatively ok (it still has that blurring problem for some reason but its not nearly as bad). Anyone have any idea what could be causing it to bug out? EDIT: The only notable difference I can think of in the one I'm trying to do now is I made the map 4096x4096.
joemann Posted January 21, 2020 Posted January 21, 2020 I'm using part of the old Tosca script. I want the characters selected to family members of the player character. The first choice should be the spouse of the player, the second choice a child. Spoiler narrative_event = { id = ETRandom.550 desc = ETRandom550desc picture = manhandled title = et_loser_pays is_triggered_only = yes trigger = { event_target:et_loser = { is_female = no prisoner = no } } immediate = { # Find priority target: if = { limit = { location = { any_province_character = { is_female = yes age = 14 NOT = { age = 50 } ai = yes } } } #If there is, we then grab one for the event location = { any_province_character = { limit = { is_main_spouse = yes is_female = yes age = 14 NOT = { age = 18 } ai = yes } save_event_target_as = first_choice } } } # Find second choice: if = { limit = { NOT = { character = event_target:first_choice } location = { any_province_character = { is_female = yes age = 14 NOT = { age = 30 } ai = yes } } } #If there is, we then grab one for the event location = { any_province_character = { limit = { NOT = { character = event_target:first_choice } is_child_of = root is_female = yes age = 14 NOT = { age = 30 } ai = yes } save_event_target_as = second_choice } } } The second choice works because is_child_of = root works. However the equivalent condition is_spouse_of = root does not exist so I tried is_main_spouse but according to the wiki and validator this can only have = yes or no. However, it doesn't work. Anybody know what I could use as an alternative?
joemann Posted January 21, 2020 Posted January 21, 2020 a question on customizable localisation. If you define a customizable localisation along the following lines Spoiler defined_text = { name = GetDickSize use_first_valid = yes text = { localisation_key = Horse Dick trigger = { trait = horse_dick } } } Do you need to define the localisation_key in a separate localisation.csv file?
Alaratt Posted January 21, 2020 Posted January 21, 2020 4 hours ago, joemann said: I'm using part of the old Tosca script. I want the characters selected to family members of the player character. The first choice should be the spouse of the player, the second choice a child. Hide contents narrative_event = { id = ETRandom.550 desc = ETRandom550desc picture = manhandled title = et_loser_pays is_triggered_only = yes trigger = { event_target:et_loser = { is_female = no prisoner = no } } immediate = { # Find priority target: if = { limit = { location = { any_province_character = { is_female = yes age = 14 NOT = { age = 50 } ai = yes } } } #If there is, we then grab one for the event location = { any_province_character = { limit = { is_main_spouse = yes is_female = yes age = 14 NOT = { age = 18 } ai = yes } save_event_target_as = first_choice } } } # Find second choice: if = { limit = { NOT = { character = event_target:first_choice } location = { any_province_character = { is_female = yes age = 14 NOT = { age = 30 } ai = yes } } } #If there is, we then grab one for the event location = { any_province_character = { limit = { NOT = { character = event_target:first_choice } is_child_of = root is_female = yes age = 14 NOT = { age = 30 } ai = yes } save_event_target_as = second_choice } } } The second choice works because is_child_of = root works. However the equivalent condition is_spouse_of = root does not exist so I tried is_main_spouse but according to the wiki and validator this can only have = yes or no. However, it doesn't work. Anybody know what I could use as an alternative? spouse spouse_even_if_dead this will scope to the primary spouse according to the wiki
joemann Posted January 21, 2020 Posted January 21, 2020 Thanks but I am confused. In my second block where I want to select the child of player I successfully use is_child_of = root. This is a condition according to the wiki. Spouse or spouse_even_if_dead are scopes. I can't use them in the limit block according to validator. I tried replacing any_province_character (which is also a character scope ) with spouse but that seems to mess things up even more.I know from trying in game that player's spouse is in the location and one of the province characters I just can't pull her out. It's driving me nuts.
joemann Posted January 22, 2020 Posted January 22, 2020 I solved it by using any_spouse as an unnested single scope (deleting the location and any_province_character scopes)
Alaratt Posted January 22, 2020 Posted January 22, 2020 2 hours ago, joemann said: I solved it by using any_spouse as an unnested single scope (deleting the location and any_province_character scopes) I would have used spouse then added the limits, so your scoping to her then making sure she passes the requirements. Glad you figured it out though
lockeslylcrit Posted January 22, 2020 Posted January 22, 2020 10 hours ago, joemann said: a question on customizable localisation. If you define a customizable localisation along the following lines Hide contents defined_text = { name = GetDickSize use_first_valid = yes text = { localisation_key = Horse Dick trigger = { trait = horse_dick } } } Do you need to define the localisation_key in a separate localisation.csv file? Yes
joemann Posted January 22, 2020 Posted January 22, 2020 I'm still struggling with my Tosca file. Spoiler ### Liege gets surprised by guards: FROM is the loosing attacker (in the war) ROOT is the victorious defender ######## narrative_event = { id = ETRandom.500 desc = ETRandom500desc picture = family_gathering title = et_loser_pays is_triggered_only = yes # by on_action on_war_lost trigger = { FROM = { ai = no prisoner = no in_command = no is_adult = yes location = { # scopes to the character's location any_province_character = { # scopes to all characters in the province is_female = yes age = 14 NOT = { age = 50 } ai = yes } } } } option = { name = ETRAN500option if = { limit = { FROM = { is_female = yes } } FROM = { narrative_event = { id = ETRandom.511 }} break = yes } if = { limit = { FROM = { is_female = no } } FROM = { narrative_event = { id = ETRandom.550 }} break = yes } } } The event is triggered by on_action Spoiler # Fires in case of an offensive war defeat. FROM is the attacker (who lost) ROOT is the defender on_war_ended_defeat = { events = { ETRandom.500 } random_events = { } } However, I tried this in game (after losing a war I started) and the event does not trigger upon surrender. The second problem is that if I trigger the option in the console it fires but the follow up events don't trigger even though all conditions are met. I suppose it is a scope problem but I can't figure it out.
joemann Posted January 22, 2020 Posted January 22, 2020 For customizable_localisation.csv files is there a special naming convention or can I just put the localisation_key in any localisation file? I tried this in a file named customizable_localisation.txt Spoiler defined_text = { name = GetDickSize use_first_valid = yes text = { localisation_key = Horse_Dick trigger = { trait = horse_dick } } and this in the file customizable_localisation.csv Spoiler #localization keys keep in alphabetical order Horse_Dick;horse dick; In the localisation text of the event I use the key as follows Spoiler [et_guard.GetFirstName] drops his breeches and pulls out [et_guard.GetHerHis] [et_guard.GetDickSize] in game the name of the guard and< his> are reproduced but the last command gets a blank. I'm doing something wrong, but what?
lockeslylcrit Posted January 22, 2020 Posted January 22, 2020 1 hour ago, joemann said: For customizable_localisation.csv files is there a special naming convention or can I just put the localisation_key in any localisation file? You can put it in any loc file you want. 1 hour ago, joemann said: Horse_Dick;horse dick; There's the problem. You need a total of 14 semi-colons and an x. The semi-colons separate the code from the various languages, and the x tells the code that the localisation for that line is done. Ex: RETTYPE_CUL_HORSE_TAUR_INFANTRY;Taurtaur Infantry;;;;;;;;;;;;;x 2 hours ago, joemann said: The second problem is that if I trigger the option in the console it fires but the follow up events don't trigger even though all conditions are met. I suppose it is a scope problem but I can't figure it out. I honestly have no clue. Have you tried capital_scope instead of location in the trigger?
joemann Posted January 26, 2020 Posted January 26, 2020 Thanks, didn't know about the number of semi-colons. Corrected it but still get a blank. I am assuming that the structure for the localisation key is as follows [<scope>.GetCustomCommand] where Get is the "standard" command and CustomCommand is the text defined in localisation.txt file which then pulls the relevant text from the localisation.csv file? In my example it should then be [et_guard.GetDickSize]? However, it doesn't work. I managed to get the event working through a hidden character_event.
joemann Posted January 28, 2020 Posted January 28, 2020 I worked out the solution. The customizable_localisation. txt should be in a separate folder and the localisation keys in a regular localisation .csv file (for example the traits localisation file) not a special one titled customizable_localisation. csv.
Darsel Posted January 30, 2020 Posted January 30, 2020 On 12/31/2019 at 9:28 PM, Sporticus said: i was trying arumba's winmerge way of merging to mods since GoA replaces a lot of base game folders I found out that the landed titles and offmap powers folder where the reason for the game not passing time so i am leaving them out until i am sure there are no extra issues with the merged mod(s) I am currently trying to get some spawned characters like commander Athena to not die when spawned. Giving her the same culture and adding them to the dynasty of the ROOT character seems a little cheap since i want the portrait as well. A bit late to the party on this one, (I'm finally up and running again after the catastrophic hard drive failure of my previous 8yo machine.) GoA has a lot of internal code that 'culls' characters who don't meet racial/game rule thresholds. If you want to get spawned characters from other mods working, you'll have to add in code that assigns proper racial traits on their creation. Honestly, it would take quite a bit of work to port things over. For what it's worth, I have been building a smutty submod for GoA from the ground-up as a side project. It's still a little rough around the edges, and I'm trying to get my bearings again so I can finish off the baseline features I want before doing a proper release though.
joemann Posted January 30, 2020 Posted January 30, 2020 I have an event that calls several other events (one is a hidden character_event that itself triggers a visible event). Both trigger correctly but not in the order I want. Spoiler narrative_event = { id = ETRandom.552 picture = raping_guard_v desc = ETRandom552desc title = et_loser_pays portrait = event_target:is_rape_victim is_triggered_only = yes immediate = { event_target:et_guard = { set_variable = { which = size_differential_pussy which = dick_size } } event_target:is_rape_victim = { set_variable = { which = size_differential_pussy value = 0 } change_variable = { which = size_differential_pussy which = event_target:et_guard } } } option = { name = ETRAN552option ai_chance = { factor = 0 } custom_tooltip = { text = et_evaluate_impact hidden_tooltip = { event_target:is_rape_victim = { pussy_impact_evaluation = yes update_pussy = yes character_event = { id = ETO.200 } # sexual_pleasure check for woman # this is a hidden event that itself triggers a visible event character_event = { id = ETB.907 } # pregnancy check for woman } } } event_target:is_rape_victim = { random = { # there is 5% chance you'll get a memento out of this chance = 5 add_trait = syphilitic } } event_target:et_guard = { add_trait = rapist character_event = { id = ETO.100 } # sexual_pleasure check for man } narrative_event = { id = ETRandom.5521 } } } event ETO.200 triggers first and calls a "picture_event". I would like the event to pause here so that you can read the event and then click on OK, but it immediately fires event ETRandom.5521 which covers the event window of ETO.200's follow up event. Is there a way of doing this I tried using after = { } for event ETRandom.5521 but it fires anyway. I was thinking of putting event ETO.200 in an immediate box but kan i do that in an option? ETO.200 requieres that the scripted effects are executed first.
RudyMan Posted January 31, 2020 Posted January 31, 2020 Don't know if this is the right topic, but: could somebody help me with my mods collection? I mean if some mods will not work with each other or one include another, etc. No problems with launching, just to be sure everything works as it should. May the Emperor protect you. Spoiler
lockeslylcrit Posted January 31, 2020 Posted January 31, 2020 On 1/30/2020 at 8:31 AM, joemann said: I was thinking of putting event ETO.200 in an immediate box but kan i do that in an option? ETO.200 requieres that the scripted effects are executed first. Put event_target:is_rape_victim = { pussy_impact_evaluation = yes update_pussy = yes character_event = { id = ETO.200 } # sexual_pleasure check for woman # this is a hidden event that itself triggers a visible event character_event = { id = ETB.907 } # pregnancy check for woman } in the immediate block. This way the character events will always happen automatically, while your narrative event still requires input from the player using the option block.
joemann Posted February 2, 2020 Posted February 2, 2020 Thanks. It worked. I'm having another problem with the same event chain. Spoiler narrative_event = { id = ETRandom.552 picture = raping_guard_v desc = ETRandom552desc title = et_loser_pays portrait = event_target:is_rape_victim is_triggered_only = yes immediate = { event_target:is_rape_victim = { save_event_target_as = et_fuckee } event_target:et_guard = { set_variable = { which = size_differential_pussy which = dick_size } } event_target:is_rape_victim = { set_variable = { which = size_differential_pussy value = 0 } change_variable = { which = size_differential_pussy which = event_target:et_guard } } custom_tooltip = { text = et_evaluate_impact hidden_tooltip = { event_target:is_rape_victim = { pussy_impact_evaluation = yes update_pussy = yes character_event = { id = ETB.907 } # pregnancy check for woman } } } character_event = { id = ETRandom.5521 } } option = { name = ETRAND552option ai_chance = { factor = 0 } event_target:et_guard = { add_trait = rapist character_event = { id = ETO.100 } # sexual_pleasure check for man } event_target:is_rape_victim = { random = { # there is 5% chance you'll get a memento out of this chance = 5 add_trait = syphilitic } character_event = { id = ETO.200 } # sexual_pleasure check for woman } } } character_event = { id = ETRandom.5521 picture = raging_liege desc = ETRandom5521desc is_triggered_only = yes immediate = { if = { limit = { event_target:is_rape_victim = { has_character_flag = et_amazing_sex } } event_target:is_rape_victim = { opinion = { modifier = et_opinion_amazing_fuck who = event_target:et_guard } } narrative_event = { id = ETRandom.5522 } } else_if = { limit = { event_target:is_rape_victim = { has_character_flag = et_great_sex } } event_target:is_rape_victim = { opinion = { modifier = et_opinion_great_fuck who = event_target:et_guard } } narrative_event = { id = ETRandom.5523 } } else_if = { limit = { event_target:is_rape_victim = { has_character_flag = et_good_sex } } event_target:is_rape_victim = { opinion = { modifier = et_opinion_good_fuck who = event_target:et_guard } } narrative_event = { id = ETRandom.5524 } } else_if = { limit = { event_target:is_rape_victim = { has_character_flag = et_indifferent_sex } } event_target:is_rape_victim = { opinion = { modifier = et_opinion_indifferent_fuck who = event_target:et_guard } } narrative_event = { id = ETRandom.5525 } } else_if = { limit = { event_target:is_rape_victim = { has_character_flag = et_bad_sex } } event_target:is_rape_victim = { opinion = { modifier = et_opinion_bad_fuck who = event_target:et_guard } } narrative_event = { id = ETRandom.5526 } } else_if = { limit = { event_target:is_rape_victim = { has_character_flag = et_depressing_sex } } event_target:is_rape_victim = { opinion = { modifier = et_opinion_sexual_disgust who = event_target:et_guard } } narrative_event = { id = ETRandom.5527 } } } option = { name = ETRAND5521option } } narrative_event = { id = ETRandom.5522 picture = raping_guard_v desc = ETRandom5522desc title = et_loser_pays is_triggered_only = yes option = { name = ETRAND5522option ai_chance = { factor = 0 } event_target:et_guard = { prestige = 10 } event_target:et_looser = { prestige = -10 opinion = { modifier = et_opinion_rape_slut who = event_target:is_rape_victim } opinion = { modifier = et_opinion_humiliated_me who = event_target:is_rape_victim } opinion = { modifier = et_opinion_raped_spouse who = event_target:et_guard } } event_target:is_rape_victim = { prestige = -5 opinion = { modifier = et_opinion_dominated who = event_target:et_guard } } } } Event .552 and 5521 work fine but 5521 does not fire events .5522 to .5527. I checked that event_target:is_rape_victim has the appropriate flags so the conditions are met. Wat am I doing wrong?
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now