XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
VolkPK

offline
Опыт: 4,877
Активность:
Магия
Где ошибка? Ничего не происходит...
Attack
событие
A unit атакован
условие
NaturePower[(Player number of (Owner of (Attacking unit)))] == true
((Attacking unit) is герой) == true
действие
Custom script: local integer u
Set NaturePowerUnits = (Unit-type of (Attacked unit))
Custom script: set u = udg_NaturePowerUnits
Replace (Attacked unit) with a мой юнит using старая боевая единица life and mana
Wait 15.00 seconds
Custom script: set udg_NaturePowerUnits = u
Replace (Attacked unit) with a NaturePowerUnits using старая боевая единица life and mana


Копируется плохо, то что редактор сделал нечитабельным писал сам.

VolkPK добавил:
^
|
С этим разобрался, возникла другая проблема, как тригерами отследить выключение магии?
Мне надо при рассеивание магии забивать в NaturePower[(Player number of (Owner of (Attacking unit)))] нет.
Старый 10.09.2005, 17:01
Sergey
Старейший
offline
Опыт: 44,363
Активность:
В первом примере - надо было сохранить юнит после реплейса в отдельную переменную.
Что касается отследить диспелы - задача не такая простая. Можно сделать лишь искуственно обработав каждое возможное заклинание типа диспел - на юнит и ена область.. При его применении проверять, был ли такой-то юнит в области диспела. Или... Помню когда-то делал подобную задачу, но получилось довольно глючно и геморрно.
Старый 10.09.2005, 17:35
VolkPK

offline
Опыт: 4,877
Активность:
Еше вопрос, но уже делаю другой спелл, как создать нейтрально враждеюную иилюзию, и заставить ее атаковать юнита из которога она(иллюзия) зделана?
Старый 12.09.2005, 18:23
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Единственный способ создать иллюзию - применить спец способность. Эта способность предмета, создающего иллюзии. К сожалению, если ты создашь какого-нибудь невидимого юнита и дашь ему способность создать иллюзию, то обнаружишь, что его невозможно заставить стандартными способами применить эту способность на выбранный юнит. Такой текстовой команды (order) не существует. Правда заставить применит все таки можно - по id приказа - делается это только через jass. Или создавать невидимый юнит с инвентарем и давать прика применить жезл иллюзии на выбранный юнит (правда при этом при первом применении подобного заклинания будут тормоза).
Далее, вызов иллюзии по-моему можно отследить. И как только иллюзия создана, дать команду атаковать нужный юнит. Делать это опять же лучше через jass.
Честно говоря мало желания этим заниматься, но если нужно - могу попробовать сделать пример.
Старый 12.09.2005, 18:53
VolkPK

offline
Опыт: 4,877
Активность:
Если будет желание, и займешся, биг сенкс от меня :)
А пока еше один глючный скрипт, ысчо одна магия, три часа е... хм, мучался.
LightningMove
Events
Unit - A unit Begins casting an ability
Conditions
(Ability being cast) Equal to Молни&#208​;½Ð¾ÑÐ½Ð¾&#208​;µ движеÐ&#18​9;ие
Actions
Custom script: local location PointStartCast
Custom script: local lightning Lightning
Custom script: local real Face
Unit - Make (Casting unit) Invulnerable
Unit - Turn collision for (Casting unit) On
Set MagicLightningMoveStartPoint = (Position of (Casting unit))
Lightning - Create a lightning effect Finger of Death MagicLightningMoveStartPoint (Position of (Casting unit))
Set MagicLightningMoveLightning = (Last created lightning effect)
Custom script: set PointStartCast = udg_MagicLightningMoveStartPoint
Custom script: set Lightning = udg_MagicLightningMoveLightning
Unit - Make (Casting unit) face (Target point of ability being cast) over 0.00 seconds
Set MagicLightningMoveFace = (Facing of (Casting unit))
Custom script: set Face = udg_MagicLightningMoveFace
For each (Integer A) from 1 to (Integer((Distance between (Position of (Casting unit)) and (Target point of ability being cast)))), do (Actions)
Loop - Actions
Custom script: set udg_MagicLightningMoveStartPoint = PointStartCast
Custom script: set udg_MagicLightningMoveLightning = Lightning
Custom script: set udg_MagicLightningMoveFace = Face
Unit - Move (Casting unit) instantly to ((Position of (Casting unit)) offset by 1.00 towards MagicLightningMoveFace degrees), facing (Target point of ability being cast)
Lightning - Move MagicLightningMoveLightning MagicLightningMoveStartPoint (Position of (Casting unit))
Unit - Order (Casting unit) to damage area in 0.01 seconds of size 10.00 at (Position of (Casting unit)) for (1.00 x (Real((Level of Молни&#208​;½Ð¾ÑÐ½Ð¾&#208​;µ движеÐ&#18​9;ие for (Casting unit))))) using attack type Spells and damage type Lightning.
Wait 0.01 seconds
Custom script: set udg_MagicLightningMoveLightning = Lightning
Lightning - Destroy MagicLightningMoveLightning
Unit - Make (Casting unit) Vulnerable
Unit - Turn collision for (Casting unit) On
Старый 12.09.2005, 22:45
VolkPK

offline
Опыт: 4,877
Активность:
Че, никто не подскажет где ошибка... Первая более менее нормалная магия, и... Ех..
Старый 13.09.2005, 10:30
NETRAT

offline
Опыт: 83,712
Активность:
Вышли карту, гляну, может найду чего. Правда я жасс не юзаю. И напиши как у тя глючит
Старый 13.09.2005, 12:51
VolkPK

offline
Опыт: 4,877
Активность:
Куда слать то? Из жасса там тока локальные переменные, глючит так, что юнит движется медленно, и не туда куда нужно...

VolkPK добавил:
NETRAT, включи аську, я тебе все глюки подробно распишу :)
Старый 13.09.2005, 13:13
Шизик
это бесы!
offline
Опыт: 1,431
Активность:
Wait 0.01 seconds намного больше чем 0.01... нудно делать через периодик ивент
Старый 13.09.2005, 14:47
NETRAT

offline
Опыт: 83,712
Активность:
VolkPK в аттач слать.
Старый 13.09.2005, 15:55
MPI3
Хм...
offline
Опыт: 24,597
Активность:
VolkPK
не понял чё за каракули в конце???
Старый 13.09.2005, 16:02
NETRAT

offline
Опыт: 83,712
Активность:
MPI3 это имя юнита
Старый 13.09.2005, 16:58
VolkPK

offline
Опыт: 4,877
Активность:
Какие каракули?
Unit - Order (Casting unit) to damage area in 0.01 seconds of size 10.00 at (Position of (Casting unit)) for (1.00 x (Real((Level of Молни&#208​;½Ð¾ÑÐ½Ð¾&#208​;µ движеÐ&#18​9;ие for (Casting unit))))) using attack type Spells and damage type Lightning. Это штоли? Уровень магии у кастера.

Отредактировано VolkPK, 16.09.2005 в 00:28.
Старый 13.09.2005, 22:35
VolkPK

offline
Опыт: 4,877
Активность:
4 просмотра и 0 ответов.... Мдя...
Старый 15.09.2005, 00:20
NETRAT

offline
Опыт: 83,712
Активность:
VolkPK ну так вот тестил я ее вчера ночью

Unit - Order (Casting unit) to damage area in 0.01 seconds of size 10.00 at (Position of (Casting unit)) for (1.00 x (Real((Level of Молниносное движение for (Casting unit))))) using attack type Spells and damage type Lightning.
Wait 0.01 seconds

Это почему он тормозит - он не успевает сделать удар за 0.01 секунду - поэтому он дергается как припадочный.

И вообще моя 1.17 выдала ошибку скрипта на строке Lightning - Create a lightning effect Finger of Death MagicLightningMoveStartPoint (Position of (Casting unit)), но это строка спецэффекта, поэтому ее можно отключить.

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

Или проси Сергея - он в этом лучше разбирается
Старый 15.09.2005, 00:40
VolkPK

offline
Опыт: 4,877
Активность:
Долго я с ним мучался, почему когда я приказываю кастеру бежать к точке каста, он телепортируется в центр карты?

Через пол часика распишу.


ЗЫ А остальные две магии как? Не слишком убого для первого раза?

VolkPK добавил:
А если попробовать заместо Unit - Order (Casting unit) to damage area... повреждать врагов в радиесе 50 от касера через Pick Every... он будет дергатся?
Старый 15.09.2005, 01:37
NETRAT

offline
Опыт: 83,712
Активность:
VolkPK я полагаю потому что спелл сделан на базе blink'a. Остальные просто не проверял =(

NETRAT добавил:
VolkPK я вообще не использовал акшн Order to damage
Старый 15.09.2005, 01:41
VolkPK

offline
Опыт: 4,877
Активность:
Воть:
LightningMove
Events
Unit - A unit Begins casting an ability
Conditions
(Ability being cast) Equal to Молни&#208​;½Ð¾ÑÐ½Ð¾&#208​;µ движеÐ&#18​9;ие
Actions
Custom script: local location PointStartCast
Custom script: local lightning Lightning
Unit - Turn collision for (Casting unit) Off
Set MagicLightningMoveStartPoint = (Position of (Casting unit))
Lightning - Create a lightning effect Finger of Death MagicLightningMoveStartPoint (Position of (Casting unit))
Set MagicLightningMoveLightning = (Last created lightning effect)
Custom script: set PointStartCast = udg_MagicLightningMoveStartPoint
Custom script: set Lightning = udg_MagicLightningMoveLightning
Unit - Order (Casting unit) to Move To (Target point of ability being cast)
For each (Integer A) from 1 to ((Integer((Distance between MagicLightningMoveStartPoint and (Target point of ability being cast)))) / (Integer((Current movement speed of (Casting unit))))), do (Actions)
Loop - Actions
Custom script: set udg_MagicLightningMoveStartPoint = PointStartCast
Custom script: set udg_MagicLightningMoveLightning = Lightning
Lightning - Move MagicLightningMoveLightning MagicLightningMoveStartPoint (Position of (Casting unit))
Custom script: set bj_wantDestroyGroup = true
Unit Group - Pick every unit in (Units within 50.00 of (Position of (Casting unit)) matching (((Matching unit) belongs to an enemy of (Owner of (Casting unit))) Equal to True)) and do (Actions)
Loop - Actions
Unit - Order (Casting unit) to damage (Picked unit) for ((Real((Level of Молни&#208​;½Ð¾ÑÐ½Ð¾&#208​;µ движеÐ&#18​9;ие for (Casting unit)))) x 30.00) using attack type Spells and damage type Lightning.
Wait 0.01 seconds
Custom script: set udg_MagicLightningMoveLightning = Lightning
Lightning - Destroy MagicLightningMoveLightning
Unit - Turn collision for (Casting unit) On
Когда кастую происходит такая картина Репина:
Кастер летит в центр карты, в задницу ему, в догонку, фигачит молния, молния исчезает и кастер бежит туда куда я шелкнул.
ЗЫ Попробую ченить заместо blink'а другое поставить...
Старый 15.09.2005, 01:58
NETRAT

offline
Опыт: 83,712
Активность:
VolkPK Я, так понимаю, тебе нужно чтобы он бежал в указанную точку на карте, потом включал неуязвимость и фигачил всех подряд (по одному удару или как?)
Старый 15.09.2005, 02:03
VolkPK

offline
Опыт: 4,877
Активность:
Мне надо чтобы он неуезвимый бежал, повреждая тех рядом с кем он бежит, и пока он бежит, ему в задницу должна фигачить молния от того места где он начал свой забег, чего я впрочем почти добился заменив blink на пронзаюшую смерть.
И вот тут возникли еше проблемы:
Как сделать чтоб героем нельзя было управлять пока он бежит?
Почему он перед тем как побежит выстрелит в то место куда собирается вежать.
Как правильно расчитать время исчезновения молнии? Бегу не далеко, долго держится, далеко исчезает на пол дороги.
Старый 15.09.2005, 02:18
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 08:04.