Список форумов
Гипат.org
Найдется место всем!


:: В чате сейчас никого нет
Как сделать юниту больше 32700 с чем-то жизней? И Усиление..
   Список форумов -> Флейм
Автор
Сообщение
читер30
Привратник


Пришел: 20.08.2012
Сообщения: 368
Добавлено: 20 апреля 2013, 13:24 [?] [PM] [M]   [«»]

Как сделать юниту больше 32700 с чем-то жизней?
Как сделать так, чтобы невозможно было наложить Увелечение силы на врага, без рун, вообще, сам закл???
читер30
Привратник


Пришел: 20.08.2012
Сообщения: 368
Добавлено: 01 мая 2013, 14:42 [?] [PM] [M]   [«»]

Плиз подскажите, люди!
Valter
Зайчатник


Пришел: 28.02.2009
Сообщения: 32
Откуда: Россия
Добавлено: 01 мая 2013, 18:08 [?] [PM] [M]   [«»]

Ох.. Пост твой видел, но проблема в том, что подсказать не могу ни чего :(
Первый вопрос понятен, но что с ним делать... Саму проблему знаю: Больше EXP - больше HP, до тех пор пока в двоичной системе код отвечающий за здоровье не достигнет over 32000 и не переполнится после чего сбросится на отрицательное число и впоследствии ноль.
( Хм. Двоичный код. Так.. 2 в степени... 2 в 15 степени = 32 768 :cool: )

Вопрос как с этим бороться. Сейчас полистал поиск форума и погуглил эту тему, так как присутствуют смутные воспоминания, что где-то это обсуждалось, решалось и жаже программно ломалось. Не нашел. Впрочем возможно этого никогда и не было, и все это сплошные мои наваждения.



Второй вопрос я не очень понял. Предположу, что требуется запретить накладывать заклинание как вообще, а точнее чтобы оно не производило должного эффекта. ( Возможно опять чтобы под усилкой монстр с over 32000 HP не стал убиваемым с одного тычка)

Тут или скриптом наложить на игрока постоянно обновляющееся слабоумие (что-бы не колдовал вообще, такая безмагическая зона).
Или написать скрипт, следящий не наложено ли усиление и при положительном условии скриптом кастануть на него ослабление (контр заклинание. ага).
Или ломать сам код программы и отключать Усиление как заклинание, что бы оно больше не работало( но нужен скорее именно частный случай на конкретного врага, так что и это не подойдет)


Столько написал, а всё в пустую. Ответа тебе не дал. Извиняй.

PS: Да и писал это больше из-за того чтобы сказать что тебя не игнорят, тут еще кто-то есть. Просто конкретно тут помочь не могут ;)
_________________
Истина — это всего лишь заблуждение, которое просуществовало столетия. А заблуждение — это истина, просуществовавшая лишь минуту.
читер30
Привратник


Пришел: 20.08.2012
Сообщения: 368
Добавлено: 01 мая 2013, 18:24 [?] [PM] [M]   [«»]

Ну спасиб, значит наверно нельзя =)...
Kalessin
Разведчик


Пришел: 15.01.2012
Сообщения: 100
Добавлено: 01 мая 2013, 23:33 [?] [PM]   [«»]

2Valter
Цитата:
Вопрос как с этим бороться. Сейчас полистал поиск форума и погуглил эту тему, так как присутствуют смутные воспоминания, что где-то это обсуждалось, решалось и жаже программно ломалось. Не нашел. Впрочем возможно этого никогда и не было, и все это сплошные мои наваждения.

Это небезынтересный вопрос. Хотелось бы по возможности увидеть ссылку, если это действительно обсуждалось.
И другой, не менее интересный вопрос: каким образом в сингле, элементалю, охраняющему "черный ход" в мертвый город, сделаны 32000 hp, и невосприимчивость к фейрверку. По датабазе там дожен быть обычный элементаль. Моб? Ехешник?
_________________
~ Открой консоль и стань сильным ©
читер30
Привратник


Пришел: 20.08.2012
Сообщения: 368
Добавлено: 02 мая 2013, 13:41 [?] [PM] [M]   [«»]

не знаю как цитату сделать =)

"""И другой, не менее интересный вопрос: каким образом в сингле, элементалю, охраняющему "черный ход" в мертвый город, сделаны 32000 hp, и невосприимчивость к фейрверку. По датабазе там дожен быть обычный элементаль. Моб? Ехешник?"""

Точно!!! Моб!!! Надо попробовать!!! Спасибо =)!!!
Valter
Зайчатник


Пришел: 28.02.2009
Сообщения: 32
Откуда: Россия
Добавлено: 02 мая 2013, 14:55 [?] [PM] [M]   [«»]

Попробуй. Вчера сам хотел проверить но выяснилось, что Без модов у меня вылетает с ошибкой (надо бекапные файлы ресурсов вернуть, с начала года не запускал) и распакованной датабазы сингла нету, а время 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 [?] [PM] [M]   [«»]

Valter, А "Exeшник" это что, и как его редактировать :)?
читер30
Привратник


Пришел: 20.08.2012
Сообщения: 368
Добавлено: 02 мая 2013, 15:41 [?] [PM] [M]   [«»]

Даа!!! Он в мобе! Я через Mob Reversing Tool зырил, у того элементаля долбаного 32000 манны и жизней! Но зрение кажись 8.5 у него... Тогда наверно у него номер игрока такой поставлен, который не реагирует на фейрверк
Valter
Зайчатник


Пришел: 28.02.2009
Сообщения: 32
Откуда: Россия
Добавлено: 02 мая 2013, 15:46 [?] [PM] [M]   [«»]

Файл game.exe Сама игра. В нем в 16-речноом коде зашиты многие параметры (к примеру, что магазин constr_5, который у великого мага обнуляет цену на продажу и покупку) Там-же прописана логика заклинаний, искусственного интеллекта и т.д. (Те-же отключенные заклинания превращения, зачаровывания)
Редактировать можно в бинарном Hex-редакторе, но увы не простым смертным. Кто-то редактируя его и dll к аддону в свое время включил слабоумие в сетевой. Я сам методом тыка как-то менял путь на внутреннею иконку(ярлыка) и путь в реестре игры.
Но если не понимаешь, что 0x12058E означает и на что его надо поменять суваться туда без-толку.
_________________
Истина — это всего лишь заблуждение, которое просуществовало столетия. А заблуждение — это истина, просуществовавшая лишь минуту.
Kalessin
Разведчик


Пришел: 15.01.2012
Сообщения: 100
Добавлено: 03 мая 2013, 01:50 [?] [PM]   [«»]

В датабазе элементаль с обычными параметрами, и вообще для всех элементалей земли используется один прототип - 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 [?] [PM] [M]   [«»]

Вот и мой черед написать отчет об изучении элементаля. Как известно ключ 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 [?] [PM]   [«»]

Хех, разгадана еще одна тайна пз :) И правда, сначала надо было заглянуть в скрипт. Таким образом заскриптованный юнит действительно не реагирует на фейрверк. Но и не атакует врагов в пределах видимости. Для создания атакующих юнитов (например охранников чего-либо) тогда нужно заменить в скрипте команду UMRevenge на UMAggression

Код:
Script VTriger#0#159
(
  if
  (
  )
  then
  (
    KillScript(  )
    UMClear( EarthEBlock )
    UMAggression( EarthEBlock )
  )
)


Заскриптованный так, элементаль не реагирует на фейрверк и атакует врагов в поле зрения.
Но, наверное, эта информация уже никому не пригодится...
_________________
~ Открой консоль и стань сильным ©
читер30
Привратник


Пришел: 20.08.2012
Сообщения: 368
Добавлено: 04 мая 2013, 14:22 [?] [PM] [M]   [«»]

Респект вам, челы =)! Я бы сам там копался 1-2 месяца =)!
Показать сообщения:   
   Список форумов -> Флейм
Версия для печати
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы
Вы можете скачивать выложенные файлы
Перейти:  
Часовой пояс: GMT +4:00