"(Не визуальный эффект. А эффект от способностей артефакта - (+к статам и т. д.))."
Предмет обладает способностями. Делаешь юнита- здением или стражем и т.п (в общем классифицируешь его) и у способности предмета ставишь допустимые цели (те классы юнитов, которые могут применять), а соответственно дамми юнита классифицируешь в недопустимые цели.
Убираешь эффект. Триггерами прикрепляешь его к юниту-владельца предмета(типа того) Если не понятно, то смотри тут(xgm.ru/forum/showthread.php?t=44764)
ЗЫ Триггерно и Jass? Звучит, как кораблестроение и корабль . Мб ты хотел сказать Gui или Jass
EnergyFrost, кстати можно было 1 группу использовать а не плодить множество...
я не могу додуматься, как это сделать, ведь если обновлять способность, т.е проверять находится ли юнит в области x от юнита(владельца ауры) , то те юниты, на которые действует эта аура от другого кастера, но они не находятся в области этого, то у них удалится. Вот с этой проблемой с столкнулся. А вообще 4 кб мне не жалко выделить на группу, тем более от силы по карте будет бегать не больше 5-10 юнитов (5-10 групп) quq_CCCP, Как заказывал. Теперь аура может добавить 10 способностей юниту
Жаль что наработка для 1 единственной ауры, почему нельзя было сделать для множества скиллов и возможности добавления множества абилок? Складывание и подавление для отдельных аур?
Если она пройдет, сделаю
Москва не сразу строилась)
Хотя то, что ты предлагаешь - минутное дело через цикл. А вот подавление потрудиться придется
nvc123, чем тебе обычные функции нее угодили?. Через 30 минут перезалью. И таймер только один. Или ты предлогаешь для всех юнитов с такой абилой сделаить один таймер?
Гуи свои скинь
Возможно из-за того, что у тебя на Событие стоит : Юнит атакован
А действие прибавить хп. Ну так вот: Событие атакован происходит раньше получения урона, т.е если ты поставишь против своего юнита чувака с дамагом на 10000 , то он его убьет , не завися сколько у тебя там прибавляет хп. Но это лишь предположение
хм, щас придумаю... Возможно так : создаешь триггер с событием, ну там что-то связаное с улучшением способности (точно не помню). Далее пишешь:
создаешь структуру
создаешь локальный таймер (1-2 сек нормально)
вносишь данные в структуру
запускаешь таймер
добавляешь в структурную группу всех юнитов в регионе ( какой тебе нужно)
ForGroup добавить способность всем юнитам в группе ну и дейсвтия ауры какие там еще....
PS забыл сказать про условие в таймере:
Если у юнита нет способности , то остановить таймер, сломать структуру и тд.
Если тебе не понятно, то завтра могу тебе написать (дай мне знать)
и Еще скажи мне, ты на JNGP работаешь?
EnergyFrost, конкретно в данном случае ты используешь кастомскрипт вместо обычного гуишного вызова, который при компиляции карты превращается в ту же самую строчку кода.
Более того, если уж ты считаешь, что такая смесь лучше чистого гуи - преобразуй триггер в чистый джасс. Довольно легко заметить, что примитивный цикл с условием там записан чересчур сложно.
Я знаю. Я просто не нашел такой нативы в gui списке и решил написать, как я предпочитаю
Пордон, там мой косяк. Давно на GUI не работал. Вот так верно.
теперь кастом скрипт таков
call UnitAddItemToSlotById(GetManipulatingUnit(),'id вашего предмета',GetForLoopIndexA()-1)
я просто предмет сравнивал с предметом (1=1?)
а надо было 1=x?
в общем щас правльно
карту еще прикрепил. С тебя "+"
ты нахер копируешь всю функцию :D
ты видешь как я тебе на гуи сделал? SomeFire:
Дик, во-первых, всё там влезает, просто каретку двигать надо. Во-вторых, ты серьезно хочешь использовать джасс вместо гуи??? Вот эту ересь вместо одной гуи-строчки?
я тебя не понимаю. GUI - это Jass, только с графическим интерфейсом и дебильным компилятором, утечками etc.
nvc,это можно было сделать на обычном Jass и не так помпезно ), но 10 секунд старания достойны плюсика. Щас я тебе на обычный Jass переведу
function ItemReplace takes unit a, item b ,integer d returns nothing
local integer c=5;
loop
if (UnitItemInSlot(a,c)==b)
call RemoveItem(b);
call UnitAddItemToSlotById(a,d,c)
set c=0;
endif
exitwhen c==0
set c=c-1
endloop
endfunction
Для того, чтобы ее использовать просто набери call ItemReplace(Юнит,итем,айдиитем)
айдиимет который нужно добавить
юнит-манипулитедюнит
итем-гетманипулитед
Я вот только не знаю, будет ли работать эта система если у героя 6> слотов
А на гуи это будет так
Строка кастом скрипта : call UnitAddItemToSlotById(GetManipulatingUnit(),'id вашего предмета',GetForLoopIndexA())
Будет работать или нет, я не знаю, но попробуй
EnergyFrost, в дгуи дамик успевает совершить каст за время обработки нескольких нативок а это на нормальных компах сотые милисекунды
надо просто дамика нормально настроить
в РО, графика , приложение на 0 свести (все , что связано с кастом)? ну я так думаю
EnergyFrost, 'Aloc' решает большую часть этих проблем. Ну и да. установка времени жизни удобнее чем отрицательная регенерация, я просто говорю что так тоже можно и что я так делал.
Мы с тобой говорим об одном и том же. И даммика надо удалять( в любом случае).
EnergyFrost, А еще можно делать отрицательную регенерацию здоровья (с временем жизни у меня какой-то косяк был, в итоге я так делать начал).
Реген плохо. Ибо пока они разлагается их можно воскресить. Или, к примеру, у какого-то мага будет заклинание регенирация. Ну много косяков может быть наделано с регеном. А вот умер-удалить 100%
ЯснонЯсно. А 2 последних аргума на что влияют? Я пытался перевести и эксперементировать, но так и не понял
И как изменить размер? Или надо создавать несколько, чтобыплощадь была больше?
EnergyFrost, дамми спокойно удаляется таймером или вейтом.
Удобнее делать таймер истечения. И сделать тригг, который реагирует на смерть даммика и в действие записать removeunit (getdyingunit). И по истечению таймера дамми будет удален.
Ред. EnergyFrost
» WarCraft 3 / Системы блокировки использования артефакта
» WarCraft 3 / Системы блокировки использования артефакта
Ред. EnergyFrost
» WarCraft 3 / Нестандартная аура
Ред. EnergyFrost
» WarCraft 3 / Системы блокировки использования артефакта
Ред. EnergyFrost
» WarCraft 3 / Системы блокировки использования артефакта
ЗЫ Триггерно и Jass? Звучит, как кораблестроение и корабль . Мб ты хотел сказать Gui или Jass
» WarCraft 3 / Нестандартная аура
quq_CCCP, Как заказывал. Теперь аура может добавить 10 способностей юниту
» WarCraft 3 / Нестандартная аура
Москва не сразу строилась)
Хотя то, что ты предлагаешь - минутное дело через цикл. А вот подавление потрудиться придется
» WarCraft 3 / Нестандартная аура
» WarCraft 3 / Лечение
» WarCraft 3 / Лечение
Возможно из-за того, что у тебя на Событие стоит : Юнит атакован
А действие прибавить хп. Ну так вот: Событие атакован происходит раньше получения урона, т.е если ты поставишь против своего юнита чувака с дамагом на 10000 , то он его убьет , не завися сколько у тебя там прибавляет хп. Но это лишь предположение
» WarCraft 3 / Нестандартная аура
Ред. EnergyFrost
» WarCraft 3 / Ауры...
Если у юнита нет способности , то остановить таймер, сломать структуру и тд.
Если тебе не понятно, то завтра могу тебе написать (дай мне знать)
и Еще скажи мне, ты на JNGP работаешь?
» WarCraft 3 / Помещение артефакта в запомненный слот
Да и какая разница? Все ведь работает
» WarCraft 3 / Помещение артефакта в запомненный слот
» WarCraft 3 / Помещение артефакта в запомненный слот
call UnitAddItemToSlotById(GetManipulatingUnit(),'id вашего предмета',GetForLoopIndexA()-1)
я просто предмет сравнивал с предметом (1=1?)
а надо было 1=x?
в общем щас правльно
карту еще прикрепил. С тебя "+"
» WarCraft 3 / Помещение артефакта в запомненный слот
ты видешь как я тебе на гуи сделал?
SomeFire: я тебя не понимаю. GUI - это Jass, только с графическим интерфейсом и дебильным компилятором, утечками etc.
» WarCraft 3 / Помещение артефакта в запомненный слот
call UnitAddItemToSlotById(GetManipulatingUnit(),'id вашего предмета',GetForLoopIndexA())
Ред. EnergyFrost
» WarCraft 3 / Помещение артефакта в запомненный слот
function ItemReplace takes unit a, item b ,integer d returns nothing
local integer c=5;
loop
if (UnitItemInSlot(a,c)==b)
call RemoveItem(b);
call UnitAddItemToSlotById(a,d,c)
set c=0;
endif
exitwhen c==0
set c=c-1
endloop
endfunction
Для того, чтобы ее использовать просто набери call ItemReplace(Юнит,итем,айдиитем)
айдиимет который нужно добавить
юнит-манипулитедюнит
итем-гетманипулитед
Я вот только не знаю, будет ли работать эта система если у героя 6> слотов
А на гуи это будет так
Строка кастом скрипта : call UnitAddItemToSlotById(GetManipulatingUnit(),'id вашего предмета',GetForLoopIndexA())
Будет работать или нет, я не знаю, но попробуй
» WarCraft 3 / Триггерное отравление
» WarCraft 3 / Триггерное отравление
» WarCraft 3 / Триггерное отравление
» WarCraft 3 / Триггерное отравление
» WarCraft 3 / Текстура земли
И как изменить размер? Или надо создавать несколько, чтобыплощадь была больше?
» WarCraft 3 / Текстура земли
» WarCraft 3 / Триггерное отравление