ВРЫЫЫЫЛЛЛЛЛЛЛЛ!!! Ну напиши как создать новый Юнит в Сургеоне. А то при AddMob измененные монстры уходят в среду обитания. Копированием они тоже будут шлепать в свое начальное место?
Добавлено (2010/Фев/02, 23:00) --------------------------------------------- Оу, есть же команда охраны точки =) Ладно мы не ищем легких путей, щас попробую по другому.
Добавлено (2010/Фев/02, 23:24) --------------------------------------------- в скриптах параметр "i, object" - это лидер?
ФУУУУУУУУУУУХХХХ!!! С гордостью представляю свою первую гордость!! Новый квест с невероятными приключениями, не оставит равнодушным никого!! Название квеста: Яйцо Дракона Сюжет: Охотники видели как ящеры в Средних горах несли яйцо в деревню. Один шустрый малый проведал что это яйцо дракона! Описание: Казалось бы обычная миссия - пойти забрать предмет, НО НЕТ! Вас ждет неожиданный сюрприз, и невероятный поворот событий! Награда: непомню =) Недостатки: - Вместо яйца дракона пока-что используется текстура магического шара, скоро переделаю. - Так и не смог сделать привязку скриптового имени к монстру который добавляеться на карту отдельной подгрузкой моб файла. ( в точности OCheaf = GetObjectByID( "1000170" ) ) - К сожалению не ставиться условие на жив\мертв монстр который появляется при подгрузке моб файла. Пока что думаю над проблемой как выставить провал миссии при смерти сопровождаемого. Сделал пока что сопровождаемого нейтральным к монстрам на карте.
после создания нового оружия по мануалу http://allods.gipat.ru/index.php?p=eimodzsozdanijeunikalnogomeca вылетает вот такая ошибка (прикрепляю). в чем дело?
Я закончил свой аттестационный мод. Теперь описание.
Название: Kot-Mod v.0.1.0 Автор: Я Изменения: 1) исправлены грамматические ошибки. 2) добавлен эксклюзивный неразборный кинджал "кинжал из руин". 3) Переписан единственный квест "Огромный вепрь" теперь наградой с него можно получить "кинжал из руин". 4) добавлен полностью описанный материал, камень "Мрамор".
Этим модом я хотел показать, что освоил создание простейших квестов, эксклюзивного оружия и новых материалов. Надеюсь, что качество исполнения вам понравиться и я получу зачет .
Далее планирую освоить изменение баланса (силы мобов, получение опыта цены магазина и.т.д.) и создание нового металла.
Файл мода под стартер, прикрепляю.
Добавлено (2010/Фев/03, 13:37) --------------------------------------------- Нашел первый глюк, кинжал дает защиты и атаки на 100 больше чем должен.(((
ВРЫЫЫЫЛЛЛЛЛЛЛЛ!!! Ну напиши как создать новый Юнит в Сургеоне. А то при AddMob измененные монстры уходят в среду обитания. Копированием они тоже будут шлепать в свое начальное место?
Cтранно, я вроде думал, что понятно объясняю. Ну да ладно... Если в кратце, то все делается через массовые изменения. Подробней: Например нужно скопировать объект из одного моба в другой. Открываем тот моб ИЗ которого будем копировать, смотрим параметр ScriptVariableName - он должен быть уникальным иначе скопируем больше объектов чем нам нужно. Идем в "Критерии отбора объектов" Заполняем поле ScriptVariableName которое нам нужно, отмечаем справа тип объекта (юнит, объект, рычаг и т.д.) и переключаемся на закладку "Действия над отобраными объектами" . Выбираем опцию "копировать в целевой моб" выбираем моб В который будем копировать (галочка "заменять при совпадении ID" должна быть снята) И жамкаем на "Выполнить изменения!". Если жамкнем 2 раза - скопируем 2 одинаковых объекта . Если все правильно, то в нужном нам мобе должны появиться новые объекты, нужно не забыть присвоить им уникальные ID.
Далее, как я уже объяснял, сургеон не дает редактировать логику поведения юнитов (охранные точки, патрули и т.д.). Частично это можно сделать с помощью MRT, но гораздо проще настроить ее с помощью скриптов.
Добавлено (2010/Фев/03, 15:11) --------------------------------------------- Droy, Прикольный квест, а главное все работает! Из замечаний: Псле того как появляется детеныш, ящеры и орковские патрули становятся нейтральными, но это скорее всего так и задумывалось. Ящер-вождь не влезает в рамку , нужно бы настроть чтоб влезал (в EIEdit это поле Graphics Data Info Window Scale) Яйцо хорошобы чтобы называлось именно яйцом - создай из шаблона магического шара новый квестовый предмет. Детеныша я бы сделал еще поменьше размером. ИМХО слишком большая денежная награда: Рог лечения 1225 + Гобл. кукла 16254 Ну и самое главное - при смерти сервера или при перезаходе на карту отвести детеныша будет невозможно и квест завершить не получится. Такая же ошибка была у меня раньше в квесте "пропавший мастер".
Вот универсальный скрипт для всех подобных случаев:
Code
DeclareScript #Follow#1 ( this : object ) DeclareScript #Follow#2 ( this : object )
Script #Follow#1 ( if ( IsGreater( DistanceUnitUnit( GetUnitOfPlayer( 0,0 ) , this ) , 15 ) ) then ( KillScript() Guard( this , GetX( this ) , GetY( this ) , 5 ) #Follow#2 ( this ) ) )
Script #Follow#2 ( if ( IsLess( DistanceUnitUnit( GetUnitOfPlayer( 0,0 ) , this ) , 7 ) Not( GsGetVar(0,"bFollow") ) ) then ( KillScript() UMClear ( this ) UMAg ( this , 1 ) UMFollow ( this , GetUnitOfPlayer( 0,0 ) ) #Follow#1 ( this ) ) )
И вместо UMFollow ( GetObject( 2013 ) , GetUnitOfPlayer( 0 , 0 ) ) используй : #Follow#2 ( GetObject( 2013 ) ) и ящер уже не отстанет.
Чтобы остановить скрит (например когда детеныш уже дошел до нужного места): GsSetVar(0, "bFollow", 1)
Добавлено (2010/Фев/03, 15:59) --------------------------------------------- Танк, Все отлично! Новый материал порадовал - прописанны все тексты и все текстуры каменных вещей присутсвуют, даже мраморный жезл не забыл! Учишся дальше на текстурщика ПЗ?
- Папа, а правда, что от форумов тупеют? - ГыыЫ... сынок...ЛоЛ...
Сообщение отредактировал Врыл - Среда, 2010.02.03, 15:56
Помоему это лишнее, эти вещи уже падают с других квестов...советую создать новые уникальные вещи и поместить их в квест)
Quote (Врыл)
Учишся дальше на текстурщика ПЗ?
Это тогда ко мне, правда я сам не мастер, ну это что-бы Врыла не нагружать) Дроу будет работать по направлению квестомастерства я так понял ? пусть он будет учеником Врыла) А Танк тогда моим)
Псле того как появляется детеныш, ящеры и орковские патрули становятся нейтральными, но это скорее всего так и задумывалось.
#Done# ну это прописано специально скриптами, непомню уже почему =) но я собираюсь еще переделать на - Ящеры нейтральные к игрокам потмоу что ждут что ты вернеш им детеныша, и остальные фракции нейтральные к детенышу, что б не убили (изза то го что монстр подгружаеться отдельно, он не вписываеться в скрипт "если умер то мисия провалена"
Quote (Врыл)
Ящер-вождь не влезает в рамку , нужно бы настроть чтоб влезал (в EIEdit это поле Graphics Data Info Window Scale)
#Done# Ога, я видел, но сил небыло исправить, болею, а делал уже ночью. Хотел показать вам этоту бета-стадию квеста.
Quote (Врыл)
Яйцо хорошобы чтобы называлось именно яйцом - создай из шаблона магического шара новый квестовый предмет.
#In Progress# Это написано в недостатках квеста =) и что я пожже займусь.
Quote (Mongol)
Детеныша я бы сделал еще поменьше размером.
#Done# посмотрю =)
Quote (Врыл)
ИМХО слишком большая денежная награда: Рог лечения 1225 + Гобл. кукла 16254
#Done#(кукла снята, ящер убран) Дела на 2 плевка =) я задумывал наградой только куклу, но я так понял она уже где то есть. А рог откуда? С того ящера в обсерватории? Нуууу =) я что т опридумаю ага, я ж вас не кусаю за жопу мол срочно ставьте квест в мод.
Quote (Mongol)
при смерти сервера или при перезаходе на карту отвести детеныша будет невозможно и квест завершить не получится
#WTF# Вот это не пробовал =) но опять таки изза того что вождь и детеных подгружаемые я не смог выставить условие "если детеных увидит папу то вы маладец", в скриптах выставлено что если лидер дойдеи до вождя даже сам то квест засчитаеться.
Quote
Cтранно, я вроде думал, что понятно объясняю. Ну да ладно... Если в кратце, то все делается через массовые изменения. Подробней: Например нужно скопировать объект из одного моба в другой. Открываем тот моб ИЗ которого будем копировать, смотрим параметр ScriptVariableName - он должен быть уникальным иначе скопируем больше объектов чем нам нужно. Идем в "Критерии отбора объектов" Заполняем поле ScriptVariableName которое нам нужно, отмечаем справа тип объекта (юнит, объект, рычаг и т.д.) и переключаемся на закладку "Действия над отобраными объектами" . Выбираем опцию "копировать в целевой моб" выбираем моб В который будем копировать (галочка "заменять при совпадении ID" должна быть снята) И жамкаем на "Выполнить изменения!". Если жамкнем 2 раза - скопируем 2 одинаковых объекта . Если все правильно, то в нужном нам мобе должны появиться новые объекты, нужно не забыть присвоить им уникальные ID.
Далее, как я уже объяснял, сургеон не дает редактировать логику поведения юнитов (охранные точки, патрули и т.д.). Частично это можно сделать с помощью MRT, но гораздо проще настроить ее с помощью скриптов.
Ога, я вчера худо бедно сам дотюхал, вот только что убило - я не смог удалить рычаги из моб файла, пришлось брать моб файл без рычагов, удалять оттуда всех монстров и обьекты, и добавлять 2х новых монстров, а потом использовал его для подгрузки. Самое интересное, что если подгружать файл с річагами, то при попытке вернуться в поселок выбивает ошибку.
изза то го что монстр подгружаеться отдельно, он не вписываеться в скрипт "если умер то мисия провалена"
Тут не должно быть никаких проблем, просто нужно запускать скрипт провала миссии уже ПОСЛЕ того как подгружен новый моб
Quote (Droy)
Вот это не пробовал =) но опять таки изза того что вождь и детеных подгружаемые я не смог выставить условие "если детеных увидит папу то вы маладец",
аналогично
Quote (Droy)
Ога, я вчера худо бедно сам дотюхал, вот только что убило - я не смог удалить рычаги из моб файла, пришлось брать моб файл без рычагов, удалять оттуда всех монстров и обьекты, и добавлять 2х новых монстров, а потом использовал его для подгрузки.
Странно, может ты чегото не так настроил в параметрах? Галочка должна быть только напротив "Рычаг"
Quote (Droy)
Not( GsGetVar(0,"bFollow") )
непонятно...обьясни =)
Если глобальной переменной не задавали значения, то она по умолчанию будет иметь значение 0 или FALSE, А запись Not( GsGetVar(0,"bFollow") ) будет иметь значение TRUE пока переменной не присвоят значение 1.
Quote (Droy)
UMClear ( this ) UMAg ( this , 1 )
Почему this О_О
Это изменит поведение ведомого - он будет стараться избегать врагов во время следования за игроком, вместо того чтобы нападать на каждого как это было бы по умолчанию. - Папа, а правда, что от форумов тупеют? - ГыыЫ... сынок...ЛоЛ...
Если глобальной переменной не задавали значения, то она по умолчанию будет иметь значение 0 или FALSE, А запись Not( GsGetVar(0,"bFollow") ) будет иметь значение TRUE пока переменной не присвоят значение 1.
ШО?! Ы я не програмист, руским по белому если можно =) Будет держаться фоллов пока не отменять, ага?
Quote (Врыл)
Это изменит поведение ведомого - он будет стараться избегать врагов во время следования за игроком, вместо того чтобы нападать на каждого как это было бы по умолчанию.
Слава богу гуглом я тоже умею пользоваться, и знаю что делаю эти команды. Почему аргумент this? мне менять на GetObject( 2012 )? Он бы не нападал =) ибо
ШО?! Ы я не програмист, руским по белому если можно =)
Это сложнее, но попробую. В проверке условия if ( ) Присутсвуют выражения которые в результате дают 0 (FALSE - ложь) или 1 (TRUE - истина). Если все условия истиные то скрипт выполниться, если одно из них ложное, то нет.
Quote (Droy)
Почему аргумент this? мне менять на GetObject( 2012 )?
в данном случае this это внутренняя переманная скрипта типа object, ты задаешь ее при декларировании скрипта: DeclareScript #Follow#1 ( this : object )
Т.е. при обращении к скрипту #Follow#2 ( GetObject( 2013 ) ) переменная this приймет значение GetObject( 2013 ) - т.е. детеныша ящера.
- Папа, а правда, что от форумов тупеют? - ГыыЫ... сынок...ЛоЛ...
Сообщение отредактировал Врыл - Среда, 2010.02.03, 17:35
Это сложнее, но попробую. В проверке условия if ( ) Присутсвуют выражения которые в результате дают 0 (FALSE - ложь) или 1 (TRUE - истина). Если все условия истиные то скрипт выполниться, если одно из них ложное, то нет.
О боже....в принципе понятно, фиг с ним. Что такое "bFollow"?
О боже....в принципе понятно, фиг с ним. Что такое "bFollow"?
bFollow - я сам придумал как имя глобальной переменной b - потомучто переменная Boolean (т.е. должна иметь значение только 0 или 1 Так я привык их называть ) - Папа, а правда, что от форумов тупеют? - ГыыЫ... сынок...ЛоЛ...
А как она обратиться если ящера нема еще то, он еще не подгрузился, а скрипт уже обьявлен.
Так я об этом уже говорил. Запускаешь скрипт ПОСЛЕ того как новый моб подгружен. То что скритп объявлен это ничего не значит - это всего лиш инструкция(сценарий), которая начнет выполнятся только тогда, когда к ней обратятся.
Quote (Droy)
где Modcreator раздобыть? =)
Я не помню где я брал, у меня гдето лежит на харде... а зачем он тебе? - Папа, а правда, что от форумов тупеют? - ГыыЫ... сынок...ЛоЛ...
Все кинжал в своем аттестационном моде я переделал, выкладываю. Все-же жду: зачет, незачет?
Зачет, буду тебя на текстурщика учить, а в последствии на моделлера) Теперь для тебя я наставник, сенсей, бог, как угодно))) шучу)) Желаешь вступить в группу модмейкеров ?
Ок, попробую. Посмотрел твой квест на Пропавшего Мастера...fRand это типа выбросить чистую случайность да? Повезет не повезет?
Добавлено (2010/Фев/03, 18:54) --------------------------------------------- ConsoleString ( "#Follow#1 OK" ) это надо писать в скрипте или уже в Ворлд?