Голосование

Как вы оцениваете Смуту?












Оформление



Пользователей
  • Всего: 28886
  • Последний: Wernher
Сейчас на форуме
Пользователи: 1
Гостей: 539
Всего: 540

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

Тема: [MS] Руководство по командам Модульки или header_operations  (Прочитано 25951 раз)

  • Сообщений: 1697
  • За особо выдающиеся авторские тексты За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
Понял Leon473. Спасибо.
А есть ли возможность добавлять собственные функции? В каком файле храняться их коды?
Например, если взять код troop_is_hero, то его можно легко преобразовать в troop_is_female.
Это намного упростило бы озвучку разнополых юнитов.
  • Ник в M&B: Fin___Gall
  • Сообщений: 870
    • Просмотр профиля
А есть ли возможность добавлять собственные функции? В каком файле храняться их коды?
Например, если взять код troop_is_hero, то его можно легко преобразовать в troop_is_female.
Это намного упростило бы озвучку разнополых юнитов.
Возможность то есть, но у нас нет возможности воспользоваться этой возможностью :) Все команды зарыты в движок игры, поэтому их могут изменять только те у кого есть исходники движка.
  • Сообщений: 1697
  • За особо выдающиеся авторские тексты За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
Подскажите пожалуйста. Есть ли функция, позволяющая приписывать к именам лордов приставки типа Count или Boyar. Если да, то в каком слоте потом хранится новое имя.
Когда лорд переходит из фракции во фракцию, ему каждый раз добавляются такие приставки. И их бывает по несколько сразу. Вот я и подумал, что можно самому давать разные титулы.
  • Ник в M&B: Fin___Gall
  • Сообщений: 2562
  • За регистрацию на форуме не позже декабря 2016 года и не менее 2500 постов
    • Просмотр профиля
    • Портфолио
растолкуете пожалуйста операцию -
(party_set_extra_icon, <party_id>, <map_icon_id>, <up_down_distance_fixed_point>, <up_down_frequency_fixed_point>, <rotate_frequency_fixed_point>, <fade_in_out_frequency_fixed_point>) начиная с up_down_distance_fixed_point
откуда до куда дистанция?

зарание Спасибо за ответ
  • Сообщений: 115
    • Просмотр профиля
Наконец-то нашел нужную тему. Я поначалу вообще не мог понять логики некоторых блоков, зная несколько разных языков программирования. Вроде условия, циклы, а работает иначе. Еще раз спасибо! :thumbup:

Но вопрос. Не могу найти рабочего способа получить текущие координаты партии игрока на глобальной карте (не стартовые). Как-то даже в списках команд об этом не говориться.

Пробовал
(party_get_position, reg3, "p_main_party"),
или
(position_get_x, reg3, "p_main_party"),
(position_get_y, reg4, "p_main_party"),
и еще некоторые команды вслепую
{reg3} и {reg4} выводятся в тексте в меню лагеря.
Но либо нули, либо ошибки, либо явно не координаты.
  • Сообщений: 2084
  • За создание крупных модов и других особо сложных проектов
    • Просмотр профиля
YaLAS,
Цитировать (выделенное)
в лаунчире ставишь галочки напротив "включить режим редактирования" и "показывать частоту кадров", во время игры на глобальной карте нажимаешь ctrl+E
  • Фракция: Свады
  • Сообщений: 4024
  • За регистрацию на форуме не позже декабря 2011 года и не менее 3000 постов
    • Просмотр профиля
(party_get_position, reg3, "p_main_party"),
эта команда, все правильно

только позицию нужно заносить не в reg а в pos
вот так
(party_get_position, pos3, "p_main_party"),
это специальный регистр для позиций, который может хранить сразу три координаты
чтобы получить какую то одну координату надо

(party_get_position, pos3, "p_main_party"),
(position_get_x, reg3, pos3),
(position_get_y, reg4, pos3),
(position_get_z, reg5, pos3),

т.е. извлекается координата уже из регистра позиций

но если просто посмотреть где партия игрока, то лучше как Van написал
  • Сообщений: 115
    • Просмотр профиля
Цитировать (выделенное)
в лаунчире ставишь галочки напротив "включить режим редактирования" и "показывать частоту кадров", во время игры на глобальной карте нажимаешь ctrl+E
У вас правда это работает? Конечно же я это пробовал. Еще советуют Z удерживать, но это никаких мне координат не выводит. И вообще ничего не происходит. Пробовал и на Варбанде и на Истории героя.

(party_get_position, pos3, "p_main_party"),
(position_get_x, reg3, pos3),
(position_get_y, reg4, pos3),
(position_get_z, reg5, pos3),
Вот спасибо, а это то, что нужно. А то как-то вслепую угадываю.
  • Сообщений: 4024
  • За регистрацию на форуме не позже декабря 2011 года и не менее 3000 постов
    • Просмотр профиля
чтобы координаты показывало надо еще вроде в лаунчире поставить "показывать частоту кадров" =/
  • Сообщений: 2084
  • За создание крупных модов и других особо сложных проектов
    • Просмотр профиля
У вас правда это работает? Конечно же я это пробовал.

Работает, если сделать все как написал shturmfogel
  • Фракция: Свады
  • Сообщений: 1697
  • За особо выдающиеся авторские тексты За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
Тут есть один момент, не очень понятный. На глобальной карте у всех объектов координаты дробные, а если считываешь, то они как бы умножаются на 100 и становятся целыми. Например:  у "p_town_1" х=-17,6, а когда
      (party_get_position, pos1, "p_town_1"),
      (position_get_x, reg0, pos1),     
      (display_message, "@{!}  {reg0}"),
На экран выводится -1760.    То есть, при расчётах надо орентироваться на     -1760 ?    =/
  • Ник в M&B: Fin___Gall
  • Сообщений: 115
    • Просмотр профиля
FinGall, да это я уже заметил. Но мне и того хватило, это в основном для расположения новых объектов на карте, так что глазами "обрабатывается" отлично.
  • Сообщений: 3508
  • За создание крупных модов и других особо сложных проектов За активную деятельность, связанную с публикациями и помощью другим посетителям За регистрацию на форуме не позже декабря 2011 года и не менее 3000 постов
    • Просмотр профиля
Цитировать (выделенное)
они как бы умножаются на 100
Они умножаются на текущий fixed_point_multiplier.
Через WSE можно напрямую с дробными работать.
  • Сообщений: 1697
  • За особо выдающиеся авторские тексты За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
RongarЭто, вот эта функция?
(set_fixed_point_multiplier, <value>),

Мне ещё не понятно, есть ли у партий идентификаторы? Вроде, должны быть. Но когда пытаешься вывести их на экран:
(troop_get_slot, ":party_no", "trp_x", slot_troop_leaded_party),
(assign, reg0, ":party_no"),
(display_message, "@{!} X = {reg0}"),
то всегда выдаёт 0.
Может регистры reg их не воспринимают? =/
« Последнее редактирование: 20 Декабря, 2011, 14:26 от FinGall »
  • Ник в M&B: Fin___Gall
  • Сообщений: 3508
  • За создание крупных модов и других особо сложных проектов За активную деятельность, связанную с публикациями и помощью другим посетителям За регистрацию на форуме не позже декабря 2011 года и не менее 3000 постов
    • Просмотр профиля
Это, вот эта функция?
(set_fixed_point_multiplier, <value>),
Да.

Мне ещё не понятно, есть ли у партий идентификаторы? Вроде, должны быть. Но когда пытаешься вывести их на экран:
(troop_get_slot, ":party_no", "trp_x", slot_troop_leaded_party),
trp_x — это чё? slot_troop_leaded_party прописывается только у лордов. У остальных он 0.
  • Сообщений: 1697
  • За особо выдающиеся авторские тексты За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
trp_x — это собирательный образ всех трупсов.
Похоже, дело было в том, что я проверял №партии в скрипте "game_start". А лорды появляются в игре через 1-2 дня. Видно, партии ещё не загружены.
Потом, номера появляются. Они как бы продолжают номера партий из module_parties. Но распределяются немного странно. Не так, как лорды расписанны в module_troops. Вроде бы, в том порядке, как я их добавлял в игре. Хотя, может я и ошибаюсь.
  • Ник в M&B: Fin___Gall
  • Сообщений: 2766
  • За создание крупных модов и других особо сложных проектов За регистрацию на форуме не позже декабря 2016 года и не менее 2500 постов Выдается модераторам, достигнувшим значимых успехов на своем посту
    • Просмотр профиля
Что означают эти операнды:

val_lshift
val_rshift
val_add
val_sub
val_mul
val_div
val_max
val_min
val_mod
1 + 2 + 3 + 4 + ... = ζ(-1) = -0.08(3)
1 - 1 + 1 - 1 + 1 - ... = 0.5
1 - 2 + 3 - 4 + 5 - ... = 0.25

На вопросы в ПС не отвечаю! Спрашивать в темах!
  • Сообщений: 3508
  • За создание крупных модов и других особо сложных проектов За активную деятельность, связанную с публикациями и помощью другим посетителям За регистрацию на форуме не позже декабря 2011 года и не менее 3000 постов
    • Просмотр профиля
val_lshift/val_rshift — побитовый сдвиг налево/направо (умножение/деление на два в степени)
val_add val_sub val_mul val_div — прибавить, вычесть, домножить, поделить
val_max/val_min — выбрать большее/меньше
val_mod — остаток от деления.
У всех команд первый аргумент  является первым операндом и результатом, второй аргумент является вторым операндом.


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


Powered by SMF 2.0 | SMF © Simple Machines LLC