EVENT здоровья придворных - Страница 2 - Моды и моддинг - Strategium.ru Перейти к содержимому

EVENT здоровья придворных

Рекомендованные сообщения

Aurelius36
11 минуту назад, El Búho сказал:

это ключ локализации для варианта ответа в событии, что угодно туда можно написать.

если событие скрытое (hide_window = yes), то никаких ответов быть не может. 

@Alana immediate внутри option быть не может. суть immediate в том, чтобы срабатывать до option (о чём и написано на вики), а внутри option всякие tooltips следует использовать. на этот код игра выдаст примерно полтора миллиона ошибок в журнал.

Ну пока у меня не один вариант ивента не сработал. Проверяя по charinfo изменений нет))

Наверно есть еще подводные камни..

У них только physique voriable меняется периодически🤧

 

Изменено пользователем Aurelius36
Ссылка на комментарий

24 минуты назад, El Búho сказал:

@Alana immediate внутри option быть не может. суть immediate в том, чтобы срабатывать до option (о чём и написано на вики), а внутри option всякие tooltips следует использовать. на этот код игра выдаст примерно полтора миллиона ошибок в журнал.

То ест просто option оставить?


    

Спойлер

 

character_event = {
    id = LH.1
    hide_window = yes
    
    
    only_playable = yes
    ai = no
    
    option = {
        name = EVTOPTALH.1
        
        trigger = {
        num_of_courtiers = 20
    }
        random_courtier = {
            limit = {
                age = 21
                NOR = {
                    is_married = yes
                    is_landed = yes
                    has_job_title = yes
                    has_minor_title = yes
                    AND = {
                        NOT = { dynasty = none }
                        num_of_dynasty_members = 2
                    }
                    NOR = {
                        num_of_lovers = 1
                        num_of_spouses = 1
                        num_of_friends = 1
                        num_of_consorts = 1
                        num_of_claims = 1
                        has_character_modifier = in_seclusion
                        }
                }
            }
                health_penalty = -2
                    }
            mean_time_to_happen = {
            days = 40
            }           
       
    }

 

 

Ссылка на комментарий

Aurelius36

Пока результаты не утешительны. Единственный рабочий кусок ивента получился. И то вместо того чтоб активироваться раз в 30 дней, он раз в три года срабатывает))

Спойлер

namespace = dvor 
    character_event = {
    id = dvor.1
    hide_window = yes
    
    
    only_playable = yes
    ai = no
    
    
        trigger = {
        num_of_courtiers = 30
    }
        
        immediate = {
        any_courtier = {
            limit = {
                age = 21
                NOR = {
                    is_married = yes
                    is_landed = yes
                    has_job_title = yes
                    has_minor_title = yes
                    AND = {
                        NOT = { dynasty = none }
                        num_of_dynasty_members = 2
                    }
                    NOR = {
                        num_of_lovers = 1
                        num_of_spouses = 1
                        num_of_friends = 1
                        num_of_consorts = 1
                        num_of_claims = 1
                        has_character_modifier = in_seclusion
                        }
                }
            }
                health = -3
                set_character_flag = shtraf_dvor
                    }
                }
            
            mean_time_to_happen = {
            days = 30
            }
          }

   

Теперь нужно сделать так чтоб он работал на разное количество придворных (20, 30, 50) и с разными штрафами.

Чтоб он чаще срабатывал.

Присвоенный флаг мешал срабатывать на одном и том же персонаже по несколько раз.

И если вассал имеющий флаг меняет свой статус (жениться, заводит ребенка, получает титул или клайм) то с него снимался штраф к здоровью.

P.S. пункты option убрал так как они вызывали окно ивента с предложением выбрать вариант. Но при option ивент работал как положено раз в 30 дней.

Изменено пользователем Aurelius36
Ссылка на комментарий

El Búho
2 часа назад, Aurelius36 сказал:

Теперь нужно сделать так чтоб он работал на разное количество придворных (20, 30, 50) и с разными штрафами.

    if = {
        limit = {
        ...
        }

    тут действие, если условие в limit выполняется.
    }

внутри immediate if может быть несколько. 

ну и limit = { num_of_courtiers = 30/40/50/whatever }

 

и mtth я бы разместил перед триггером срабатывания.

Изменено пользователем El Búho
Ссылка на комментарий

Aurelius36

Написал пробный ивент

Спойлер

namespace = dvor 
    character_event = {
    id = dvor.1
    hide_window = yes
    
    only_playable = yes
    ai = no

    mean_time_to_happen = {
            days = 20
            }
    
    
      trigger = {
        num_of_courtiers = whatever
    }
        
        immediate = {
                    any_courtier = {
                    age = 16
                    NOR = {
                    is_married = yes
                    is_landed = yes
                    has_job_title = yes
                    has_minor_title = yes
                    AND = {
                        NOT = { dynasty = none }
                        num_of_dynasty_members = 2
                    }
                    NOR = {
                        num_of_lovers = 1
                        num_of_spouses = 1
                        num_of_friends = 1
                        num_of_consorts = 1
                        num_of_claims = 1
                        has_character_modifier = in_seclusion
                        }
                      }
                     }
               if = {
                    limit = { num_of_courtiers = 30
                           NOR = { num_of_courtiers = 50
                         }
                       }    
                     
                any_courtier = { 
                 health = -3
                set_character_flag = shtraf_dvor_3
                  }
                }
                   
                 
                if = {
                    limit = { num_of_courtiers = 50
                         }
                       
                 any_courtier = {   
                 health = -5
                 set_character_flag = shtraf_dvor_5
                      }
                     }
                    }
                   }

 Ивент работает, но неправильно.

Под штрафы попали неженатые родственники при дворе и неженатые меры и епископы которые были назначены советниками. При чем женатые под штраф не попали..

В теории я хотел так чтоб под ивент попадали только придворные у которых вообще ничего нет. 

Нет семьи (жены, любовницы, ребенка, вообще безродный), нет должности, нет династии, нет клайма, нет почетного титула, не является наложником/наложницой.

Я неправильно составил   immediate ?

У меня не получается уложить  any_courtier требования к courtier и  health = - в единое целое))

Изменено пользователем Aurelius36
Ссылка на комментарий

а вы проверили правильность скобок? Может в этом проблема?

Цитата

 неженатые родственники при дворе

У них есть династии, так не должно быть.

 

может быть еще ввести  

from_ruler_dynasty = no

has_landed_title = no

 

Изменено пользователем Alana
Ссылка на комментарий

Aurelius36
1 минуту назад, Alana сказал:

а вы проверили правильность скобок? Может в этом проблема?

Пробовал разные варианты. Работает только тот что я привел выше и еще один. Но второй вариант еще хуже)) Там штраф получаю я, а придворные нет))

Ссылка на комментарий

is_landed это про правителей, они не должны быть при дворе

 

_________
добавлено 1 минуту спустя

Скачайте валидатор и проверьте скобки. Обычно дело в них.

Ссылка на комментарий

Aurelius36

Походе  immediate вообще не видит условия для придворного. Он не делает выборку нужных персонажей..

Ссылка на комментарий

Уберите immediate, сделайте обычного типа. Через option

 

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.
Ссылка на комментарий

Aurelius36
2 минуты назад, Alana сказал:

Уберите immediate, сделайте обычного типа. Через option

 

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

option вызывает окна, а я не хочу видеть ивент. 

52 минуты назад, Alana сказал:

 

 

_________
добавлено 1 минуту спустя

Скачайте валидатор и проверьте скобки. Обычно дело в них.

А этот валидатор не будет ругаться на мою пиратскую игру?))

Ссылка на комментарий

Aurelius36

Валидатор выдал на мой ивент:

--- Error 1 of 1 ---
At events\dvor_event.txt [character_event\trigger\num_of_courtiers] (Line 15, column 9):
Invalid node "num_of_courtiers" in scope CharTrigger (value is: whatever)
--- Error 1 of 1 ---
At events\dvor_event.txt [character_event\immediate\if\limit\NOR\num_of_courtiers] (Line 22, column 36):
Invalid node "num_of_courtiers" in scope CharTrigger (value is: 50)
--- Error 1 of 1 ---
At events\dvor_event.txt [character_event\immediate\if\limit\num_of_courtiers] (Line 21, column 31):
Invalid node "num_of_courtiers" in scope CharTrigger (value is: 30)
--- Error 1 of 1 ---
At events\dvor_event.txt [character_event\immediate\if\limit\num_of_courtiers] (Line 56, column 31):
Invalid node "num_of_courtiers" in scope CharTrigger (value is: 50)
Ужас, наверно все плохо))

Он только ругается на мои установки лимита двора которые как раз нормально работают и как положено.

P.S. и он вообще глючный этот валидатор. Он определил ванильные файлы как ошибочные))

Изменено пользователем Aurelius36
Ссылка на комментарий

Aurelius36

Ладно. На данный момент сдаюсь. Завтра начинаю глобальную партию в игре))

Придется играть без этого ивента. Но я еще вернусь))

Ссылка на комментарий

Цитата

num_of_courtiers

это из ванили, ложное срабатывание.

Это не страшно.

Ссылка на комментарий

El Búho
6 часов назад, Aurelius36 сказал:

    trigger = {
        num_of_courtiers = whatever
    }

серьёзно? :D то ж пример был. естественно, что игра ругается.

да, num_of_courtiers ввели в 3.1.1, в более ранних версиях этого нет. 

Ссылка на комментарий

Aurelius36
2 часа назад, El Búho сказал:

серьёзно? :D то ж пример был. естественно, что игра ругается.

да, num_of_courtiers ввели в 3.1.1, в более ранних версиях этого нет. 

А whatever нельзя было?)) Но игра нормально понимала, тригер срабатывал))

Ссылка на комментарий

4 часа назад, Aurelius36 сказал:

whatever нельзя было?)) Но игра нормально понимала, тригер срабатывал))

Вы оставили так? Я тоже думала, это вы в примере просто привели.

😁

7 часов назад, El Búho сказал:

, num_of_courtiers ввели в 3.1.1, в более ранних версиях этого нет.

только мой валидатор последней версии на его все равно ругается.

Ссылка на комментарий

El Búho
2 часа назад, Alana сказал:

только мой валидатор последней версии на его все равно ругается.

то, что должно указывать на ошибки само работает с ошибкой - это нормально, сеньорита, это парадоксы. :) 

но вообще-то num_of_courtiers может использоваться только как триггер (внутри trigger и limit), так что возможно валидатор дело говорит.

Ссылка на комментарий

Aurelius36
5 часов назад, Alana сказал:

Вы оставили так? Я тоже думала, это вы в примере просто привели.

😁

 

Да я испытал в том виде как оно было))

А вот и готовый ивент полностью рабочий и проверен валидатором (ошибок нет).

Спойлер

namespace = dvor 
    character_event = {
    id = dvor.1
    hide_window = yes
    
    only_playable = yes
    ai = no

    mean_time_to_happen = {
            days = 30
            }
    
    
      trigger = {
        num_of_courtiers = 30
            }
        

      immediate = {
        if = { 
            limit = { 
                  num_of_courtiers < 50 
                    }
                any_courtier = {
            limit = {
                prisoner = no
                is_adult = yes
                is_landed = no
                important_character_to_root_trigger = no
                        has_children = no
                        NOR = { 
                        has_character_flag = shtraf_dvor_3
                        has_character_flag = shtraf_dvor_5
                        }
                        trigger_if = {
                    limit = { is_married = yes }
                    any_spouse = { is_landed = no }
                }
                has_nickname = no
                is_unimportant_trigger = yes
            }
            
                  health = -3
                  set_character_flag = shtraf_dvor_3
                    }
                 }
               
         if = { 
            limit = { 
                  num_of_courtiers > 50 
                    }
                  any_courtier = {
              limit = {
                prisoner = no
                is_adult = yes
                is_landed = no
                important_character_to_root_trigger = no
                        has_children = no
                        NOR = { 
                        has_character_flag = shtraf_dvor_3
                        has_character_flag = shtraf_dvor_5
                        }
                        trigger_if = {
                    limit = { is_married = yes }
                    any_spouse = { is_landed = no }
                }
                has_nickname = no
                is_unimportant_trigger = yes
            }
                  health = -5
                  set_character_flag = shtraf_dvor_5
                                    }
                            }
                }
            }


 

Вроде все верно и идеально как я хотел. Пока багов не обнаружено.

Чуть позже займусь написанием ивента для тех кто поменяет статус, чтоб штраф к здоровью убирать.

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.   Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.  Спасибо за помощь и идеи))

Ссылка на комментарий

Aurelius36

Вот финальная версия:

Спойлер

namespace = dvor 
    character_event = {
    id = dvor.1
    hide_window = yes
    
    only_playable = yes
    ai = no

    mean_time_to_happen = {
            months = 6
            }
    
    
      trigger = {
        num_of_courtiers = 30
            }
        

      immediate = {
        if = { 
            limit = { 
                  num_of_courtiers < 50 
                    }
                any_courtier = {
            limit = {
                prisoner = no
                age = 21
                        is_betrothed = no
                is_landed = no
                important_character_to_root_trigger = no
                        has_children = no
                        NOR = { 
                        has_character_flag = shtraf_dvor_3
                        has_character_flag = shtraf_dvor_5
                        }
                        trigger_if = {
                    limit = { is_married = yes }
                    any_spouse = { is_landed = no }
                }
                has_nickname = no
                is_unimportant_trigger = yes
            }
            
                  health = -3
                  set_character_flag = shtraf_dvor_3
                    }
                 }
               
         if = { 
            limit = { 
                  num_of_courtiers > 50 
                    }
                  any_courtier = {
              limit = {
                prisoner = no
                age = 21
                        is_betrothed = no
                is_landed = no
                important_character_to_root_trigger = no
                        has_children = no
                        NOR = { 
                        has_character_flag = shtraf_dvor_3
                        has_character_flag = shtraf_dvor_5
                        }
                        trigger_if = {
                    limit = { is_married = yes }
                    any_spouse = { is_landed = no }
                }
                has_nickname = no
                is_unimportant_trigger = yes
            }
                  health = -5
                  set_character_flag = shtraf_dvor_5
                                    }
                            }
                }
            }

character_event = {
    id = dvor.2
    hide_window = yes
    
    only_playable = yes
    ai = no

    mean_time_to_happen = {
            days = 15
            }
    
    
      trigger = {
        any_courtier = {
          OR = { 
            has_character_flag = shtraf_dvor_3
            has_character_flag = shtraf_dvor_5
                }
           }
              }
      
      immediate = {
          if = { 
            limit = {
               any_courtier = { has_character_flag = shtraf_dvor_3 }
                    }
               any_courtier = {
                limit = {
                    has_character_flag = shtraf_dvor_3
                      OR = {
                important_character_to_root_trigger = yes
                        has_children = yes
                        has_nickname = yes
                        is_betrothed = yes
                NOR = { is_unimportant_trigger = yes }
                        }
                       }
                  health = 3
                  clr_character_flag = shtraf_dvor_3
                    }
                 }
          if = { 
            limit = {
               any_courtier = { has_character_flag = shtraf_dvor_5 }
                    }
               any_courtier = {
                limit = {
                    has_character_flag = shtraf_dvor_5
                        
                 OR = {
                important_character_to_root_trigger = yes
                        has_children = yes
                        has_nickname = yes
                        is_betrothed = yes
                NOR = { is_unimportant_trigger = yes }
                        }
                       }
                  health = 5
                  clr_character_flag = shtraf_dvor_5
                    }
                   }
                  }
                 }
              
         
 

Совместимая с русификатором. Ванильная кнопочка все так же активна и всегда можно выгнать ненужных придворных.

Тема закрыта.:bye: 

Ссылка на комментарий

Присоединиться к обсуждению

Вы можете оставить комментарий уже сейчас, а зарегистрироваться позже! Если у вас уже есть аккаунт, войдите, чтобы оставить сообщение через него.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Ваша ссылка автоматически преображена.   Отображать как простую ссылку

×   Предыдущее содержимое было восстановлено..   Очистить текст в редакторе

×   You cannot paste images directly. Upload or insert images from URL.

  • Ответы 39
  • Создано
  • Последний ответ
  • Просмотры 2598

Лучшие авторы в этой теме

  • Aurelius36

    20

  • Alana

    16

  • El Búho

    4

Лучшие авторы в этой теме

Популярные сообщения

Aurelius36

Понятно! Спасибо еще раз! Завтра буду настраивать и тестить какое влияние будет на игру)) Я там уже чуть ли не половину файлов переделал.  Мне даже однажды Папа Римский подарил наложник

El Búho

серьёзно?  то ж пример был. естественно, что игра ругается. да, num_of_courtiers ввели в 3.1.1, в более ранних версиях этого нет. 

Aurelius36

Да я испытал в том виде как оно было)) А вот и готовый ивент полностью рабочий и проверен валидатором (ошибок нет). Вроде все верно и идеально как я хотел. Пока багов не обнаружено. Ч

Aurelius36

История: До патча 3.1.1 действовала зачистка двора от неважных придворных. Но в том патче ввели такое как "плата за сверх лимит придворных". Я знаю что есть решение на изгнание лишних придворных. Но о

Alana

Ивент on_action? Или  обычный MTTH, а триггер это именно число придворных? В одном из глобальных модов я нашла просто ивент на убийство ненужных придворных, раз в год проверка.  

Aurelius36

Не, убивать сразу их не стоит)) Просто так чтоб при росте двора невостребованные придворные потихоньку умирали. По мере роста количества придворных у невостребованных понижалось здоровье. А

Aurelius36

И да, нужен такой ивент который я не буду замечать. Скрытый от моих глаз))

Alana

Я думаю, вам стоит изменить условия как-то так           any_courtier = {         age = 21             NOR = {                 is_married = yes                 is_landed = yes     

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу


Copyright © 2008-2024 Strategium.ru Powered by Invision Community

×
×
  • Создать...