По поводу квестов у меня последний вопрос: как сделать, чтобы сундук работал при применении на него квестового предмета, а не просто по наличию этого предмета у перса?
А по поводу мода: SnAIperK, ты случайно не знаешь, как кодируются значения в файлах базы монстров? Просто вся проблема в том, что нужно или переписывать всю базу зва с нуля, либо как-то распаковать udb
Мальчик за сливами в садик полез,
Сторож Евсей достает свой обрез.
Выстрел раздался и сторож упал,
Мальчика сзади отец прикрывал.
Узнать "key" - код этого предмета, а в поле ID_SCIENCE_STATS_NEW прописать "8,key,0" - например, 8,100,0
По поводу мода: базу ЗвА легче переписать с нуля. Нет, честно. Хотя ещё лучше подогнать под неё стандартную. Зачем тебе все эти "Zone1_unit_zloy"? А, ну разве что только для мобов %) Ну всё равно... Переписать можно...
Квесты создаются путём редактирования .MOB-файлов из папки Maps. Квест - это (Скрипт + Юниты) из моба и Тексты из MQ для мульти или texts.res для сингла. Это всё может быть успешно изменени редакторами Resbuild - распаковщик-запаковщик .res и .mq, Mob Reversing Tool - для Мобов, Блокнотом редактируются распакованные тексты. Ещё гдето был FAQ...
По ходу дела появился вопрос по скриптам: Почему-то при попытке выполнить проверку на облутованность существа несмотря на то, что в кармане есть деньги и ключ(проверяется последующим убиванием), данное условие всегда верно.
Мальчик за сливами в садик полез,
Сторож Евсей достает свой обрез.
Выстрел раздался и сторож упал,
Мальчика сзади отец прикрывал.
02.08.2007, 12:10 (Сообщение последний раз редактировалось: 02.08.2007, 12:12 fa3.)
Скрипт у меня такой:
Код:
Script CheckLoot
(
if
(
WasLooted(GetObjectByName("Leitenant"))
)
then
(
KillScript()
GsSetVarMax(0,"q.z1q1.z1q1.3",2)
GsSetVarMax(0,"q.z1q1.z1q1.4",1)
)
)
Причём выполняется всегда. Но в параметрах указано наличие в инвентаре ключа как на скрине.
Кстати, Снайпер, а кто в ГГ работал над сургероном? Просто можно было бы доработать шарик с осями чтобы он указывал направление поворота. Он и сейчас показывает, но немного криво, в сторону.
Е ещё такой вопрос: как сделать так, чтобы условие выполнялось когда юнит видит группу? Просто у меня солдат сидит на земле с анимацией crest, а когда видит кого-нибудь из группы heroes вставал и атаковал.
Мальчик за сливами в садик полез,
Сторож Евсей достает свой обрез.
Выстрел раздался и сторож упал,
Мальчика сзади отец прикрывал.
fa3,Четверг, 02 Августа 2007, 11:10 Написал:Скрипт у меня такой:
Код:
WasLooted(GetObjectByName("Leitenant"))
Причём выполняется всегда. Но в параметрах указано наличие в инвентаре ключа как на скрине.
Попробуй получить в консоль координаты этого же юнита - будешь приятно удивлён )) И с этого и следовало начинать.
fa3, тогда же Написал:Кстати, Снайпер, а кто в ГГ работал над сургероном? Просто можно было бы доработать шарик с осями чтобы он указывал направление поворота. Он и сейчас показывает, но немного криво, в сторону.
Сагрер. Но щас ему не до сургеона... Так-то поворот показывает нормально, но если хош - то напиши ему свои правки в приват, пофиксит когда будет время.
Он же Написал:И ещё такой вопрос: как сделать так, чтобы условие выполнялось когда юнит видит группу? Просто у меня солдат сидит на земле с анимацией crest, а когда видит кого-нибудь из группы heroes вставал и атаковал.
ЛеККо.
Код:
if
(
Any(i,Heroes,GroupHas(UnitSee(this),i))
)
...
PS: Присвой лейтенанта переменной по айдишнику, и не мучайся %)
PS: this в том скрипте - юнит, которого мы проверяем. Переменная типа object.
А i - это просто переменная ипа обжект, и Heroes можно равнозначно заменить на GetPlayerUnits(0)