Current time: 19.07.2019, 02:43 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Мод "Master of puppets"
» v.3.07 Battery
Author Message
am haarec Offline

Posts: 143
Post: #76

(21.02.2012 12:02)MOP Wrote:  RB - как големы, а из големов жизнь вроде не пьют.

какие такие големы ?!? Не камень /не глина/ не метал/ не "материя" стихий Moral
Плоть и кровь -,значит ПОЛОЖЕНО Ab

...да,хотелось бы ещё файлик крохотный, позволяющий расти существам в Банках вместе с ростом опыта;и нейтралам тоже росту опыта ,а то ведь несерьёзно как-то...
    очень хотелось...Yes


точка зрения автора не претендует на авторитет "задней" инстанции...
(This post was last modified: 22.02.2012 23:09 by am haarec.)
22.02.2012 22:56
Find all posts by this user Quote this message in a reply
packa Offline

Posts: 1218
Post: #77

МоП Wrote:2. Стоит ли выносить Дуалит на панель ресурсов?
Не, не стоит. Слишком редко используется, чтобы быть на панели.

Quote:Уже говорилось об этом.
Угу, упустил.

Quote:Размещение рейд-боссов WERD-ом происходит по принципу:
А нельзя их вручную тыкать? Как обычных монстров...
Если нет, то нужно сделать Sm

Quote:очень хотелось...Yes
Удачи) Мне повезло, я получил свой крохотный файлик =)


подпись была удалена администрацией
просьба не использовать картинки с сайта heroeslibrary.net, так как на них ругается Chrome
22.02.2012 23:15
Find all posts by this user Quote this message in a reply
kostya_76 Offline

Posts: 33
Post: #78

MOP, неужели трудно сделать замену высокоуровневых существ в смешанных охранах, если их файтвэлью превышает заданное? После округления их количества до единицы стало еще хуже, чем когда до нуля округлялось. Одно существо 8 лвл может увеличить силу охраны больше чем на порядок от необходимого уровня.
22.02.2012 23:30
Find all posts by this user Quote this message in a reply
MOP Offline

Posts: 1340
Post: #79

(22.02.2012 21:57)packa Wrote:  Есть какие нибудь проблемы в создании нормальной, обычной мапы для МОП?
И можно ли конвертнуть ВоГ карту в МоП?
Создать можно, но с указанными оговорками о RB и строительстве городов.
Конвертнуть - нет. Причина: многие старые артефакты в MoP имеют совершенно другие номера.
(22.02.2012 22:56)am haarec Wrote:  какие такие големы ?!? Не камень /не глина/ не метал/ не "материя" стихий Moral
Плоть и кровь -,значит ПОЛОЖЕНО Ab
"Как големы" - не значит, что големы и есть. Я полагал, что наличие Боевого Духа у RB может обернуться слишком фатальным исходом для войск героя.
А вообще, почему бы не воспользоваться редактором монстров? Там можно дать RB БД, ответки и ещё кучу всякого добра. А если параметры менять - продвинутые могут достать из h3mop.lod файл MCrTrait.txt. Sm
(22.02.2012 22:56)am haarec Wrote:  ...да,хотелось бы ещё файлик крохотный, позволяющий расти существам в Банках вместе с ростом опыта;и нейтралам тоже росту опыта ,а то ведь несерьёзно как-то...
    очень хотелось...Yes
Сорри, я об этом совсем не думал. В ВОГ рост охраны банков вроде скриптом сделан?
(22.02.2012 23:15)packa Wrote:  
МоП Wrote:2. Стоит ли выносить Дуалит на панель ресурсов?
Не, не стоит. Слишком редко используется, чтобы быть на панели.
Вот и я так думаю. Да и панель больно уж сожмётся.
(22.02.2012 23:15)packa Wrote:  А нельзя их вручную тыкать? Как обычных монстров...
Если нет, то нужно сделать Sm
Так ты открой редактор карт и - behold. Sm Все там монстры есть, кроме Воздушного Шара. Ставь на карту, если надо.
(22.02.2012 23:30)kostya_76 Wrote:  MOP, неужели трудно сделать замену высокоуровневых существ в смешанных охранах, если их файтвэлью превышает заданное? После округления их количества до единицы стало еще хуже, чем когда до нуля округлялось. Одно существо 8 лвл может увеличить силу охраны больше чем на порядок от необходимого уровня.
Поэтому введение было экспериментальным.
Когда я при переписывании кода на асме доберусь до смешанных нейтралов, тогда ещё раз пересмотрю алгоритм. Может, он будет совершенно другим.

***************************************

Наконец-то я понял, что за ошибка была у некоторых при обзоре королевства! Потому что сам её поймал и выяснил причину. В бинарном патче:
Code:
11D2AE E91ED22200      JMP mop.0074A4D1
Отсутствует точка с запятой. Странно, но BinGen это слепо пропускает, генерирует код прыжка, а дальше вставляет мусор, затирающий важный код, относящийся к реликвии, реализующей Портал Вызова.
Тут я, конечно, сообразил, что таких ошибок в тонне патчей, которым был подвергнут экзешник, наверняка не одна. Тем более, что и раньше встречался с таким попустительством BinGen. Попробовал сначала этот же патч на BinMagic – тот ошибку показал. Тогда я, сделав для страховки бэкап старого батника, весь батник перевёл на BinMagic (а ведь хотел же, блин, ещё до релиза, но лень не дала), запустил его – и понеслась... Выдало нагора штук 30-40 ошибок в разных файлах. Где отсутствует точка с запятой, а где вместо неё – двоеточие. Довольно немало, но по сравнению с общим объёмом патчей (десятки тысяч) это повод меня убить всё-таки не даёт. Sm
Но на этом сюрпризы не кончились. Экзешник, созданный BinMagic-ом, оказался нерабочим! О_о. Патчился он правильно, PatchFor=File, и даже запускается. Но при запуске выдаёт ошибки ERM (который, по идее, вырублен WERD-ом), а при старте карты вылетает с криком. Пораскинул мозгами, убрал опцию Optimize (всё равно в данном случае она бессмысленна, так как bin-ы удаляются сразу после патчинга). Все симптомы исчезли.
Чуть позднее понял, что Optimize некорректно работает, если несколько патчей имеют один адрес. Конкретно, у меня там два:
Code:
2A0685 B8B0BF5800;                 MOV EAX,mop.0058BFB0

2A0685 61;                         POPAD
2A0686 C705F7FB400000000000;       MOV DWORD PTR DS:[40FBF7],0
По идее, как при оптимизации, так и без неё, последний патч должен корректно перекрывать предыдущий. Но получается бред.
Code:
00705685   B8 C705F7FB      MOV EAX,FBF705C7
0070568A   40               INC EAX
0070568B   0000             ADD BYTE PTR DS:[EAX],AL
0070568D   0000             ADD BYTE PTR DS:[EAX],AL
Как видно, программа проигнорировала popad, вставив в адрес ранее указанный опкод mov eax. Логика кода совершенно испорчена.
Конечно, можно на это ответить: «Не налагай патчи друг на друга». Но легко представить себе ситуацию, когда это необходимо. Дан исходник с одной километровой строкой патча. Код его посмотрен в отладчике. Выяснена ошибка или требуется модификация где-то в середине этой строки. Гораздо проще наложить патч поверх, чем лезть разбирать, где в этом чудовище нужный адрес. Да ещё и ошибок не наберёшься, если сместишь этот код по рассеянности на +/- 1 байт.

Но вернусь к началу. Исправление, к сожалению, выкладывать рискованно, так как после релиза exe был подвергнут ещё сотням патчей и не факт, что в исправление не проникнет код RtL, который убъёт старый exe S & D в каком-нибудь месте.
Конкретно исправление для Обзора Королевства можно было бы сделать патчем, но больно уж мелкая это бяка, а я не люблю плодить мелочи. В общем, либо последнего стабилизирующего патча S & D не будет, либо как-нибудь летом наберём того-сего и слепим.

P.S.: Ещё немного о fasm и WERD для заинтересованных:


Я на Лит-Нете
(This post was last modified: 23.02.2012 18:11 by MOP.)
23.02.2012 18:08
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 10925
Post: #80

MOP, насчёт Optimize, ты не мог бы привести команду, которой компилировал и имена файлов?


Скачать Герои 3 Эра и всё, что с ней связано
23.02.2012 18:44
Find all posts by this user Quote this message in a reply
MOP Offline

Posts: 1340
Post: #81

Наложенные патчи конкретно были в этом файле:
Code:
LIB\BinMagic.exe Cmd=ConvertPatch SourcePatch="LIB\DestroyHooks.txt" ResultPatch="DestroyHooks.bin" PatchFor=File Optimize
Полный листинг патча:


Я на Лит-Нете
(This post was last modified: 23.02.2012 18:50 by MOP.)
23.02.2012 18:46
Find all posts by this user Quote this message in a reply
Ivor Online
Moderators

Posts: 937
Post: #82

Насчёт экспериментальной опции "богатых сундуков". В сочетании с увеличенным бонусом от камня знаний напрочь портит интерес к игре, хотя несколько раз деньги из таких сундуков мне очень сильно помогли.

Пример, из последней игры. Около стартового города валяется сундук и стоит неохраняемый или черезвычайно слабо охраняемый столбик. Герой подбирает сундук, берет 5000 опыта и посещает столбик, получая ещё 6000 опыта. Цифры примерные, точно уже не помню. Вуаля - герою нахаляву достаётся 7 уровней.

Решение:
Бонус столбика сделать меньше, не 1000/уровень, а 500/уровень. Сделать отдельный объект - большой сундук с бОльшим Value, чтобы он на карте генерировался только с охраной.


Моды (Иные герои, иные заклинания), скины
23.02.2012 19:49
Visit this user's website Find all posts by this user Quote this message in a reply
packa Offline

Posts: 1218
Post: #83

Сделал пустую карту, тыкнул инферно, и монстров.
После найма героя в таверне, он получает полет на 1 день, это фишка такая?


подпись была удалена администрацией
просьба не использовать картинки с сайта heroeslibrary.net, так как на них ругается Chrome
23.02.2012 20:27
Find all posts by this user Quote this message in a reply
Flashback Offline

Posts: 2005
Post: #84

Вроде, один из патчей правил это.


Любишь Героев? Читай "Вестник". Уже прочитал его? Читай теплый ламповый блог обо всем и играй в МутноИгры.
23.02.2012 20:54
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 10925
Post: #85

MOP, сортировка действительно меняет местами патчи с одинаковыми адресами. Постараюсь исправить.


Скачать Герои 3 Эра и всё, что с ней связано
23.02.2012 21:19
Find all posts by this user Quote this message in a reply
MOP Offline

Posts: 1340
Post: #86

kostya_76 Wrote:MOP, неужели трудно сделать замену высокоуровневых существ в смешанных охранах, если их файтвэлью превышает заданное?
Немного ступил.
Решение есть и его можно привести в жизнь самому. Найти в скрипте следующую команду:

!!IP:Mvy100/127/?v4 Mvy100/127/?v5 Mvy100/127/?v6 Mvy100/127/?v7 Mvy100/127/?v8 Mvy100/127/?v9;

Число 127 - не что иное, как сумма битов уровней существ, которые могут быть сгенерированы. Оптимальным решением будет поставить там 63 - это полностью исключит генерацию 7(8)-го уровня в отряде смешанных нейтралов - кроме исходного монстра, стоящего изначально на этой позиции.
А можно поставить 1 - и всегда биться с сопляками. Sm


Я на Лит-Нете
23.02.2012 21:31
Find all posts by this user Quote this message in a reply
MOP Offline

Posts: 1340
Post: #87

(23.02.2012 19:49)Ivor Wrote:  Бонус столбика сделать меньше, не 1000/уровень, а 500/уровень.
Легко.
(23.02.2012 19:49)Ivor Wrote:  Сделать отдельный объект - большой сундук с бОльшим Value, чтобы он на карте генерировался только с охраной.
А вот тут не очень. Разве что охрану лучше поставить внутреннюю, а не видимую.


Я на Лит-Нете
23.02.2012 21:36
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 10925
Post: #88

Угу. Так и есть. В модуле Alg реализована классическая оптимизированная быстрая сортировка, которая неустойчива:
Quote:Устойчивая (стабильная) сортировка — сортировка, которая не меняет относительный порядок сортируемых элементов, имеющих одинаковые ключи. Большинство простых методов сортировки устойчивы, большинство сложных — нет.

Сделаю устойчивой и пересоберу BinMagic потом, м.б. даже с более правильным кодом после оптимизации (объединение патчей).


Скачать Герои 3 Эра и всё, что с ней связано
23.02.2012 21:38
Find all posts by this user Quote this message in a reply
MOP Offline

Posts: 1340
Post: #89

Хорошо. Sm


Я на Лит-Нете
23.02.2012 21:39
Find all posts by this user Quote this message in a reply
gamecreator Offline
Administrators

Posts: 7145
Post: #90

(23.02.2012 18:08)MOP Wrote:  thiscall и fastcall - с некоторой оптимизацией скорости и размера, если параметр ecx/edx - непосредственное значение, лежащее в пределах -1 ... 1:
thiscall - это ООП-вызов метода, где в есх находится адрес объекта. не думаю, что он когда-нибудь примет значение 0 и +-1 Sm да и при адресе объекта равном 0 по-хорошему нужно выдавать ошибку


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
23.02.2012 22:43
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2019 MyBB Group