Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
12 Jul 2011, 17:55
Сообщение
#141
|
|
![]() Etoslozhnostatus Сообщений: 8 763 Спасибо сказали: 16437 раз |
27) Новые монстры (включая Дьяка) генерируются на случайной карте вместе со стандартными. А что за новый монстр Дьяк? -------------------- - Да ну!?
- Horn of the Argali гну! |
|
|
|
12 Jul 2011, 21:15
Сообщение
#142
|
|
|
Choziain Veteras Сообщений: 348 Спасибо сказали: 180 раз |
Я в Восторге!
Особо +5000! >7) У артефактов на карте свои особенности поднятия, регулируемые спец. таблицей и параметром AR:V (хотя планируется не только это). Большинство поднимается спокойно и без шума, но крутые/особенные артефакты могут требовать деньги, Лидерство, Мудрость или даже могут охраняться. >9) Реализация отрицательной Удачи (уполовинивание урона, анимация и звук) – встроенная. >12) Во избежание перекрывания настроек другими модами и наоборот, при запуске MoP.exe он прописывает себе отдельную ветку реестра (HKEY_LOCAL_MACHINE\SOFTWARE\New Life of Heroes\Heroes of Might and Magic III\MoP). Мод не требует предварительного запуска h3wog.exe. Можно его копировать на флэшку и спокойно давать знакомым без сопутствующих инструкций. Проверено на свеженькой Винде Келлера. >17) При захвате Заброшенной Шахты внешний вид её преобразуется в вид шахты, производящей соответствующий ресурс. >18) Встроена раздача на старте карты машин героям, ранее имеющим БМ в стартовой армии (теперь машина не заменяет 2-ой слот, а идёт в довесок), а также удаление у всех героев Катапульт. >45) Встроено: при повышении уровня для получения экспертной магии какой-либо школы нужно обладать экспертной Мудростью. В противном случае будет предложен другой навык. |
|
|
|
12 Jul 2011, 21:52
Сообщение
#143
|
|
![]() допустим, мяў Сообщений: 24 165 Спасибо сказали: 13533 раза |
Все кроме 18 - я тоже в восторге!
А с Катапультой я бы поступил как в Кингс Баунти - если кто помнит, её нужно было вообще купить! Иначе - иди, бери город, но без Катапульты! -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
|
12 Jul 2011, 21:54
Сообщение
#144
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20610 раз |
Дык один хрен наличие катапульты-орудия не привязано к катапульте-артефакту.
|
|
|
|
12 Jul 2011, 21:56
(Сообщение отредактировал magoth - 12 Jul 2011, 22:04)
Сообщение
#145
|
|
|
Immortal Сообщений: 995 Спасибо сказали: 549 раз |
MasterOfPuppets,
Хорошая работа. Не понравился лишь этот пункт, слишком все в разброс: Цитата Может вам сделать примерно такое расположение дополнительных кнопок, оно более симметричное, и законченное что-ли?! Зы, Также думаю что нужно немного осветлить цвет у рисунков кнопок прокрутки и справки. Слишком яркий черный цвет выбивается из общего стиля этого окна. имхо
|
|
|
|
12 Jul 2011, 23:27
Сообщение
#146
|
|
![]() допустим, мяў Сообщений: 24 165 Спасибо сказали: 13533 раза |
Зачем качать отдельную dll? Может она и интересна, но суть мода ведь не раскроет?
-------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
|
13 Jul 2011, 10:46
(Сообщение отредактировал MasterOfPuppets - 13 Jul 2011, 11:46)
Сообщение
#147
|
|
![]() Анти-Всë Сообщений: 2 989 Спасибо сказали: 2378 раз |
Как выйду в icq - обязательно передам. Ну тогда сразу апдейт тебе в спину. Поставил ещё хук на здания орды, а то они пролетали. Правда, есть одно но: нельзя ставить (через UN:T) в двеллинги, имеющие орды, существа не того уровня, что сам двеллинг. Но, надеюсь, никому это и не нужно. Хотя всё же исправлю когда-нибудь… Я сначала сделал изменение существ в слотах через процедуру, но потом решил лучше оформить в ERM-команду. И более привычно скриптописцам-старожилам, и не портит v1, и все типы переменных поддерживает. Функцию, впрочем, основываясь на исходнике, легко может накатать тот, кому нужно пользоваться длл-кой без скриптов. Зачем качать отдельную dll? Может она и интересна, но суть мода ведь не раскроет? Так это и не было сначала частью мода. Делалось как подарок TPM, а уже потом я решил и себе на всякий случай встроить. Может вам сделать примерно такое расположение дополнительных кнопок, оно более симметричное, и законченное что-ли?! Зы, Также думаю что нужно немного осветлить цвет у рисунков кнопок прокрутки и справки. Слишком яркий черный цвет выбивается из общего стиля этого окна. имхо ![]() Я добавляю кнопки как бы с расчётом, что всё поле вокруг миникарты будет ими в будущем утыкано, а двигать кнопки в будущем - неохота. Справка мне кажется логичной именно в верхнем углу - когда уже всё о моде будет игроку более или менее ясно, он не будет туда лазить. Насчёт осветления - подумаю. -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
|
13 Jul 2011, 16:06
Сообщение
#148
|
|
|
- Сообщений: 1 073 Спасибо сказали: 1529 раз |
[b]37)Теперь есть 5%-ый шанс, что в клетке карты закопан артефакт класса от T до R...Артефакты в клетках определяются на старте карты. И это сделал человек, не так давно рьяно сопротивлявшийся "случайности" в героях и не любивший задротство и сэйв/лоад... Убери в опцию, как минимум. Ну а в остальном все более-менее клёво (всякие свадьбы я по прежнему не понимаю, но уже и не стремлюсь). Только не превратись в "теоретика", бесконечно стремящегося к совершенству. Во всяком случае, хотя бы до первого релиза... -------------------- |
|
|
|
13 Jul 2011, 16:19
Сообщение
#149
|
|
|
Immortal Сообщений: 2 149 Спасибо сказали: 697 раз |
И это сделал человек, не так давно рьяно сопротивлявшийся "случайности" в героях и не любивший задротство и сэйв/лоад... Убери в опцию, как минимум. Save/Load в этом случае не помогут. 5% - не такой уж маленький шанс, чтобы не попробовать превратить карту в подобие огородов моей несчастной (в смысле сосдества с милыми подземными существами) бабушки. Возможно, стоит наложить ограничение как раз на класс артефактов. |
|
|
|
13 Jul 2011, 17:12
Сообщение
#150
|
|
![]() 😸🧡✊✌️ Сообщений: 16 618 Спасибо сказали: 3604 раза |
Кстати, не всюду копать можно. Обидно будет, если копать нельзя, а там внезапно клинок армагеддона.
-------------------- Я слежу за тобой!
tolic.narod.ru![]() Цитата Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел. Борис "Бонус" Репетур, "От винта!", выпуск 38. |
|
|
|
18 Jul 2011, 14:42
(Сообщение отредактировал MasterOfPuppets - 18 Jul 2011, 16:55)
Сообщение
#151
|
|
![]() Анти-Всë Сообщений: 2 989 Спасибо сказали: 2378 раз |
Не забывайте, что на то, чтобы первый раз копнуть, нужно выйти из города, потом переждать ещё день... Кто будет рестартить игру с таким мизерным шансом достать из земли артефакт, да ещё и крутой? И сейв-лоад тоже будет горьким трудом. А карта "как после бомбёжки" - это только эстетика. Я бы даже сказал, будет смешно на это поглядеть.
К тому же, раскопки - противовес человека той самой неконтролируемой скупке ИИ артефактов в ТА и ЧР. К тому же, у ИИ бесконечные ресурсы. Меня устраивает. Залатал всякие дырки в отрисовке пункта «E» шаблона DL (там чуть ли не половина параметров в вог-функции перепутана), сделал (через задницу, но стабильно) получение введенного текста в z-переменную от любого такого пункта в диалоге. Также можно ограничивать не просто ширину элемента, но и длину введённого текста. Потом сделал поддержку русской раскладки. Довольно дилетантски: хук на вызовы sub_4EC7C0. В хуке – вызов её, затем получение имени текущей раскладки (GetKeyboardLayoutNameA). Если оно равно 00000419 – замена вводимого символа на русский из специальной таблицы, основываясь на смещении, равном машкоду введённого символа. Если кто знает лучший способ – можете посоветовать. Я ж ламер. А под клэшовский «Bankrobber» украл прямо из HiRez.dll длиннокод вставки текста из буфера обмена и запилил в недавно начатую MoP.dll. Всё это, конечно, не только к DL применимо, но и ко всем исконным игровым диалогам со вводом. Например, ввод имён игроков для хот-сита. Так что можно, наконец, избавиться от ограниченных вог-диалогов, которые только тем и удерживали, что вводом букофф. Остаётся крохотная бяка: при вводе/стирании текста в DL где-то работает какая-то жирная воговская функция, заметно тормозящая действие. Надо выпилить. Первые плоды: Решил не париться с созданием шаблонов для рандомок, а предоставить выбор шаблона игроку, наподобие HD. В MoP.ini есть теперь секция, имеющая вид: [RMG Template] TxtFileName=rmg.txt Ну и всё какбэ ясно. Перед генерацией рандомки (не обязательно перед запуском игры) пишите туда имя нужного вам файла, который вы положили в data или в лод – и все. По умолчанию, как видно, стоит оригинальный текстовик. В поставку шаблоны не входят. -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
|
19 Jul 2011, 14:52
(Сообщение отредактировал Algor - 19 Jul 2011, 14:53)
Сообщение
#152
|
|
|
- Сообщений: 1 073 Спасибо сказали: 1529 раз |
По крайней мере, от размеров армии это время не зависит: вообще без армии герой копает ровно столько же времени, сколько с тысячей крестьян. "По крайней мере, от размеров армии" не зависит очень много вещей, таких как расходы на еду, затраты маны на левитацию/полет и пр. и пр. - это и называется "игровой условностью". Думал, тут не возникнет вопросов, но теперь поясню: первичная цель любой армии - сражения. Т.к. герой ежедневно ничего не отстегивает армии, армия должна "кормиться с поля боя" (мясом, трофеями, мародерством - не важно). Соответственно, если герой вместо похода за добычей решает копать земляных червей (это не поиск святого грааля, заметьте), армию это должно несколько расстраивать, как и любое другое занятие, не свойственное доблестным воинам (бухать в таверне неделями, "защищая" город - занятие доблестное, не путать!). -------------------- |
|
|
|
19 Jul 2011, 18:16
Сообщение
#153
|
|
![]() Рыцарь в лесу. Сообщений: 4 509 Спасибо сказали: 6350 раз |
Цитата первичная цель любой армии - сражения. Даже тех двух феечек, что даются герою-разведчику для разгона (и чтобы в случае внезапного нападения он успел сделать ноги, пожертвовав этими двумя феечками — в этом их главное преимущество над полным отсутствием армии там, где последнее легально)?
-------------------- ![]() |
|
|
|
01 Aug 2011, 15:59
Сообщение
#154
|
|
![]() Анти-Всë Сообщений: 2 989 Спасибо сказали: 2378 раз |
И да... опцию, уберите это в опцию. Хотя бы до второго релиза, а там будет видно оставлять вшитым наглухо или нет. Ну сделал опцией. На квартиру к автору следующего предложения по опциональности в ближайшие сутки будет направлен наряд НКВД, после чего он будет в скорейшем порядке отправлен по этапу на Колыму. Да, у нас тут такая шуточка ходит: "Вот ведь жалко - и сослать-то тебя некуда...". -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
|
01 Aug 2011, 16:21
Сообщение
#155
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20610 раз |
Цитата после чего он будет в скорейшем порядке отправлен по этапу на Колыму. К тебе на стажировку? |
|
|
|
01 Aug 2011, 19:39
Сообщение
#156
|
|
![]() 😸🧡✊✌️ Сообщений: 16 618 Спасибо сказали: 3604 раза |
Именно, колымить на него.
-------------------- Я слежу за тобой!
tolic.narod.ru![]() Цитата Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел. Борис "Бонус" Репетур, "От винта!", выпуск 38. |
|
|
|
06 Aug 2011, 13:57
(Сообщение отредактировал MasterOfPuppets - 06 Aug 2011, 14:05)
Сообщение
#157
|
|
![]() Анти-Всë Сообщений: 2 989 Спасибо сказали: 2378 раз |
Ну да. Я асматик (кхе-кхе).
Метод ужасен, но для меня главное - результат, а не удобство. А скорость, компактность и стабильность асм даёт по максимуму. Цитата Оп, дак это еще и у МоР'a сорцы стащить можно будет? Не, этого вы никогда не увидите. Длл-кой больше, длл-кой меньше. Выпилил EraUtils.dll, написав вместо неё свои расово ассемблерные, ультракомпактные и супермогучие функции по выделению/освобождению памяти, загрузке/сохранению файлов. И как-то сразу после этого мод стал постабильнее... А, что я сказал? Тем не менее, я не обвиняю Берса в том, что длл содержит ошибки. Может, её поведение в моде чем-то нарушается. -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
|
06 Aug 2011, 14:36
(Сообщение отредактировал MasterOfPuppets - 06 Aug 2011, 14:40)
Сообщение
#158
|
|
![]() Анти-Всë Сообщений: 2 989 Спасибо сказали: 2378 раз |
Самовольно и не спросив человека, добавил Aleee в члены нашей команды. Думаю, за популяризацию мода на HC он того вполне заслуживает. А ещё перевод впереди.
Вообще, когда сам себя рекламируешь - появляется чувство гадливости. А вот когда кто-то другой, просто по собственному желанию - приятно. Нас теперь трио. Надо бы уже и в турне отправляться... -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
|
06 Aug 2011, 15:01
(Сообщение отредактировал Berserker - 06 Aug 2011, 15:05)
Сообщение
#159
|
|
![]() Immortal Сообщений: 1 468 Спасибо сказали: 1153 раза |
EraUtils чиста как слеза ангела. Скорее всего у тебя где-то типичные ошибки работы с памятью (двойное освобождение, использование висячих указателей или перезапись в место больше блока памяти). В итоге это вызывает случайные вылеты рано или поздно. Вот код:
Код LIBRARY EraUtils; USES Win, Utils, Classes; VAR Mem: Classes.TList; FUNCTION MemAlloc (Size: INTEGER): POINTER; PASCAL; BEGIN GetMem(RESULT, Size); Mem.Add(RESULT); END; // .function MemAlloc PROCEDURE MemFree (Ptr: POINTER); PASCAL; BEGIN Mem.Delete(Mem.IndexOf(Ptr)); FreeMem(Ptr); END; // .procedure MemFree PROCEDURE MemClear; PASCAL; VAR (* TEMP *) i: INTEGER; BEGIN FOR i:=0 TO Mem.Count - 1 DO BEGIN FreeMem(Mem[i]); END; // .for Mem.Clear; END; // .procedure MemClear FUNCTION FileToMem (Path: PCHAR): POINTER; PASCAL; VAR S: STRING; hFile: INTEGER; Size: INTEGER; BEGIN S:=Path; hFile:=Utils.FileOpen(S, Utils.fmOpenRead OR Utils.fmShareDenyWrite); IF hFile < 0 THEN BEGIN RESULT:=NIL; EXIT; END; // .if Size:=Win.GetFileSize(hFile, NIL); IF Size <= 0 THEN BEGIN RESULT:=NIL; EXIT; END; // .if GetMem(RESULT, Size); Mem.Add(RESULT); Utils.FileRead(hFile, RESULT^, Size); Utils.FileClose(hFile); END; // .function FileToMem PROCEDURE MemToFile (Path: PCHAR; Buf: POINTER; Num: INTEGER); PASCAL; VAR S: STRING; hFile: INTEGER; BEGIN Win.DeleteFile(Path); S:=Path; hFile:=Utils.FileCreate(S); IF hFile < 0 THEN BEGIN EXIT; END; // .if Utils.FileWrite(hFile, Buf^, Num); Utils.FileClose(hFile); END; // .procedure MemToFile EXPORTS MemAlloc, MemFree, MemClear, FileToMem, MemToFile; BEGIN Mem:=Classes.TList.Create(); END. VirtualAlloc выделяет память гораздо медленнее и кратно страницам, поэтому это может сглаживать ошибки типа AccessViolation. -------------------- |
|
|
|
06 Aug 2011, 15:08
(Сообщение отредактировал MasterOfPuppets - 06 Aug 2011, 15:10)
Сообщение
#160
|
|
![]() Анти-Всë Сообщений: 2 989 Спасибо сказали: 2378 раз |
Так я и думал, что дело не в ней. Тем более, что её использование экзешником, а не скриптами, никогда не давало сбоя.
Просто ошибки ужас какие странные. Всегда указывает на выделение памяти скриптом, но всегда разный участок. Выпиливал участки, добавлял по одному, смотрел во все глаза до слёз - ничего не увидел. Закономерность всего одна: чем больше выделений - тем больше ошибок. При запуске процесса через Олли она что-то шептала именно про EraUtils (не помню). Про Angel и пару других - ничего. -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
|
![]() ![]() |
| Текстовая версия | Сейчас: 11 May 2026 - 09:30 |
|
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |
|