felix_ff

Картострой и все что с ним связанно

Рекомендованные сообщения

так.. тама про "ЛЮБЫЕ ВОПРОСЫ ПО ВАРКРАФТ 3" уже есть.. но как я понял там можно обсуждать вообще все что угодно...поэтому создаю эту тему: она исключительно только для Редактора карт Варкрафта и вопросов связанных с ним. поэтому прощу не флудить и задавать вопросы по теме.

 

буду отвечать на вопросы связанные в частности с : TE(Trigger Editor), OE(Object Editor), IM(Import Manager)....

на вопросы по моделям ответить не смогу так как не моделлер.. а вот про создание иконок расказать могу. вообщем дерзайте кто хочет научится делать карты

Изменено пользователем felix_ff

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а знаешь хотя что нужно чтобы можельки создавать.

И поподробнее, про какие ты иконки говоришь. Меня еще интересуют картинки с командами

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а знаешь хотя что нужно чтобы можельки создавать.

И поподробнее, про какие ты иконки говоришь. Меня еще интересуют картинки с командами

 

 

Млин я писал что я не модельщик... для создания моделек есть программы : MDLVis, Warcraft III ArtTools и 3DMAX (последняя - профессиональная программа по созданию 3д моделей..., но что бы научиться на ней создавать модели надо иметь много времени, терпения и усердия... плюс башка должна в этом деле варить... у мну не было времени, да и усердия тоже.. поэтому я моделями не занимаюсь)

 

Про иконки: в варкрафте есть иконки:)кнопочки с картинками)... например иконкой можно назвать пиктограмму огненного столба у Кровавого мага... кароче это все пиктограммы в игре... так вот могу подсказать как их рисовать и как их импортировать в карты

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

так.. тама про "ЛЮБЫЕ ВОПРОСЫ ПО ВАРКРАФТ 3" уже есть.. но как я понял там можно обсуждать вообще все что угодно...поэтому создаю эту тему: она исключительно только для Редактора карт Варкрафта и вопросов связанных с ним. поэтому прощу не флудить и задавать вопросы по теме.

 

буду отвечать на вопросы связанные в частности с : TE(Trigger Editor), OE(Object Editor), IM(Import Manager)....

на вопросы по моделям ответить не смогу так как не моделлер.. а вот про создание иконок расказать могу. вообщем дерзайте кто хочет научится делать карты

Как нахимичить с триггерами так, чтобы герой мог взять только один(два) предмет(а) определённого класса?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как нахимичить с триггерами так, чтобы герой мог взять только один(два) предмет(а) определённого класса?

 

Тригер на событие: Юнит получил предмет

Условие:And(Item Comparasion(ItemBegin Manipulated) == такой то тип, Integer Comparasion: Count Items of Type (таких то) >1)

Действие: Hero Drop Item (TriggeringUnit, Item Begin Manipulated)

 

А на пальцах: событие что юнит получил предмет

Условия: если кол-во итемов определенного типа больше 1 у героя, и подобранный предмет другого типа

То действия: Дропнуть взятый предмет из инвенторя героя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тригер на событие: Юнит получил предмет

Условие:And(Item Comparasion(ItemBegin Manipulated) == такой то тип, Integer Comparasion: Count Items of Type (таких то) >1)

Действие: Hero Drop Item (TriggeringUnit, Item Begin Manipulated)

 

А на пальцах: событие что юнит получил предмет

Условия: если кол-во итемов определенного типа больше 1 у героя, и подобранный предмет другого типа

То действия: Дропнуть взятый предмет из инвенторя героя.

 

Чё-то у меня не получается, некоторые функции которые ты указал в условиях я не нашёл, если не трудно, можешь пожалуйста на мыло скинуть готовую карту с одним лишь этим триггером? Класс предмета допустим артефакт... (Sprinter20@inbox.ru)

И ещё есть вопрос:

Допустим на карте можно ставить только определённое количество декораций, предметов, юнитов, допустим 1000, как увеличить это число?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Чё-то у меня не получается, некоторые функции которые ты указал в условиях я не нашёл, если не трудно, можешь пожалуйста на мыло скинуть готовую карту с одним лишь этим триггером? Класс предмета допустим артефакт... (Sprinter20@inbox.ru)

И ещё есть вопрос:

Допустим на карте можно ставить только определённое количество декораций, предметов, юнитов, допустим 1000, как увеличить это число?

 

Максимальное кол-во декорация на карте (стандартное) около 8000 точнее 8191.

Стандартными методами его увеличить нельзя зато можно использовать альтернативный редактор карт. Называется WEU (World Edit Unlimited), там есть функция позволяющая убрать ограничение по кол-ву дуададов.

 

Карты вышлю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Максимальное кол-во декорация на карте (стандартное) около 8000 точнее 8191.

Стандартными методами его увеличить нельзя зато можно использовать альтернативный редактор карт. Называется WEU (World Edit Unlimited), там есть функция позволяющая убрать ограничение по кол-ву дуададов.

 

Карты вышлю.

 

Спасибо огромное, всё мучался с этими предметами...

Ты говорил, знаешь как рисовать иконки и как вставлять их в игру, поделись секретом ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо огромное, всё мучался с этими предметами...

Ты говорил, знаешь как рисовать иконки и как вставлять их в игру, поделись секретом ))

 

иконка это изображение размером 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/

 

ну вроде все. если что неясно то отвечу ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

................................ну вроде все. если что неясно то отвечу :rolleyes:

 

Понятно всё :P , а что ты можешь рассказать о триггерных способностях героя?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Понятно всё :lol: , а что ты можешь рассказать о триггерных способностях героя?

что именно тебя интересюет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

что именно тебя интересюет?

 

Даже незнаю... Приведи пример наипростейшей такой способности...

Я вообще про это ничего незнаю, только слышал.

Изменено пользователем Спринтер20

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Даже незнаю... Приведи пример наипростейшей такой способности...

Я вообще про это ничего незнаю, только слышал.

 

Ну к примеру тригерно делаются способности:

1) накладывания не одного эффекты а нексолько. Допустим я кастую абилку на юнита, и он начинает терять здоровье со временем, у него снижается броня, мувспид а также если он будет какстить заклинания то он будет получать дополнительный дамаг

2) способности связанные с двиганием юнита или меняюще позицию кастера и цели заклинания

3) хз чо еще придумать. с каждой атаки героя будет наносится дополнительный дамаг зависящий от его текущей маны к примеру.

 

Через тригеры можно сделать практически все что захочешь. надо только иметь цель и стремление. Ну и знания конечно, но это приходит со временем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну к примеру тригерно делаются способности:

1) накладывания не одного эффекты а нексолько. Допустим я кастую абилку на юнита, и он начинает терять здоровье со временем, у него снижается броня, мувспид а также если он будет какстить заклинания то он будет получать дополнительный дамаг

2) способности связанные с двиганием юнита или меняюще позицию кастера и цели заклинания

3) хз чо еще придумать. с каждой атаки героя будет наносится дополнительный дамаг зависящий от его текущей маны к примеру.

 

Через тригеры можно сделать практически все что захочешь. надо только иметь цель и стремление. Ну и знания конечно, но это приходит со временем.

 

Ну, вообщем пока этого мне не надо, но есть другое, как сделать так, чтобы юнит перемещался из одного места в другое, без портала, просто защёл на область и переместился, без эффектов или с эффектами, ещё как с помощью триггера создать юнит из ниоткуда, просто задать точку появления и как воскресить юнита через день игрового времени или через просто промежуток времени?

 

Заранее спасибо.

Изменено пользователем Спринтер20

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спринтер20

я думаю тебе будет полезно заглянуть на ресурс под названием www.blizzard.ru/forum в раздел Творцы Миров.

Там есть Библиотека "где находятся целые тома знаний" ©M&M8 :rolleyes:

Так вот советую почитать статьи для начинающих. Они довольно легкие думаю у тебя с ними проблем не будет.

 

Если потребуется задать вопрос то задавай в главном подразделе ТМ. Только заранее прочитай правила, а то у нас там народ довольно злобный. к новичкам отонсятся скептически но всетаки помогают если не задаются совсем "тупые" вопросы. Поэтому для начала почитай библиотеку будет полезно.

 

Если что пиши сюда. Просто щяс новая неделя начинается и все такое. Учиться надо и.т.д. поэтому на твои вопросы ответить смогу только когда будет свободное время (собсна свободное время у мну бывает по выходным в частности)

 

Пока это все что я хотел сказать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спринтер20

.....................когда будет свободное время (собсна свободное время у мну бывает по выходным в частности)

 

Пока это все что я хотел сказать.

 

Да я вообщем-то не новичок, в редакторе уже 2 года, всё хорошо знаю(ну триггеры так себе), спрашиваю я тебя только то чего не смог получить собственным трудом... гляну в библиотеку :censored:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да я вообщем-то не новичок, в редакторе уже 2 года, всё хорошо знаю(ну триггеры так себе), спрашиваю я тебя только то чего не смог получить собственным трудом... гляну в библиотеку :russian:

Оо как все запущенно :yahoo: открою тебе страшную тайну у меня стаж в ВЕ 2.5 года наверное. только я наверное когда редактор открыл раз пятый уже знал как делать тригерные спеллы.

 

И уж точно посмотрел какие есть действия в тригерах для простого создания юнита.

Бегом марш в библиотеку :rolleyes:

 

адд: хотя я конечно понимаю что мб ты два года в редакторе клепал карты на развитие. притензий никаких, но если задумывался о сценарийных картах то сразу видно что в тригеры ты не лазил вообще :rofl:

Изменено пользователем felix_ff

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Слушай, а зачем выучивать редактор, если ты туда даже не заходил? :) Я вот в играх если редактор нахожу, то не планирую сразу создать что-то...

Вообще я полтора года пытался делать сценарийные карты, причем я о триггерах тогда вообще не знал ничё :)

Так что вот и смари, сколько у меня времени было на изучение триггеров, я искал всякие руководства, набирал в поисковиках КАРТОСТРОЙ WARCRAFT 3, но ничего не находил...

А на этот форум наткнулся искав помощь по картострою в DOOM 3. :(

 

Ну раз то что я спрашиваю у тебя - пустяковое дело, то придумаю что-то заковырестое...

Вот допустим как сделать так чтобы опция СОХРАНИТЬ ИГРУ была доступна только при каких-нибудь условиях?

 

Приходил я уже в библиотеку, поздно приходил, там было закрыто... :P

Изменено пользователем Спринтер20

Поделиться сообщением


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

Вот допустим как сделать так чтобы опция СОХРАНИТЬ ИГРУ была доступна только при каких-нибудь условиях?

 

Приходил я уже в библиотеку, поздно приходил, там было закрыто... :)

 

-Про опцию сохранения: данную фичу настроить нельзя. Т.е нельзя разрешить-запретить сохранение игры при каких либо условиях.оно всегда доступно так как прописанно в движке вара.

 

про библиотеку: О_О ты в какую библиотеку то заходил? :P

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

-Про опцию сохранения: данную фичу настроить нельзя. Т.е нельзя разрешить-запретить сохранение игры при каких либо условиях.оно всегда доступно так как прописанно в движке вара.

 

про библиотеку: О_О ты в какую библиотеку то заходил? :lol:

 

Да вот наша библиотека, в 40 доме... :)

Если чего в библиотеке не найду, спрашиваю здесь, ок?

 

Кстати, забыл спросить где мне откопать World Edit Unlimited, надеюсь он такой же как и обычный редактор...

 

Я видел на форуме о программе, которая может установить рамер карты до 512х512, это мне очень пригодилось бы, зефир вроде называется, где её достать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ахахаха... я щяс со стула упаду :rolleyes: ты прикалываешься что ли?

я имел ввиду не обычную реаловскую библиотеку, а раздел который называется "Библиотека" на форуме blizzard.ru/forum

 

читай в следующий раз внимательнее. все о чем спросил там есть.

лооооол ну ты даешь :lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ахахаха... я щяс со стула упаду ;) ты прикалываешься что ли?

я имел ввиду не обычную реаловскую библиотеку, а раздел который называется "Библиотека" на форуме blizzard.ru/forum

 

читай в следующий раз внимательнее. все о чем спросил там есть.

лооооол ну ты даешь :)

 

Канешно прикалываюсь ^_^ , яж не ламер... на близзард форуме был, там много полезных советов, но то чего там неуказано или я ещё не нашёл, спрашивал тебя в предыдущем сообщении.. :)

 

Кстати ссылки на форуме, для скачивания WEU битые, а на Zepir's map editor нету (или я не нашёл)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

у мну и-нета нету. я хз особо денег тоже нема хз когда оплачу. Если к другу на днях зайду то постораюсь выложить.

 

Если у тебя и-нет есть у самого посмотри на сайте www.xgm.ru

Еще есть одно место но оно довольно хитрое и попасть туда может не каждый ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите плз: как сделать магию "прыжок", как у "Tirend"(так вроде) в доте...

---------------------------------

короче, как сделать чтоб:

при нажатии на спел, герой/юнит прыгает на определенное расстояние вперед.(блинки не подойдут, нужно именно анимация полета :lol: )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите плз: как сделать магию "прыжок", как у "Tirend"(так вроде) в доте...

---------------------------------

короче, как сделать чтоб:

при нажатии на спел, герой/юнит прыгает на определенное расстояние вперед.(блинки не подойдут, нужно именно анимация полета :angry: )

 


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() после пролета определенной дистанции, таймер дестроится герой анпаузится и на него дамми кастер кастует ускорение (скорее всего сделанно на основе "Кровожадность")

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

вот код. если он тебе чем то поможет то пожалуйста. Я взял его прямо из доты ибо самому писать не хотелось но смысл там вообщем один. Во време каста спелла, герой заносится в переменную, паузится, потом создается таймер который каждые 0.03 секунды двигает героя вперед на 10 единиц с полярным смещением на точку героя, и углом Facing Angle of Triggering Unit. также идет высчет расстояния "пролетевшего" героя и изменения его высоты действием SetUnitFlyHeight() после пролета определенной дистанции, таймер дестроится герой анпаузится и на него дамми кастер кастует ускорение (скорее всего сделанно на основе "Кровожадность")

 

хм.. спс, а как вставить его в карту?

(с редактором работаю давольно давно, но не с кодом ;) , вообще узнал о нем пару дней назад)

 

ЗЫ: через что можно взломать Доту? ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Код канешно жесть, жрет много. можно оптимизировать раз в 10 <_<

Причем зачем каставать если можно через абычный триггер изменить мс юнита. думаю там тупо иконка, ну если они сделали через ускорение эт ТТ

 

Зы. я тут арену делаю можите подкинуть идейку на героев/абилки и тп. фантазия уже закончилась. теоритически могу реализовать любую идею. про кредиты не забуду :angry:

 

Зачем ламать открытая дота есть, хотя хз есть ли там мирка, непомню какая версия.

Изменено пользователем Magz88

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас