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

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


Aurelius36

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

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
  • Создано
  • Последний ответ
  • Просмотры 2744

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

  • Aurelius36

    20

  • Alana

    16

  • El Búho

    4

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

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

Aurelius36

Вот я создаю в папке event файл и в нем пишу namespace = hp character_event = {      id = hp.101 потом сам ивент Далее его нужно вписывать в других местах чтоб он был активен? До

Aurelius36

Допустим  mean_time_to_happen = 12 Это получится раз в 12 месяцев.. вроде нормально)

Aurelius36

А что означает   name = "EVTOPTBLH.1"  ?

Aurelius36

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

El Búho

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

Aurelius36

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

Aurelius36

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

Alana

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

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

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