Автор |
Сообщение |
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 20 апреля 2013, 13:24 |
|
|
Как сделать юниту больше 32700 с чем-то жизней?
Как сделать так, чтобы невозможно было наложить Увелечение силы на врага, без рун, вообще, сам закл??? |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 01 мая 2013, 14:42 |
|
|
Плиз подскажите, люди! |
|
|
Valter
Зайчатник
Пришел: 28.02.2009
Сообщения: 32
Откуда: Россия
|
Добавлено: 01 мая 2013, 18:08 |
|
|
Ох.. Пост твой видел, но проблема в том, что подсказать не могу ни чего
Первый вопрос понятен, но что с ним делать... Саму проблему знаю: Больше EXP - больше HP, до тех пор пока в двоичной системе код отвечающий за здоровье не достигнет over 32000 и не переполнится после чего сбросится на отрицательное число и впоследствии ноль.
( Хм. Двоичный код. Так.. 2 в степени... 2 в 15 степени = 32 768 )
Вопрос как с этим бороться. Сейчас полистал поиск форума и погуглил эту тему, так как присутствуют смутные воспоминания, что где-то это обсуждалось, решалось и жаже программно ломалось. Не нашел. Впрочем возможно этого никогда и не было, и все это сплошные мои наваждения.
Второй вопрос я не очень понял. Предположу, что требуется запретить накладывать заклинание как вообще, а точнее чтобы оно не производило должного эффекта. ( Возможно опять чтобы под усилкой монстр с over 32000 HP не стал убиваемым с одного тычка)
Тут или скриптом наложить на игрока постоянно обновляющееся слабоумие (что-бы не колдовал вообще, такая безмагическая зона).
Или написать скрипт, следящий не наложено ли усиление и при положительном условии скриптом кастануть на него ослабление (контр заклинание. ага).
Или ломать сам код программы и отключать Усиление как заклинание, что бы оно больше не работало( но нужен скорее именно частный случай на конкретного врага, так что и это не подойдет)
Столько написал, а всё в пустую. Ответа тебе не дал. Извиняй.
PS: Да и писал это больше из-за того чтобы сказать что тебя не игнорят, тут еще кто-то есть. Просто конкретно тут помочь не могут _________________ Истина — это всего лишь заблуждение, которое просуществовало столетия. А заблуждение — это истина, просуществовавшая лишь минуту. |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 01 мая 2013, 18:24 |
|
|
Ну спасиб, значит наверно нельзя =)... |
|
|
Kalessin
Разведчик
Пришел: 15.01.2012
Сообщения: 100
|
Добавлено: 01 мая 2013, 23:33 |
|
|
2Valter
Цитата: | Вопрос как с этим бороться. Сейчас полистал поиск форума и погуглил эту тему, так как присутствуют смутные воспоминания, что где-то это обсуждалось, решалось и жаже программно ломалось. Не нашел. Впрочем возможно этого никогда и не было, и все это сплошные мои наваждения. |
Это небезынтересный вопрос. Хотелось бы по возможности увидеть ссылку, если это действительно обсуждалось.
И другой, не менее интересный вопрос: каким образом в сингле, элементалю, охраняющему "черный ход" в мертвый город, сделаны 32000 hp, и невосприимчивость к фейрверку. По датабазе там дожен быть обычный элементаль. Моб? Ехешник? _________________ ~ Открой консоль и стань сильным © |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 02 мая 2013, 13:41 |
|
|
не знаю как цитату сделать =)
"""И другой, не менее интересный вопрос: каким образом в сингле, элементалю, охраняющему "черный ход" в мертвый город, сделаны 32000 hp, и невосприимчивость к фейрверку. По датабазе там дожен быть обычный элементаль. Моб? Ехешник?"""
Точно!!! Моб!!! Надо попробовать!!! Спасибо =)!!! |
|
|
Valter
Зайчатник
Пришел: 28.02.2009
Сообщения: 32
Откуда: Россия
|
Добавлено: 02 мая 2013, 14:55 |
|
|
Попробуй. Вчера сам хотел проверить но выяснилось, что Без модов у меня вылетает с ошибкой (надо бекапные файлы ресурсов вернуть, с начала года не запускал) и распакованной датабазы сингла нету, а время 2 часа ночи.
Имя его ElementalEarthF8 попробуй сравнить в игре и датабазе его характеристики и аналогичного элементаля из пещеры.
Интересно а поля Senses Sight/Infra/Senselife и т.д. и Detections Sight/Infra/Senselife и т.д. (отвечают за то как монстр нас, или мы монстра обнаружаем: зрением, слухом, ближайшим колдовством...) у него какие стоят? Может у него поле зрения 0 и он тупо не видит фейерверк?
В самом скрипте элементалю особых свойств не придается. Можно еще изменить в мобе превратив его в скажем Elemental Lava F12 ( да хоть кролика) и посмотреть какие статы у него останутся в игре: мега стена с over 32000 hp или с данными взятыми из датабазы.
А там уже делать вывод где его ультра способности прописаны: в Mob-файле или Exeшнике игры. _________________ Истина — это всего лишь заблуждение, которое просуществовало столетия. А заблуждение — это истина, просуществовавшая лишь минуту. |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 02 мая 2013, 15:31 |
|
|
Valter, А "Exeшник" это что, и как его редактировать ? |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 02 мая 2013, 15:41 |
|
|
Даа!!! Он в мобе! Я через Mob Reversing Tool зырил, у того элементаля долбаного 32000 манны и жизней! Но зрение кажись 8.5 у него... Тогда наверно у него номер игрока такой поставлен, который не реагирует на фейрверк |
|
|
Valter
Зайчатник
Пришел: 28.02.2009
Сообщения: 32
Откуда: Россия
|
Добавлено: 02 мая 2013, 15:46 |
|
|
Файл game.exe Сама игра. В нем в 16-речноом коде зашиты многие параметры (к примеру, что магазин constr_5, который у великого мага обнуляет цену на продажу и покупку) Там-же прописана логика заклинаний, искусственного интеллекта и т.д. (Те-же отключенные заклинания превращения, зачаровывания)
Редактировать можно в бинарном Hex-редакторе, но увы не простым смертным. Кто-то редактируя его и dll к аддону в свое время включил слабоумие в сетевой. Я сам методом тыка как-то менял путь на внутреннею иконку(ярлыка) и путь в реестре игры.
Но если не понимаешь, что 0x12058E означает и на что его надо поменять суваться туда без-толку. _________________ Истина — это всего лишь заблуждение, которое просуществовало столетия. А заблуждение — это истина, просуществовавшая лишь минуту. |
|
|
Kalessin
Разведчик
Пришел: 15.01.2012
Сообщения: 100
|
Добавлено: 03 мая 2013, 01:50 |
|
|
В датабазе элементаль с обычными параметрами, и вообще для всех элементалей земли используется один прототип - ElementalEarthF8. Последовательное изменение прототипа, ID и Script variable name ничего не дало, за исключением того, что у элементаля изменилась текстура и видимое имя (менял его на элементаля лавы) Видимые параметры юнита остались прежними. Для чистоты эксперимента зак заходил в мертвый город с одного и того же сохранения, сделанного до первого посещения мертвого города, т.е. каждое посещение зоны было первым. Изучение моба зоны в mrt дало интересный результат. В ключе ID_UNIT_STATS обнаружились те самые 32000 hp, а ключ ID_UNIT_NEED_IMPORT был разрешен (1). После отключения импорта, элементаль стал самым обычным, со стандартными параметрами из базы данных. Так что вывод - параметры юнита берутся из моба. Кроме здоровья там есть немало других параметров, к сожалению неясно каких именно... в mrt они не подписаны. К еще большему сожалению статы юнита нельзя редактировать, а другие редакторы вообще не показывают этот ключ. А как бы это могло разнообразить игру...
Остался неразрешенным только вопрос с фейрверком. Зрение у элементаля стандартное - 8,5, да и остальные параметры не выбиваются из рамок. Откуда не берется информация - моб или база - все равно стоит как вкопанный. Может быть, в мобе есть еще какая-либо независимая настройка, определяющая такое поведение? _________________ ~ Открой консоль и стань сильным © |
|
|
Valter
Зайчатник
Пришел: 28.02.2009
Сообщения: 32
Откуда: Россия
|
Добавлено: 03 мая 2013, 21:02 |
|
|
Вот и мой черед написать отчет об изучении элементаля. Как известно ключ ID_UNIT_NEED_IMPORT на реакцию к фейерверку отношение не имеет, и я поставил подопытного и точного его клона поближе к входу на зону и стал менять параметры и анализировать их поведение.
Выяснилось:
• "Наш" элементаль атакует только когда нападают непосредственно на него.
• Если на его глазах убить его контрольного клона(номер игрока совпадает), исследуемый останется равнодушен.
• При номере игрока изначально враждебном "наш" элементаль игнорирует все, в то время как клон сразу нападает.
• Если убежать от спровоцированного элементаля (он нас атакует), а затем вернуться на карту он снова будет к нам равнодушен.
И наконец я дошел до поля ID_NID (ID номер юнита) и изменил его значение. Самое интересное что такая гипотеза у меня была одна из первых а до проверки дошел в самую последнюю очередь.
Элементаль стал вести себя в соответствии с обычной логикой игры. И фейерверк на него теперь тоже работает. На радостях назначил его ID (а именно = 1536) троллю в ущелье. Тролль как и следовало ожидать ушел в нирвану.
Потом поругал себя за то, что пропустил такой важный момент в скрипте моб-файла. Все оказалось до банальности просто.
Код: | Script VTriger#0#159
(
if
(
)
then
(
KillScript( )
UMClear( EarthEBlock )
UMRevenge( EarthEBlock )
)
) |
UMClear( Unit : object )
Команда: UMClear - удаляет все директивы самостоятельного поведения юнита: Unit.
Предварительно определив имя переменной по ID объекта
Код: | EarthEBlock = GetObjectByID( "1536" ) |
Все. Теперь кому надо можно легко создавать таких "отрешенных" монстров игнорирующих фейерверк.
Итак, коллеги. Заседание можно объявить закрытым. Все вопросы нашли свое логическое разрешение. Всем спасибо. Всем до свидания.
PS: все, кроме тех, что поднимались в заголовке темы. Видно придется сойтись на мнении, что это невозможно. Программно игра этого не позволяет. _________________ Истина — это всего лишь заблуждение, которое просуществовало столетия. А заблуждение — это истина, просуществовавшая лишь минуту. |
|
|
Kalessin
Разведчик
Пришел: 15.01.2012
Сообщения: 100
|
Добавлено: 04 мая 2013, 01:51 |
|
|
Хех, разгадана еще одна тайна пз И правда, сначала надо было заглянуть в скрипт. Таким образом заскриптованный юнит действительно не реагирует на фейрверк. Но и не атакует врагов в пределах видимости. Для создания атакующих юнитов (например охранников чего-либо) тогда нужно заменить в скрипте команду UMRevenge на UMAggression
Код: | Script VTriger#0#159
(
if
(
)
then
(
KillScript( )
UMClear( EarthEBlock )
UMAggression( EarthEBlock )
)
) |
Заскриптованный так, элементаль не реагирует на фейрверк и атакует врагов в поле зрения.
Но, наверное, эта информация уже никому не пригодится... _________________ ~ Открой консоль и стань сильным © |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 04 мая 2013, 14:22 |
|
|
Респект вам, челы =)! Я бы сам там копался 1-2 месяца =)! |
|
|
|
Вы не можете создавать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы Вы можете скачивать выложенные файлы
|
Часовой пояс: GMT +4:00
|
|