felix_ff 0 Жалоба Опубликовано: 27 декабря 2005 (изменено) так.. тама про "ЛЮБЫЕ ВОПРОСЫ ПО ВАРКРАФТ 3" уже есть.. но как я понял там можно обсуждать вообще все что угодно...поэтому создаю эту тему: она исключительно только для Редактора карт Варкрафта и вопросов связанных с ним. поэтому прощу не флудить и задавать вопросы по теме. буду отвечать на вопросы связанные в частности с : TE(Trigger Editor), OE(Object Editor), IM(Import Manager).... на вопросы по моделям ответить не смогу так как не моделлер.. а вот про создание иконок расказать могу. вообщем дерзайте кто хочет научится делать карты Изменено 27 декабря 2005 пользователем felix_ff Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Sn1ckers 1 Жалоба Опубликовано: 28 декабря 2005 а знаешь хотя что нужно чтобы можельки создавать. И поподробнее, про какие ты иконки говоришь. Меня еще интересуют картинки с командами Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
felix_ff 0 Жалоба Опубликовано: 30 декабря 2005 а знаешь хотя что нужно чтобы можельки создавать. И поподробнее, про какие ты иконки говоришь. Меня еще интересуют картинки с командами Млин я писал что я не модельщик... для создания моделек есть программы : MDLVis, Warcraft III ArtTools и 3DMAX (последняя - профессиональная программа по созданию 3д моделей..., но что бы научиться на ней создавать модели надо иметь много времени, терпения и усердия... плюс башка должна в этом деле варить... у мну не было времени, да и усердия тоже.. поэтому я моделями не занимаюсь) Про иконки: в варкрафте есть иконкикнопочки с картинками)... например иконкой можно назвать пиктограмму огненного столба у Кровавого мага... кароче это все пиктограммы в игре... так вот могу подсказать как их рисовать и как их импортировать в карты Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Спринтер20 0 Жалоба Опубликовано: 13 марта 2007 так.. тама про "ЛЮБЫЕ ВОПРОСЫ ПО ВАРКРАФТ 3" уже есть.. но как я понял там можно обсуждать вообще все что угодно...поэтому создаю эту тему: она исключительно только для Редактора карт Варкрафта и вопросов связанных с ним. поэтому прощу не флудить и задавать вопросы по теме. буду отвечать на вопросы связанные в частности с : TE(Trigger Editor), OE(Object Editor), IM(Import Manager).... на вопросы по моделям ответить не смогу так как не моделлер.. а вот про создание иконок расказать могу. вообщем дерзайте кто хочет научится делать карты Как нахимичить с триггерами так, чтобы герой мог взять только один(два) предмет(а) определённого класса? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
felix_ff 0 Жалоба Опубликовано: 15 марта 2007 Как нахимичить с триггерами так, чтобы герой мог взять только один(два) предмет(а) определённого класса? Тригер на событие: Юнит получил предмет Условие:And(Item Comparasion(ItemBegin Manipulated) == такой то тип, Integer Comparasion: Count Items of Type (таких то) >1) Действие: Hero Drop Item (TriggeringUnit, Item Begin Manipulated) А на пальцах: событие что юнит получил предмет Условия: если кол-во итемов определенного типа больше 1 у героя, и подобранный предмет другого типа То действия: Дропнуть взятый предмет из инвенторя героя. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Спринтер20 0 Жалоба Опубликовано: 15 марта 2007 Тригер на событие: Юнит получил предмет Условие:And(Item Comparasion(ItemBegin Manipulated) == такой то тип, Integer Comparasion: Count Items of Type (таких то) >1) Действие: Hero Drop Item (TriggeringUnit, Item Begin Manipulated) А на пальцах: событие что юнит получил предмет Условия: если кол-во итемов определенного типа больше 1 у героя, и подобранный предмет другого типа То действия: Дропнуть взятый предмет из инвенторя героя. Чё-то у меня не получается, некоторые функции которые ты указал в условиях я не нашёл, если не трудно, можешь пожалуйста на мыло скинуть готовую карту с одним лишь этим триггером? Класс предмета допустим артефакт... (Sprinter20@inbox.ru) И ещё есть вопрос: Допустим на карте можно ставить только определённое количество декораций, предметов, юнитов, допустим 1000, как увеличить это число? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
felix_ff 0 Жалоба Опубликовано: 15 марта 2007 Чё-то у меня не получается, некоторые функции которые ты указал в условиях я не нашёл, если не трудно, можешь пожалуйста на мыло скинуть готовую карту с одним лишь этим триггером? Класс предмета допустим артефакт... (Sprinter20@inbox.ru) И ещё есть вопрос: Допустим на карте можно ставить только определённое количество декораций, предметов, юнитов, допустим 1000, как увеличить это число? Максимальное кол-во декорация на карте (стандартное) около 8000 точнее 8191. Стандартными методами его увеличить нельзя зато можно использовать альтернативный редактор карт. Называется WEU (World Edit Unlimited), там есть функция позволяющая убрать ограничение по кол-ву дуададов. Карты вышлю. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Спринтер20 0 Жалоба Опубликовано: 16 марта 2007 Максимальное кол-во декорация на карте (стандартное) около 8000 точнее 8191. Стандартными методами его увеличить нельзя зато можно использовать альтернативный редактор карт. Называется WEU (World Edit Unlimited), там есть функция позволяющая убрать ограничение по кол-ву дуададов. Карты вышлю. Спасибо огромное, всё мучался с этими предметами... Ты говорил, знаешь как рисовать иконки и как вставлять их в игру, поделись секретом )) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
felix_ff 0 Жалоба Опубликовано: 16 марта 2007 Спасибо огромное, всё мучался с этими предметами... Ты говорил, знаешь как рисовать иконки и как вставлять их в игру, поделись секретом )) иконка это изображение размером 64*64 пикселя. существуют несколько типов иконок: а)BTN -самая обычная иконка с рамочкой серого цвета b)DISBTN -затемненная модель иконки BTN (включается когда например ты включаешь меню паузы в игре, и все способности у героя становятся темнее) c)PASBTN - иконка без рамки с черным ободом. чаще всего используется в пассивках d)DISPASBTN - затемненная модель PASBTN e)ACBTN -иконка показывающая статус предмета или апгрейта. (ее вообще редко кто использует) Итак рисуем картинку 64*64 или просто ужимаем любое изображение в фотошопе. Далее для красоты надо бы рамочки вставять у меня они есть, если надо вышлю. И делаем две версии картинки BTN и DISBTN. К примеру я сохраняю свою картинку получившеюся как BTNArrow (это светлый вариант картинки), также я сохраняю еще одну DISBTNArrow (темный вариант картинки). Далее найди в и-нете программу конвертации изображения в BLP-файлы(варкрафтовский движок распознает только два типа изображения это TGA(думаю понятно что такое) и BLP(это общий варкравтовский формат изображений) Я в данном случае использую Warcraft III Viewer. Конвертирую изображения в BLP Получается два файла BTNArrow.BLP и DISBTNArrow.BLP Далее через редактор импорта уже, импортируем в карту два этих файлика. И меняем им пути на нестандартные: (когда ты только импортнешь их у них пути вар пропишет автоматически как: war3imported/BTNArrow.BLP ) нам в этом случае надо поменять пути на ReplaceableTextures/CommandButtons/BTNArrow.BLP ReplaceableTextures/CommandButtonsDisabled/DISBTNArrow.BLP Далее сохраняем карту и вообщем то готово. иконки будут отображаться. Вот список путей для всех иконок: Обычные: ReplaceableTextures/CommandButtons/ Задисейбленые: ReplaceableTextures/CommandButtonsDisabled/ Пассивные: ReplaceableTextures/PassiveButtons/ Задесейбленые пассивные: ReplaceableTextures/CommanButtonsDisabled/ ну вроде все. если что неясно то отвечу Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Спринтер20 0 Жалоба Опубликовано: 16 марта 2007 ................................ну вроде все. если что неясно то отвечу Понятно всё , а что ты можешь рассказать о триггерных способностях героя? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
felix_ff 0 Жалоба Опубликовано: 17 марта 2007 Понятно всё , а что ты можешь рассказать о триггерных способностях героя? что именно тебя интересюет? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Спринтер20 0 Жалоба Опубликовано: 18 марта 2007 (изменено) что именно тебя интересюет? Даже незнаю... Приведи пример наипростейшей такой способности... Я вообще про это ничего незнаю, только слышал. Изменено 18 марта 2007 пользователем Спринтер20 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
felix_ff 0 Жалоба Опубликовано: 18 марта 2007 Даже незнаю... Приведи пример наипростейшей такой способности... Я вообще про это ничего незнаю, только слышал. Ну к примеру тригерно делаются способности: 1) накладывания не одного эффекты а нексолько. Допустим я кастую абилку на юнита, и он начинает терять здоровье со временем, у него снижается броня, мувспид а также если он будет какстить заклинания то он будет получать дополнительный дамаг 2) способности связанные с двиганием юнита или меняюще позицию кастера и цели заклинания 3) хз чо еще придумать. с каждой атаки героя будет наносится дополнительный дамаг зависящий от его текущей маны к примеру. Через тригеры можно сделать практически все что захочешь. надо только иметь цель и стремление. Ну и знания конечно, но это приходит со временем. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Спринтер20 0 Жалоба Опубликовано: 18 марта 2007 (изменено) Ну к примеру тригерно делаются способности: 1) накладывания не одного эффекты а нексолько. Допустим я кастую абилку на юнита, и он начинает терять здоровье со временем, у него снижается броня, мувспид а также если он будет какстить заклинания то он будет получать дополнительный дамаг 2) способности связанные с двиганием юнита или меняюще позицию кастера и цели заклинания 3) хз чо еще придумать. с каждой атаки героя будет наносится дополнительный дамаг зависящий от его текущей маны к примеру. Через тригеры можно сделать практически все что захочешь. надо только иметь цель и стремление. Ну и знания конечно, но это приходит со временем. Ну, вообщем пока этого мне не надо, но есть другое, как сделать так, чтобы юнит перемещался из одного места в другое, без портала, просто защёл на область и переместился, без эффектов или с эффектами, ещё как с помощью триггера создать юнит из ниоткуда, просто задать точку появления и как воскресить юнита через день игрового времени или через просто промежуток времени? Заранее спасибо. Изменено 18 марта 2007 пользователем Спринтер20 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
felix_ff 0 Жалоба Опубликовано: 18 марта 2007 Спринтер20 я думаю тебе будет полезно заглянуть на ресурс под названием www.blizzard.ru/forum в раздел Творцы Миров. Там есть Библиотека "где находятся целые тома знаний" ©M&M8 Так вот советую почитать статьи для начинающих. Они довольно легкие думаю у тебя с ними проблем не будет. Если потребуется задать вопрос то задавай в главном подразделе ТМ. Только заранее прочитай правила, а то у нас там народ довольно злобный. к новичкам отонсятся скептически но всетаки помогают если не задаются совсем "тупые" вопросы. Поэтому для начала почитай библиотеку будет полезно. Если что пиши сюда. Просто щяс новая неделя начинается и все такое. Учиться надо и.т.д. поэтому на твои вопросы ответить смогу только когда будет свободное время (собсна свободное время у мну бывает по выходным в частности) Пока это все что я хотел сказать. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Спринтер20 0 Жалоба Опубликовано: 19 марта 2007 Спринтер20 .....................когда будет свободное время (собсна свободное время у мну бывает по выходным в частности) Пока это все что я хотел сказать. Да я вообщем-то не новичок, в редакторе уже 2 года, всё хорошо знаю(ну триггеры так себе), спрашиваю я тебя только то чего не смог получить собственным трудом... гляну в библиотеку Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
felix_ff 0 Жалоба Опубликовано: 19 марта 2007 (изменено) Да я вообщем-то не новичок, в редакторе уже 2 года, всё хорошо знаю(ну триггеры так себе), спрашиваю я тебя только то чего не смог получить собственным трудом... гляну в библиотеку Оо как все запущенно открою тебе страшную тайну у меня стаж в ВЕ 2.5 года наверное. только я наверное когда редактор открыл раз пятый уже знал как делать тригерные спеллы. И уж точно посмотрел какие есть действия в тригерах для простого создания юнита. Бегом марш в библиотеку адд: хотя я конечно понимаю что мб ты два года в редакторе клепал карты на развитие. притензий никаких, но если задумывался о сценарийных картах то сразу видно что в тригеры ты не лазил вообще Изменено 19 марта 2007 пользователем felix_ff Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Спринтер20 0 Жалоба Опубликовано: 20 марта 2007 (изменено) Слушай, а зачем выучивать редактор, если ты туда даже не заходил? Я вот в играх если редактор нахожу, то не планирую сразу создать что-то... Вообще я полтора года пытался делать сценарийные карты, причем я о триггерах тогда вообще не знал ничё Так что вот и смари, сколько у меня времени было на изучение триггеров, я искал всякие руководства, набирал в поисковиках КАРТОСТРОЙ WARCRAFT 3, но ничего не находил... А на этот форум наткнулся искав помощь по картострою в DOOM 3. Ну раз то что я спрашиваю у тебя - пустяковое дело, то придумаю что-то заковырестое... Вот допустим как сделать так чтобы опция СОХРАНИТЬ ИГРУ была доступна только при каких-нибудь условиях? Приходил я уже в библиотеку, поздно приходил, там было закрыто... Изменено 20 марта 2007 пользователем Спринтер20 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
felix_ff 0 Жалоба Опубликовано: 20 марта 2007 Ну раз то что я спрашиваю у тебя - пустяковое дело, то придумаю что-то заковырестое...Вот допустим как сделать так чтобы опция СОХРАНИТЬ ИГРУ была доступна только при каких-нибудь условиях? Приходил я уже в библиотеку, поздно приходил, там было закрыто... -Про опцию сохранения: данную фичу настроить нельзя. Т.е нельзя разрешить-запретить сохранение игры при каких либо условиях.оно всегда доступно так как прописанно в движке вара. про библиотеку: О_О ты в какую библиотеку то заходил? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Спринтер20 0 Жалоба Опубликовано: 20 марта 2007 -Про опцию сохранения: данную фичу настроить нельзя. Т.е нельзя разрешить-запретить сохранение игры при каких либо условиях.оно всегда доступно так как прописанно в движке вара. про библиотеку: О_О ты в какую библиотеку то заходил? Да вот наша библиотека, в 40 доме... Если чего в библиотеке не найду, спрашиваю здесь, ок? Кстати, забыл спросить где мне откопать World Edit Unlimited, надеюсь он такой же как и обычный редактор... Я видел на форуме о программе, которая может установить рамер карты до 512х512, это мне очень пригодилось бы, зефир вроде называется, где её достать? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
felix_ff 0 Жалоба Опубликовано: 20 марта 2007 ахахаха... я щяс со стула упаду ты прикалываешься что ли? я имел ввиду не обычную реаловскую библиотеку, а раздел который называется "Библиотека" на форуме blizzard.ru/forum читай в следующий раз внимательнее. все о чем спросил там есть. лооооол ну ты даешь Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Спринтер20 0 Жалоба Опубликовано: 21 марта 2007 ахахаха... я щяс со стула упаду ты прикалываешься что ли? я имел ввиду не обычную реаловскую библиотеку, а раздел который называется "Библиотека" на форуме blizzard.ru/forum читай в следующий раз внимательнее. все о чем спросил там есть. лооооол ну ты даешь Канешно прикалываюсь , яж не ламер... на близзард форуме был, там много полезных советов, но то чего там неуказано или я ещё не нашёл, спрашивал тебя в предыдущем сообщении.. Кстати ссылки на форуме, для скачивания WEU битые, а на Zepir's map editor нету (или я не нашёл) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
felix_ff 0 Жалоба Опубликовано: 22 марта 2007 выложу зепир и веу вечером. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Спринтер20 0 Жалоба Опубликовано: 23 марта 2007 выложу зепир и веу вечером. окей, жду Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Спринтер20 0 Жалоба Опубликовано: 26 марта 2007 выложу зепир и веу вечером. Чё-то ты долго, я не могу приступить к работе.... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
felix_ff 0 Жалоба Опубликовано: 27 марта 2007 у мну и-нета нету. я хз особо денег тоже нема хз когда оплачу. Если к другу на днях зайду то постораюсь выложить. Если у тебя и-нет есть у самого посмотри на сайте www.xgm.ru Еще есть одно место но оно довольно хитрое и попасть туда может не каждый Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Gekko 0 Жалоба Опубликовано: 5 июля 2007 Подскажите плз: как сделать магию "прыжок", как у "Tirend"(так вроде) в доте... --------------------------------- короче, как сделать чтоб: при нажатии на спел, герой/юнит прыгает на определенное расстояние вперед.(блинки не подойдут, нужно именно анимация полета ) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
felix_ff 0 Жалоба Опубликовано: 8 июля 2007 Подскажите плз: как сделать магию "прыжок", как у "Tirend"(так вроде) в доте... --------------------------------- короче, как сделать чтоб: при нажатии на спел, герой/юнит прыгает на определенное расстояние вперед.(блинки не подойдут, нужно именно анимация полета ) function Leap_Spell takes nothing returns boolean return GetSpellAbilityId()=='A0LN' endfunction function Leap_ReturnOrder takes unit pfU returns nothing local string lf5=H2Tx(pfU) local string lpG=GetString(lf5,"OrderType") local string lph=OrderId2String(GetInteger(lf5,"OrderId")) local real lEv local real lEV local unit lFB local trigger ltt=GetTrigger(lf5,"Trigger_TrackOrder") local boolean lpH=not GetBoolean(lf5,"Idle") local boolean lpi=GetBoolean(lf5,"SuperOrder") call DisableTrigger(ltt) call IssueImmediateOrderById(pfU,OrderId("stop")) if lpG=="Target"and(lpH or lpi)then set lFB=GetUnit(lf5,"OrderTarget") call IssueTargetOrder(pfU,lph,lFB) elseif lpG=="Point"and(lpH or lpi)then set lEv=GetReal(lf5,"OrderPointX") set lEV=GetReal(lf5,"OrderPointY") call IssuePointOrder(pfU,lph,lEv,lEV) elseif(lpH or lpi)then call IssueImmediateOrder(pfU,"OrderString") endif call SetBoolean(lf5,"SuperOrder",false) call EnableTrigger(ltt) endfunction function Leap_SpeedBonusCheck takes nothing returns boolean return IsUnitType(GetFilterUnit(),UNIT_TYPE_HERO) and IsUnitAlly(GetFilterUnit(),GetOwningPlayer(udg_u_DTAX_temp)) endfunction function Leap_DoSpeedBonus takes nothing returns nothing local unit lfU=GetEnumUnit() local unit lJV=CreateUnit(GetOwningPlayer(lfU),'e01R',0,0,0) call UnitAddAbility(lJV,'A0LO') call SetUnitAbilityLevel(lJV,'A0LO',GetUnitAbilityLevel(udg_u_DTAX_temp,'A0LN')) call UnitApplyTimedLife(lJV,'BTLF',10) endfunction function Leap_EndRoar takes unit pfU returns nothing local group lEw=CreateGroup() local boolexpr lEW=Condition(function Leap_SpeedBonusCheck) set udg_u_DTAX_temp=pfU call GroupEnumUnitsInRange(lEw,GetUnitX(pfU),GetUnitY(pfU),800,lEW) call ForGroup(lEw,function Leap_DoSpeedBonus) call DestroyBoolExpr(lEW) call DestroyGroup(lEw) endfunction function Leap_JumpMoving takes nothing returns nothing local timer ltt=GetExpiredTimer() local string lf5=H2Tx(ltt) local unit lfU=GetUnit(lf5,"Hero") local real lpj=GetReal(lf5,"DistanceRemaining") local real lpJ=GetReal(lf5,"OriginalDistance") local real lnM=GetReal(lf5,"Angle") local real lpC=GetUnitX(lfU)+30*Cos(lnM*bj_DEGTORAD) local real lpd=GetUnitY(lfU)+30*Sin(lnM*bj_DEGTORAD) local real lpk=200 local real lpK=(1-lpj/lpJ)*lpk*2 if lpK>lpk then set lpK=lpk*2-lpK endif call SetUnitFlyHeight(lfU,ReturnMaxReal(lpK,0),0) call SetUnitX(lfU,SafeX(lpC)) call SetUnitY(lfU,SafeY(lpd)) call SetUnitFacing(lfU,lnM) call SetReal(lf5,"DistanceRemaining",lpj-20) if lpK<1 and lpj-lpJ!=0 then call SetBoolean(H2Tx(lfU),"InAir",false) call SetUnitFacing(lfU,lnM) call SetUnitAnimation(lfU,"stand") call SetUnitPathing(lfU,true) call SetUnitInvulnerable(lfU,false) call Leap_ReturnOrder(lfU) call Leap_EndRoar(lfU) call PauseTimer(ltt) call FastFlush(lf5) call DestroyTimer(ltt) endif endfunction function Leap_JumpSetting takes nothing returns nothing local unit lfU=GetTriggerUnit() local integer lmZ=GetUnitAbilityLevel(lfU,'A0LN') local real lFc=350+50*lmZ local real lnM=GetUnitFacing(lfU) local real lFC=GetUnitX(lfU) local real lFd=GetUnitY(lfU) local real lEv=SafeX(lFC+lFc*Cos(lnM*bj_DEGTORAD)) local real lEV=SafeY(lFd+lFc*Sin(lnM*bj_DEGTORAD)) local timer ltt=CreateTimer() local string lf5=H2Tx(ltt) local trigger lpL=GetTrigger(H2Tx(lfU),"Trigger_TrackOrder") set lFc=SquareRoot((lFC-lEv)*(lFC-lEv)+(lFd-lEV)*(lFd-lEV)) if lFc>100 then call UnitAddAbility(lfU,'Amrf') call UnitRemoveAbility(lfU,'Amrf') call SetUnitPathing(lfU,false) call SetUnitInvulnerable(lfU,true) call SetUnitAnimationByIndex(lfU,6) call DisableTrigger(lpL) call IssueImmediateOrderById(lfU,OrderId("stop")) call EnableTrigger(lpL) call SetReal(lf5,"DistanceRemaining",lFc) call SetReal(lf5,"OriginalDistance",lFc) call SetReal(lf5,"Angle",lnM) call SetHandle(lf5,"Hero",lfU) call TimerStart(ltt,.025,true,function Leap_JumpMoving) call SetBoolean(H2Tx(lfU),"Leap_InAir",true) call SetBoolean(H2Tx(lfU),"SuperOrder",false) endif call PolledWait(5) call SetUnitPathing(lfU,true) call SetUnitInvulnerable(lfU,false) endfunction function Leap_DoNothing takes nothing returns nothing endfunction function Leap_SaveOrders takes nothing returns nothing local unit lfU=GetTriggerUnit() local string lf5=H2Tx(lfU) local boolean lpN=GetBoolean(lf5,"Leap_InAir") call SetInteger(lf5,"OrderId",GetIssuedOrderId()) call SetBoolean(lf5,"Idle",false) if GetTriggerEventId()==EVENT_UNIT_ISSUED_TARGET_ORDER then call SetString(lf5,"OrderType","Target") call SetHandle(lf5,"OrderTarget",GetOrderTarget()) elseif GetTriggerEventId()==EVENT_UNIT_ISSUED_POINT_ORDER then if lpN or GetRange(GetUnitX(lfU),GetUnitY(lfU),GetOrderPointX(),GetOrderPointY())>800 then call SetString(lf5,"OrderType","Point") call SetReal(lf5,"OrderPointX",GetOrderPointX()) call SetReal(lf5,"OrderPointY",GetOrderPointY()) else call SetBoolean(lf5,"Idle",true) endif else call SetString(lf5,"OrderType","Instant") endif if lpN then call SetBoolean(lf5,"SuperOrder",true) endif endfunction function Leap_SpellOrder takes nothing returns boolean return OrderId2String(GetIssuedOrderId())!="windwalk" endfunction function Leap_IsHeroMoves takes nothing returns nothing local unit lfU=GetUnit(H2Tx(GetExpiredTimer()),"Hero") local string lf5=H2Tx(lfU) local real lxx=GetUnitX(lfU) local real lyy=GetUnitY(lfU) local string lpG=GetString(lf5,"OrderType") if lpG=="Point"and GetRange(GetUnitX(lfU),GetUnitY(lfU),GetReal(lf5,"OrderPointX"),GetReal(lf5,"OrderPointY"))<100 then call SetBoolean(lf5,"Idle",true) endif endfunction function Leap_TrackOrdersStart takes nothing returns nothing local unit lfU=GetTriggerUnit() local trigger ltt=CreateTrigger() local timer lt2 call TriggerRegisterUnitEvent(ltt,lfU,EVENT_UNIT_ISSUED_TARGET_ORDER) call TriggerRegisterUnitEvent(ltt,lfU,EVENT_UNIT_ISSUED_POINT_ORDER) call TriggerRegisterUnitEvent(ltt,lfU,EVENT_UNIT_ISSUED_ORDER) call TriggerAddAction(ltt,function Leap_SaveOrders) call TriggerAddCondition(ltt,Condition(function Leap_SpellOrder)) call SetHandle(H2Tx(lfU),"Trigger_TrackOrder",ltt) set lt2=CreateTimer() call SetHandle(H2Tx(lt2),"Hero",lfU) call TimerStart(lt2,.3,true,function Leap_IsHeroMoves) call SetHandle(H2Tx(lfU),"Timer_CheckIdle",lt2) endfunction function Leap_LearnFirst takes nothing returns nothing if GetUnitAbilityLevel(GetTriggerUnit(),'A0LN')==1 then call Leap_TrackOrdersStart() endif endfunction function Leap_Init takes nothing returns nothing local trigger ltt=CreateTrigger() call TriggerRegisterAnyUnitEventBJ(ltt,EVENT_PLAYER_UNIT_SPELL_EFFECT) call TriggerAddCondition(ltt,Condition(function Leap_Spell)) call TriggerAddAction(ltt,function Leap_JumpSetting) set ltt=CreateTrigger() call TriggerRegisterAnyUnitEventBJ(ltt,EVENT_PLAYER_UNIT_SPELL_CAST) call TriggerAddCondition(ltt,Condition(function Leap_Spell)) call TriggerAddAction(ltt,function Leap_DoNothing) set ltt=CreateTrigger() call TriggerRegisterAnyUnitEventBJ(ltt,EVENT_PLAYER_HERO_SKILL) call TriggerAddAction(ltt,function Leap_LearnFirst) endfunction function InitTrig_Leap takes nothing returns nothing endfunction вот код. если он тебе чем то поможет то пожалуйста. Я взял его прямо из доты ибо самому писать не хотелось но смысл там вообщем один. Во време каста спелла, герой заносится в переменную, паузится, потом создается таймер который каждые 0.03 секунды двигает героя вперед на 10 единиц с полярным смещением на точку героя, и углом Facing Angle of Triggering Unit. также идет высчет расстояния "пролетевшего" героя и изменения его высоты действием SetUnitFlyHeight() после пролета определенной дистанции, таймер дестроится герой анпаузится и на него дамми кастер кастует ускорение (скорее всего сделанно на основе "Кровожадность") Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Gekko 0 Жалоба Опубликовано: 8 июля 2007 вот код. если он тебе чем то поможет то пожалуйста. Я взял его прямо из доты ибо самому писать не хотелось но смысл там вообщем один. Во време каста спелла, герой заносится в переменную, паузится, потом создается таймер который каждые 0.03 секунды двигает героя вперед на 10 единиц с полярным смещением на точку героя, и углом Facing Angle of Triggering Unit. также идет высчет расстояния "пролетевшего" героя и изменения его высоты действием SetUnitFlyHeight() после пролета определенной дистанции, таймер дестроится герой анпаузится и на него дамми кастер кастует ускорение (скорее всего сделанно на основе "Кровожадность") хм.. спс, а как вставить его в карту? (с редактором работаю давольно давно, но не с кодом , вообще узнал о нем пару дней назад) ЗЫ: через что можно взломать Доту? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Magz88 0 Жалоба Опубликовано: 8 июля 2007 (изменено) Код канешно жесть, жрет много. можно оптимизировать раз в 10 Причем зачем каставать если можно через абычный триггер изменить мс юнита. думаю там тупо иконка, ну если они сделали через ускорение эт ТТ Зы. я тут арену делаю можите подкинуть идейку на героев/абилки и тп. фантазия уже закончилась. теоритически могу реализовать любую идею. про кредиты не забуду Зачем ламать открытая дота есть, хотя хз есть ли там мирка, непомню какая версия. Изменено 8 июля 2007 пользователем Magz88 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах