Голосование

Как вы относитесь к играм в жанре "симулятор колонии"?












Оформление



Пользователей
  • Всего: 29196
  • Последний: hoy545
Сейчас на форуме
Пользователи: 2
Гостей: 612
Всего: 614

0 Пользователей и 1 Гость просматривают эту тему.

Тема: [KIT] Создание системы налогов для Warband  (Прочитано 35505 раз)

  • Сообщений: 317
    • Просмотр профиля
  Деревни, города, замки... Все исправно платят вам налоги. Но почему нельзя влиять на эти налоги? Вы же их Лорд, меч мне в... ножны! Сейчас мы попытаемся силой воли и усилием мысли своими руками создать систему налогов.

Примечание:
Для удобства я выделяю все по данной схеме:
Синий - искомый текст.
Зеленый - добавленный текст.
Красный - замененный текст.
Серый - исходный текст файла.


Итак:
Создание системы налогов для Warband
1.134, 1.143, 1.153                                                           

0. Введение
  Для начала скажу, что делаем моя версия системы налогов. Вы сможете менять налог в диапазоне 0%-200%, где 100% - стандартный, то и так, как бы, очевидно :), а 0% - совсем без налогов, 200% - вся прибыль населения. Стандартное значение я пододвинул под 50% прибыли (средние века все-таки). Изменение налогов приводит к изменению благополучия деревни (со временем, конечно). Понятное дело, что оставив деревню совсем без средств она начнет относительно быстро беднеть, а дав ей полную свободу она начнет процветать...

1. Новые переменные
  Раз мы собираемся делать менять налоги, то нам понадобится, что бы игра всегда помнила, какие большущие налоги мы ставим бедным деревенькам. Для этого нам явно понадобятся новые переменные!
  Как бы это странно не звучало, но новые переменные мы прописываем в константах  :-\ Ну что поделаешь, так уж назвали файл... В constants после slot_party_last_in_any_center мы дописываем:
Как видите, для партий такие переменные зовутся слотами...

2. Новые меню
  Управлять налогами будем из меню. Можно было и диалогами, но всем всегда так впадлу идти к старосте/гильдмастеру, не так ли?
  Добавим новый пункт прямо в меню деревни. Итак в game_menus находим опцию меню village_wait и после нее добавляем наш пункт:
  По желанию можете добавить это в любом другом месте меню деревни, где вам удобнее. Помните, что заканчиваются опции ]),, а начинаются с ("<опция>",. Не промахнитесь...
  Альтернативным вариантом могу предложить добавить в меню "Управление деревней". Тоже как бы логично выходит. В этом случае надо вписать вот тут:
  Вписываем аж после всех улучшений, чтобы наше меню не оказалось вперемешку с ними...
  Теперь добавим варианты уровня налогов. Для этого надо создать новое меню Новое меню можно добавить в любом месте, давайте сделаем это сразу после меню деревни, что бы ориентироваться проще было.
  Обратите внимание, что до этого мы добавляли опцию, они располагаться внутри меню и есть строчками выбора в меню. А сейчас мы добавляем новое меню. У них похожая, но разная структура, не путайте их.
 Найдем операцию меню village_leave, знаменующую конец меню деревни, и добавим наше новое с вариантами уровня налогов:
  Для удобства я добавил в заголовок название деревни и текущий уровень налогов.
  Такс, мы забыли еще кое-что. Надо добавить такое же меню и для города. Я добавлял после меню покупок.
  Как и в случае улучшений, осажденному замку не до уровня налогов. При осаде менять нельзя.
  Город пользуется тем же меню вариантов, что деревня. Оно универсальное.
  Если вы хотели сделать еще и городу это меню внутри "Управления", то вы это уже сделали раньше. Само меню "Управление городом/деревней" общее для обоих типов, просто там разные условия на опциях стоят.
 2.1. Скрипты
  Тут мелкий корректив, по этому определил в подпункт. По сути это изменение прямо касается п.2.
  Еще остались замки. Замки вообще не самостоятельные... Даже благополучие у них от их деревни берется. Раз замок не имеет собственного развития, то и отдельный налог смысла ставить нет. Просто воспользуемся скриптом, находящимся в scripts, который ставит замкам достаток деревень и всунем туда еще и уровень налогов:
  Теперь замки автоматически получат свой уровень налогов от своих деревень.

3. Презентации
  Что бы игра тоже поняла, что мы поменяли уровень налогом, то внесем новые строки в presentations в недельную смету, где, собственно, и вычисляются все налоги.
  Добавляем как раз недалеко от строки, очень удобной для поиска:
  Теперь вы абсолютно точно получите столько процентов налога, сколько вы сам установили! Никаких условностей нет. Сухой расчет.  Но помните, что скрипты M&B не очень любят дроби, по-этому иногда при налогах 0% вы можете получить приятный подарок в виде 5-20 динаров  :laught:

4. Триггеры
  Самое интересное! Сейчас мы добавим замудрёную систему изменения благополучия в триггеры!
  Ищем пустой триггер, коих там ровно 10, в конце simple_triggers и вписываем в него вот это:
  По-настоящему система очень проста. Сейчас разжую...
  Налоги устанавливаются по шкале [-5;5], где -5 - без налогов, 5 - почти все доходы населения идут вам. Каждый день за соответственный налог вы получаете столько же бонусных баллов (только наоборот [5;-5], за низкие налоги - плюс, за высокие - минус). Когда баллов становится -10, то надел теряет единицу процветания, а если баллов 20 - то получает. На изменение процветания эти балы тратятся, то есть если было -10, то деревня получит -1 достатка, а балов станет ноль. Эти баллы записаны отдельно на каждый надел и собираются, в зависимости от налогов.
  Как видите, повышается благополучие медленнее, чем понижается. А потому, что не брать налогов - это одно, а отбирать последний хлеб - совсем другое...
  По-моему значения как раз оптимальные. Без налогов деревня получает +1 достатка каждые 4 дня. Это не очень мало, но и вполне приемлемо, ведь налогов-то нет. А с 200% налогами деревня теряет -1 каждые 2 дня, что вполне понятно, т.к. населению вообще не на что жить.
В общем это все. Компилируем и пользуемся.

5. Суть налогов
  Итак, теперь расскажу в чем суть налогов. Она очень простая - вы можете получить больше денег, просто поменяв налоги... Но не без последствий. Понятное дело, что чем меньше у населения денег, тем хуже им живется. Так что вы можете понизить налоги и дать своему наделу новый толчок для развития.
  А сейчас я вам объясню всю прелесть системы налогов!  :thumbup:
  Итак. У меня есть деревня. Я уже давно дотянул ее до уровня 100 и она живет-поживает. А новые единицы процветания пропадают напрасно! Ну тут и пригодилась система налогов. Хм... Думаю за 10 дней крестьяне точно успеют набрать +1 достатка... Поставлю ка я налог 140%. Ну вот! Теперь от этого появился прок! Все заработанные селянами "сверхурочные" единицы достатка теперь будут "конвертироваться" в мои динары.
  Здорово, не правда ли?



Систему проверял на работоспособность. Компилируется без ошибок. Рента рассчитывается правильно, процветания меняется в соответствии с задумкой.
 В общем работает отлично. Но если вы вдруг обнаружите ошибки - сообщайте. Я не исключаю возможность, что где-то что-то недодумал.

« Последнее редактирование: 25 Августа, 2012, 03:06 от Arantir »
Багов в чужих скриптах не исправляю! Скриптов по просьбе не пишу и на заказ не делаю! Я всего лишь любитель поиграть в M&B, и ничего более.
  • Сообщений: 97
    • Просмотр профиля
0
« Ответ #1 : 12 Июля, 2011, 08:24 »
Спасибо, отличный урок, но вот при компиляции
после экспорта скриптов, лишь одна ошибка:
"Usage of unassigned local variable: :center no"
Где ошибся, подскажи?)

  • Ник в M&B: Граф Людвиг
  • Сообщений: 317
    • Просмотр профиля
0
« Ответ #2 : 12 Июля, 2011, 08:31 »
Спасибо, отличный урок, но вот при компиляции
после экспорта скриптов, лишь одна ошибка:
"Usage of unassigned local variable: :center no"
Где ошибся, подскажи?)
А, блин, забыл исправить в посте. У себя же исправил и всех убеждаю, что все правильно  :laught:
Первую зеленую строчку, что для scritpts, заново перепиши, я исправил в посте.

Багов в чужих скриптах не исправляю! Скриптов по просьбе не пишу и на заказ не делаю! Я всего лишь любитель поиграть в M&B, и ничего более.
  • Сообщений: 97
    • Просмотр профиля
0
« Ответ #3 : 12 Июля, 2011, 08:46 »
 Теперь без ошибок)Но вот собственно что нашел в игре. После установки налога в городе, перешел в меню дреевни, указав что город якобы деревня: "Деревня Дирим")

[вложение удалено Администратором]

[вложение удалено Администратором]

[вложение удалено Администратором]

  • Ник в M&B: Граф Людвиг
  • Сообщений: 317
    • Просмотр профиля
0
« Ответ #4 : 12 Июля, 2011, 09:24 »
Теперь без ошибок)Но вот собственно что нашел в игре. После установки налога в городе, перешел в меню дреевни, указав что город якобы деревня: "Деревня Дирим")
0_О Сейчас пофиксим...

Черт. Как же я втыканул  :embarrassed:.
Вот, пропиши дополнительные условия в меню выбора уровня налогов (проще просто скопировать и вставить поверх старого):
  Теперь, если это город, то назад перекинет именно в меню города  :)

« Последнее редактирование: 12 Июля, 2011, 09:27 от Arantir »
Багов в чужих скриптах не исправляю! Скриптов по просьбе не пишу и на заказ не делаю! Я всего лишь любитель поиграть в M&B, и ничего более.
  • Сообщений: 97
    • Просмотр профиля
0
« Ответ #5 : 12 Июля, 2011, 09:47 »
  Теперь, если это город, то назад перекинет именно в меню города  :)

Теперь все замучательно:) С твоими фичами можно сделать мод получше diplomacy. Жду следующих скриптов)

  • Ник в M&B: Граф Людвиг
  • Сообщений: 870
    • Просмотр профиля
+1
« Ответ #6 : 07 Марта, 2012, 11:17 »
Небольшое замечание не касающиеся скриптов, если можно :)
Цитировать (выделенное)
Вы сможете менять налог в диапазоне 0%-200%, где 100% - стандартный, то и так, как бы, очевидно , а 0% - совсем без налогов, 200% - вся прибыль населения.
Процент налога принято брать от какой то определенной суммы (дохода, НДС и т.д.), в нашем случае это весь доход деревни. Исходя из того что такое процент, и как он высчитывается, получается что 200% - это не вся прибыл населения, а в два раза больше чем заработок деревни, ну и соответственно 100% - это весь доход деревни. Если доход деревни например 1000 динар, то 100% от этой суммы - это вся сумма, то есть 1000 динар, 200% - 2000 динар, 50% - 500 динар.
В скрипты системы налогов, и скрипты которые здесь я не внедрялся, но если сумма денег которую получает игрок как налог в поселении не высчитывается как сам процент от дохода поселения в деньгах, а какими то другими методами, то на работоспособность это не должно повлиять, но просто как то сама нить логики в этом малость потеряна :)

« Последнее редактирование: 07 Марта, 2012, 11:27 от Leon473 »
  • Сообщений: 2766
  • За создание крупных модов и других особо сложных проектов За регистрацию на форуме не позже декабря 2016 года и не менее 2500 постов Выдается модераторам, достигнувшим значимых успехов на своем посту
    • Просмотр профиля
0
« Ответ #7 : 09 Мая, 2012, 14:10 »
Теперь без ошибок)Но вот собственно что нашел в игре. После установки налога в городе, перешел в меню дреевни, указав что город якобы деревня: "Деревня Дирим")
0_О Сейчас пофиксим...

Черт. Как же я втыканул  :embarrassed:.
Вот, пропиши дополнительные условия в меню выбора уровня налогов (проще просто скопировать и вставить поверх старого):
  Теперь, если это город, то назад перекинет именно в меню города  :)
В какое место и в какой файл это писать

1 + 2 + 3 + 4 + ... = ζ(-1) = -0.08(3)
1 - 1 + 1 - 1 + 1 - ... = 0.5
1 - 2 + 3 - 4 + 5 - ... = 0.25

На вопросы в ПС не отвечаю! Спрашивать в темах!
  • Сообщений: 317
    • Просмотр профиля
0
« Ответ #8 : 08 Августа, 2012, 04:56 »
Компилируется без ошибок на 1.143 и 1.153.

Багов в чужих скриптах не исправляю! Скриптов по просьбе не пишу и на заказ не делаю! Я всего лишь любитель поиграть в M&B, и ничего более.
  • Сообщений: 2
    • Просмотр профиля
0
« Ответ #9 : 20 Ноября, 2012, 16:32 »
А возможно ли вобще убрать "Потери из-за неэфективных сборов налогов"? А то бред какой то...

  • Сообщений: 7578
  • За наиболее важные для развития сайта идеи За особо выдающиеся авторские тексты За регистрацию на форуме не позже декабря 2011 года и не менее 3000 постов И создали они сайт... Призер конкурса Футболка по версии Всадников
    • Просмотр профиля
0
« Ответ #10 : 20 Ноября, 2012, 17:36 »
module_presentations строки ниже этой budget_report, количество поселений, различные уровни сложности, и проценты от на каждом уровни и на каждом уровни сложности

Моя конфигурация:
Нормальная, мне хватает.
  • Сообщений: 2
    • Просмотр профиля
0
« Ответ #11 : 20 Ноября, 2012, 18:00 »
Блин, там черт ногу сломит=) Можешь написать строку где вобще убрать его с концами и все? Пожалуйста=)

  • Сообщений: 7578
  • За наиболее важные для развития сайта идеи За особо выдающиеся авторские тексты За регистрацию на форуме не позже декабря 2011 года и не менее 3000 постов И создали они сайт... Призер конкурса Футболка по версии Всадников
    • Просмотр профиля
0
« Ответ #12 : 21 Ноября, 2012, 09:36 »
exstyle, Тогда вот http://rusmnb.ru/index.php?topic=15571.0, если вам там что не понятно, хотя не понимаю что там не понять, там даже просто переведя текст можно понять

Моя конфигурация:
Нормальная, мне хватает.
  • Сообщений: 6
    • Просмотр профиля
0
« Ответ #13 : 18 Сентября, 2014, 17:55 »
HunterWolf,
module_presentations строки ниже этой budget_report, количество поселений, различные уровни сложности, и проценты от на каждом уровни и на каждом уровни сложности

Понимаю, что пишу поздно. Там одни цифры. Так должно быть ?


СиЧЪ Total War СиЧЪ Total War
Сайт "Всадники Кальрадии" не является СМИ. Администрация не несет ответственность за высказывания и публикацию каких-либо материалов, сделанные любыми пользователями форума, в том числе посредством личных и публичных сообщений. Материалы, размещенные на ресурсе третьими лицами, могут содержать информацию, не предназначенную для лиц, не достигнувших совершеннолетия. При обнаружении на ресурсе материалов, нарушающих законодательство Российской Федерации, необходимо обращаться к администрации.
Сайт работает на быстром VPS/VDS хостинге от FASTVPS


Powered by SMF 2.0 | SMF © Simple Machines LLC