Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
09 Jan 2026, 21:13
(Сообщение отредактировал Etoprostoya - 09 Jan 2026, 21:12)
Сообщение
#1021
|
|
![]() Etoslozhnostatus Сообщений: 8 757 Спасибо сказали: 16424 раза |
Очень странно, что есть функция умножения на -1, но нет взятия модуля Ещё странно, что переменные только глобальные, (хотя тут надо попользоваться по больше, наверное, чтобы точно решить, нужны ли локальные переменные) Цитата a - (a/b)*b Тоже странная штука, сначала выполняем действие в скобках, потом умножение или деление, и только потом вычитание, получаем 0 всегда, если b != 0, а если b==0 то будет ошибка деления на нольЭто (a - (a/b)*b) и есть формула "взятия модуля" от числа a по модулю b при целых (положительных) числах. модуль часто реализуется только через функции. Ну какая функция, просто же a%b.-------------------- - Да ну!?
- Horn of the Argali гну! |
|
|
|
09 Jan 2026, 21:18
Сообщение
#1022
|
|
|
Immortal Сообщений: 9 470 Спасибо сказали: 4136 раз |
Цитата(Etoprostoya) Ну какая функция, просто же a%b. Такая операция есть и в системе событий, называется "Остаток от деления". Под модулем, если придерживаться русскоязычной терминологии, обычно подразумевается |x| — операция, отбрасывающая знак числа. Скорее всего, имелась в виду она, и её действительно нет в системе событий, равно как и среди стандартных операций языка C. |
|
|
|
09 Jan 2026, 21:43
Сообщение
#1023
|
|
![]() Etoslozhnostatus Сообщений: 8 757 Спасибо сказали: 16424 раза |
Цитата(Etoprostoya) Ну какая функция, просто же a%b. Такая операция есть и в системе событий, называется "Остаток от деления". Под модулем, если придерживаться русскоязычной терминологии, обычно подразумевается |x| — операция, отбрасывающая знак числа. Скорее всего, имелась в виду она, и её действительно нет в системе событий, равно как и среди стандартных операций языка C. Абсолютное значение? Теперь понятно)) А то модуль, отбрасывание знака... с толку сбили Под модулем, если придерживаться русскоязычной терминологии, обычно подразумевается |x| — операция, отбрасывающая знак числа. Для меня гораздо привычнее, когда модуль - это остаток от деления, причём на простое число. -------------------- - Да ну!?
- Horn of the Argali гну! |
|
|
|
09 Jan 2026, 21:49
(Сообщение отредактировал Crodo - 09 Jan 2026, 21:50)
Сообщение
#1024
|
|
![]() Power Member Сообщений: 180 Спасибо сказали: 395 раз |
Да, то что по русски - модуль - называется abs() в языках программирования. А остаток - mod()
Цитата(Etoprostoya) Ну какая функция, просто же a%b. Такая операция есть и в системе событий, называется "Остаток от деления". Под модулем, если придерживаться русскоязычной терминологии, обычно подразумевается |x| — операция, отбрасывающая знак числа. Скорее всего, имелась в виду она, и её действительно нет в системе событий, равно как и среди стандартных операций языка C. |
|
|
|
09 Jan 2026, 22:04
Сообщение
#1025
|
|
![]() 😸🧡✊✌️ Сообщений: 16 592 Спасибо сказали: 3571 раз |
Кстати, абсолютное значение, хоть и не стандартная операция, но стандартная функция C, обычно встроенная.
И, как правило, реализуется не по формуле x>=0?x:-x. Классическая реализация для 16 бит: Код cwd add ax,dx xor ax,dx Пояснения: cwd (Convert Word to Doubleword): Копирует знаковый бит из AX во все биты регистра DX. Если в AX положительное число, DX станет равным 0000h (0). Если в AX отрицательное число, DX станет равным FFFFh (-1). add ax, dx: Если число было положительным: AX + 0 — ничего не меняется. Если число было отрицательным: AX + (-1) — из числа вычитается единица. xor ax, dx: Если число было положительным: AX XOR 0 — ничего не меняется. Если число было отрицательным: AX XOR FFFFh — это побитовая инверсия (операция NOT). Согласно правилам дополнительного кода, чтобы сменить знак отрицательного числа на положительный, нужно инвертировать биты и прибавить 1. Этот алгоритм делает то же самое, но в обратном порядке (NOT(x - 1) вместо NOT(x) + 1), что дает тот же результат — модуль числа. -------------------- Я слежу за тобой!
tolic.narod.ru![]() Цитата Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел. Борис "Бонус" Репетур, "От винта!", выпуск 38. |
|
|
|
09 Jan 2026, 23:01
Сообщение
#1026
|
|
![]() Etoslozhnostatus Сообщений: 8 757 Спасибо сказали: 16424 раза |
Код cwd add ax,dx xor ax,dx Код cdq
add eax,edx xor eax,edx -------------------- - Да ну!?
- Horn of the Argali гну! |
|
|
|
10 Jan 2026, 03:17
Сообщение
#1027
|
|
![]() Power Member Сообщений: 180 Спасибо сказали: 395 раз |
Я накодил, но не на этом вашем ассемблере, а на модном
Но получилось хуже, чем x>=0?x:-x
abs.h3m ( 2.06 килобайт )
Кол-во скачиваний: 19(Если что - это мини тест системы событий, а не карта, чтобы играть) _______ Я понял, что добавлялось то, что в Сишке есть как оператор, но не функция. Но действительно ли этого достаточно для удобного использования - я не уверен. Отрицательных значений в игре, на первый взгляд, и не найти (если сам их не сделал в скрипте). С другой - в скриптовом языке, особенно где нельзя задавать свои функции, иметь побольше всякого из математической библиотеки было бы удобнее, чем лепить кое-как на условиях и циклах, да и наверное работало бы быстрее, если это нативная функция Си. Всё равно я не осилю ни сюжет, ни карту (даже без сюжета). Так что не слушайте меня. Я разве что могу под вайном потестировать, как оно работает |
|
|
|
10 Jan 2026, 11:40
(Сообщение отредактировал drevoborod - 10 Jan 2026, 11:44)
Сообщение
#1028
|
|
|
Power Member Сообщений: 198 Спасибо сказали: 123 раза |
Отрицательных значений в игре, на первый взгляд, и не найти (если сам их не сделал в скрипте). Значения переменных в скриптах могут быть в диапазоне от -2 млрд до +2 млрд, так что наличие отрицательных надо поддержать обязательно. Логика-то как раз на этих переменных и должна вроде бы основываться большей частью. Ну то есть раз там нет даже булов отдельных, только инты, то ветвление при необходимости связывания нескольких скриптов логично завязать на -1/0/+1 и другие значения во всём диапазоне. Прям низкоуровневое программирование какое-то, кто бы мог подумать Всё равно я не осилю ни сюжет, ни карту (даже без сюжета). Так что не слушайте меня. Я разве что могу под вайном потестировать, как оно работает Аналогично - тоже не осилю и тоже готов потестриовать под Вайном |
|
|
|
10 Jan 2026, 11:51
Сообщение
#1029
|
|||
|
Immortal Сообщений: 9 470 Спасибо сказали: 4136 раз |
В абстрактном виде замена числа на его модуль в системе событий реализуется так:
Можно сделать это и через выражение (которое можно писать внутри других выражений), но это "зависимый от реализации" способ, эксплуатирующий борьбу с переполнениями: Здесь все умножения — это умножения 2000 на 1млн. Выражение целиком читается так: ((Arg1 - 2млрд) + 2млрд) - ((Arg1 + 2млрд) - 2млрд). В целом, работа с отрицательными числами действительно носит рудиментарный характер. Все игровые параметры, к которым имеется доступ, являются неотрицательными числами. Во всех действиях, которые позволяют уменьшать параметры, есть выбор "Дать/Взять", и использовать отрицательные числа для уменьшения нет необходимости. Так что операции, управляющие знаком числа, в целом не особенно нужны, и без инверсии знака можно было бы обойтись. Тем не менее, поскольку есть операция "Вычитание", то отрицательные числа имеются как сущность и доступны пользователю, поэтому какой-то простой их учёт в операциях (по логике языка C/C++, на котором система написана) был добавлен. -- В системе событий можно задавать свои функции (вызов через действие Исполнить событие). Но передавать им аргументы и забирать результат нужно через глобальные переменные, и эти функции нужно вызывать отдельными действиями, а не прямо внутри выражений. (Также при исполнении событий запрещена рекурсия) -- В целом система событий рассчитана в первую очередь на события и задания с не очень сложной (но гибкой) логикой: проверить условие — задать вопрос — изменить переменную — применить эффект. Это те вещи, которые наиболее просто и корректно реализуются (во многих случаях будут автоматически подбираться картинки, "из коробки" будет работать ИИ, в целом события будут выглядеть более-менее органично тому, что уже есть в Героях 3). Если пользователю требуется использовать цикл, то это скорее уже экзотический случай. Теоретически за счёт наличия циклов в рамках системы событий можно реализовать широкий класс алгоритмов (система не является полной по Тьюрингу — например, в ней невозможны зацикливания, — но, если проигнорировать переполнения чисел в переменных, то она позволяет вычислять любые примитивно рекурсивные функции, что с практической точки зрения мало отличается от полноты). Но это всё же не то, для чего предназначена система. |
||
|
|
|||
10 Jan 2026, 11:55
Сообщение
#1030
|
|
|
Power Member Сообщений: 198 Спасибо сказали: 123 раза |
Теоретически за счёт наличия циклов в рамках системы событий можно реализовать широкий класс алгоритмов (система не является полной по Тьюрингу — например, в ней невозможны зацикливания, — но, если проигнорировать переполнения чисел в переменных, то она позволяет вычислять любые примитивно рекурсивные функции, что с практической точки зрения мало отличается от полноты). Первое, что мне пришло в голову, когда я увидел систему событий - является ли она полной по Тьюрингу? |
|
|
|
12 Jan 2026, 11:26
Сообщение
#1031
|
|
![]() HotA admirer Сообщений: 57 Спасибо сказали: 174 раза |
Надеюсь, в этой теме можно информировать дорогое геройское сообщество об авторских картах?
Доступен ремейк карты Titan's Winter — Jotunn's Winter с Кронверком, Фабрикой и Причалом. Знаменитая морозная карта обрела второе дыхание! Автор — Alexander Cyon из Швеции. The Mysterious Island — одна из популярных недавних карт (особенно популярна на Reddit). Автор Papyjama вдохновлялся работами Жюля Верна для создания карты, создание карты у него заняло ~5 лет. ![]() Ignis Novorum Dierum — на карте можно играть не только за Россию (Кронверк!), но и Испанию, Францию, Англию, Польшу, Швецию, Турцию и Священную Римскую империю. Гигантская карта очень красивая, доступна Верфь дирижаблей. P.S.: AI на карте забустен.
-------------------- ![]() Спасибо сказали: |
|
|
|
17 Jan 2026, 01:06
Сообщение
#1032
|
|
![]() Ёжкин Кот Сообщений: 59 Спасибо сказали: 104 раза |
Так, ладно. Выложу-ка я и здесь свою карту с системой событий - "Готика" (да, карта по сюжету первой Готики). Создавалась ещё в мае прошлого года, как демонстрация системы событий при её разработке. По-хорошему, стоило бы её доработать (есть несколько проблемных хижин провидца, но прохождению они не мешают). Карта несложная, больше как демонстрация возможностей системы событий. Интересная карта, спасибо! По сложности на первых порах было тяжело, потом на автобое битвы пошли, когда со стартом разобрался. По итогам этой карты видно, что очень не хватает возможности задать имя провидца в хижине — очень много беготни по карте, если не запомнил имена. Также в журнале заданий по ходу прохождения почему-то только часть активных заданий отображалась. |
|
|
|
17 Jan 2026, 08:42
Сообщение
#1033
|
|
|
Immortal Сообщений: 6 896 Спасибо сказали: 8193 раза |
Там не все хижины провидца генерируют записи в журнале. Скажем, продавцы свитков и рун в основном продают только свитки и руны.
|
|
|
|
19 Jan 2026, 04:09
Сообщение
#1034
|
|
![]() Power Member Сообщений: 180 Спасибо сказали: 395 раз |
Сейчас будет то, что надо было выложить 14 лет назад. На самом деле я даже выкладывал какую-то in-progress версию перед падением ДФ2. Но потом что-то пошло не так...
В воскресение посидел и пофиксил, что бросилось в глаза, поиграл, пофиксил ещё чуть-чуть. Но почему-то в первой половине 2012 я не нашел пары дней на это.
Treasure_of_waterdeep.zip ( 77.64 килобайт )
Кол-во скачиваний: 24То что в папке 1.0.0 - это для самого первого релиза ХотЫ, но я не гарантирую, что она от этого не упадёт. Новая версия падает при наведении мышки на жилища причальских существ... Может быть это настоящая причина того, что я не осилил? Можете посмотреть на дату изменения файла (дата создания меняется при перетаскивании на другой диск) и посмотреть, как это выглядит в современном редакторе То что в папке 1.8.0 - это для современной ХотЫ и следующих версий. Жилища Причала были стёрты ластиком и поставлены обратно новым редактором. Но я не уверен, что есть смысл в это играть. Хотя мне было норм, только Флакс - имба, усилил там охраны. Но это я, я не могу играть парагоны, кампанию Фабрики, выходить на джебе на 127 и всё такое. О карте: это L+U, двойка-стайл карта (где корабли нужно строить в городе, а не на внешней верфи, и присутствуют только города фракций которые это поддерживают (кроме Кронверка)) Можно стартовать за любой цвет и, наверное, ПвП тоже возможно. Только Некр с Флаксом близковато получились для ПвП. Но у них, вроде, нет героев с навигацией. (Кто играл в ПвП в Двойке на карте Доминион, тому будет почти норм) Есть вариант победить всех. Ещё можно выкопать Грааль, но он там так запрятан, что сомневаюсь, что кому-то будет проще так побеждать... Новые фишки ХотЫ не включал. Там Мюллих и Торгрим. У всех старый навык. Помехи отключены. Флакс на обычной траве, а не высокогорье. Святилище бехолдеров почему-то просто святилище (где нельзя напасть на героя) для воды... Но герои Фабрики и Кронверка в таверну приходят. P.S. Иногда хочу ремейкнуть Доминион под ХотУ, но там в оригинале местами так плохо, что в Тройке будет невыносимо хуже если прямо так делать. Стартовые города Рыцаря и Визарда в Двойке без P.P.S. Да, я всё ещё собираюсь написать пост по своему опыту работы с новой системой событий. Надеюсь, что всё-таки соберусь ещё через 14 лет( |
|
|
|
04 Feb 2026, 17:36
Сообщение
#1035
|
|
![]() Immortal Сообщений: 338 Спасибо сказали: 387 раз |
Прошу прощения что так поздно, прикрепляю карту) Прикрепляю обратно
Прикрепленные файлы
|
|
|
|
07 Feb 2026, 22:55
(Сообщение отредактировал Haart of the Abyss - 08 Feb 2026, 02:02)
Сообщение
#1036
|
|
![]() Рыцарь в лесу. Сообщений: 4 494 Спасибо сказали: 6286 раз |
Heroes Chronicles: Master of Engineers
Благодарности: New World Computing, Hota Crew — за замечательную игру, и возможность создавать и править для неё карты и кампании. Терри Рэй и Дженнифер Буллард — за историю о Бессмертном Герое. IQUARE — за потрясающую расширенную систему событий, и за помощь с тестированием кампании. Посвящается Серафиме, начинающему Изобретателю и Инженеру. Также посвящается Это мера, совершенно никак не помешавшая тем, против кого принималась (выдранные ресурсы были у VCMIшников и поляков уже в первую неделю января). Создала трудности она только рядовым игрокам — тем, кто косметически настраивает игру под себя, для личного/семейного пользования. Заменяющим какие-то из графических инноваций Рога Бездны (копейщики, орки, огненные элементали, замки на карте) на оригинальную графику, звуки существ на до-1.7 звуки. Заменяющим определённые элементы графики на менее страшные (для своих детей или своих фобий), или не конфликтующие с религиозными убеждениями (не сталкивался, но слышал об уголке мира, жителям которого не очень приятны голые кости и черепушки, которых хватает в Некрополисе). Поклонникам снежного Замка или закатной Цитадели, выложенных некогда на этом форуме (в первом случае — разработанного совместным трудом многих форумчан). Любителям скриншотов-пранков, как я несколько лет назад с Форджем. ) Авторам мемов и спрайтовых комиксов. И тем, кому ресурсы Хоты нужны для использования на сайтах, в справочниках и т. д. Возможно, локализаторам, наверняка — исследователям файлов будущих кампаний… Я убеждён, что всё это НЕ МОЖЕТ считаться нежелательным и недобросовестным залезанием в игру. Даже крупные коммерческие онлайн-проекты обычно не возражают против косметических client-side подмен графики и рескинов. Со стороны проекта, который сам существует в серой зоне и в случае чего будет аппелировать к fair use, занимать подобную позицию было бы лицемерием, и предательством того самого модмейкерского движения, которое его породило. Да, на данный момент зашифровку можно обойти, подмену графики — осуществить с помощью пустого по дефолту HotA_ext.lod (что не очевидно), случаи, с которым могут возникнуть трудности, крайне немногочисленны (файлы с изменившимся форматом, файлы, отсутствовавшие в предыдущих версиях и потому неясно как называющиеся). Но по существу это шаг в крайне неприятном направлении: приняв его, ошибочно приравняв идею "у нас есть видение игры, и мы не хотим, чтобы его разбавляли модами и каждый играл в своё, кто-то с 30% некромантией, кто-то с 5%" к праву бороться с эстетической кастомизацией конечным пользователем — недолго запретить и замену музыки (чем она лучше графики существ?), правку "официальных" файлов карт (ишь чего удумали, сами править "Великую пустошь", где три из четырёх игроков-людей — в союзе; пусть ждут официального исправления)… Хота известна взвешенным и предусмотрительным подходом к решению проблем при минимуме побочного ущерба. Шифровка архивов больше походит на панический импульс в последний момент перед релизом. Я прошу не пытаться её усилить и "привести в порядок", а отказаться как от неудачной идеи. |
|
|
|
07 Feb 2026, 23:20
(Сообщение отредактировал Лентяй - 07 Feb 2026, 23:20)
Сообщение
#1037
|
||||
![]() Hota Crew Сообщений: 11 614 Спасибо сказали: 10005 раз |
Цитата Создала трудности она только рядовым игрокам — тем, кто косметически настраивает игру под себя, для личного/семейного пользования. Заменяющим какие-то из графических инноваций Рога Бездны (копейщики, орки, огненные элементали, замки на карте) на оригинальную графику, звуки существ на до-1.7 звуки. Заменяющим определённые элементы графики на менее страшные (для своих детей или своих фобий), или не конфликтующие с религиозными убеждениями (не сталкивался, но слышал об уголке мира, жителям которого не очень приятны голые кости и черепушки, которых хватает в Некрополисе). Не говори пожалуйста что ты не в курсе что все ресурсы можно заменять просто кладя их в папку с лодами, без зашивки их в сами лоды. У папки приоритет чтения выше. На крайняк можно класть все в hota_ext у которого приоритет тоже выше зашифрованного лода -------------------- |
|||
|
|
||||
08 Feb 2026, 00:20
Сообщение
#1038
|
|
![]() ---------------------- New_Life_of_Heroes ---------------------- Сообщений: 287 Спасибо сказали: 425 раз |
Это мера, совершенно никак не помешавшая тем, против кого принималась (выдранные ресурсы были у VCMIшников и поляков уже в первую неделю января). Создала трудности она только рядовым игрокам — тем, кто косметически настраивает игру под себя, для личного/семейного пользования. Точнее, уже 1 января, шифрование даже сутки не продержалось против того, кого оно было направлено по мнению HotA Crew. А со 2 января сырую VCMI-версию Кронверка мог запустить любой желающий. По итогам вся защита ресурсов выглядит больше параноидальной в глазах игроков, интересующихся хотовскими ресурсами, и моддеров, чем оправдывающей поставленные цели. Вроде на эти грабли уже наступали, когда шифровали HotA.dat в древних релизах. Итог - нытьё и настроения протеста по поводу закрытых игровых ресурсов и наплевательского отношения к игрокам, желающим заменить, к примеру, Ётунов на перекрашенных в красный цвет. Не говори пожалуйста что ты не в курсе что все ресурсы можно заменять просто кладя их в папку с лодами, без зашивки их в сами лоды. У папки приоритет чтения выше. На крайняк можно класть все в hota_ext у которого приоритет тоже выше зашифрованного лода А ничего, что это незадокументированная лазейка для моддеров, которая в любой момент может быть перекрыта? Мало кто, к примеру, знает, что def Ётунов в зашифрованом архиве называется CJOTUN.def и простой игрок вряд ли догадается положить аналогичный def в некую папку с лодами, чтобы подменить его в игре (ну или ему придётся редачить HotA.dat, что потом обнулится при любом обновлении HoA или HD-мода с хотовскими фиксами). -------------------- WoG + MoP + HoA + Forge + Bastion = ERA+
|
|
|
|
08 Feb 2026, 10:11
(Сообщение отредактировал Wic - 08 Feb 2026, 10:29)
Сообщение
#1039
|
|
|
Immortal Сообщений: 2 245 Спасибо сказали: 807 раз |
Heroes Chronicles: Master of Engineers Годно, очень годно. Прошел 1-ю миссию, сложность выставлена комфортно - в некоторых боях приходится подумать, но без экстрима.Жаль, русского перевода нет, атмосфера не та... Руны сознательно выданы в хатке или так случайно вышло? |
|
|
|
08 Feb 2026, 11:50
Сообщение
#1040
|
|
|
Immortal Сообщений: 6 896 Спасибо сказали: 8193 раза |
Heroes Chronicles: Master of Engineers Годно, очень годно. Прошел 1-ю миссию, сложность выставлена комфортно - в некоторых боях приходится подумать, но без экстрима.Жаль, русского перевода нет, атмосфера не та... Руны сознательно выданы в хатке или так случайно вышло? Руны по умолчанию запрещены в хижинах ведьмы. В данной карте руны вручную выставлены в редакторе. |
|
|
|
![]() ![]() |
| Текстовая версия | Сейчас: 15 April 2026 - 07:57 |
|
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |
|