Warcraft 3

9.3
()

Тема по вопросам о WorldEditor №9

еееее
с моей подачки новая тема !!
так эти строки на джазе мне? можете конкретно ответить что писать пожалуста я такой нуп что плакать хочется!
Хомяк что тебе нужно именно мб помогу чем
народ помогите я только начинаю создавать карты создал с нуля две расы попытался поиграть с другом
создаю игру пишет "слишком большой размер файла. выберите другую карту"
карта весит 11метров
чо делать народ
0
Разрешено максимум 8 мегабайт.
у меня есть карта которая весит 10мегабйт и все работает
0
Пользуйся оптимизатором.
спс понемногу помогает
Ильяс плз подскажи как сделать таймер с обратным отсчётом??
на Jass
0
Аа он и так с обратным отсчётом.
Допустим, если ты запустил на 5 сек., то он так (внутри движка) и тикает: 4. . .3. . .2. . .1. . . и действия.

Опиши конкретно: зачем тебе это.
кароче мне надо так чтобы :
когда герой умирает появляется окно и там идёт обратный отсчёт как он закончится герой воскресает!
0
Так создай окно для таймера. Ищи нужные действия в категории "обратный отсчёт".
вот как раз это я не могу как открыть окно таймера?
Ильяс такая функция будет идти??


function Trig_GeneralDerevo_Jass_Actions takes nothing returns nothing
call SetPlayerState(Player(1),PLAYER_STATE_RESOURCE_LUMBER,1)
call SetPlayerState(Player(2),PLAYER_STATE_RESOURCE_LUMBER,1)
call SetPlayerState(Player(3),PLAYER_STATE_RESOURCE_LUMBER,1)
call SetPlayerState(Player(4),PLAYER_STATE_RESOURCE_LUMBER,1)
call SetPlayerState(Player(5),PLAYER_STATE_RESOURCE_LUMBER,1)
call SetPlayerState(Player(7),PLAYER_STATE_RESOURCE_LUMBER,1)
call SetPlayerState(Player(8),PLAYER_STATE_RESOURCE_LUMBER,1)
call SetPlayerState(Player(9),PLAYER_STATE_RESOURCE_LUMBER,1)
call SetPlayerState(Player(10),PLAYER_STATE_RESOURCE_LUMBER,1)
call SetPlayerState(Player(11),PLAYER_STATE_RESOURCE_LUMBER,1)
endfunction
у меня там 1 игрок и 7 игрок это крипы будут такочто сдесь их ненадо!
Ладно, с тем багом так и не разобрался.
Прошу всех повторить все свои старые вопросы, на которые не был получен ответ.
0
Ну ты все им устанавливаешь (а не добавляешь) единицу дерева
Вот мои вопросы:
1.Как сделать переход с одной карты на другую? То есть как в кампании за Рексара.
2.Как развернуть декорацию по оси Z?Т.е. например есть стол на ножках, а нужно чтоб он лежал набок.
3.Как сделать проверку выполнено\не выполнено задание?
4.Как поменять названия рас в окне выбора карты?
5.Каким действием (в тригере само собой) сделать исследование?
Марти глупые вопросы ...
почитай 8,7 темку там ты найдёшь ответы на свои вопрос и посоветую учить триггеры!!!
0
Tapo4eGG
События - Generic Unit Event - A unit умирает
Условия - triggering или dying unit равно Герой или конкретный герой если тебе нужно тогда переменная понадобится
Действия - Обратный отсчет - Start HeroTimer as однократный сколько тебе нужно секунд
Действия - Обратный отсчет - Create timer window for HeroTimer
Действия - Set Wariable - Last Created Timer Window = HeroTimerWindow (переменная окно таймера)

События - Обратный отсчет - HeroTimer expires
Действия - Обратный отсчет - Destroy HeroTimerWindow
Действия - Боевая единица или Герой не помню - Revive Hero (тут понадобиться переменная)

Ильяс не знаешь как поменять названия рас, чтобы в меню сражений вместо стандартных были свои названия написаны
Гриша ахахахха =)
не не в этом смысле я хочу чтобы на Jass написали а не на GUI
понимаеш??
1
Вот на Jass'e наработка.
Сделал два вида окна таймера:
• как в Доте (через Leaderboard)
• и простое окошко с форматом часы:минуты:секунды, однако тикает не совсем точно (то торопиться, то нормально. . .)
Гриша напииши в скайпе я тебе скажу как менять название расс
Ильяс а как сделать чтобы он возраждался не на своём трупе а на своей стартовой локации?
Tapo4eGG
Лучше бы ответил. К тому же, что тебе Mr_ILYAS говорил? В процессе обучения ГЛУПЫХ вопросов не бывает.
А вообще жду ответов.
1
Tapo4eGG
Так ты смотри, что я поставил в той строчке, где мы его возрождаем — там стоят координаты юнита (то есть, где он умер).
Так возьми и вместо них поставь нужные тебе координаты.

MARTY
1) Для этого тебе придётся освоить Jass, и научиться работать с кэшем.
2) В редакторе объектов ставь угол крена на отрицательное значение. (Чтобы поставить отрицательное значение в нужной строке, надо перед её открытием зажать клавишу shift)
4) В главном окне вкладка дополнительно/игровой интерфейс. Ставишь галочку наверху слева, прежде чем вносить изменения.
5) Ищи в категории Боевая единица - , в действиях с приказом (issue Order что-то там . . .)
Marty
я сним по скайпу бозарю и мы ВСЁ делаем на Jass !!!
это не глупый вопрос + я уже всё перепробывал туда поставить вот щас попробую сделать по кординатам!
Mr_ILYAS
1.Да я на картах Blizardов смотрел, как с ним работать. Вроде кой-чего понял. Пытался сам такой переход сделать, но из игры вылетает после загрузки.
За остальные ответы спасибо.
Блим вот смори Ильяс
ты сказал указать координаты, а можно сделать так чтобы:
1 клан(1Team) Респаун на 1 локации(Loc1)
2 клан(2Team) Респаун на 2 локации(Loc2)
0
Можно, а что тебе мешает?
Создаешь 2 группы игроков игроков:

local force clan_1=CreateForce()
local force clan_2=CreateForce()
call ForceAddPlayer(clan_1,нужный игрок)
call ForceAddPlayer(clan_1,еще один игрок)
и т.д.
call ForceAddPlayer(clan_2,из противоположной команды игрок)
call ForceAddPlayer(clan_2,еще один игрок из противников)
и т.д.
if(IsPlayerInForce(нужный игрок,clan_1))then //вместо нужного игрока можно поставить, к примеру, GetOwningPlayer(какой-то юнит)
    сюда точку возрождения указать
elseif(IsPlayerInForce(нужный игрок,clan_2))then
    то в другую точку
endif

И локации лучше не использовать, когда можно использовать координаты. Ведь они типа real, а с ними War3 работает куда быстрее, чем с локациями.
0
Марти
3.) сделай триггер изначально выключеным, а когда выполняется задание поставь действие
Действие - Триггер - Turn on Триггер который должен действовать только если задание выполнено
4.) Дополнительно - игровой интерфейс - Текст - Общий - найди и измени пункты "альянс", "орда" и.т.д. на нужные тебе (там надо поставить галочку "Использовать нестандартный игровой интерфейс")
5.) Действие - Боевая единица - Issue Research order или Issue Train/Upgrade order
Ильяс как можно убрать снаряд при силле??
тоесть:
когда пускаю юнита там ещё перед ним летит снаряд героя(дальнего)например у виверны стрела!типо такого у келя огонёк!
вот как убрать при скилле это?
Ильяс что такое??
Неверный тип аргумента(real)
0
Там, где должно стоять real, ты поставил другой тип.

А предыдущий вопрос всё равно не понял. . .
call ReviveGero(GetUnitX(сдесь я написал кординату как ты и сказал вот тут и он мне пришет Неверный аргумент(real))
Был бы WE на C double plus ;( Я бы зарешал :F
0
Ты в функции не так героя написал: не Gero a Hero.

А во-вторых, там надо указывать юнита, а не реал.

Это в последствии функция вернёт real, а использует она-то юнита, вот и вноси юнита, а не то, что ты туда впихнул.
Я нечего не понял но очень сильно разозлился!!!!
0
Покажи код.
function Respawn takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),1)
local force Team_1=CreateForce()
local force Team_2=CreateForce()
call ForceAddPlayer(Team_1,Player(1))
call ForceAddPlayer(Team_1,Player(2))
call ForceAddPlayer(Team_1,Player(3))
call ForceAddPlayer(Team_1,Player(4))
call ForceAddPlayer(Team_1,Player(5))
call ForceAddPlayer(Team_2,Player(7))
call ForceAddPlayer(Team_2,Player(8))
call ForceAddPlayer(Team_2,Player(9))
call ForceAddPlayer(Team_2,Player(10))
call ForceAddPlayer(Team_2,Player(11))
if(IsPlayerInForce(GetOwninglayer(u),Team_1))then
call ReviveHero(u,GetUnitX(-30.4),GetUnitY(1544.3),true)
elseif(IsPlayerInForce(GetOwningPlayer(u),Team_2))then
call ReviveHero(u,GetUnitX(3.2),GetUnitY(-2122.9),true)
endif
call DestroyTimerDialog(LoadTimerDialogHandle(udg_Hash,GetHandleId(t),2))
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t = null
set u = null
endfunction
0
Я же сказал: функция GetUnitX использует юнита, а не координату, поэтому в скобках надо указывать юнита.

Это в последствии она вернёт координату, а использует-то она юнита!

Если тебе нужны координаты, которые ты указал, тогда пиши просто их туда — без всяких: GetUnitX/Y

Пользуйся JassCraft'ом ! Набрал туда функцию GetUnitX или Y, и смотришь, что она тебе выдаёт:
GetUnitX takes unit whichUnit returns real

Она использует юнита whichunit (дословно переводя: "какой юнит"), а возвращает координату этого юнита.

Еще раз прочти статьи про устройство функций.

GetOwninglayer(u) — неправильно написал
Tapo4eGG я хочу чтобы у здания или юнита щит был как в варлоках, чтобы снаряды отражались
0
Я не играл в Варлоков, так что понятия не имею. . .
я ПОПРОБУЮ СДЕЛАТЬ ... НО ТОКО НА jASS
function Respawn takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),1)
local force Team_1=CreateForce()
local force Team_2=CreateForce()
call ForceAddPlayer(Team_1,Player(1))
call ForceAddPlayer(Team_1,Player(2))
call ForceAddPlayer(Team_1,Player(3))
call ForceAddPlayer(Team_1,Player(4))
call ForceAddPlayer(Team_1,Player(5))
call ForceAddPlayer(Team_2,Player(7))
call ForceAddPlayer(Team_2,Player(8))
call ForceAddPlayer(Team_2,Player(9))
call ForceAddPlayer(Team_2,Player(10))
call ForceAddPlayer(Team_2,Player(11))
if(IsPlayerInForce(GetOwningPlayer(u),Team_1))then
call ReviveHero(u,-30.4,1544.3,true)
elseif(IsPlayerInForce(GetOwningPlayer(u),Team_2))then
call ReviveHero(u,3.2,-2122.9,true)
endif
call DestroyTimerDialog(LoadTimerDialogHandle(udg_Hash,GetHandleId(t),2))
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t = null
set u = null
endfunction





всё я сделал теперь на точках респ
блим Ильяс помоги плз
вот смори:
я хочу сделать так
чтобы когда игра началась через 30 секунд вместо таверны появился фонтан как это на Jass сделать?
я токо на обычном триггере могу =(((
)) если ты это можешь зделать на GUI в чем проблема ? Конвентировать умеем ? -умеем, ну так вперед и с песней.

"Марти глупые вопросы ..." О_о да ты что ? мне они глупыми не показались я вот например не знаю как модельки крутить (как по мне это вобще невозможно), да и задавая такие ^ вопросы нельзя говорить что у кого-то вопросы глупее. Для меня например этот вопрос довольно таки глуп.

p.s Ильяс где Hon ? +)
Сароф на Гуи это легко я пытаюсь учить на Jass это легче будет чем всё другое!!!
0
Tapo4eGG
Блин, ну ты даёшь . . . Создал таймер; запустил (как однократный — false);Дальше CreateUnit(нужный игрок,нужный тип юнита,X,Y,угол поворота)

Вообще, я же сказал, что если не знаешь, переводи из обычных гуи в Jass. И функции, которые он тебе там выдал, рассматривай в JassCraft'е и пиши более простые функции.
0
как сделать чтобы после получения героя предмета у него оружие в руки менялось? я давно пробовал использовать способность Сфера молнии и через эту способность поменять оружие в руках героя, однако а.) не нашел подходящих моделек (мечи, топоры и.т.д.) и б.) новое "оружие" накладывается на старое (старое не исчезает), при этом появляется не в ладони, а откуда-то там из руки торчит
Хотел написать свою проблему) но у меня почему прописывается только половина сообщения
буду краток: что значит "ошибка: отсутствует зарезервированный тип или тип идентификатора?
GriPet, лол моделька юнита уже идет с оружием и оторвать час модели никак нельзя.
0
Возможно неправильно написал слово unit или local, или другие типы слов (короче, ищи ошибку в первых двух словах в начале строки)
БЛ*)) вместо timer TIMET Ахахахахха))
Пасибо)
Новый вопрос.
Мне нужно сделать такой триггер, чтоб противники при соприкосновении с моим персонажем получали урон.
Как такое сделать?
0
Что еще за гг?
У меня короче чё-то типа гонок, и нужно чтоб при наезде на пешехода он (пешеход) умирал, ну или урон получал))))
0
Делай "как бэ" на основе "жар преисподней - постоянный" (пассивная)
Или на основе "Аура повреждения зданий - торнадо" (там поставишь, чтоб юнитов коцало)
А через jass это можно сделать?
Ахах =)
мне говорили так ...
сначало начни и мы тебя направим на верный путь ...
такочто давай сам учи Jass и пробуй как я =))
я потчи уже сам могу создавать триггеры ...на Jass спс Ильясу ОГРОМНОЕ!!!!!!
так ну всё =)
давай делай на Jass если чо я тебя подправлю!!! там легко 2-3 функции навен!!
Марти тебе нужно чтобы какой урон был???
что сразу юнит умирал или там например 100 дамаги или как?
Ну не чтоб сразу умрал, но урон просто огроменный... 5000 например. В секунду.
Марти как скинуть тебе карту??
Кароче Марти нужно сделать так штобы например :
Пешеходы были союзниками а другие гонщики были врагами
или наоборот гонщики союзники а пешеходы враги выбирай ...
Можно открыть карту из ориг компании?
had-95
Да, можно. Только специальная программа нужна.
Советую тебе вот эту...
http://www.playground.ru/files/38222/
Tapo4eGG
Можешь больше не трудиться - у меня Warcraft полетел, поэтому я World Editor`ом больше не пользуюсь.
_MARTY_[старый ник Мортира]
Спасибо огромное, щас гляну, просто хотел компанию перепройти, и подумал, что 1 скучно будет)
Спасибо ещё раз всё нашёл)
0
когда герой триггерно получает предмет, как сделать чтобы он (предмет, а не герой) попадал в конкретный слот
А как сделать кампанию?
я открываю редактор, добавляю карту, сохраняюсь, а он мне говорит: "В кампании есть неиспользуемые карты"
помогите пжалуйста)
Блим Ильяс ппц канеш =((
немогу его заствавить чтобы он сразу сам двигался =(((
там нужен BoolExpr???
0
Когда будешь в группу заносить, то да.

Врубай логику и рассуждай: что и для чего. . .
госпооодааа, помогите пожалуйста!!
все с этим разобрался.
Теперь другая проблема - хочу перенести героя из первой миссии во вторую, но он не переносится :(
можно объяснить поподробнее как это делать?
Shadowdown
Тебе нужно это сделать с помощью кэша.
хелп ми плиз, нада зделать чтобы волну силы не нада было активировать, а чтобы она выпускалась с шансом, например 50%
Даа я понимаю...прочитал пару гайдов, сделал свой триггер в двух картах. но в итоге во второй у меня мало того что не появляется герой, дак еще и виспы-рабочие пропадают :((
sinseer
Пиши грамотно!!! А-то вечно вас, безграмотных, х**н поймёшь!
И остальным говорю тоже самое!!!
0
Слава богу, ко мне это не относится.))
мне нада чтобы заклинание как "Волна силы" или "Тёмная стая" было шансовым, и чтобы самому её запускать, направлять и тд. ненадо было, надо чтобы она летела туда, куда смотрит герой при атаке с 50% шансом.
sinseer
Ну это не ко мне... Мне и в голову не приходило, что такое можно сделать.
Mr_ILYAS
Ну да)))
0
когда герой триггерно получает предмет, как сделать чтобы он (предмет, а не герой) попадал в конкретный слот
GriPet
Ну есть у меня один вариант, хотя я такого конечно не пробовал.
Когда Герой берёт Предмет, забери у него все предметы (включая взятый!). После этого действуй так. Если тебе нужно положить предмет в слот 4, то положи в инвентарь !3! предмета, после этого клади Предмет, затем отними !3! предмета-пустышки и после этого возвращай все предметы, отнятые в самом начале. Вот, примерно как я себе это представляю.
0
вообщето есть команда которая перемещает предмет по слотам
Mr_ILYAS
Буду знать. А какая?
0
Самому трудно зайти в редактор и посмотреть?

Я понимаю, если бы вопросы были связаны с каким-нибудь сложным механизмом (или системой). Но не найти нужное действие. . .
Mr_ILYAS
Ой, да лаааааааааааааадно тебе... К тому же, я уже писал, что у меня Warcraft накрылся.
0
Mr_ILYAS то, что такое действие должно существовать вполне очевидно, но вот найти его не смог поэтому и спросил
Такого действия нет.
GriPet k0lenval
Mr_ILYAS наверно имеет ввиду такое действие на JASS.
0
call UnitAddItemToSlotById(твой юнит,тип предмета,номер слота)

На гуях можно только дропнуть из yказанного слота.
0
вот поэтому я его и не нашел потому что его нет) странно что "дропнуть" предмет из слота можно, а положить нельзя, я был уверен, что такое действие на гуях есть
придется использовать печальный метод Марти
GriPet
Чего в нём печального? 0_0 Может быть сложный, ну и ладно.
Mr ILYAS
как моно сделать??
я сделал скилл который замораживает противника + замедляет его я нашёл функцию SetUnitMoveSpeed(c,150.)
я сделал таймер который через 3 секунды возвращает ему его прежнию скорость я всё сделал токо вот незнаю как ему вернуть рпежнию скорость ..
Чел у меня русские тригеры но сказать по русски смогу.
Кароче перед замедление делаешь переменную типа "Целочислительнае" потом ставишь значение скорость юнита а потом после того момента как время замедления закончится ставишь скорости юнита значение переменной
ААА мего баг!!! У меня в редакторе. Кароче я ставлю скилу значение урона 50 единиц (скил ракеты у тинкера) при кастовании он станит но урона не наносит не фига!!! А ещё я перезарядку ставлю на 60 секунд но он перезаряжается сразу!!!

Внимание вопрос!
ЧЁ ДЕЛАТЬ!!!
Санёк ты в Гуях или нет или Jass???
ты непонимаешь если задать это число к примеру 300 то если он купит сапог должно быть 340 а будет также 300...
Tapo4eGG
По-моему некто Александр Шендрик правильно говорит. Только ты действием прямо В ТРИГГЕРЕ узнавай текущую скорость юнита, записивай её значение в переменную и после замедления возвращай юниту эту скорость.


Александр Шендрик
Пиши грамотно! Нихрена не понятно, о чём ты!!!
ДА МЛЯТЬ Я ЭТО И ИЩУ КАК СДЕЛАТЬ ЧТОБЫ ЕГО СКОРОСТЬ ПРЕЖНЯЯ БЫЛА КАК ЭТО СДЕЛАТЬ???ВЫ НЕПОНЯТНЫЕ ЛЮДИ!!!!!!
И Я ДЕЛАЮ НА JASS'E
0
не надо триггерно устанавливать скорость, давай её юниту через абилу (на основе способностей предметов)
0
у меня вот тоже насчет скорости передвижения вопрос. В гуях можно юниту поставить конкретную скорость перемещния, а можно как-то прибавлять и отнимать, т.е. у юнита скорость например 250, добавить 30, потом отнять 100 (например)
function MoveUnit_c takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit c=LoadUnitHandle(udg_Hash,GetHandleId(t),1)
local integer i=LoadInteger(udg_Hash,GetHandleId(t),2)+1
local real a=LoadReal(udg_Hash,GetHandleId(t),3)
if(i==1)then
call PauseTimer(t)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
call SetUnitMoveSpeed(c,250.)
endif
set t = null
set c = null
endfunction

function UnitMove_d takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),1)
local unit c=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
local unit d=LoadUnitHandle(udg_Hash,GetHandleId(t),3)
local real x1=GetUnitX(d)
local real x2=GetUnitX(c)
local real y1=GetUnitY(d)
local real y2=GetUnitY(c)
local real a=Atan2(y2-y1,x2-x1)
call SetUnitX(d,x1+25*Cos(a))
call SetUnitY(d,y1+25*Sin(a))
if(((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))
if(((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)) < =900.)then
call PauseTimer(t)
call RemoveUnit(d)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
call UnitDamageTarget(u,c,GetUnitAbilityLevel(u,'A009')*75.,true,false,ATTACK_TYPE_CHAOS,DAMAGE_TYPE_NORMAL,WEAPON_TYPE_WHOKNOWS)
call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl",c,"chest"))
call SetUnitMoveSpeed(c,150.)
set t=CreateTimer()
call SaveUnitHandle(udg_Hash,GetHandleId(t),1,c)
call TimerStart(t,3.0,false,function MoveUnit_c)
else
call SaveInteger(udg_Hash,GetHandleId(t),2,0)
endif
set u = null
set c = null
set d = null
set t = null
endfunction
есть конечно ещё функции но нужно токо это там где самая высокая функция там как раз и возвращается скорость юниту егоже а как??
в нижний функции я её умньшил и запустил тимер через 3 сек у него должна быть норм скорость...
0
Tapo4eGG
лол, ты же знаешь, что я тока на гуях
мне уже не нужно я через скилл сделал
А как сделать, чтоб юнит всё время атаковал всех противников вокруг него, в т.ч. и находясь в движении?
Т.е. чтоб не надо было ему отдавать приказ, и чтоб ему не надо было останавливаться при атаке.
Марти хз но он проде и так мочит всех подряд каго видит =)))
0
_MARTY_
Тут можно двумя способами:
Либо сделать триггерное движение, пока тот атакует.
Либо триггерную атаку, пока тот бежит.
Mr_ILYAS
Нет, ты не понял. Кто играл в карту Russian Star Wars(http://www.playground.ru/files/26088/), вот тот должен знать. Там имперский звёздный разрушитель стреляет как раз как мне нужно. Он пока летит, то всё время стреляет в противников, находящихся рядом с ним. Притом сразу во всех.
0
Значит это второй вариант, который я назвал.
Mr_ILYAS
Ок. А как её реализовать?
0
Ну сделай хотя бы наброски, а то не этично делать всю работу.
Mr_ILYAS
Ладно, я когда к этой карте вернусь, то в первую очередь этим тригером займусь.
Кстати, никак не могу понять триГер или триГГер? А-то везде по-разному.
Слушайте, а кто-нибудь может за меня один тригер сделать? На jass`e или на ГУИ - всё равно.
Короче говоря, у одного героя из моей кампании есть навык - "артобстрел". При его использовании в указанную область сбрасывается несколько бомб. Но вот проблема - у модели только один снаряд. Т.е. при использовании туда попадает всего одна бомба!!!
Так вот, надо сделать чтобы ещё несколько снарядов тригерно падали в эту область. Ещё лучше, если они будут падать случайным образом в случайные места.
Кто-нибудь поможет?
Мог бы я делать так чтобы юниты создавались в воздухе тогда бы мб чемто помог =(((
0
_MARTY_
используй способность "ракетный удар" у героя механика, там как раз несколько снарядов летит
У меня у героя есть нестандартное заклинание. В одном месте он должен тригерно использовать его. Но в списке возможных для кастования заклинаний(issue order targeting a unit) нестандартные не отображаются. Как быть?
GriPet
Кстати, помогло. Так что спасибо.
_MARTY_
Кто знает, как сменить экран из главного меню?
0
нужно условие на улучшение здания (например улучшение ратушы до крепости) то есть мне нужно чтобы после прокачки здания совершались определенные действия, примерно так
Событие - улучшение
Условие - тип улучшения - прокачка (например) ратуши до крепости
Действие - ...
не знаю называется данный тип прокачки "улучшение" или как-то еще, но дело в том что в условиях я нашел только условия на улучшения типа тех что проводятся в зданиях и улучшают юнитов, а не на те что проводятся в здании и переводят это здании на второй "технологический уровень" (как уже сказал вроде улучшения ратуши до крепости или крепости до замка)
Все пользователи форума неожиданно вымерли.
0
мой вопрос всех убил
GriPet
Мой убил, твой добил.
0
еще один вопрос, хотя отвечать уже некому:
в "Редакторе объектов - бой - типы защиты" эти типы защиты расположены по порядку? какая защита прочнее "обычная" или "легкая", а также "тяжелая" или "укрепленная"? там легкая стоит выше обычной, а укрепленная выше тяжелой, но мне кажется что обычная (судя по названию) прочнее легкой
0
Не имеет значение какая выше или нет, разные типы защиты защищают от разных типов аттак, например укреблёная от героев хорошо защищает, а тяжёлая нет.
или например защита "герой" защищает хорошо от магических атак, но не от обычных аттак.

А вот аттака "сила тьмы" наносит всем типам защит одинаковый урон, без дополнительного снижения. То есть снижаются только те проценты, которые указаны в защите у юнита.
0
спасибо, кстати скоро выложу свою карту
Мои вопросы:
Кто знает, как сменить экран из главного меню?

У меня у героя есть нестандартное заклинание. В одном месте он должен триггерно использовать его. Но в списке возможных для кастования заклинаний(issue order targeting a unit) нестандартные не отображаются. Как быть?
0
В каком смысле не отображаются?
Mr_ILYAS
Ну нет их в списке!!!
0
Надо указывать ту из списка, на основе которой была сделана нестандартная.
Как сменить экран из главного меню?
0
вопрос: как защитить карту. В FAQ есть про это но я понятия не имею что такое MPQ архив карты. Мне нужно (желательно), чтобы карту можно было открыть, но нельзя было ничего менять или сохранить ее после того как поменял что-то
0
правой кнопкой мыши по карте\свойства\ставишь галочку "только для чтения"
и сохранится карта с новыми данными не сможет.

А зачем тебе это? можно создавать копию и блокировать её, а в другой работать (обновлять). А потом при выпуске новой версии снова копировать её и блокировать для распространения по интернету . . .
0
"только для чтения" может любой пользователь снять
что значит заблокировать?? можешь пожалуйста подробно объяснить способ с MPQ архивом карты
0
Вот держи блокиратор карт. Перед блокированием создавай копию.
HELLO
помогите плз. надо чтобы заклинание "Огненное лассо" хватало не 1 цель, а все цели в радиусе 500
блин .. хоть бы заходили почаще !!
0
Mr_ILYAS спасибо конечно, но по этой ссылке нельзя перейти
0
попробуй еще раз
0
http://www.playground.ru/files/43089/ вот моя карта, наконец-то доделал, всем смотреть. Такой вот подарок на Новый год.
0
sinseer
Итак вот чё я предумал. В области получится так что нить сетки будет одна, народ какбы скучивается и тут вопрос. Хочеш чтобы они двигались за тобой (как-бы тащиш) или стояли как от стандартной сетки?
0
Вот план сетки без тяжкого переноса за тобой.

-Событие
A unit приводит способность в действие
-Условие
Ability being cast равно Массовая сетка
-Действие
Set CastTochka равно target point of ability being cast
Боевая единица - create кастующий стан (нев.) at (target point of ability being cast) fasing Стандартная ориентация зданий
Боевая единица - ussle ability Громовая поступь
Боевая единица - add 3.00 seconds life of type Общий
Триггер - turn on Every damage
-Отряд - pick all units in ranse 300 at position of CastTochka
=Боевая единица - пауза (picket unit)
=Боевая единица - move (piket unit) to (Tochka)
=Боевая единица - add (piket unit) to Gruppa group
Подождать(wait) - Wait (2 + (2 x Level of Массовая сетка)) game time seconds
-Отряд - pick all units in Gruppa unit group
=Боевая единица - продолжить (picket unit)
=Боевая единица - remove (picket unit) of Gruppa unit group
Триггер - turn off Every damage

Ну а с триггером Every damage думаю ты и сам справишся.


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

___________________________________________________________________________
MARTY
Вот пояснение. Скопировал я его с блакнота:

1. Сделай картинку 1024*1024
2. Раздели картинку на 4-е части
Нижняя левая и нижняя правая части должны иметь размер 512x256 пикселей, верхняя левая и верхняя правая части должны иметь размер 512x512 пикселей.
3. Переименуй их так:
Нижнюю левую часть LoadingScreenBL.
Нижнюю правую LoadingScreenBR.
Верхнюю левую LoadingScreenTL.
Верхнюю правую LoadingScreenTR.
4. Теперь конвертируй эти изображения в формат .tga или .blp
5. Потом импортируй их в карту
6. После импортирования они примут вид например: War3MapImported\LoadingScreenBL.blp, нужно убрать из названия папку и оставить: LoadingScreenBL.blp, и так все 4-е
7. Импортируем файл LoadingScreen.mdx его можно взять в стандартной карте Monolith и также обрезаем путь, как в п.6
8. Зайдите в пункт меню Scenario, там Map Loading Screen, потом установит галочку Use Imported File (Использовать импортированный файл) и выберите LoadingScreen.mdx.
Теперь нажмите OK

Для конвектации в .tga я рекомендую использовать прогу FormatFactory
Поделить картинку можно через фотошоп или microsoft office диспетчер ресунков
0
Вот хороший хостинг.
0
О спс
Hectore
Спасибо большое!
0
Ребят нельзя такое на гуи делать. Вообще Jass учить будете или как?
0
Можно т.к. warcraft 3 весь скриптовая ига то её оптимизатор поддержит до 100 таких тяжких скилов единовременно доже на гуи.
0
да? ну я посмотрю как в онлайне твоя карта будет пользоваться успехом, с такими лагами. . .
спс!!!!! а теперь другой вопрос=)))
надо чтобы предмет снижал урон от война до определённого чила, например: Плащ, у которого 1 удар от вражеского юнита равнялся 10 хп война у которого этот плащ. ну ..... у война атака 9999999 а у меня жизней 150, надо чтобы воин бил не по 9999999 а по 10 хп по мне
доброго времени суток. народ интересует такая вещь. помогаю в разроботке новой карты и нужно вот такой выбор героя как тут http://s011.radikal.ru/i315/1101/89/0eb772527357.jpg . я знаю что это делается через jass при помощи DGUI или FSGUI но для моего мозга это слишком сложно. если можна объясните мне как для чайника как это сделать, или сделайте пожалуйста я вам буду очень благодарен.
зарания спасибо.
0
Это лучше на xgm.ru задавать.
на хгм сказали что это можно но трудно и если кто и сделает то дальше я без помощи и шага не ступлю, а мне надо имено чтоб это кто то сделал ибо мне мозгов не хватает ...
0
Тогда учись, совершенствуйся. Чтобы ни от кого не зависеть и не ждать когда всё сделают, а лишь получать маленькую помощь или подсказки.
function Wall_Destroy takes nothing returns nothing
local timer t=GetExpiredTimer()
call RemoveDestructable(gg_dest_ITx1_0058)
call RemoveDestructable(gg_dest_ITx1_0059)
call RemoveDestructable(gg_dest_ITx3_0060)
call RemoveDestructable(gg_dest_ITx3_0061)
call DestroyTimerDialog(LoadTimerDialogHandle(udg_Hash,GetHandleId(t),1))
call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_048")
set t = null
endfunction

function InitTrig_Wall takes nothing returns nothing
local timer t=CreateTimer()
local timerdialog td=CreateTimerDialog(t)
call TimerDialogSetTitle(td,"Destroy Wall")
call TimerDialogDisplay(td,true)
call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_046")
call SaveTimerDialogHandle(udg_Hash,GetHandleId(t),1,td)
call TimerStart(t,30.,false,function Wall_Destroy)
set t = null
set td = null
endfunction
почему окно таймера не появляетсся аа?????
0
При инициализации не делается:
• Не создаются диалоги и кнопки диалогов.
• Не создаются мульти-боарды и лоадер-боарды.
• Не создаются окна таймеров.
• Не создаются задания (квесты)

Поэтому создаём триггер Timer Window и пишем туда это:

function Wall_Destroy takes nothing returns nothing
local timer t=GetExpiredTimer()
call RemoveDestructable(gg_dest_ITx1_0058)
call RemoveDestructable(gg_dest_ITx1_0059)
call RemoveDestructable(gg_dest_ITx3_0060)
call RemoveDestructable(gg_dest_ITx3_0061)
call DestroyTimerDialog(LoadTimerDialogHandle(udg_Hash,GetHandleId(t),1))
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
endfunction

function Create_Timer_Window takes nothing returns nothing
local timer t=CreateTimer()
local timerdialog td=CreateTimerDialog(t)
call TimerDialogSetTitle(td,"Destroy Wall")
call TimerDialogDisplay(td,true)
call SaveTimerDialogHandle(udg_Hash,GetHandleId(t),1,td)
call TimerStart(t,30.,false,function Wall_Destroy)
set t=null
set td=null
endfunction

function InitTrig_Timer_Window takes nothing returns nothing
local trigger trg=CreateTrigger()
call TriggerRegisterPlayerEventEndCinematic(trg,Player(0))
call TriggerAddAction(trg,function Create_Timer_Window)
set trg=null
endfunction



Чтобы запустить таймер, нужно нажать Esc.
С Новым годом, ВарМаперы!!!
Ильяс а обязательно нажимать Esc????
нужно чтобы с начало игры таймер пошёл
а не при нажатии клавииши Esc
0
Я привёл пример, что нужно не через инициализацию а хотябы через 0.001 секунды после инициализации
сделай через 2 таймера, сначала один таймер на 0.001 сек а потом внутри него создаёшь уже новый таймер на 30 сек
Ильяс наконецто я научился думать =)) когда создавал 2 таймера как ты говорил у меня в окошке тупо торчало 00:00:00 а я первый тайймер уничтожел и его же заного запустил 2 таймера ненадо было создовать =))

function Wall_Destroy takes nothing returns nothing
local timer t=GetExpiredTimer()
call RemoveDestructable(gg_dest_ITx1_0058)
call RemoveDestructable(gg_dest_ITx1_0059)
call RemoveDestructable(gg_dest_ITx3_0060)
call RemoveDestructable(gg_dest_ITx3_0061)
call DestroyTimerDialog(LoadTimerDialogHandle(udg_Hash,GetHandleId(t),1))
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t = null
endfunction

function Timer_Create_Timer_Dialog takes nothing returns nothing
local timer t=GetExpiredTimer()
local timerdialog td
call DestroyTimer(t)
set t=CreateTimer()
set td=CreateTimerDialog(t)
call TimerDialogSetTitle(td,"Destroy Wall")
call TimerDialogDisplay(td,true)
call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_051")
call SaveTimerDialogHandle(udg_Hash,GetHandleId(t),1,td)
call TimerStart(t,30.,false,function Wall_Destroy)
set td = null
set t = null
endfunction

function InitTrig_Wall takes nothing returns nothing
call TimerStart(CreateTimer(),0.001,false,function Timer_Create_Timer_Dialog)
endfunction
0
не если уж на то пошло, то можно запускать тот же таймер который истёк, не удаляя его.
Люди помогите не могу создать такой триггер раньше вроде мог а щас не помню =((
когда купил юнита он мнгновенно появляется в локации которую я создал..
как это?
и ещё один вопрос как сделать чтобы над зданием было типо доход голдов и дерева например +10 и +20
зависимостиот здании например если это ферма то +10 дерева и +20 голдов а если эту ферму улучшели до какогото здания было +20 дерева и +40 голдо!!
как это сделать все триггеры перебрал почти.
о5 все чтоле ПГ кинули?
0
Mr_ILYAS

Да некепятись ты так vJASS система может и более уникальна и многофункциональна, но мне просто приятней со старым добрым гуем. Да и кстати уже пробовал картус такими триггерами на гуе всё идёт идеально даже при 12 игроках. А всё потаму,что я делаю триггеры по системе дотеров. Тобиш время проходит и все ненужные мусорные эффекты и действия пропадают из игры, что значительно понижает нагрузку на карту. Если это непомогает, то есть у меня ещё переодический триггер который каждые например 60 сек. чистит карту от неименованных аффектов.

Просто уметь надо и некуда неторопитьца и все получится.
Вон у дотееров получилось, хотя они и слили коридоры и выращевыемые войны но теперь они имеют самую популярную карту в мире, по которой даже сделали этот задрипаный HoN.
1
Я про vJass ни слова не сказал. Речь шла только об обычном Jass.

Ты щас ерунду говоришь, потому что не знаешь основу (базовые знания) Jass'a, а точнее его преимущества.
У меня следующие вопросы:
1) Как сделать чтобы камень воскрешения активировался при приближении к нему героя и после смерти героя воскрешал его?
2) Как сажать людей в клетки, чтобы они сначала были нейтральными, а когда клетку сломаешь переходили на твою сторону (освобождение пленников) ?
3) Тоже самое, что и во втором вопросе, но только без клетки, например за дверями, которые можно сломать.
Гранд пират вроде есть такой юнит посмори их Способности там увидишь
а на счёт 1 вопроса хз непомню.
блим ктонить на мои вопросики ответит?
У меня вопрос возник,можно ли как-то создать мини-квесты на карте,которые выдают пассивные герои?Типа зачисть тот-то лагерь или принеси то-то...Можно?Подскажите.
Гуру канешно можно...
специальные триггеры есть ...
+ не какойто лагерь а нужно создовать локации и делать проверку есть ли там враж юниты или нет.
или выбрать ан карте спец юнитов такочто ищи триггер
Ок спасибо,я в редакторе только новичё,разве что карты пробовал создавать.
Народ помогайте дело срочное, если тема еще жива, у меня несколько вопросов:
1) как сделать так чтобы юнит заходит на определенный тип ландшафта и на нем умирает?
2) как сделать так чтобы у юнита, не принадлежащего к игроку 11, есть в инвентаре ключ, и вот он входит в область Х а дверь Y открывается?
3) как же все таки сделать скольжение в триггерах?
прошу, не кидайте ссылки на xgm или предыдущие страницы этой темы мне нет времени листать 9 (или сколько там) постов по 1000 ответов
GuRu13
Делаем квест, стоит нейтральный моб ХХХ и существует вокруг него область УУУ:

События:
Юнит вошёл в регион УУУ
Условия:
(Triggering unit) не равно (Игрок (нейтральный, предположим 11))
Действия:
Добавить задание...там разберешься
Ping on mini map

Или можно еще так:
События:
Юнит приблизился к ХХХ на 100 юнитов
Условия:
(Triggering unit) не равно (Игрок (нейтральный, предположим 11))
Действия:
Добавить задание...там разберешься
Ping on mini map

надеюсь помог)
Tapo4eGG

когда купил юнита он мнгновенно появляется в локации которую я создал..
как это?

События:
Игрок 1(красный) приобретает юнита
Условия:
(Triggering unit) равно (тип юнита, например герой)
Действия:
Move instantly (triggering unit) к области ХХХ

Или так:
Есть таверна а вокруг неё твой юнит-герой ZZZ, которым ты покупаешь юнита, область УУУ вокруг таверны и область ХХХ в которую следует тп героя

События:
Юнит enters region (Область УУУ)
Условия:
(triggering unit) не равно (ZZZ)
Действия:
Move instantly (triggering unit) в (центр области ХХХ)

и ещё один вопрос как сделать чтобы над зданием было типо доход голдов и дерева например +10 и +20
зависимостиот здании например если это ферма то +10 дерева и +20 голдов а если эту ферму улучшели до какогото здания было +20 дерева и +40 голдо!!
как это сделать все триггеры перебрал почти.

Не знаю) можно попробовать сделать здание как юнит и попробовать так:
События:
Unit добывает ресурсы (это триггер specify unit действие) или как то так
Условия:
>And (All (conditions) are true):
Условия:
(Triggering unit) добыл 10 ресурсов
(Triggering unit) равно (Ферма 001 (ген))
Действия:
Игра(плавающий текст): добавить (текст) в (позиция of ферма 001 (ген))
пробуй) отпишешься

А кто нить ответит на мои вопросы?

Народ помогайте дело срочное, если тема еще жива, у меня несколько вопросов:
1) как сделать так чтобы юнит заходит на определенный тип ландшафта и на нем умирает?
2) как сделать так чтобы у юнита, не принадлежащего к игроку 11, есть в инвентаре ключ, и вот он входит в область Х а дверь Y открывается?
3) как же все таки сделать скольжение в триггерах?
0
Подскажите, какое действие нужно выбрать, чтобы после определенного события в определенной области (событие и область заданы) были уничтожены все юниты определенного игрока?
Filippov_iVan_93
у нас есть область ХХХ

Событие:
(сам поставишь)
Условие:
_____And (all (conditions) are true):
__________Условия:
__________Owner of (triggering unit) равно (Игрок №)
__________(triggerind unit) находится в (область ХХХ)
Действие:
Kill (triggering unit)
надеюсь помог)) вот кто бы на мои вопросы сверху ответил((
0
Это не совсем то, но спасибо за отклик, еще самое простое, мне бы вспомнить... Нужно, чтобы некий послушник выполнил следующую последовательность действий: построить алтарь в заданной области (область задана), потом аналогично построить склеп и идти на рудник. Первый идет триггер через инициализацию карты с действием "боевая единица - order послушникXXX to build алтарь тьмы at областьХХХ" как заставить его дальше строить склеп?
0
А все, это уже сделал, вспомнил, так вот насчет уничтожения юнитов. Триггеринг юнит не подходит, т.к. в ходе игры он может быть уничтожен и созданы новые юниты, нужно, чтобы любой юнит, принадлежащий этому игроку был уничтожен в областях...
озадачил)))
пожно сделать так:
сделать СВОИМ войскам защиту от магии
а войскам врага её удалить
затем сделать области и сделать Pick Every Unit In Area And Do...
и сделать магический дамаг 99999)

или как то на 0.1 секунду ТПшнуть всех своих войск, убить войска противника, снова ТПшнуть свои войска на их места...)
кстати выше написанное, проще некуда:

События:
Time is ellapsed 0.01
Действия:
ордер.....первое строение

События:
(послушник) строит здание
Условия:
(данное здание) равно ХХХ
Действия:
ордер.....второе строение
здесь сидят помощники кроме меня????
1) как сделать так чтобы юнит заходит на определенный тип ландшафта и на нем умирает?
2) как сделать так чтобы у юнита, не принадлежащего к игроку 11, есть в инвентаре ключ, и вот он входит в область Х а дверь Y открывается?
3) как же все таки сделать скольжение в триггерах?
0
1.) пришла в голову такая мысль: сделай область покрывающую всю карту, и сделай действие, убивающее юнита в этой области (т.е. на всей территории карты) а в условие поставь тип ландшафта (Terrain Type Comparision)
2.) есть действие Декорация - Open Gate
3.) не знаю что такое "скольжение в триггерах"

Filippov_iVan_93
после "определенного события" должен включатся триггер например Test событие - юнит входит в область; условие - триггеринг юнит принадлежит игроку Х; действие - убить триггеринг юнита, т.о. все юнита данного цвета в данной области будут убиты. Когда надо включай/выключай Test через Turn on/off trigger.
0
В общем свой триггер я сделал, вот как он выглядит, (прописал к области) "Отряд - Pick every unit in (Units in область111 owned by Игрок1) and do (Боевая единица - Kill (Picked unit))"
Wa[T_T]son, 1) как сделать так чтобы юнит заходит на определенный тип ландшафта и на нем умирает?
думаю для тебя это подойдет

3) как же все таки сделать скольжение в триггерах?
В Run Kitty Run посмотри, если ты про то.
Wa[T_T]son
Вот полностью ответ на твой 2-ой вопрос.я замучился сним.
2)
События:
Unit Enters Region(регион вставляеш область в которую будет входить юнит)
Условия:
не каких
События:
if(All Conditions on True)then do(The Action) else do (Else Action)
Условия:
((Last Created Unit)is Owned)равно((Triggering Unit)Has an Item Type Ключ)() где ключ выбираешь свой предмет.
Действия:
Декорация - Закрыть Железные ворота(Железные ворота эта та или твая дверь выберешь на карте)
Иначе:
Декорация - Открыть Железные Ворота(про ворота также)
Герой - drop the item from slot 1 of (Triggering Unit)(Тоесть нужно сделать обязательно чтобы ключ был в 1 слоте.)
Предмет - Remove(Last Droped Item)
ну вот и всё Весь триггер
При Этом триггере ключ дропается.
если хочешь чтобы не дропался просто убери 2 последних действия
Ватсон
ответ на 1-ый вопрос.
События:
Unit Enters Region(ставишь опять область)
Условия:
Сдесь ставишь условия
((Triggering Unit) is Сдесь ставиш тебе нужного типо либо герой либо там сам найдёшь) равно да
Действия:
Боевая еденица - kill (Triggering Unit)
Большое спасибо вам троим за ответ щас всем троим накалякаю =)
Tapo4eGG
Твоя идея не очень подходит потому что мне придется создавать области везде где мне нужно убить юнита, а это коридорчики, заворотики, бесчисленные мудреные лабиринты...

Тебе же, спасибо за триггер открывания двери и вообще за понятную помосчь =)

GriPet
1) не получится, ведь юнит для активации триггера должен ВОЙТИ в эту область а он войдет один раз и всё
2) точняк =)
3) блин =)

Filippov_iVan_93

1)Мололдэээээц =)))
3) а разве ран кити ран не защищена?!?! иду смотреть...
блин клас) пасиба Иван за совет =) оказалось так мудрёно...вот бы еще открыть карту типа escape builder дабы посмотреть триггер ландшафта...эх...

Вообще про мою задумку
все я думаю играли в карту Pyramid Escape в версии 1.23? вот я делаю её с нуля заново =) тока под версию 1.24...делать еще очень и очень много только первое испытание готово, но если что я знаю куда я могу обратиться за помощью =)
0
Вообще полно всяких производных от китти, типа ниндзей, спанч бобов, архимондов и т.п. Что-то из них открыто по-любому. Я помню ниндзю открывал.
Ватсон скольжение бесполезно делать на GUI
0
Новый вопрос, как сделать определенного юнита на время неконтролируемым, убрать все кнопки приказов и чтобы все предыдущие действия (движение или атка) были отменены?
0
1.) сделай его нейтрально-пассивным, 2.) прикажи охранять позицию и 3.) разреши нужному игркоку видеть его. Вот действия: Действие - Боевая единица - 1.) Change Owner, 2.) Order With No Target, 3.) Shared Vision; вроде такие действия.
можно просто внести на время ему Возможность Москиты.
0
GriPet спс попробую, но вроде уже альтернативный метод нашел.
Wa[T_T]son
Спасибо за детальное объяснение)
Неужели нет не укаго больше вопросов?
0
А толку? Всё равно никто не отвечает на нубские))
Возможно такое действие ?? или можно както укарочить ???
Есть условия что Дуинг юнит это Герой.

if GetOwningPlayer(GetDyingUnit())==Player(0) and GetOwningPlayer(GetDyingUnit())==Player(1) then
call ReviveHero(GetDyingUnit(),GetRectCenterX(gg_rct_Respawn_1),GetRectCenterY(gg_rct_Respawn_1),false)
elseif GetOwningPlayer(GetDyingUnit())==Player(2) and GetOwningPlayer(GetDyingUnit())==Player(3) then
call ReviveHero(GetDyingUnit(),GetRectCenterX(gg_rct_Respawn_2),GetRectCenterY(gg_rct_Respawn_2),false)
elseif GetOwningPlayer(GetDyingUnit())==Player(4) and GetOwningPlayer(GetDyingUnit())==Player(5) then
call ReviveHero(GetDyingUnit(),GetRectCenterX(gg_rct_Respawn_3),GetRectCenterY(gg_rct_Respawn_3),false)
elseif GetOwningPlayer(GetDyingUnit())==Player(6) and GetOwningPlayer(GetDyingUnit())==Player(7) then
call ReviveHero(GetDyingUnit(),GetRectCenterX(gg_rct_Respawn_4),GetRectCenterY(gg_rct_Respawn_4),false)
endif
Если не поймёте что делает то он :
Возраждает героя в области.
в Иф указываем Владельца игрока Дуинга юнита.
Всем привет !
1) как зделать 2 клана союзниками ? так что б не делать из 2ух кланов 1!
2) где настроить стоимость воскрешения героя и как настроить место где будет появляться воскрешонный герой ?
3) как зделать что б за моба давали 50 золота ?
4) как зделать что б када игрок что то пишет в чате оно высвечивалось над головой у юнита (как в 300 спартанцев ультимат) (http://warcraft3ft.info/board/kak_napisat_tekst_napisannyj_igrokom_nad_golovoj_ego_geroja/17-1-0-1241)
вот тут есть это, но у меня не получилось... чкиньте плиз карту с этим триггером. тока что б не каждого героя надо было выберать отдельно а в триггере написать что б сразу всех юнитов этого игрока ( так мона ? )
5) как зделать что б камера во время игры всё время была на высоте 1500 ?
6) как зделать что б в таверне герой воскрешался за 250 золота ?
7) как зделать что б после 60 сек все герои в таверне исчезали и можна было тока воскрешать ? (у меня вот этот триггер на таверну http://warcraft3ft.info/board/14-3-0-1155)

помогите плиззз


восновном ответы на свои вопросы я находл в нэте но эти не нашол.
как вот тут вместо Герой 0001 поставить всех юнитов или красного игкрока или (< gen >)
Set (переменная) = Герой 0001
6)
Парень извини я просто быстро читаю вопросы поэтому отвечу что знаю.
В редакторе объектов наведи нужного юнита и там в самом вконце будет написано воостоновить за стоьлко то голдов
Tapo4eGG
это я знаю не помогает((
0
как отрегулировать опыт, который дается герою за уничтожение врага?? я всегда думал, что за это отвечает строка "Хар-ки - опыт" или "Хар-ки - награда за уничтожение", т.е. например если ставишь у юнита Х в какой-то из этих граф 100, то за его убийство герой получит 100 опыта. Решил проверить какая из этих двух характеристик действительно определяет получаемый опыт и выяснил, что ни одна((( пробывал писать в каждой из граф сначала 100, а потом 5000 и не заметил разницы.
1. Регулирование значений в Редакторе объектов.
В первую очередь, вам необходимо знать, что награда за убийство боевой единицы - случайное значение между (базовым значением + кол-вом костей) и (базовым значением + кол-вом костей * кол-во граней у кости).
В Редакторе объектов у любого воина есть такие поля:



Характеристики - Награда за уничтожение - базовая.
Характеристики - Награда за уничтожение - кол-во граней у кости.
Характеристики - Награда за уничтожение - кол-во костей.

Эти значения определяют призовое золото, которое является случайным числом между (базовым значением + кол-вом костей) и (базовым значением + кол-вом костей * кол-во граней у кости)

Характеристики - Призовая древесина - базовое значение.
Характеристики - Призовая древесина - количество граней.
Характеристики - Призовая древесина - количество кубиков.

Эти значения определяют призовое дерево, которое является случайным числом между (базовым значением + кол-вом кубиков) и (базовым значением + кол-вом кубиков * кол-во граней)

Помня эти правила, вы сможете на свой вкус отредактировать призовое золото и древесину. А теперь приступим к триггерам...
2. Регулирование значений при помощи триггеров.
Для регулирования значений награды триггерно, нам сначала необходимо научиться регулировать встроенную систему - включать и выключать её. Для этого применяется действие:


Оно отключает или включает те значения, что мы регулировали в Редакторе объектов. Допустим, мы не хотим использовать значение Редактора объектов, т.к. его нельзя отловить и хотим всё сделать при помощи триггеров. Тогда придётся сделать такой цикл:

Это отключит движок получения награды.
Теперь мы можем сымитировать этот движок триггерно. Здесь нам поможет такая Jass-функция:
Code
function Bounty takes player whichplayer, integer bounty, real x, real y returns nothing
local texttag t=CreateTextTag()
local string s="+"
call AdjustPlayerStateBJ( bounty, whichplayer, PLAYER_STATE_RESOURCE_GOLD )
if bounty
0
спс но мне надо отрегулировать призовой опыт, а не золото и древесину)
ой сори не то скинул перепутал)))
вот:

Принцип набора опыта героями
В меню "Дополнительно - Игровые константы" можно найти группу констант, начинающихся на "Набранный героем опыт". Они используются, чтобы узнать. сколько опыта должно даваться герою за убийство и сколько нужно опыта для достижения следующего уровня. Эта статья поможет вам разобраться в них.

1. Получение опыта за убийство героев.

Набранный героем опыт: герой, таблица - 100, 120, 160, 220, 300
Набранный героем опыт: герой, фактор константы - 100
Набранный героем опыт: герой, фактор предыдущего значения - 1
Набранный героем опыт: герой, фактор уровня - 0

Если вы убьёте героя первого уровня, то получите 100 опыта, это первое значение в таблице.
Если вы убьёте героя второго уровня, то получите 200 опыта, это второе значение в таблице.
...
Если вы убьёте героя пятого уровня, то получите 300 опыта, это последнее значение в таблице.

Если убит герой выше, чем пятого уровня, то игра, не находя значения в таблице, использует такую формулу:

Полученный опыт = предыдущее значение * фактор предыдущего значения + уровень * фактор уровня + фактор константы.

Исходя из этой формулы, при убийстве героя шестого уровня, убивший герой получает 300 (предыдущее значение) * 1 (фактор предыдущего значения) + 6 (уровень) * 0 (фактор уровня) + 100 (фактор константы). А это 400 опыта.

Если убитый герой был седьмого уровня, то убивающий получит 400 * 1 + 7 * 0 + 100 = 400 + 0 + 100 = 500 опыта.

2. Получение опыта за убийство вражеских войск.

Набранный героем опыт: Норма, фактор константы - 5
Набранный героем опыт: Норма, фактор уровня - 5
Набранный героем опыт: Норма, фактор предыдущего значения - 1
Набранный героем опыт: Норма, таблица - 25

Выглядит похоже, да и работает по тому же принципу.

Если вы убьёте воина первого уровня, то получите 25 опыта, это первое значение в таблице.

Больше значений в таблице нет, и игра ватоматически заполняет таблицу по той же формуле:

Полученный опыт = предыдущее значение * фактор предыдущего значения + уровень * фактор уровня + фактор константы.

Соответственно, воин второго уровня даст 25 * 1 + 2 * 5 + 5 = 25 + 10 + 5 = 40 опыта.
Воин третьего уровня даст 40 * 1 + 3 * 5 + 5 = 40 + 15 + 5 = 60 опыта
Воин третьего уровня даст 60 * 1 + 4 * 5 + 5 = 85 опыта

3. Получение опыта за убийство крипов.

Набранный героем опыт: таблица сокращения монстров - 80, 70, 60, 50, 0

Если убитый героем воин является монстром, в полном объёме опыт вы не получите. Это нормально - ведь герой, допустим, 42 уровня, может убить гнолла за взмах оружия.
Опыт за крипа рассчитывается, как в пункте 2 для войск, но с небольшим отличием - помимо всего этого применяется таблица сокращения монстров. Так как от убийства воина 1-го уровня герой получает 25 опыта, то:

От убийства крипа герой 1 уровня получит 80% от 25.
От убийства крипа герой 2 уровня получит 70% от 25.
От убийства крипа герой 3 уровня получит 60% от 25.

Последнее значение таблицы применяется к остальным уровням. Вот, почему после достижения 5 уровня герой опыта не получает. В таблице написано "0".
Чтобы позволить герою прокачку выше 5 уровня, требуется просто изменить его на какое-либо значение выше нуля. Оно определит процент получаемого опыта на других уровнях.

4. Определение опыта для перехода на новый уровень.

Герою требуется опыта: фактор константы - 0
Герою требуется опыта: фактор уровня - 100
Герою требуется опыта: предыдущее значение фактора - 1
Герою требуется опыта: таблица - 200

Этот набор значений определяет, когда герои получают новый уровень.

Как обычно, всё начинается с таблицы. Герой получает уровень, когда наберёт 200 опыта. И мы применяем всё ту же формулу для заполнения таблицы:

Полученный опыт = предыдущее значение * фактор предыдущего значения + уровень * фактор уровня + фактор константы.

Тогда для достижения третьего уровня герой должен набрать 200 * 1 + 3 * 100 + 0 = 200 + 300 + 0 = 500 опыта.
Для достижения четвёртого уровня герой должен набрать 500 * 1 + 4 * 100 + 0 = 500 + 400 + 0 = 900 опыта.
Для достижения пятого уровня герой должен набрать 900 * 1 + 5 * 100 + 0 = 1400 опыта.
0
МОЗГИ, расскажите пожалуйста, какими способами можно прописать ИИ? Можно ли просто тупо на триггерах или нужно на map.ai? И как прописывать в map.ai? Я видел такие функции в кампаниях, но не знаю откуда достать файлы с расширением "ai"...
Filippov_iVan_93 вот
http://warcraft3ft.info/board/osnovy_ii/16-1-0-1239
тут немного етсь об этом...)

а на мои вопросы кто нить ответит плиззз хоть на один.... я не могу без этого карту доделать(((
0
Я эту тупую статью уже читал. В ней ничего нового не говорится. Ты наверное даже сам не читал ее, раз мне ее приводишь.
0
Дельта спасибо, постараюсь ответить на твои вопросы... попозже)
1) как зделать 2 клана союзниками ? так что б не делать из 2ух кланов 1!
2) где настроить стоимость воскрешения героя и как настроить место где будет появляться воскрешонный герой ?
3) как зделать что б за моба давали 50 золота ?
4) как зделать что б када игрок что то пишет в чате оно высвечивалось над головой у юнита (как в 300 спартанцев ультимат) (warcraft3ft.info/board/kak_napisat_tekst_napisannyj_igrokom_nad_golovoj_ego_geroja/17-1-0-1241)
вот тут есть это, но у меня не получилось... скиньте плиз карту с этим триггером. тока что б не каждого героя надо было выберать отдельно а в триггере написать что б сразу всех юнитов этого игрока ( так мона ? )
5) как зделать что б камера во время игры всё время была на высоте 1500 ?
6) как зделать что б в таверне герой воскрешался за 250 золота ?
7) как зделать что б после 60 сек все герои в таверне исчезали и можна было тока воскрешать ? (у меня вот этот триггер на таверну warcraft3ft.info/board/14-3-0-1155)
8)как вот тут вместо Герой 0001 поставить всех юнитов или красного игкрока или (< gen >)
Set (переменная) = Герой 0001
Привет всем, у меня вот есть вопрос да только ненашел я его ибо искать по всем темам очень трудно.
Неподскажите как сделать вид от третьего лица (вместе с прикреплением к юниту). Заранее прошу прощение если такие темы есть)
Триггер
Событие: А юнит атакован
Действия: 1) Этому юниту присвоить группу Attacked
2) Ожидание 10 сек
3) Уберает с этого юнита эту группу (Remove)
Этот триггер служит дополнением к триггеру телепорта. Триггер телепорта проверяет приндлежность юнита к группе Attacked. Смысл в том что юнит не телепортнется если был атакован в течении последних 10 сек. А так он может быть атакован, через 8 сек снова атакован и через 2 сек уже воспользоваться телепортом. Нужно чтобы ожидание обновлялось. Как сделать чтобы ожидание 10 сек начиналось заного, если юнит опять будет атакован??
Ответьте пожалуйста на мои вопросики:

1) В триггере изначально камера была прикреплена к герою, как сделать чтобы когда герой садился в корабль камере автоматом прикреплялась к кораблю, а после выгрузки на берег снова прикреплялась к герою?

2) Я умею соединять предметы как в доте, но, я хочу соединять предметы которых более 2 одного вида - например взял бутылку маны в инвентарь где есть такая же, оба предмета исчезают и появляется банка с 2-мя зарядами?

3) И еще один, у меня есть навык по поводу триггерных заклинаний, так как у меня есть один сценарий РПГ где нет ни одной стандартной способности или юнита, и причем еще сложней без единого импорта, ну кроме музыки и иконок, так вот мне нужно оч подробно объяснить как сделать так чтобы героя при ударе молоточком как у альянскго гнома воин отлетал на расстояние..?
Вот несколько триггеров для тех кто любит делать что нибудь иное. Под цифрами подразумевается: 1 - событие, 2 - условие, 3 - действие.
ДЕЙСТВИЕ О ТОМ КАК ДЕЛАТЬ ПОРЧУ ПРИ ДВИЖЕНИИ ГЕРОЯ ПО МЕСТНОСТИ

1`Time - periodic event
1.00 sec

3`Region - move
Center (region imenno gde glavnii geroi) ... (Unit)

3`Environment - create/remove blight circle
Create...Player 2Blue..
Unit - position of unit (Unit) 384.00

КАМЕРА КРУЖИТ НАД ТОЧКОЙ ЭФФЕКТ ПОЛЕТА

3`Camera - apply camera object timed
apply (region) (player) 15.00sec

МАСКА

3`Cinematic - fade filter
Fade out...1.00..Black mask.. 0 0 0..0

3`Wait 4 00 sec

3`Cinematic - fade filter
Fade in 2.00 (wid maski) 0 0 0... 0

МАНА НА НУЛЕ ПОСТОЯННО

1`Time - every 1.00 sec of game time

3`Unit - set Mana [to value] (Unit) 0.00
Unit - set mana [to percentage] (Unit) 0.00%

ПОРАЖЕНИЕ
1`Unit - player-owned unit event
Player 1[red] dies
2`Unit compasion
[dying unit] equal to (Unit)
3`Quest - quest message
all players quest failed |cffffcc00ЗАДАНИЕ ПРОВАЛЕНО|r
Ваш герой мертв.
3`Wait 3.00 sec
3`Trigger - run defeat [gen][cheking conditions]
Game- defeat
player 1[red]

КОГДА ГЕРОЙ ПОЛУЧАЕТ УРОВЕНЬ
СОЗДАТЬ ТРИГГЕР
(Level Dialog)
1`Unit - a unit owned by player 1[red] gains a level
2`Unit compasion
[leveling hero] equal to (Unit)
2`integer compasion
[hero level of (Unit)] equal to 10
3`Sound - setup all volume channels for cinematic
Cinematic - transmission from unit
(Unit) Наконецто десятый уровень, теперь я могу использовать Божественную Ауру!
3`Sound - reset all volume channels to 100%

ExpDisabledForHero
boolean
false

ГЕРОЙ ПОВЕРНУТ ЛИЦОМ К ПЕРСОНАЖУ
Animation - lock body-part facing
(Unit) Head (Unit) 0 0 90

Animation - reset body-part facing
(Unit)
Fade out 000sec Black mask
Fade in 2sec Withe mask

Загрузка параметров из предыдущей карты
Триггер -BlockMap

Game cache - create game cache
Prolog.w3x

Set variable
Close01 = Game cache - load integer value
Close01 Category (Last created game cache)
if\then\else
integer comparison
Close01 less than 1
Trigger - run(ignoring condions)
Text Block Map
Trigger - run(ignoring conditions)
Cinema in или обычный триггер начало старта
(Триггер Text Block Map)
Cinematic - turn cinematic mode on for all players
Cinematic - disable user control for all players
Cinematic - fade out 0sec using texture with mask and 0000
Cinematic - send transmission all players no unit Карта недоступна 10sec ждать
Переменная
player_Bandits_11
player
Player 11(dark green)

Player - hide player_bandits in the post-game score screen
game - defeat player_bantits the message Карта закрыта
--------------------------------------
Добавить одну переменную в обои карты
Set Close02 = 2
Game cache - create a game cache from Glava01.w3x
Game cache - store close02 as close02 of Category in (Last....)
Game cache - Store (Брэнд 0013) as brand of Category in (last...)
Game cache - save (last...)
trigger - run next level run (checking conditions)
---------------------
Триггер Heroes HronospherE Start
3`Game chache - create game chache
...Glava2
3`Game chache - Restore unit facing point
HronospherE .. Category...(Last..) Player1(Red)...region...
Переменная
D_HronospherE
Unit
Set variable
D_HronospherE = (Random unit from(Units of tipe HronospherE))
3`Item - make undroppable
Item carried by hero of type
Random unit from unit group
Unitst of type HronospherE
of type (предмет)
Undroppable

ОСТАНОВКА ВРЕМЕНИ Прежде, чем делать этот триггер, создайте любую нестандартную способность - например божественный щит, далее удаляйте все из строки buffs, если это геройская способность то и там тоже, да и впрочем Останоку времени лучше использовать как например метаморфоза где требуется 6 уровень.
- Название триггера timestop
- Название способности Quyen Luc Troi Gian
Data - Damage 0.00
Stats - Area of effect 250
Stats - Buffs (нет)
25
10
10
Действия триггера
1`Unit - generic unit event
starts the effect of an ability
2`Ability campasion
Event response - ability Being cast
Equal to
Quyen Luc Troi Gian
Переменная
Caster
Unit
3`Set Variable
Caster = Event Response - casing unit

Unit Group - Pick Every unit in unit group and do multiple actions
Units in region matching condition
Playable Map Area
Unit Compasion
Matcing Unit not equal to Caster

Loop - Actions
Unit - Pause (Picked unit)
Animation - Change unit animation Speed
Picked unit 0.00%
Wait 10.00 seconds

Unit Group - Pick Every unit in unit group and do multiple actions
Units in region matching condition
Playable map area
Unit compasion
Matcing unit not equal to Caster
Loop - Actions
Unit - UnPause (Picked unit)
Animation - Change unit animation Speed
Picked unit 100.00%
Здесь я вас научу как правильно делать Квесты:
Квест первый:
КВЕСТ

Создать папку Quest
Создать триггер Quest MAP Created
1`map inicialization
3`quest - create quest
create a Required quest titled (Например: Выживание Героя) with the description (empty string) using icon path (Картинка)
Переменная
HeroSurvival
Quest
none
Переменная
HeroSurvivalReq
quest requirement
none
3`set variable
Set HeroSurvival
=
(last created quest)
3`Quest - mark quest as discovered (discovered - это действие обозначает что квест стал видим на панели меню во вкладке квесты, а Undiscovered - помечается знаком вопроса, чтобы было все реалистично о всех квеста помечать их Undiscovered для того когда герой входил в регион, например пришел к персонажу который дает задание после он отмечается discovered то есть в этом случае он открывается и его можно увидеть. ПОДСКАЗКА: Это нужно для того чтобы так сказать квесты не брались из ниоткуда, а были аккуратно сложены в общую папку и закрыты(Undiscovered), а тут подошел к персонажу и не надо корявиться - просто отмечаешь его открытым и все, наслаждаешься прохождением.)
mark HeroSurvival as Undiscovered
3`Quest - create quest requirement
create q quest requirement for HeroSurvival with the dscription (Например: Ваши герои не должны погибнуть)
3`set variable
Set HeroSurvivalReq
=
(last created quest requirement)

Создать триггер HeroQuestVD
1`unit - unit enters region
a unit enters (region)
2`boolean compasion
unit - unit classification check
event response - entering unit
is
hero
equal to true
3`cinematic mode
turn cinematic mode on for (all players)
3`Trigger - turn off (this trigger)
3`Comment
(Например: Убить вражеского героя)
3`cinematic - transmission from unit
send transmission to (all players) from
(unit)
named (Имя юнита) play no sound and display
(Например: Приветствую тебя незнакомец! У меня для тебя есть работа. Доставишь потерянные кораблем ящики, за каждый ящик даю 100 золотых. Сам корабль находится недалеко отсюда.)
modify duration add 3.50 seconds and wait
3`cinematic mode
turn cinematic mode off for (all players)
3`quest - quest message
display to (all players) the quest completed message
(Например: ДОПОЛНИТЛЬНОЕ ЗАДАНИЕ
Доставить потерянные кораблем ящики, за каждый ящик дается 100 золотых.)
3`quest - mark quest as discovered
mark HeroSurvival as Discovered
3`wait 4.00seconds
3`trigger - turn on
turn on QuestBox Completed

Создать триггер QuestBox Completed
1`unit - specific unit event
(unit) dies
2`boolean compasion
player - player in player group
owner of unit
owner of
event response - killing unit
is in player 1(red)
equal to true
3`trigger - turn off (this trigger)
3`quest - quest message
display to (all players) the quest completed message
ДОПОЛНИТЕЛЬНОЕ ЗАДАНИЕ ВЫПОЛНЕНО
Ящики
3`quest - mark quest requirement as completed
mark HeroSurvivalReq as completed
3`quest - mark quest as completed
mark HeroSurvival as Completed

ГЕРОЙ ПРОКАЧИВАЕТСЯ НА НЕЙТРАЛЬНЫХ ВОЙСКАХ ВЫШЕ 5 УРОВНЯ

Герой прокачивается на creep больше пятого уровня - Игровые Константы: Hero XP Gained – Creep Reduction Table 80, 60, 25, 0 и т.д
У ЮНИТОВ В ОБЛАСТИ НАНОСИТСЯ ПОСЕКУНДНЫЕ ПОВРЕЖДЕНИЯ

Переменная
FlameDamage3
unit group
empty unit group (default)
Side Fire Trap 3 Setup
1`map initialization
3`animation - play animation for doodads in region
play the death animation for all doodads of type (speceffect) within (region)

Side Fire Trap 3 Animation
1`time - periodic event
every 2.00 seconds of game time
3`animation - play animation for doodads in region
play the stand animation for all doodads of type (speceffect) within (region)
3`wait 0.20
3`Trigger - run Side Fire Trap 3 Damage (cheking conditions)
3`wait 1.20
3`animation - play animation for in region
play the death animation for all doodads of type (speceffect) within (region)

Side Fire Trap 3 Damage
3`unit group - clear
remove all unit from FlameDamage3
3`unit group - add unit group
add all units of
units in region
units in (region) to FlameDamage3
3`if/then/else
if
boolean compasion
unit group - unit group is empty
FlameDamage3 equal to true
then do skip remaining actions
else do (do noting)
3`unit group - pick every unit in unit groupand do action
pick every unit in FlameDamage3 and do
Unit - set life (to value)
set life of (picked unit) to
arithmetic
unit - property
Life of (picked unit) - 30
3`special effect - create special effect on unit
create a special effect attached to the origin of
random unit from unit group
random unit from FlameDamage3
using (Effect)
3`special effect - destroy special effect
destroy (last created special efect)

КОГДА ЮНИТ ЗАХОДИТ В ОБЛАСТЬ ГДЕ ЕСТЬ ВЫБОР ГЕРОЕВ, ТО СОЗДАЕТСЯ БОЕВАЯ ЕДИНИЦА ПОД КОНТРОЛЕМ ИГРОКА

Hero Selection
1`unit - unit enters region
a unit enters Hero Selection
3`unit - create units facing angle
create 1 (Hero) for(owner 0f(entering unit)) at (region где должен появиться герой) facing default building facing degress
3`hero - create item for hero
create (item) and give it to (last created unit)
3`if/then/else
player compasion
owner of unit
owner of (entering unit) equal to player 1(red)
then do
set variable
set Пременная Player1 (Unit,none) = (last created unit)
else do
(do nothing)
3`unit - remove
remove (entering unit) from the game

УКАЗАТЕЛИ ПУТИ, ДАЮЩИЕ СООБЩЕНИЯ

Tables
Tab1
1`unit - unit enters region
a unit enters tab1
2`boolean compasion
trigger - trigger queue is empty
equal to true
2`unit compasion
(entering unit) equal to (hero)
3`trigger - turn off(this trigger)
3`game - display to (all players) the text ПУТЬ

Создание «звукового набора»

Вы не сможете создать новый звуковой набор для WarCraft III, но вы можете заменить стандартный. Убедитесь, что, выбирая звуки для замены, никакие другие юниты его не будут использовать, а только те, которые вам нужно заменить, ведь это очень важно в ва-шей карте.
Затем откройте Редактор звуков, найдите папку со звуками для замены, например возьмем юнита типа «Пехотинец», находим папку Units/Human/Footman/. Далее просто щелкаем на звук, который мы хотим заменить, правой кнопкой мышки и выберем «Заменить стан-дартный звук». Тогда вы можете заменить стандартный звук на наш новый. Помните, что вы можете сделать так для любого звука в WarCraft III, так вы можете изменить звуки за-клинаний, декораций и звуки окружения.

Timer Board - Всеми любимые часы

1`Time - time elapsed
elapsed game time is 0.05 seconds
3`Countdown timer - create timer window
create a timer window for (last started timer) with title TIME
3`Countdown timer - start timer
start (last started timer) as a Repeatind timer that will expire in 0.00 seconds

ВОЗВОДИТ УБИЙСТВО 3 ЮНИТОВ ИЗ 5 И т.Д

Create Footmen
Events
Unit - A unit Begins casting an ability
Conditions
(Ability being cast) Equal to (==) Создать Пехотинцев
Actions
For each (Integer A) from 1 to 5, do (Actions)
Loop - Actions
Unit - Create 1 Footman for Player 1 (Red) at (Center of (Playable map area)) facing Default building facing (270.0) degrees
Set George[(Integer A)] = (Last created unit)
For each (Integer A) from 3 to 5, do (Unit - Kill George[(Integer A)])
УБИЛ НЕСКОЛЬКО КОНСТРУКЦИЙ (например 6)И КВЕСТ БУДЕТ ВЫПОЛНЕН

SetupQuests
1`map initilization
3`quest - create quest
create a Optional, undiscovered quest titled ЛУДЛАС
with the dscription Для захвата Лудласа нужно так-же уничтожить все сельские дома и их жителей, чтобы они все сгорели дотла и немишали Мицакулту осуществить Апокллипсис., using icon path (icon).
Переменная
DestroidLydlasQwest
quest none
Set DestroidLydlasQwest = (last created quest)

Kill House
1`unt - specific unit event
(unit) dies
3`set variable
set lydlas = arthmetic
lydlas + 1
3`run Compliet quest (checking condotions)

Переменная
Lydlas
integer
0(default)
Compliet Qwest
2`integer compasion
lydlas greater than or equal to 1
3`quest - quest message
display to (all players) the quest completed message ДОПОЛНИТЛЬНОЕ ЗАДАНИЕ ВЫПОЛНЕНО
СИЯЮЩАЯ ЦИТАДЕЛЬ
3`leaderboard - show/hide
hide (last created leaderboard)
3`leaderboard - show/hide
hide LeaderboardHouses

переменная
DestroidSCQwestReq
quest requirement none
3`quest - create quest requirement
create a quest requirement for DestroidSCQwest with the description (Уничтожте Лудлас.)
Set DestroidSCQwestReq = (last created quest requirement)

Переменная
Houses
integer
42

триггер LeaderHouses
3`leaderboard - create
create a leaderboard for (all players) titled (Домов)
3`Leaderboard - add player
add player 1(red) to (last created leaderboard) with label (Осталось:) and value (Houses)
3`leaderboard - change player value
change the value for player 1(red) in (last created leaderboard) to Houses
3`leaderboard - show/hide
show leaderboardHouses

Триггер L D House01
1`unit - specific unit event
(House) dies
2`unit compsion
event response - killing unit
killing unit
equal to
(Unit)
3`Переменная
Houses
Integer
1
Set Houses = Arthmetic
Houses - 1
3`Leaderboard - change player value
change the value for player 1(Red) in (last created leaderboard) to Houses
3`Leaderboard - show/hide
show leaderboardHouses
Переменная
leaderboardHouses
leaderboard none

СОБИРАЕТ НЕСКОЛЬКО АРТЕФАКТОВ В ОДИН У ЮНИТА/ГЕРОЯ:

События:
Боевая единица - A unit Получает предмет
Условия:
Действия:
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия:
((Triggering unit) has an item of type ) равно Да
((Triggering unit) has an item of type ) равно Да
То - Действие:
Предмет - Remove (Item carried by (Triggering unit) of type )
Предмет - Remove (Item carried by (Triggering unit) of type )
Герой - Create and give it to (Triggering unit)
Иначе - Действие:
Do nothing

СОБИРАЕТ НЕСКОЛЬКО АРТЕФАКТОВ В ОДИН У ЮНИТА/ГЕРОЯ, НО ЕСЛИ У ЮНИТА/ГЕРОЯ ДВА ОДИНАКОВЫХ ПРЕДМЕТА ТО ДЕЛАТЬ ЭТОТ КОД:
Целочисленная (Integer), назовём её ItemCount
События:
Боевая единица - A unit Получает предмет
Условия:
Действия:
Set ItemCount = 0
For each (Integer A) from 1 to 6, do (Actions)
Цикл - Действия:
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия:
(Item-type of (Item carried by (Triggering unit) in slot (Integer A))) равно
То - Действие:
Set ItemCount = (ItemCount + 1)
Иначе - Действие:
Do nothing
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия:
ItemCount больше или равно 2
То - Действие:
Предмет - Remove (Item carried by (Triggering unit) of type )
Предмет - Remove (Item carried by (Triggering unit) of type )
Герой - Create and give it to (Triggering unit)
Иначе - Действие:
Do nothing

Герой достигает уровня и больше не накапливает опыт

Experience Cap
1`Unit - player-owned unit event
player 1(Red) Gains a level
2`unit compasion
leveling hero equal to (unit)
2`integer compasion
hero - hero level
leveling hero
greater than or equal to 4
3`hero - enable/disable experience gain
disable (unit)
ДОРОГИЕ ДРУЗЬЯ СТАВЬТЕ ОЦЕНКИ И КОММЕНТИРУЙТЕ МОИ МАЛЕНЬКИЕ ПОДСКАЗКИ КАСАЮЩИЕСЯ ТРИГГЕРОВ ЭТО ТОЛЬКО МОИ ОСНОВЫ, БОЛЕЕ СЛОЖНЫЕ ТРИГГЕРЫ ВАМ ЕЩЕ НЕ ПОТЯНУТЬ:)

КОГДА ГЕРОЙ УМИРАЕТ И У НЕГО БОЛЬШЕ НЕТ КРЕСТА ПЕРЕРОЖДЕНИЯ ЭТА ОБЛАСТЬ ЕЩЕ ВИДНА

Создаите новый триггер OVERGAMEVISible/Death
Создайте новую переменную
DeathVis
visibility none
И еще чтобы это конечно происходило дайте вы наконец герою крест перерождения!

1`Unit - Player-owned unit event
a unit owned by player 1(red) uses an item
2`Or
item-tipe compasion
item-type of item
item-type of (item being manipulation)
Equal to Ankh of Reincarnation
or
item-type compasion
item-type of item
item-type of (item being manipulated)
equal to
3`Game - text message (explicitly timed)
display to player 1(red) for 6.00 seconds the text ( |cffcd32cdThe Ankh of Reincarnation glows brightly...|r )
3`Visibility - create visibility modifer circle
create an initially enabled visibility modifer for Player 1(red) emitting Visibility from
Position of Unit
Position of Hero manipulating item to a radius of 512.00
3`Set DeathVis = (last created visibility modifer)
3`wait 8.00 seconds
3`Visibility - destroy DeathVis
так держать minus1024, еще не много и мона создавать новую тему :)
Можно ли увеличить максимальное количество разрушаемых декораций (деревьев, в данном случае) на карте, если можно, то как?
Помогите пожалуста как сделать так, чтобы вводя -name (Имя) в ник игрока добавлялось только (Имя)
Тут ваще ктонить бывает?? может кто помоч ?? аУУУУУУУУУ
Помогите как сделать так, чтобы вводя -name (Имя) в ник игрока менялся на (Имя)
ой) как сделать так, чтобы вводя -name (Имя) ник игрока менялся на (Имя)!
еще вопрос , мб кто знает почему у меня в мапе такой лаг кароче после минут 15-20 игра зависает ,почему ЭТо? и как это исправить буду блогадарен.
monc4ter
Посмотри какие триггеры у тебя врубаются в это время и убери их - если игра перестанет вылетать то в них была ошибка.

Ещё у меня вопрос - Как сделать выбор героев двойным кликом на них? Умею делать только 1 клика. Заранее спс
люди скажите как сделать скил и чтоб внутри него можно было открывать другие скилы?
Гривус, слушай напишешь как делать выбор перса при старте 1 кликом, мне просто лень самому допетривать. Короч распишешь в порядке 1-событие, 2-условие, 3-действие ок?
ЕЩЕ ОДНА МОЯ ЗАДУМКА В ПОМОЩЬ КАРТОСТРОИТЕЛЕЙ
Как сделать чтобы герой не получал опыт, вдали от битвы?
Убрать галочку в игровых константах из параметра Опыт героя – Общее распределение(Global Experience)

А можно ли как-то выделить несколько переменных сразу и скопировать?
Если речь идет о иморте триггеров в свою карту, то создавать переменные не нужно - они создаются автоматически если поставить галочку в пункте меню "Файл" -> "Параметры" -> закладка "Общие" -> Ставь галочку на "Автом. Создавать неизв. переменные во время вставки триггеров". После этого просто копируем триггеры - переменые создадутся автоматически.

Как сделать так, чтобы вода стекала со склона вниз ?
В меню "Дополнительно" снимите галочку напротив пункта "Ограничение уровня воды". Теперь можно воду пускать вниз или даже вверх.

Как сделать, чтобы срубленные деревья вырастали вновь ?
Событие - Декорация умирает
Действие - пик евери декорация и ressurect

ФЛАГ - ИГРОК ПОЛУЧАЕТ ОТ ВСЕХ УБИТЫХ КАК И Creep ТАК И ЗА ВОИНОВ ИГРОКОВ ЗОЛОТО
Игрок - Set Player Flag on/off - Получает в награду за убийство любого воина

НЕВИДИМАЯ ВОЛНА - СПОСОБНОСТЬ
Создать способность Shockwave как у Героя-минотавра Орков, очистить в полях: art-missle art, art-missle speed изменить c 1050 на 800 и все - далее дать способность герою.

СКОРОСТЬ ИГРОВОГО ДНЯ
3`game - set time of day speed
set time of day speed to 30% of the default speed

ПОСТ ИГРЫ СКРИН
3`player - show/hide in score screen
hide player 1(red) in the post-game score creen

КАЖДЫЕ 120 или любое другое число СЕКУНД ОТРЯД ВРАГА НАПАДАЕТ НА ВАШ ЛАГЕРЬ

Attacks
1`time - periodic event
every 120.00seconds of game time
3`unit group - pick every unit in unit group and do action
pick every unit in
units owned by player of type
units owned by Player12(brown) of type (unit - выбор по своему усмотрению)
and do
unit - issue order targeting a unit
order (picked unit) to attack
random unit from unit group
random unit from
units in region owned by player
units in (Region - он должен находиться на вашей базе) owned by Player 1(red)
Например можно вместо Player12(brown) поставить другого игрока который будет выбран в качасте нападающего в карте.

Герой сохраняется в пакет и действие начинается другим персонажем

Название триггера
Player 1 enters Tank

Прежде чем это делать создайте 2 региона - один где герой потеряет контроль и другой где получит новый контроль, триггер старого образца, так что не судите строго, в этом случае если сделаете эти два триггера на вход и выход из региона - можете изменить некоторые параметры триггера. Это надежный триггер, + его в том что герой остается еще на карте и например отдан нейтральному игроку и сделан неуязвимым ну чтоб наверняка.

1`Unit - unit enters region
(region)
2`Player compasion
owner of unit
entering unit equal to player 1(Red)
3`trigger - turn off(this trigger)
3`set variable
Переменная
TempPlayer1
Unit
None TempPlayer1 = Player1
Переменная
Player1
Unit
None
3`Unit - create units facing point
1 (Unit)..Player 1(Red).. (Region) facing (region)
3`Set variable
Player1 = (last created unit)
3`Comment
NLawson - Here I keep the player in a temporary variable and change 'player1' to the tank
3`Unit - hide
TempPlayer1


Название триггера
Player 1 Leaves Tank
1`Unit - unit enters region
(Region)
2`Unit Compasion
Entering unit equal to Player1
3`Trigger - turn off(This trigger)
3`Unit - unhide
TempPlayer1
3`Unit - Move Unit(instantly)
TempPlayer1... (Region)
3`Special effect - create special effect at point
(Region)...Mass teleport\Random
3`Переменная
TankSFX
Special effect
array 1 none
Set variable
TankSFX(1) = Last created special effect)
3`Wait 0.10sec
3`Unit - hide Player1
3`Set variable
Player1 = TempPlayer1
3`wait 2.00sec
3`special effect - destroy TankSFX(1)
В обоих триггерах Плюс камера к месту событий этих героев, т.е обязательно прикрепите камеру к действующему герою\юниту

Если у вас есть в карте мультиборд\мультидоска\multiboard то делайте приведенное ниже:

ВСЕ ПРО МУЛЬТИБОРД - ПОКАЗ МУЛЬТИБОРДА КОГДА ИГРОК ВСТУПАЕТ В ИГРУ ИНАЧЕ НИЧЕГО НЕ ПРОИСХОДИТ
Переменная
целочисленная переменная (integer), назовем ее "player"
Переменная
игрок (player), назовем ее "MBplayer"

1`Событие
Map initialization
2`Условие
3`Дейсвие
Set player = 0
For each (Integer A) from 1 to 12, do (Actions)
Цыкл - Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условие
((Player((Integer A))) slot status) равно "Играет"‚
То - Действия
Set player = (player + 1)
Set MBplayer[player] = (Player((Integer A)))
Иначе - Действия

Этот триггер установил наш мультиборд, и мы установили отображение переменных “kills” в нужных нам местах

События
Unit - A unit Dies
Условия
Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Owner of (Triggering unit)) Equal to Player 1 (Red)
Then - Actions
Set OrcKills = (OrcKills + 1.00)
Multiboard - Set the text for TutorialBoard item in column 2, row 2 to (String(OrcKills))
Else - Actions
Do nothing
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Owner of (Triggering unit)) Equal to Player 2 (Blue)
Then - Actions
Set HumanKills = (HumanKills + 1.00)
Multiboard - Set the text for TutorialBoard item in column 2, row 1 to (String(HumanKills))
Else - Actions
Do nothing

Этот триггер показывает практически тоже самое, только он соханяет не количество убитых юнитов, а количество убитых героев

События
Unit - A unit Dies
Условия
Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Killing unit) Equal to Human_Hero
Then - Actions
Set Human_Hero_Kills = (Human_Hero_Kills + 1.00)
Multiboard - Set the text for TutorialBoard item in column 4, row 1 to (String(Human_Hero_Kills))
Else - Actions
Do nothing
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Killing unit) Equal to Orc_Hero
Then - Actions
Set Orc_Hero_Kills = (Orc_Hero_Kills + 1.00)
Multiboard - Set the text for TutorialBoard item in column 4, row 2 to (String(Orc_Hero_Kills))
Else - Actions
Do nothing

СОСТОЯНИЕ ЮНИТА В МУЛЬТИБОРДЕ
1`Initialization
3`Действия:
Wait 0.1
MultiBoard c 2-я столбцами и 3-я строчками, назовем этот MultiBoard “Состояние юнита”
-на позицию 1-1 припишем текст “Имя:”
-на позицию 2-1 припишем текст “Состояние:”
//Мультиборд у нас будет ввиде таблици, и выше перечисленные тексты, это будут заголовки столбцов.
-на позицию 1-2 припишем текст “Артес-”
-на позицию 1-3 припишем текст “Илидан-”
//Эти имена будет стоять в колонке "Имя", и они будут неизменны.
-на позицию 2-2 и 2-3 припишем текст “Жив”.
//Эта будет стоять в колонке "Состояние", и они будут Менятся по ходу игры.
//Следующее что надо сделать, это оформит, определим расстояние для каждого текста:
-на позицию 1-1, 1-2, 1-3, делаем расстояние 5%.
-на позицию 2-1, 2-2, 2-3, делаем расстояние 7%, думаю, хватит.
//Сейчас у нас готов MultiBoard, но он крайне некрасив - все слова написаны белыми буквами.
//Так что следующий шаг, это дизайн:
-Цвет названия делаем красным (100%, 0%, 0%)
-Цвет текста (1-1 и 2-1) делаем, синим (0%, 0%, 100%)
-Цвет текста (1-2 и 1-3) делаем зеленым (0%, 100%, 0%)
-Цвет текста (2-2 и 3-3) делаем желтым (0%, 100%, 100%)

Далее поставим 2-х юнитов на карту рядом друг с другом (Артеса и Илидана).
Создаем переменную массив integer (целочисленная) OTC4ET
1`Событие Generic Unit Event, Юнит умирает.
3`В действиях: Создаем 2 действия – If / Then / Else, Multiple Functions.
В первом ставим, что:
Если: Умерший юнит = Артес
То:
Set OTC4ET (1) = 30
//Далее без циклов тут не обойтись потому создаем цикл
For each (integer B) from 1 to 30, do (Actions)
Цикл – Действия
//Далее делаем в позиции 2-2, текст использую пару функций
(Делаем действие создание текста с функцией (Мертв(+((String(OTC4ET(1)))+сек.)))
//Что это значит? Это означает что создастся текст “Мертв(" + "[текущее значение переменной OTC4ET(1)]" + "сек.)”
//Далее, конечно же, ставим действие:
Set OTC4ET (1) = OTC4ET (1) - 1
Wait 1.00 game-time second
//На этом цикл закончился.
(Создаем текст в позиции 2-2 “Жив”)
//И ставим действие возрождение героя:
Герой – Instantly revive (Triggering unit at (Position of (Triggering unit), Показать revival graphics))
//Все
//(В следующем действии (If / Then / Else) ставим ВСЕ ТО ЖЕ САМОЕ только заменяем в условии Илидана на Артеса
//а во всех действиях создания текста в MultiBoard-е заменяем 2-2 на 2-3. И везде используем переменную не OTC4ET(1), а OTC4ETT(2).

ОКРУЖЕНИЕ - ЛЬЕТ ДОЖДЬ КОГДА УТРО ИЛИ ТУМАН КОГДА НОЧЬ

1`game - time of day
the in-game time of day becomes greater than or equal to 6.00
3`environment - enable/disable weather effect
turn (last created weather effect) off
3`environment - remove weather effect
remove (last created weather effect)
3`wait 0.01 seconds
3`environment - create weather effect
create at (playable map area) the weather effect
ashenvale rain (heavy)
3`environment - enable/disable weather effect
turn (last created weather effect) on
3`Trigger - run GameThunder Periodic (cheking conditions)

Новый Триггер - GameThunder Periodic

1`Time - every 35.00 seconds of game time
3`Sound ( Звук Грома )
ВОТ ПРЕДСТАВЛЯЮ ВАМ СРЕДНЕЙ СЛОЖНОСТИ КВЕСТ

В РЕГИОНЕ СТОИТ ФОНТАН ЖИЗНИ РЯДОМ КВЕСТОДАТЕЛЬ, ОН ДАЕТ ЗАДАНИЕ ПРИНЕСТИ 2 АРТЕФАКТА ДЛЯ ТОГО ЧТОБЫ ФОНТАН СНОВА ВОЗРОДИЛСЯ(В НАЧАЛЕ У ФОНТАНА ДОЛЖНА БЫТЬ ОТКЛЮЧЕНА СПОСОБНОСТЬ АУРА РЕГЕНЕРАЦИИ)

Quest Fountain Create
2`boolean compasion
trigger - trigger is on
(this trigger) is on
equal to true
3`trigger - turn off(this trigger)
3`comment
Create the quest objects
3`quest - create quest
create a optional,undiscovered quest titled (Defiled Fountain) with the description (The Fountain of Health once healed anyone who drank from it, but lately the water has become foul. You must retrieve the Vine of Purification and the Seed of Expulsion and bring them back to the Fountain so Sen'Jin can concoct a purifying potion.)using icon path
(icon)
Переменная
QuestFountain
quest
none
Переменная
QuestFountainReqVine
quest requirement
none
Переменная
QuestFountainReqSeed
quest requirement
none
Переменная
QuestFountainReqReturn
quest requirement
none
3`set variable
set QuestFountain = (last created quest)
3`quest - create quest requirement
create a quest requirement for QuestFountain with the description (Obtain the Vine of Purification)
3`Set variable
set QuestFountainReqVine = (last created quest requirement)
3`quest - create quest requirement
create a quest requirement for QuestFountain with the description (Obtain the Seed of Expulsion)
3`Set variable
set QuestFountainReqSeed = (last created quest requirement)
3`quest - create quest requirement
create a quest requirement for QuestFountain with the description (Return both items to the Fountain)
3`Set variable
set QuestFountainReqReturn = (last created quest requirement)

Quest Fountain Discover
3`trigger - turn off(this trigger)
3`comment
Ensure that the quest exists
3`trigger- run(checking conditions)
run Quest Fountain Create (checking conditions)
3`quest - mark quest as discovered
mark QuestFountain as discovered
3`comment
Display a quest message.
3`quest - quest message
display to (all players) the quest discovered message(|cffffcc00OPTIONAL QUEST|r
Defiled Fountain
- Obtain the Vine of Purification
- Obtain the Seed of Expulsion
- Return both items to the Fountain)
3`visibility - create visibility modifier circle
create aninitiality enabled visibility modifer for player 1(red) emitting visibility from (region -Там где нужно создать видимость) to a radius of 512.00
3`visibility - destroy visibility modifier
destroy (last created cisibility modifier)
3`visibility - create visibility modifier circle
create aninitiality enabled visibility modifer for player 1(red) emitting visibility from (region -Там где нужно создать видимость) to a radius of 512.00
3`visibility - destroy visibility modifier
destroy (last created cisibility modifier)
3`comment
SUMMON EYES HERE
3`cinematic - ping minimap
ping minimap for player 1(red) at (region Vine) for 7.0 seconds
3`cinematic - ping minimap
ping minimap for player 1(red) at (region Seed) for 7.0 seconds
3`camera - set spacebar-point
set a spacebar-point for player 1(red) at (region Vine)
3`camera - set spacebar-point
set a spacebar-point for player 1(red) at (region Seed)

Quest Fountain Updated
3`comment
Ensure that the quest exists
3`trigger- run(checking conditions)
run Quest Fountain Create (checking conditions)
3`comment
Display a quest message.
3`quest - quest message
display to(all players) the quest discovered (|cffffcc00OPTIONAL QUEST UPDATE|r
Defiled Fountain)
3`if/then/else
if
boolean compasion
quest - quest requirement is completed
QuestFountainReqVine is completed
equal to true
then do
quest - quest message
display to (all players) the quest requirement message ( - |cff808080Obtain the Vine of Purification (Completed)|r)
else do
quest - quest message
display to (all players) the quest requirement message ( - Obtain the Vine of Purification)
3`if/then/else
if
boolean compasion
quest - quest requirement is completed
QuestFountainReqSeed is completed
equal to true
then do
quest - quest message
display to (all players) the quest requirement message ( - |cff808080Obtain the Seed of Expulsion (Completed)|r)
else do
quest - quest message
display to (all players) the quest requirement message ( - Obtain the Seed of Expulsion)
3`quest - quest message
display to (all players) the quest requirement message ( - Return both items to the Fountain)
3`comment
Ping Minimap
3`comment
Seed Completed, Vine Not
3`if/then/else
if
and
boolean compasion
quest - quest requirement is completed
QuestFountainReqSeed is completed
equal to true
and boolean compasion
quest - quest requirement is completed
QuestFountainReqVine
is completed equal to false
then do cinematic - ping minimap
ping minimap for player 1(red) at (Region Vine) for 7.00seconds
else do (do nothing)
3`if/then/else
if
and
boolean compasion
quest - quest requirement is completed
QuestFountainReqSeed is completed equal to true and
boolean compasion
quest - quest requirement is completed
QuestFountainReqVine is completed equal to false
then do camera - set spacebar-point
set a spacebar-point for player1(red) at (region Vine)
else do (do nothing)
3`comment
Vine Completed, Seed Not
3`if/then/else
if
and
boolean compasion
quest - quest requirement is completed
QuestFountainReqSeed is completed
equal to false
and boolean compasion
quest- quest requirement is completed
QuestFountainReqVine is completed
equal to true
then do cinematic - ping minimap
ping minimap for player 1(red) at (Region RevealSeed) for 7.00seconds
else do (do nothing)
3`if/then/else
if
and
boolean compasion
quest - quest requirement is completed
QuestFountainReqSeed is completed equal to false and
boolean compasion
quest - quest requirement is completed
questFountainReqVine is completed equal to true
then do camera - set spacebar-point
set a spacebar-point for player 1(red) at (region Reveal Seed - то есть там где лежат предметы)
else do (do nothing)
3`comment
Both Completed
3`if/then/else
if
and
boolean compasion
quest - quest requirement is completed
QuestFountainReqSeed is completed equal to true
and boolean compasion
quest - quest requirement is completed
QuestFountainReqVine is completed equal to true
then do
cinematic - ping minimap
ping minimap for player 1(red) at (Unit - position of unit (Выберите регион на котором стоит Фонтан жизни)) for 7.00seconds
else do (do nothing)
3`if/then/else
is
and
boolean compasion
quest - quest requirement is completed
QuestFountainReqSeed is completed equal to true
and boolean compasion
quest - quest requirement is completed
questFountainReqVine is Completed Equal to true
then do
camera - set spacebar-point
set a spacebar-point fo player 1(red) at (Region - где стоит фонтан жизни)
else do (do nothing)

Новый триггер
Quest Fountain Completed
3`comment
Ensure that the quest exists
3`trigger - run Quest Fountain create (cheking conditions)
3`comment
Update the quest
3`quest - mark quest as discovered
mark QuestFountain as Discovered
3`quest - mark quest requirement as completed
mark QuestFountainReqReturn as completed
3`quest - mark quest requirement as completed
mark QuestFountainReqSeed as completed
3`quest - mark quest requirement as completed
mark QuestFountainReqVine as completed
3`quest - mark quest as completed
mark QuestFountain as completed
3`comment
Display a quest message.
3`quest - quest message
display to (all players) the quest completed message (|cffffcc00OPTIONAL QUEST COMPLETED|r
Defiled Fountain)

ТЕПЕРЬ САМ КВЕСТ ЧТОБЫ БЫЛО ЧЕМУ СОВЕРШАТЬ ДЕЙСТВИЯ

Rescue Fountain Troll
2`boolean compasion
trigger - trigger is on
this trigger is on
equal to true
3`trigger - turn off (this trigger)
3`unit - rescue unit
rescue (unit - Он должен стоять рядом с фонтаном) for player 1(red) and change color
3`unit - issue order targeting a point
order (unit) to move to (region - где стоит фонтан жизни)
3`unit - make invilnerable/vulnerable
make (unit) vulnerable
3`Special effect - destroy (unitSpec effect - Восклицательный знак)

Player Approaches Fountain
1`unit - unit within range
a unit comes withnin 256.00 of (unit Region)
2`boolean compasion
GameOver Equal to false
Переменная GameOver
boolean
false
2`player compasion
owner of unit
owner of triggering unit equal to player 1(red)
2`boolean compasion
quest - quest is discovered
QuestFountain is discovered equal to false
3`trigger - turn off(this tigger)
3`trigger - add to trigger Queue
add (Player Approaches Fountain Q) to the trigger queue (checking conditions)

Player Approaches Fountain Q
2`boolean compasion
GameOver equal to false
2`boolean compasion
quest - quest is discovered
QuestFountain is discovered equal to false
3`comment
Reveal the Troll for his speech
3`Visibility - create visibility modifier circle
create an initially enabled visibility modifier for player1(red) emitting visibility from (region) to a radius of 600,00
3`comment
Set Spacebar and Ping
3`camera - set spacebar-point
set a spacebar-point for player 1(red) at
unit - position of unit
position of ( Unit - Фонтан)
3`cinematic - ping minimap
ping minimap for player1(red) at
unit - position of unit
position of ( Unit - Фонтан)
for 7.00seconds
3`sound - set all volume channels for speech
setup all volume channels for speech
3`cinematic - transmission from unit
send transmission for (all players) from (unit - дающий задани, и который стоит у фонтана) named (Name) play no sound and display (Transmission) modify duration
set to 20.00seconds and dont wait
3`wait 19.00seconds
3`sound - reset all volume channels
reset all volume channels to 100%
3`wait 1.00seconds
3`comment
Update Quest
3`trigger - run(checking conditions)
run Quest Fountain Discover (checking conditions)
3`wait campaing quest delay seconds
3`trigger - remove(this trigger) from the trigger queue
3`wait 4.00seconds
3`comment
Kill the revealer
3`Visibility - destroy visibility modifier
destroy (last created visibility modifier

Player Finds Component
Здесь нужно сделать области которые накрывают регион где лежат эти предметы
1`unit - unit enters region
a unit enters (Region - vine tripwire)
1`unit - unit enters region
a unit enters (Region - seed tripwire)
2`boolean compasion
GameOver equal to false
2`player compasion
owner of unit
owner of Event response - entering unit
equal to player1(red)
2`boolean compasion
quest - quest is discovered
QuestFountain is discovered equal to false
3`trigger - turn off(this trigger)
3`trigger - add to trigger queue
add Player Finds Component Q to the trigger queue (chekcking conditions)

Player Finds Component Q
2`boolean compasion
GameOver equal to false
2`boolean compasion
quest - quest is discovered
QuestFountain is discovered equal to false
3`comment
Update Quest
3`trigger - run(checking conditions)
run Quest Fountain Discover checking conditions
3`wait campaing quest delay seconds
3`trigger - remove from trigger queue
remove (this trigger) from the trigger queue

Player Obtains Vine
1`unit - player-owned unit event
a unit owned by player 1(red) acquires an item
2`boolean compasion
GameOver equal to false
Примечание: (item vine - для начало создайте 2 региона где будут лежать предметы и переменную на каждый предмет:
Переменная
item vine
item
no item закрепите set variable на созданный вами предметы на каждый. И еще одну переменную:
Переменная
item Seed
item
no item)
2`item compasion
event response - item being manipulated equal to Item Vine
3`trigger - turn off(this trigger)
3`wait 0.50 seconds
3`trigger - add to trigger queue
add Player Obtains Vine Q to the trigger queue (ignoring conditions)
Player Obtains Vine Q
2`boolean compasion
Game over equal to false
3`comment
Update Quest
3`camera - set spacebar-point
set a spacebar-point for player1(red) at
unit - position of unit
(unit)
3`quest - mark quest requirement as completed
mark QuestFountainReqVine as completed
3`trigger - run(checking conditions)
run Quest Fountain Updated (checking conditions)
3`wait campaing quest delay seconds
3`Trigger - remove from trigger queue
remove (this trigger) from the trigger queue

Player Obtains Seed
1`unit - player-owned unit event
a unit owned dy player1(red) acquires an item
2`boolean compasion
GameOver equal to false
2`item compasion
event response - item being manipulation
equal to ItemSeed
Переменная
ItemSeed
item
no item
Переменная
ItemVine
item
no item
3`trigger - turn off(this trigger)
3`wait 0.50seconds
3`trigger - add to trigger queue
add Player Obtains Seed Q to the trigger queue (ignoring conditions)

Player Obtains Seed Q
2`boolean compasion
GameOver equal to fasle
3`comment
Поиски Модернизации
3`camera - set spacebar-point
set a spacebar-point for player1(red) at
unit - position of unit
position of (hero)
3`quest - mark quest requirement as completed
mark QuestFountainReqSeed as Completed
3`trigger - run(checking conditions)
run Quest Fountain Updated (checking conditions)
3`wait campaing quest delay seconds
3`trigger - remove from trigger queue
remove (this trigger) from the trigger queue

Player returns both Reagents
1`unit - unit within range
a unit comes within 512.00 of (Фонтан Жизни)
2`boolean compasion
GameOver equal to false
2`unit compasion
triggering unit equal to (hero)
2`boolean compasion
hero - hero has item
(hero) has ItemVine equal to true
2`boolean compasion
hero - hero has item
(hero) has ItemSeed equal to true
3`trigger - turn off(this trigger)
3`trigger - add to trigger queue
add Player returns both Reagents Q to the trigger queue (checking conditions)
3`trigger - add to trigger queue
add Fountain Cinematic Q to the trigger queue (checking conditions)

Fountain Cinematic Q
2`boolean compasion
GameOver equal to false
3`comment
Fade Out
3`cinematic - fade filter
fade out over 1.00seconds using texture withe mask and color 0 0 0 0 transparency
3`wait 1.00seconds
3`comment
Set Up Scene
3`wait 0.25seconds
3`unit - issue order targeting a point
order (hero) to move to (region - fontan)
3`comment
Fade In
3`cinematic - fade filter
fade in over 0.50seconds using texture withe mask an color 0 0 0 0 transparency
3`wait 0.50
3`comment
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
3`comment
CINEMATIC BEGINS - Cinematic Can Now Be Skipped
3`comment
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
3`cinematic - transmission from unit
send transmission(all players) from (Unit - Квестодатель Фонтана) named (Sen`jin) play no sound and display (Hello again, outlanders! These ingredients be exactly what I need.)modifiy duration set to 7.50 seconds and don`t wait
3`wait 4.50seconds
3`comment
SPECIAL EFFECT IS NOT PLAYING
3`special effect - create special effect at point
create a special effect at (centr Fontan) using (Abilities\Spells\Undead\Unsummon\UnsummonTarget.mdl)
3`sound - set volume of charmTarget to 80%
3`sound - set 3D sound position
set position of CharmTarget1 to (region - fontan) with z offset 0.00
3`sound - play sound
play CgarmTarget1
3`sound - set volume of RestorationPotion to 80%
3`sound - set position of RestorationPotion to (region - fontan) with z offset 0.00
3`sound - play sound
play RestorationPotion
3`Переменная
SEFountain
Special Effect none
set Variable
set SEFountain = (last created special effect)
3`wait 2.00seconds
3`sound - set 3D Sound Positon
set position of FountainOfLifeWhat to (region - fontan) with z offset 0.00
3`sound - play FountainOfLifeWhat
3`wait 2.50
3`Переменная
Fountain
Unit
No unit
Cinematic - fade filter
fade out over 0.50seconds using texture Withe Mask and color 0 0 0 0
3`wait 0.50seconds
3`Trigger - Run Replace Fountain (checking conditions)
3`special effect - destroy SEFountain
3`fade filter
fade in over 0.50seconds using texture Withe Mask and color (0 0 0) 0% transparency
3`camera - apply FountainA for palyer1(red) over 0.00seconds
3`camera - apply FountainB for player1(red) over 7.00seconds
3`cinematic - transmission from unit
send transmission to (all players) from (unit возле фонтана) named Sen`jin play no sound and display (Now our warriors can heal themselves! Let me give you a little something for the trouble.)modify duration set to 8.00seconds and Don`t wait
3`wait 7.00seconds
3`3`cinematic - transmission from unit
send transmission to (all players) from (unit возле фонтана) named Sen`jin play no sound and display (These wards contain healing magic. No doubt you'll find them useful.) modify duration set to 8.00seconds and Don`t wait
3`wait 6.00seconds
3`comment
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
3`comment
CINEMATIC ENDS - Cinematic Can No Longer Be Skipped
3`comment
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
3`comment
Fade Out
3`cinematic - fade filter
fade out over 0.50seconds using texture Withe Mask and color 0 0 0 0
3`comment
Fade In
3`cinematic - fade filter
fade in over 0.50seconds using texture Withe Mask and color 0 0 0 0
3`wait 2.00seconds
3`trigger - remove from trigger queue
remove (this trigger) from the trigger queue

Replace Fountain
2`unit compasion
Fountain equal to no unit
3`comment
Replace the Defiled Fountain with a Fountain of Health
3`unit - replace
Replace ( Тут выбрать фонтан) with a ( А тут на который нужно поменять) using The old unit`s relative life and mana
3`set variable
set Fountain = (last replaced unit)

Player returns both Reagents Q
2`boolean compasion
GameOver equal to false
3`comment
Удаление Пунктов(изделий) Поисков
3`item - remove ItemSeed
3`item - remove ItemVine
3`comment
Полные Поиски
3`trigger - run(checking conditions)
run quest Fountain Completed (checking conditions)
3`wait campaing quest delay seconds
3`trigger - remove from trigger queue
remove (this trigger)from the trigger queue

Переменная
комментарий Пункты(изделия) Поисков
set variable
set ItemSeed = ( Здесь Первый Предмет Лежащий в области
set variable
set ItemVine = ( Здесь Второй Предмет Лежащий в области
item - make ItemSeed Invulnerable
item - make ItemVine Invulnerable

КОНТРОЛЬ ЮНИТА, УПРАВЛЕНИЕ ДВИЖЕНИЯ НА КНОПКАХ

Do not let the user zoom in
1`time - periodic event
every 0.50 seconds of game time
2`переменная
GameStarted
boolean false
пременная
playerdead
boolean fasle
boolean compasion
GameStarted equal to true
2`boolean compasion
playerdead equal to fasle
3`camera - set camera field (timed)
set player1(red)s camera distanse to target to
camera - camera field of camera object
distance to target of (camera - закрепленная на героем)
over 0.20seconds
3`camera - set camera field(timed)
set player1(red)s camera Angle of attack to
camera - camera field of camera object
angle of attack of (Camera)
over 0.20seconds
3`camera - set camera field(timed)
set player1(red)s camera rotation to
camera - camera field of camera odject
rotation of (camera)
over 0.20seconds
3`camera - lock camera target to unit
lock camera target for player1(red) to (Hero) offset by 0.00,440.00 using default rotation

Move Event
1`unit - specific unit event
(hero) is issued an order with no target
2`boolean compasion
GameStarted equal to true
3`if/then/else
if
order compasion
event response - issue order
equal to conversion - convert string to order
order (stop)
then do trigger - run(ignoring conditions)
run Move Left (ignoring conditions) else do (do nothing)
3`if/then/else
if
order compasion
event response - issued order
equal to conversion - convert string to order
order holdposition
then do trigger - run (ignoring conditions)
run Move Right (ignoring conditions)
else do (do nothing)

Move Right
Переменная
TargetDest
point
none
Переменная
TempX
real
0.00
3`set variable
set TargetDest = unit - position of unit
position of (hero)
3`set variable
set TempX = X of point
X of TargetDest
Переменная
MoveDistance
Real
192.00
3`set variable
set TempX = arthmetic
TempX + MoveDistance
3`if/then/else
if
real compasion
TempX Greater than
region - max X of Region
Max X of (Region - где находится главный герой)
then do set variable
set TempX = region - Max X of Region
Max X of (Region) else do
(do nothing)
3`set variable
set TargetDest = convert coordinates to point
point(TempX,1000.00)
3`unit - make unit face point
make (Hero) face TargetDest over 0.00seconds
3`unit - issue order targeting a point
order (hero) to Move to TargetDest
Move Left
3`set variable
set TargetDest = unit - position of unit
position of (hero)
3`set variable
set TempX = X of Point
X of TargetDest
3`set variable
set TempX = arithmetic
TempX - MoveDistance
3`if/then/else
if
real compasion
TempX Less than
region - Min X of Region
Min X of (region) then do
set variable
set TempX = Min X of Region
Min X of (region) else do (do nothing)
3`set variable
set TargetDest = conversion - convert coordinates to point
point(TempX,1000.00)
3`unit - make unit face point
make (hero) face TargetDest over 0.00seconds
3`unit - issue order targeting a point
order (hero) to move to TargetDest

ВСЕ ИНРОКИ ПОЛУЧАЮТ 1% или любое другое число ОТ ВСЕХ УБИЙСТ СЕБЕ В ОПЫТ

hero - set experience rate
make random player from player group
random player from (all players of control)
all players controlled by a user players
heroes gain 1.00% experience from future kills

ЗВУКИ БОЯ РЕАЛ С МЕЧАМИ
Combat - armor type metal
combat - attack 1 - weapon Metal Light Slice

И ЕЩЕ ДЛЯ САМЫХ РПГМАНОВ ДАЮ ИЗ МАНГИ ЦЕННУЮ ИНФОРМАЦИЮ - ВСЕ ПРЕДИСТОРИЯ ВАРКРАФТА, КОНЕЧНО ЖЕ ДЛЯ ОПИСАНИЯ ИЛИ ВСТУПИТЕЛЬНОГО РОЛЛИКА ВАШЕЙ КАРТЫ, ВСЯ ИСТОРИЯ СООТВЕТСТВУЕТ ДЕЙСТВИТЕЛЬНОСТИ!!!


Предистория

Мир под названием Азерот издревле был пронизан магией. Изначально секретами этого таинственного искусства владели лишь драконы и ночные эльфы, но со временем и среди людей стали появляться волшебники, способные обращаться с нестабильными энергиями. Ничего удивительного, что неумеренное использование магии привлекло внимание могущественной злой силы изза пределов мира - демонического Пылающего Легиона. Первую попытку вторжения Пылающего Легиона в Азерот ( впоследствии ее стали называть войной Древних ) удалось пресечь, но цена оказалась неимоверно высока: множество жизней оборвалось до срока, а Калимдор, центральный континент Азерота, раскололся на несколько мелких клочков суши. Во втором вторжении демоны Пылающего Легиона использовали в качестве пушечного мяса орков из мира Дренор. Орки, в чьи сердца демоны заронили проклятие жажды крови, ворвались в Азерот через Темный Портал. После многих битв Вторая война закончилась поражением и пленением орков. И все же Пылающий Легион не оставлял попыток завоевать Азерот. Чтобы ослабить защитников непокорного мира, демоны создали Короля Мертвых, наделив его невероятным могуществом. Король Мертвых посеял в землях Азерота смертоносную чуму, рассчитывая полностью уничтожить цивилизацию людей. Все, кто погибал от ужасной болезни, восставали из мертвых и пополняли армию нежити, а их души порабощались стальной волей Короля. После того как его Проклятое воинство прокатилось по земле, Квел`Талас, славное королевство высших эльфов, процветавшее тысячи лет, перестал существовать. Далее армия нежити двинулась на юг к Даларану, а после на Калимдор, родину ночных эльфов. На калимдоре наступление умертвий было остановлено, однако нежить превратила Лордерон и Квел`Талас в сочащиеся ядом Гиблые земли. Оплакивая свою погубленную родину, большинство высших эльфов приняли новое имя и обрели новую цель существования. Они стали называть себя эльфами крови и полностью посвятили жизнь поиску источников магии. Эльфы крови вычерпывали магию отовсюду, вытягивая волшебную силу в том числе и из плененных демонов. Тем временем часть Проклятого воинства взбунтовалась и предприняла попытку захватить власть в империи нежити. В конечном счете банши Сильвана Ветроногая и ее мертвые воины, известные под именем Отверженных, объявили руины столицы Лордерона своей территорией и поклялись изгнать армию нежити с королевских земель. К настоящему времени Король Мертвых воцарился в Нортренде и, по слухам, восстанавливает цитадель Ледяной Короны. Его доверенный помощник, маг Кел`Тузед, командует Проклятым воинством в Гиблых землях. Сильване и ее Отверженным удается удерживать лишь поля Тирисфала, жалкий осколок растерзанного войной королевства, в то время как люди, орки и ночные эльфы пытаются возродить свои некогда великие цивилизации.
ОДНА ОСОБЕННОСТЬ ДЛЯ 66 СПОСОБНОСТЕЙ ГЕРОЯ (НУ ЭТО ДЛЯ ТЕХ КТО ЛЮБИТ ИСПОЛЬЗОВАТЬ В СВОЕЙ КАРТЕ НЕМЫСЛИМУЮ СХВАТКУ С БОССОМ ИЛИ ПРОСТО ДЛЯ РАЗВЛЕЧЕНИЯ)

1) В редакторе объектов создайте 6 нестандартных способностей типа предмет - книга заклинаний/spell book, и очистите список в книге заклинаний в строках заклинаний книги - количество заклинаний в редакторе способности поставьте не 3 а 11 минимальное количество и 11 максимальное. Далее внеситете в каждую книгу нужные заклинания но только 11 иначе при входе в эту книгу обратно не вернуться!, и уберите галку в пункте способность предмета и дайте своему герою все эти спеллбуки ( примечание: можно поставить галку в способность герою - в этом случае в интерфейсе героя появляется красный плюсик - в этом случае можно улучшать каждую из ваших спеллбуков\книг заклинаний - это нужно для того чтобы например улучшить все ваши спеллы в каждой из книг, так сказать становятся еще мощней!:-) - и правда круто! )
Вот например У меня делается РПГ С красочным прохождением, выбором расы с помощью диалоговых окон ( кол-во рас у меня 12 - как и кол-игроков.хы), и у героя есть на выбор из 4 даммиюнитов у каждого из которых по 132 спелла, + к этому несколько десятков квестов и синематики. Но минус в том что все реплики карты не озвучены - народ не подскажете где достать программу звукозаписи и конвертировки звука в карту варкрафта?!

2) ЕЩЕ ГРОШЬ ДЛЯ РПГЭШНИКОВ - ПРОФЕСИИ В КАРТЕ РПГ
профессия: ремесленник, воин, маг, вор, священник - и т.д. например, если это воин, то он может быть благородным рыцарем; наемником, готовым на все ради денег; безжалостным убийцей и др. Маг может быть мудрецом, стремящимся к познанию мира; человеком не от мира сего, которого ничто не волнует, кроме каких-то собственных дел; тираном, стремящемся к власти и т.д.

СЕЙЧАС ПОГОВОРИМ О ТРИГГЕРНЫХ СПЕЛЛАХ ВАРКРАФТ3/ТРИГГЕРНЫЕ СПЕЛЛЫ.
ЕСТЬ НЕСКОЛЬКО ПРОСТЫХ СПЕЛЛОВ И ВОТ ИХ ПОРЯДОК СОЗДАНИЯ, НО ДЛЯ НАЧАЛА ПОВТОРЮСЬ ЧТОБЫ БЫЛО ВСЁ ПОНЯТНО: Под цифрами подразумевается: 1 - событие, 2 - условие, 3 - действие.
Если возникнут вопросы обращайтесь на почту: minus1024@yandex.ru в этом случае поделитесь со мной ценными идейками, ну или я с вами!
Итак начнем:
ТРИГГЕРНЫЙ СПЕЛЛ ( Техника дерева или спелл создающее дерево ): спелл типа юнит для вашего героя. Во-первых создадим способность Reveal, далее изменяем ее характеристики:
stats - area of effect 60.00
stats - buff пуст
stats - cast range 900.00
stats - casting time 0.20
stats - cooldown 12.00
stats - duration hero 0.00
stats - duration normal 0.00
stats - effect пусто
stats - mana cost 105
art - icon normal - UI\Feedback\Resources\ResourceLumber.blp
text - name - Techtree Woods
test - order string activ... root
test - order string deac... root
text - order string turn...unroot
text - use\... root
text - tooltip normal - Techtree Woods
text - tooltip normal E... - Creates the Tree in the specified place, blocking visibility and pass of a land forces. The best engineering in the sort, damages at growth, effect of growth low. Damages to all - independently who is under the purpose a caste.|n Cooldown 12 seconds.
ДАЛЕЕ СОЗДАЕМ ТРИГГЕР с названием Techtree Woods.
Создаем пременные:
1) Caster
Unit(unit)
none
2) FTWoods
Floating text
none
3) FWoodsDamage
unit Group
empty unit group(default)
ТЕПЕРЬ НАЧНЕМ НАШИ ДЕЙСТВИЯ
1`unit - generic unit event
a unit stats the effect of an ability
2`ability compasion
event response - ability being cast
equal to
Techtree Woods (-Это ваша созданная техника)
3`sound - set music volume
set music volume to 75.00%
3`set variable
set Caster = (event response - casting unit)
3`destructible - create
create a Village Tree Wall at
event response - target point of ability being cast facing (random angle) with scale 1.00 and variation 8
3`animation - play desctructible animation
play (last created destructible)`s
Value
Birth animation
3`animation - change desctuctible animation speed
change (last created descructible)`s animation speed to 65.00% of its original speed
3`visibility - createvisibility modifier circle
create an initialy enabled visibility modifier for (triggering player) emetting visibility from (target point of ability being cast) to a radius of 140.00
3`unit Group - clear
remove all units from FWoodsDamage
3`unit group - add unit group
add all units of
units in range
units within 120.00 of (target point of ability being cast) to FWoodsDamage
3`if\then\else
if
boolean compasion
unit group - unit group is empty
FWoodsDamage is empty
equal to true
then do (skip remaining actions) else do (do nothing) ( Примечание это мы сделали для того чтобы очистить группу и дать шанс нанести урон тем кто будет входить в эту группу )
3`unit group - pick every unit in unit group and do action
pick every units in FWoodsDamage and do
unit - set life(to value)
set life of (picked unit) to
arthmetic
unit - property
Life of (picked unit)
- 300 ( это число урона наносится тем кто находится на месте действия заклинания )
Loop - actions
Для начала создайте в инициализации карты следующее действие потом снова переходите к созданию триггерного спелла, итак: Создайте переменную:
PlayersGroup
player group
empty player group (default)
Далее делаем:
3`player group - pick every player in player group and do multiple action
pick every player in
all players of control
all players controlled by a user player
and do (actions)
Теперь переходим к нашему триггерному спеллу, продолжаем:
3`В том последнем триггере Unit Group в пункте Loop - Actions вставляем
player group - pick every player in player group and do multiple actions
pick every player in PlayersGroup and do (actions)
Loop - actions
camera - ahake camera
shake the camera for (picked player) with magnitude 11.00
3`wait 2.50 seconds
3`visibility - destroy visibility modifier
destroy (last created visibility modifier)
3`wait 0.50 seconds
3`unit group - pick every unit in unit group and do multiple actions
pick evry unit in
units in rect matching conditions
units in (playable map area) ((Unit compasion
(matching unit) not equal to Caster
and do (actions)
Loop - actions
player group - pick every player in player group and do multiple actions
pick every player in PlayersGroup and do (actions)
Loop - actions
camera - stop swaying\shaking camera
stop swaying\shaking the camera for (picked player)
sound - set music volume
set music volume to 100.00%
ПЕРВЫЙ ОБРАЗЦОВЫЙ ТРИГГЕР ГОТОВ! НАРОД ЕСЛИ ВЫ ТОЖЕ ЗНАЕТЕ КАКИЕ НИБУДЬ СПЕЛЛЫ ВЫКЛАДЫВАЙТЕ СЮДА, ЭТОТ ТРИГГЕР ЛУЧШЕ ТЕХ ПУСТЫШЕК О КОТОРЫХ ГОВОРИЛАСЬ НА ДРУГИХ САЙТАХ, ЭТОТ СПЕЛЛ ПО СУТИ СЕРЬЕЗНЕЙ, ЕСЛИ ТЩАТЕЛЬНО В НЕМ РАЗБЕРЕТЕСЬ ТО МОЖНО НАЙТИ ДЛЯ СЕБЯ МНОГО ПОЛЕЗНОГО, УДАЧИ!
ВОЗРОЖДЕНИЕ НЕЙТРАЛЬНЫХ КРИПОВ/Creep
Могу сказать проще для начала зайдите в: "Файл" -> "Параметры" -> закладка "Общие" -> Ставь галочку на "Автом. Создавать неизв. переменные во время вставки триггеров". После этого просто копируем триггеры - переменые создадутся автоматически.
Далее зайдите в карту Охотники после находим и копируем папку с названием Monster Spawning себе в карту и далее ставим в главную папку игры действие включения триггера Initialize Monster Spawners(игнорируя условия) Далее внимательно изучите каждый аспект этой папки Monster Spawners и измените только расу врага и какие юниты будут возраждаться и в каких зданиях( тоесть как в самой карте Охотники!) Далее посмотрите там есть одна фича очень важная - тирггер Enable Spawn Set 1,2,3 и т.д включает переменные воскрешения крипов, это нужно обязательно запомнить иначе ничего не получится. Знайте что в триггеры Initialize Monster Spawners действия переменные обозначены числами в квадратных скобках [ ] - запомните и создайте триггеры для приличия Enable Spawn Set более 10 штук и каждый из которых включает переменные этих воскрешении!Этот тригер я не смог сделать самостоятельно, да и времени нет, я просто скопировал его с карты и перенес в свою РПГ и теперь наслаждаюсь процессом - докачался на крипах до 10000 уровня - это пока предел!:)
Привет всем. Я сделал на карте триггер убить юнитов когда игрок вводит -kill. В игре перед тем как убить игра зависает... Чем больше юнитов на карте, тем дольше висит. Однако в чужой карте килл работает без подвисаний, даже когда юнитов очень много... Помогите пожалуйста, в чем проблема?
RageWarrior, опиши все твои действия связанные с этим может я найду ошибку...
События
Игрок - Игрок 10 Types a chat message containing -kill as точное совпадение
Условия
Действия
Отряд - Pick every unit in (Units owned by (Triggering player) of type Zombie) and do (Боевая еденица - kill (Picked unit))

На карте юниты, пишешь - их убивает. Все просто :) Притормаживает даже если убиваешь 10 юнитов... Не спроста это :(
RageWarrior ошибка в этой строке (Units owned by (Triggering player) Triggering player - в переводе означает действующий игрок и в этом сучае независимо что игрок 10 написал сообщение будет выполняться это действие включая всех 12 игроков тоесть все игроки и являются действующим игроком.
вот сделай так:
Так что сейчас сделал я твой вопрос в своей тестовой карте и все получилось, ты кстати подкинул мне идейку насчет написания этих кодов, хотелось с помощью них окончательно запретить вписание кодов, так вот cделай свой триггер с удовольствием и виснуть ничего не будет, ты просто ошибся немного пусть даже в малых действиях:
1-событие`player - chat message
player 1(red)(просто я играю красным а ты ставь свой) types a chat message containing kill as An exact match
3-действие`unit group - pick every unit in unit group and do multiple actions
pick evry unit in
units owned by player of ytpe
units owned by player 1(red) of type Footman( Ну и конечно же ставь обязательно юнита на карту ) and do (actions)
Как я понял должен выглядеть так:

События
Игрок 10 -kill as точное совпадение
Действия
Отряд - Pick every unit in (Unit owned by Игрок 10 of type Footman) and do (Actions)
Цикл - Действия
Боевая еденица - kill (Picked unit)

Если да, то не помогло :) Все ровно подвисает...

События
Игрок 10 -kill as точное совпадение
Действия
Отряд - Pick every unit in (Unit owned by Игрок 10 of type Footman) and do kill picked unit

Так тоже пробовал, тоже не спасло.
И еще: у меня идет ряд команд 10,11 и 12 игрокам, поэтому расписывать их все долго, как записать всем трем игрокам -kill - в один триггер?
RageWarrior, нет придется для каждого игрока прописывать. А насчет того оно работает только незабудь поставить этих Footman на карту и под цветом Игрок 10 так как ты указал условие в действии (Unit owned by Игрок 10 of type Footman) и никаким более цветом, если так пиши туда например красные и и ставь что эта пехота относится к красным иначе действия комманды kills не произойдет.
RageWarrior, слушай если можно скинуть напиши свой имэйл мне я те скину свою карту с примером твоего так сказать кода kill и выборе рас с помощью диалоговых окон там же в карте и мультиборд, просто я пока это тестить начинаю - перенес из своей рпг карты на время, ок?
Подскажите пожалуйста как сделать такой триггер:
Чтобы если герой взял предмет выпавший из ящика то он умирал
Я не могу сделать условия
Подобранный предмет=Сфера Огня(например)
но я не могу выбрать феру огня т.к. она выпадает из ящика
Заранее спасибо
События
---Боевая единица - A unit получает предмет

Условия
---(Item-type of (Item carried by (Triggering unit) in slot 1)) равно *название твоего итема, который выпадает из ящика и который убивает подобравшего*

Действия
---Боевая единица - Kill (Triggering unit)

Попробуй так... Наверное будет работать :)

Хотя смотря на что у тебя акцент... Если смерть при итеме _именно_ из ящика (такой же предмет, не из ящика не вызывает смерти), то будет по другому.
Не согласен с Рейдж Ворир
Проблема в том, что предмет может не взяться именно в слот 1

Отлавливать надо именно приказ правой кнопкой мыши на предмете, тип которого равен Сфере огня
Если надо готовая версия скрипта - мне в лс, за пару минут сделаю
Правый клик еще ничего не значит :) Надо именно подобрать ведь... Может юнит далеко, нажал - его убило... Напонятна причина даже :) Написать:
условие - одно из условий:
---(Item-type of (Item carried by (Triggering unit) in slot 1)) равно *название твоего итема, который выпадает из ящика и который убивает подобравшего*
---(Item-type of (Item carried by (Triggering unit) in slot 2)) равно *название твоего итема, который выпадает из ящика и который убивает подобравшего*
---(Item-type of (Item carried by (Triggering unit) in slot 3)) равно *название твоего итема, который выпадает из ящика и который убивает подобравшего*
---(Item-type of (Item carried by (Triggering unit) in slot 4)) равно *название твоего итема, который выпадает из ящика и который убивает подобравшего*
---(Item-type of (Item carried by (Triggering unit) in slot 5)) равно *название твоего итема, который выпадает из ящика и который убивает подобравшего*
---(Item-type of (Item carried by (Triggering unit) in slot 6)) равно *название твоего итема, который выпадает из ящика и который убивает подобравшего*

Так то ушь точно работать будет :D
а ты пробовал через IntegerA?
Просто добавить проверку нахождения юнита в радиусе 100 от предмета и всё. Это проще и правильнее чем делать 6 проверок на слоты
Помогите плз!!!!!!!!!!!! мне нужно :
зделать триггер чтобы !ВСЕ! юниты и !ВСЕ! здания игрока (инициатора) стали неуязвимыми после постройки 3 определённых "зданий"
p.s. у меня есть начало триггера, мне нада зделать условие чтобы триггер срабатывал при постройке 3 таких "зданий", и зделать действие в котором всё зделаеться неуязвимым у игрока инициатора
sinseer вот тебе наработка, ток ее нуна усовершенствовать так, когда одно из зданий является
уничтоженным не достроив последнее из 3, соответствующая целочисленная переменная сбрасывалась на 0, если есть руки и голова думаю сообразишь и сделаешь:

Coбытия
Бoeвaя eдиницa - A unit owned by Игpoк 1 (кpacный) Зaвepшaeт cтpoитeльcтвo
Уcлoвия
Дeйcтвия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Ecли - Уcлoвия
(Unit-type of (Triggering unit)) paвнo Kaзapмы
To - Дeйcтвия
Set kazarm = 1
Инaчe - Дeйcтвия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Ecли - Уcлoвия
(Unit-type of (Triggering unit)) paвнo Фepмa
To - Дeйcтвия
Set ferma = 1
Инaчe - Дeйcтвия
f (All Conditions are True) then do (Then Actions) else do (Else Actions)
Ecли - Уcлoвия
(Unit-type of (Triggering unit)) paвнo Aлтapь Kopoлeй
To - Дeйcтвия
Set altar = 1
Инaчe - Дeйcтвия
Set summa = ((altar + ferma) + kazarm)


Coбытия
Bpeмя - Every 1.00 seconds of game time
Уcлoвия
summa paвнo 3
Дeйcтвия
Oтpяд - Pick every unit in (Units owned by Игpoк 1 (кpacный)) and do (Бoeвaя eдиницa - Make (Picked unit) Heуязвимый)
спс! зделал =)
а теперь ещё=)))
нужно действие, немогу зделать=( :

1трг:
Событие: юнит начинает применять способность
Условие: способность = "моя способность"
Действие: запустить триггер №2

2трг:
Событие: -
Условие: -
Действие: (чтонить типа) востановить боевой единице 2% здоровья
ждать 1 сек
востановить 4% здоровья
ждать 2 сек
востановить 6% здоровья
ждать 3 сек
востановить 8% здоровья
ждать 4 сек
востановить 10% здоровья
Триггер: выключить этот триггер
sinseer
Coбытия
Бoeвaя eдиницa - A unit Пpивoдит cпocoбнocть в дeйcтвиe
Уcлoвия
(Ability being cast) paвнo Oгнeннaя cтpeлa (кoлдун)
Дeйcтвия
Custom script: local unit u
Set unit = (Target unit of ability being cast)
Custom script: set u = udg_unit
Wait ((Distance between (Position of (Casting unit)) and (Position of (Target unit of ability being cast))) / 1000.00) game-time seconds
Custom script: set udg_unit = u
Бoeвaя eдиницa - Set life of unit to ((Здopoвьe of unit) + (((Здopoвьe of unit)x1.00)/100.00))
где 1.00 добавляемый процент здоровья
Плиз помогите нубу с созданием тупой мапы но всё же я сделал чтобы юниты появились в данной области и атаковали попавшегося есть 10 лвл т.е 10 волн юнитов всё норм но када проходят сутки всё повтаряется и дисбаланс как сделать чтоб после 10 волны они остановились заранее спс
тригер такой
Create 5 пустынников for игрок красный 1 at игрок синий 2 facing 2.00 degrees
и так с остальными и между уровнями ждать определённое время
пропиши условие, при котором данный триггер будет работать: если целочисленная х равна 10 откл этот триггер, далее создай в триггере целочисленную переменную х и добавляй к ней по единице, после каждой волны.
Можете по подробней написать а то редактор на английском плиз
ЧаИнЕк данный триггер рассчитан на 3 волны (0-это волна №1). В качестве ссылок на создаваемые группы юнитов я использовал массивы[ ], дабы не создавать кучу не нужных переменных, думаю разберешься:
Coбытия
Bpeмя - Elapsed game time is 5.00 seconds
Уcлoвия
x мeньшe или paвнo 2
Дeйcтвия
Set x = 0
Бoeвaя eдиницa - Create 3 Пexoтинeц for Игpoк 2 (cиний) at (Center of Oблacть 000 ) facing Cтaндapтнaя opиeнтaция здaний degrees
Set grup[0] = (Last created unit group)
Oтpяд - Pick every unit in grup[0] and do (Oтpяд - Order grup[0] to Пepeйти, нaпaдaя нa пpoтивникoв (Center of Oблacть 001 ))
Wait 2.00 seconds
Set x = 1
Бoeвaя eдиницa - Create 3 Пexoтинeц for Игpoк 2 (cиний) at (Center of Oблacть 000 ) facing Cтaндapтнaя opиeнтaция здaний degrees
Set grup[1] = (Last created unit group)
Oтpяд - Pick every unit in grup[1] and do (Oтpяд - Order grup[1] to Пepeйти, нaпaдaя нa пpoтивникoв (Center of Oблacть 001 ))
Wait 2.00 seconds
Set x = 2
Бoeвaя eдиницa - Create 3 Пexoтинeц for Игpoк 2 (cиний) at (Center of Oблacть 000 ) facing Cтaндapтнaя opиeнтaция здaний degrees
Set grup[2] = (Last created unit group)
Oтpяд - Pick every unit in grup[2] and do (Oтpяд - Order grup[2] to Пepeйти, нaпaдaя нa пpoтивникoв (Center of Oблacть 001 ))
Set x = 3
ток с условием х или равно непонятно де это?
Чуть подредактировал код, а теперь объяснения: x - это переменная, которая отвечает за проверку условия, если х меньше или равно 2 значит триггер будет выполнятся, то есть волны от 0 до 2 будут происходить, а вот 3 волна, то есть set х=3,. уже условию не удовлетворяет и код перестает выполняться.
Учти, что этот триггер будет работать правильно, если событие является периодическим, иначе необходимость в условиях отпадает.
Мой код рассчитан на событие - времени прошло 5 сек, то есть мне условия не нужны, чтоб он закончился и больше не повторялся, но специально для тебя я показал как правильно должно быть в противном случае.
не я имею ввиду де это настроить
У кого нить есть русский редактор? =)
http://warcraft-info.clan.su/load/7-1-0-4 - русификатор
ПС А что у тебя буква "г" не работат?
У меня терь не одна мапа не открываецо закинул в папку с варом
сори работает токо сначало надо пролистать 100 ошибок
обнови вар, чем свежее, тем лучше
у меня триггеры на инглише,скажите нормальный русификатор,а то уже многие пробывал,но во время входа писал ошибку...
А как сделать шоб мапа была всегда открытой?
Есть такой спец триггер:
Bидимocть - Coздaть пepвoнaчaльнo Paзблoкиpoвaн мoдификaтop видимocти для Игpoк 1 (кpacный) излучaющий Bидимocть нa (Bcя кapтa)
на каких форумах в PG можно найти многие триггеры для создания TD?
Вскрывай карты кампаний и др. там их много
помогите с тригом, я зделал абилу наносящюю урон в диапазоне 500-2500 , мне нужно чтобы показывало над боевой единицой на которую кастуеться магия сколько нанеслось урона из этого диапозона
sinseer воспользуйся функцией плавающего текста
получилось:
создать плавающий текст, гласящий (строка((полученные повреждения))) над (юнит цель применяемой способности) с Z смещением 0 шрифт 12 (цвет 100 0 0) и 0 прозрачности.
Нужна помощ, пишет 0.000 , т.к. урон у способности создаёться триггером
и я создаю триггеры на подобе этого, везде пишет 0.000 или 0.0 , в общем урон непоказывает=( помогите
а можно по подробней с открытой мапой де специальный триггер
помогите плиз как сделать открытую мапу токо по подробней плиз
ЧаИнЕк, искать нуна там же где и все остальные, кокретнее - в самом низу списка триггеров найдешь видимость и выбирай подходящий-все написал выше
Привет... Спросил в другой теме но там последнее сообщение в 10 году было и решил написать и сюда. Внимани вопрос: Как объедеить 2 еликсира в один слот Пример: покупаю 1 еликсир с зарядом в 15 штук, потом покупаю такойже и в инвентаре у меня появляется 30 зарядов в одном слоте.
А как сделать чтоб за нейтралов давался опыт и как сделать условие например если игрок вышел из игры то надпись - (имя игрока) покидает нас. Можно на русском
И ещё кое-что как сделать чтобы у игрока был алтарь но героя нанять нельзя было таверна требует или надо чтобы таверна не требовала тогда как?
и ещё как сделать чтобы герои: алхимик. королева змей. механик. пивовар. разрушитель и некоторые другие в таверне не требовала перезарядку
ЧаИнЕк, обо всем по порядку:
http://warcraft3ft.info/board/princip_nabora_opyta_gerojami/16-1-0-1226

События
Игрок-Игрок 1 (красный) покинул игру
Условия
Действия
Задание - Показать (Все игроки) Внимание сообщение: Игрок 1 покинул игру

Чеб таверна требовала или не требовала нуно в редакторе объектов найти героев, которых нанимаешь и находишь у них пунктик - технологии-требование: ставь нужное требование.

Найти героев в редакторе объектов, которых нанимаешь и находишь у них пунктик Характеристики - Задержка перед первым пополнением и ставь ноль
Всем привет, вопрос такой, я сделал нового героя. Дал ему новые спелы, вид, Нр и прочее...
Но почему то когда я юзаю любое его из заклинаний у него начинает расти атака до бесконечности и в конце концов падает до нуля, второй раз юзаю тоже самое с бронёй... В чём дело первый раз такое. Объясните пожалуйста.
Да и кстати заклинания выглядят так - 1 стрела смерти(на основе огненный стрелы); 2 прислужник (на основе медведя); 3 - демоническая броня (на основе духовного пламени): 4 сила тьмы (на основе порчи у кел-тузеда).
-_-Insane-_-, ты случайно на триггерах ничего не делал?, возмона дело в них
Нет, но возможно дело в заклинании... Была идея сделать 3 героев(маг, воин, охотник)... А вот потом уже у них есть 3 пути у мага: чернокнижник, жрец и боевой маг... Ну и так далее... Но почему то когда я юзаю они превращаются, но заклинания остаются прежними. Мб я кому нибудь кину карту, а он посмотрит и сделает как надо.
давай ссылку, гляну...
-_-Insane-_-
триггер Horse 2 - действие некорректное
иконки то знаешь как нормальными сделать в режиме паузы?
Тода тебе сюда: http://warik3.at.ua/index/0-71
А и ещё я какой то кнопкой скрыл подробности в редакторе объектов... Т.е. за место слов у меня первая буква. например "Графика - файл модели" это у меня просто "Г". Какая кнопка обратно?
поэксперементируй в окне редактора объектов -вид
Не вышло...
А можешь ещё подсказать, как сделать так что бы герой получил 25 LVL и у него изменяется моделька, меняется только скорость, а предметы остаются...
Не вышло...
скорее всего глюк редактора, возможно переустановка игры исправит проблему

герой получил 25 LVL и у него изменяется моделька

События
Боевая единица - Паладин 0000 Повышает уровень
Условия
(Уровень героя (Переключающий юнит)) равно 25
Действия
И Боевая единица - Заменить Паладин 0000 на Верховный маг используя Старая связь боевой единицы жизнь и ману
Забыл сказать... У меня для каждого юнита, свой следующий герой... Например: паладин -> Паладин На коне; Воин -> Воин на коне.
Т.е. надо что бы Воин не мог превратиться в Паладина на коне и наоборот.
Создавай для каждого героя свои триггеры и условия вот и всё
А у меня нету готовой боевой единицы, тогда как?
Мне сначала надо её сделать.
у меня есть вопросик каксделать чтобы напимер кровавая луна требовала ледяной и огненый меч
ЧаИнЕк
если идет речь о покупке предмета в лавке то можно сделать так:
насколько я понимаю через редактор объектов в список требований нельзя добавить предмет, но можно использовать юнитов и улучшение-это то, что нужно. Добавляешь в требования кровавой луны парочку нестандартных юнитов(не забудь переименовать их в ледяной и огненный мечи в редакторе объектов), затем, как герой добывает один из предметов, к примеру огненный меч, ты триггерным способом создаешь себе одного соответствующего юнита, со вторым точно также. Думаю справишься!
Хм... я сделал всё кровавая луна требует ледяной и огненный меч сделал что предметы можно купить но кровавую луну купить нельзя требование ледяной и огненный меч хотя у меня они есть чё делать?
Хм а я то думал что ты справился, в общем вот http://gigapeta.com/dl/1607696ac4a924
Плиз я в твоём примере не разобрался можешь по подробней объяснить
0
Народ я столкнулся с такой проблемой:
Сделал меню паузы индивидуально для каждого игрока, но увы таблицы меню паузы числятся все! И всем игрокам! В итоге видно лишь последнюю сделанную таблицу.

Подскажите как скрыть каждую таблицу от ненужных игроков так чтобы игрок 1 видел таблицу 1, игрок 2 таблицу 2, а 3й соответственно таблицу 3

Если в Гуйе такого сделать нельзя напишите плз скрипт чтобы: скрыть таблицы для определённого игрока.
Всем привет, i'm back :) Но только ради этой темки. Кто нибудь еще помнит меня?
0
Они все про эту тему уже забыли. Как видиш я жду ответа уже 3 недели.
Ну да, есть замедление какое-то. Может я могу чем то тебе помочь? Просто перефразурий :D
Надеюсь тема ещё живет
1)Столкнулся с самой большой проблемой моей карты когда я переделывал рельеф у меня триггеры были простые создать (кого) (куда) и тп. но теперь нужно чтобы они шли через углы и ходили пробовал но на пол пути они возвращялись и появлялось их очень много жду помощи
я так и понял что плохо объяснил смотри раньше они просто появлялись как обычно к примеру (создать 7 пехотинцев для игрок 1 красный) сейчас нужно чтобы воин переходил из одной области в другую из области 001 в область 002 а из области 002 в область 003 и так далее я пробовал почти получалось но они возвращялись обратно
1)Я посылаю отряд
2)Нужно для карты можно и без этого но тогда у карты будет совсем другой смысл и будет он в худшую сторону
у меня руссифицированные триги поэтому "UnitGroup issue order" мне не понятно я делаю так:
событие: боевая единица отряд вошёл в зону область 010
условие: тип юнита (входящий юнит) равно пехотинец
действие: боевая единица приказать случайный юнит из (юниты в область 010) перейти нападая на противников (центр область 011)
я начинаю с области 000 по 015
попробовал тоже возвращяются и большая часть идёт вниз и всего два-три идут вверх и вправо
как сюда карту выложить?
я щяс так попробую только 9х9 это сколько?
Пфф... уже всё перепробовал они один раз возвращяются потом идут в указанные области и иногда опять возвращяются назад
Как сделать респавн мобов в их страртовой позиции? К примеру - я поставил юнита в ворлд едиторе, и хочу чтобы после смерти он поевлялся там где я его поставил.
Мне нужен только тригер который установит стартовую позицию для юнитов (пригодный для их воскрешения)
Заранее благодарен.
ЧаИнЕк
действие: боевая единица приказать случайный юнит

http://narod.ru/disk/21662761001/By%20Grivus.w3x.html

Качай наработку, все работает, если хочешь приказ отдельно группе - сделай боевая ед - выбрать юнитов в области и приказать перейти в др область.
Korsayr
а способность "Перерождение" не подойдет случайно?
Если нет, то вот:
События
Боевая единица - Работник 0000 Умирает
Условия
Действия
Установить yt = (Позиция Работник 0000 )
Ждать 2.00 секунд
Спецэффект - Создать специальный эффект Byt используя Abilities\Spdls\ltems\Allm\AllmTarget.mdl
Боевая единица - Создать 1 Работник для Игрок 2 (синий) Byt поворот на Стандартная ориентация зданий градусов
ЧаИнЕк
проблема в том, что ты наверняка отдаешь приказ нейтральным юнитам: попробуй командовать над любым игроком и такого глюка не будет.
k0lenval
Твоя система банальна, она будет возрождать юнитов там где они умерли. Способность Возрождение - тоже самое.
С этим я уже разобрался прибегнув к системе координат.
След вопрос - кроме как через джас, как можно создавать эфект наносимого урона, кастуемой способности и тд? К примеру юнит атакует юнита и урон нанесенный ему плавно "вытекает" вверх...
Korsayr
Без локальных переменных и соответственно Джаза никак, если конечно речь не идет о двоих, троих юнитах на карте.
Как пропускать весь сделанный ролик во время игры а не только отдельные фразы?
rubricus
Пошвыряйся в картах кампании: в редакторе триггеров есть папка Intro Cinematic-там ты и найдешь примерь.
k0lenval
А как же floating text?
Я только незнаю как сделать чтобы он выплывал из юнита вверх!
http://xgm.ru/p/wc3/jass_local_vars почитай, таам очень даже все подробно написано как правильно сделать
Как сделать чтобы небо в игре не было черным
rubricus
Через триггер: окружение-установить небо как...
Нажимаю кнопку Esc и кинематика выключается но камера продолжает менять положения и деологи в левой стороне екрана высвечиваются как будто ролик идет дальше.как ето остановить???
не помню точно, но смысл должен быть примерно такой: создаешь триг, в котором и есть ролик, в нем через каждые 3 секунд должно проверяться действием, нажал игрок ESC или нет, если нажал то за дело берется другой триггер, который отвечает за отключение кинематики и переход в игровой режим, если игрок не нажал ESC то ролик продолджается, вобщем на картах кампаний все это есть в готовом виде, тебе только остается привязать это к своей карте и настроить кинематику.
Как сделать чтобы например из синей ратуши строились бы синии крестьяни но принадлежало бы все ето красному игроку?
rubricus
Сценарий-кланы поставь галку-общие войска
Как мне находить те юниты которые я создал через угол поворота,на карте их не видно
rubricus
Во время редактирования карты ты их никак не увидишь, создай через панель войск.
Всем спс за помощь может скоро выложу карту
Так у меня появился вопрос: Как сделать чтобы например когда идёт шестая волна воскресить героя нельзя было?
Так с этим разобрался уже не надо
Вопрос 2: Как сделать таблицу Для игроков там должно показыватся сколько они убили воинов
всем привет, я снова в сети и жду ваши ответы и новые пожелания!
переезжайте в новую тему дорогие господа, я создал тему "КУЗНИЦА СВЕТА"
BandRes, если можно то на русских триггерах пробовал на английском неполучалось жду
как запрещать строение определеннаго здания или юнита?
1. set Frag_Integer[N(номер игрока)] = 0
[N(номер игрока)] это где я про {N}
и вот это (Frag_Integer[N]) где N?
BandRes, спс за статью но сильно она не помогла вот триггеры поправляй
событие:map initialisation
действие:create a leaderboard for (all players) titled Количество убийств
set (целочисленная переменная без массива)---> learderboard = (key (last created leaderboard))
(тут я не нашёл то что ты писал) set (целочисленная переменная с массивом) ---> Frag_Integer{(player number of Игрок 1 (красный))} = 0
add Игрок 1 (красный) to (Last created leaderboard) with label (Name of (triggering player)) and value переменная Frag_Integer((Integer B))
Показать last created leaderboard
подправляй ток по подробней объясняй я ж Чаинек)
номер три и четыре исправил а во втором не могу найти во втором у меня так: пункт set variable learderboard = (key (last created leaderboard)) я немогу найти отдельно без key и вот второй триггер но там вроде бы правильно Если все условия правильны или равны то действие иначе действия
Если - условие: (Owner of (killing unit)) равно игрок красный
То - действия:Set переменная Frag_Integer{2} = (Frag_Integer{2} + 1)
посмотри во втором может быть так: learderboard = (position of игрок 1 (красный) in (last created leaderboard))
блиин ппц...
вот триггеры мож что не так но сделал всё как писал
событие:Map initialization
действие:Create a leaderboard for (all players) titled Количество убийств
Set leaderboard = last created leaderboard
Set Frag_Integer{1} = 0
Add Игрок 1 (красный) to (Last created leaderboard) with label (Name of Игрок 1 (красный)) and value Frag_Integer{1}
Показать (Last created leaderboard)

Тригер 2
Событие: Map Initialisation
Действие: если все условия правильны или равны то действие иначе действие
Если - Условие: (Owner of (Killing unit)) равно Игрок 1 (Красный)
То - Действие: Set Frag_Integer{1} = (Frag_Integer{1} +1)
Спасибо огромное только один недочёт событие юнит умирает какой юнит я укажу?
Огромное спасибо работает мож через 27 дней первая верса и будет готова
Как переходить с карты на карту, как в кампании за Рексара?
Привет! Надеюсь , вы сможете помочь мне решить проблему
мне нужен триггер
цель - невозможность контролирования собственным юнитом, при этом что бы была возможность его выбрать
помогите пожалуйста
я почти доделал карту и столкнулся с этой проблемой
Вобщем так
смысл моей карты в том что это ТД в котором одна команда насылает юнитов на другую
ты покупаешь их в домике и они становятся в загон , у каждого игрока в свой в ровно определенную точку
всего можно выбрать 2 типа войск на волну то есть 10 типов на всех
Все касательно этого я сделал целиком и полностью
Но вот юниты делаются для каждого игрока - для 1го красные итд... и изменять это ни в коем случае нельзя
И их можно во время волны контролить! это как минимум плохо :)
а как тогда делать что бы каждый раз выделение снималось
я вон видел в Castle Fight 1.14 там войны тебе принадлежат а не слушаются
там можно даже давать им команды но они их не выполнят
И еще вопрос
У меня триггер на то что если юнит входит в область (юнит игрока 12) то деньги добавлялись игроку которого он цвета и еще здоровье юнита увеличивалось на 5%

События:
Unit Enters region

Действие:
Set Life of (entering unit) pertengence to (100+5)%
If/Then/Else Multiple functions
-Если
Цвет of (owner of entering unit ) is Красный
- То
Добавить игроку красному 2 золота

ЭТОТ ТРИГГЕР НЕ РАБОТАЕТ
ни денег ни здоровья

у меня юниты которые идут все игрока 12го но каждый своего цвета
я видел в Жизнь На Арене
там при исследовании повышается количество здоровья у героя
хммм
а в Легион ТД когда противники доодят до определенной области им добавляется 2 армора
Свою карту я не скоро выпущу так как я школоло по немногу буду делать, точная дата неизвеста жанр типа геро дефенс, игроков 8, в каждом раунде есть босс и есть дуэлька покачто всё а и ещё требуется помощь по текстам много переписывать что не правильно и т.д.
и последний вопрос
как грамотно сделать так что при событии игроку нельзя было И(!) нанимать И(!) покупать юнитов вообще но потом опять разрешалось?
у меня это получилось криво - косо но я хочу по нормальному
ну или хотя бы просто как сделать лимит на покупку юнитов
ПОМОГИТЕ пожалуйста, нужен триггер!!

имееться юнит, его BAT = 2.10 сек., когда он атакует другова любова юнита к нему нужно прибавлять по 15% IAS, как наберёться 75%IAS, прибавление останавливаеться, когда юнит меняет цель, BAT снова устанавливаеться на 2.10, и снова с каждой атакой нового юнита начинает прибавляться по 15%IAS.( сделать это черес способность)
Можете мне помочь навести баланс на карту? я в этом вообще не очень шарю
Или скажите как это сделать пожалуйста
карта жанра ТД я не могу соблюсти баланс в юнитах и башнях
Народ подскажите плиз
1)как задать начальное количество еды?
2)создал триггер по генерации юнитов, как указать количество появляющихся юнитов, а то их там штук 50 за раз.
3)как заставить их идти в определенную точку на карте?
Подскажите пожалуйста. Как сделать чтобы во время игры игроки сами могли в окне союзников снимать и ставить галочки союза, общего обзора по отношению к другим игрокам?
0
sinseer
Способ без переменной:
1. Создай невидимую способность увел. AS (её можно создать скопировав способноть перчаток скорости: "Предмет: Увеличение скорости атаки (малый)").
У неё должно быть 7 уровней с бонусом: 1:+0%, 2:+15%...7у.+75%.
2. Создай способность, накладывающую на противника дебафф при каждой атаке (варианты: оживший огонь, Отравленное оружие, Предмет: проклятие+ иконка пустой спослбности, Предмет: сфера замедления, при этом работать с маской смерти будет лишь аналог отравленного оружия).
3. Добавь обе способности своему юниту.
4. Триггер:
Событие
- A unit Атакован
Условия
-level of ability of (attacking unit) "твоя способности (дебафф)" больше или равно 1
Действие
-If then else (multi)
Условие
-(attacked unit) has specific buff "дебафф тваей способности"
То
Set level of ability "твоя способность (ск. к атаке)" of (Attacking unit) to: level of ability "твоя способность (ск. к атаке)" of (Attacking unit) + 1
Иначе
Set level of ability "твоя способность (ск. к атаке)" of (Attacking unit) to 1

Можно еще перед: "set level of..." которые в "То"
Задать еще if/then/else условие типа "если уровень способности равен 7 то: (пустой тригер)
иначе: Set level of ability "твоя способность (ск. к атаке)" of (Attacking unit) to: level of ability "твоя способность (ск. к атаке)" of (Attacking unit) + 1"
0
TimArs
Путём логики, которой тебя одарил бог.
1. Рассчитивай урон и ск. атаки своих башен.
Если типо легион, то учитывать надо еще и здоровья.
2. Учитываю здоровье и броню вражеских волн (порчу брони при уроне, если такая включена).
3. Особые способности башен, которые могут повлиять на исход битвы, тоже учитывай.
4. Сравнивай установленную тобой награду и статы башен и ставь стабильную стоимость, возможную для удержание и не читерную.
5. Учти дальность и тип атаки тваих башен и сравнивай их с типом брони противника.

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

Никита Макеенко
Это функция доступна всегда если ты не отключал её в Свойствах игроков.
0
k0lenval
1. Научица работать с jass
2. Научица работать с кешем
3. Создать кучу карт в которых внутриигровые изменения будут сохраняться с помощью этого самого кэша, при переходе из 1 карты в другую.
Всем привет! У меня недавно появился один вопрос. Казалось это просто, но что-то некак не получается. Как сделать чтобы одинаковые ауры стакались у двух и более одинаковых юнитов и можно ли задать аурам не процентное а точной значение на повышение характеристик? Таких как атака к примеру... Спасибо.


Здравствуйте, у меня есть несколько вопросов, первые очевидны из рисунка(icon learn тут ни причем):

1). Как исправить инвентарь героям, и собсно как он так внезапно пропал?
Чем это может быть вызвано?
Пропадает только у тех, у кого что-то меняю, что угодно :(
Пииипец, выяснилось что редактор сам удаляет способность inventory(hero), непонятно с какого перепугу.

2). Как отрубить требования на скилл(а лучше как их менять по желанию? например чтобы ульт как в доте брался на 6 11 16?)
Сам нашел в gameplay constants: Hero Abilities Level Skip (default)


3). Как заставить юнита тупо кастануть спелл? :(((( Это вообще печаль(хотел переделать транквилити в non-channeling, нашел туториал, там говорят - создай dummy спелл+ dummy юнита, ок создал, и пусть этот dummy юнит кастует спелл по триггеру от dummy спелла.... вот собсно и оказалось что кастовать он может только некоторые, неведомым образом выбранные заклинания через order unit)

4). Как узнать цену предмета через триггер?
uTblneve4en
Надо сделать разные ауры, просто дать им одинаковые названия и иконки, а стакаться они наверно будут.

можно ли задать аурам не процентное а точной значение на повышение характеристик?
Возможно через триггеры, если юнит под аурой, выдать ему пряник.
Только я хз как проверить под аурой ли юнит.
Открой какие-нибудь карты с дамажащими аурами, там точно проверка делается.(по расстоянию мб)
0
uTblneve4en
Надо сделать разные ауры, просто дать им одинаковые названия и иконки, а стакаться они наверно будут.
Незабывайте есть просто пассивные абилы (без эффекта в статусе) и конкретно ауры. Аурам для стыковки требуется делать индивидуальный эффект (да да накладываемый на статус моба), чтобы они стыкались.

2). Как отрубить требования на скилл
В константах ты настраиваеш общие предпочтения. В каждой способности есть индивидуальные настройки по требованиям: Уровня, улудшения, конкретного типа боевой единицы, а так же можно настраивать "пропуск уровня" - конкретный пропуск уровней между изучениями абилы (если ставить 0 то устанавливается значение константы)

3). Как заставить юнита тупо кастануть спелл?
Тупо через боевая единица - order to ...
Выбираеш БАЗОВУЮ способность т.е. ту способность, из которой ты создал свою абилу и которую ты хочеш заставить кастануть. Например если ты создал способность из Молота бурь и назвал её например "Супероглушающий черепок читака", настроил ей все по своему, то ты выбираеш: a такойто Unit has Горный король - молот бурь to attacket unit (или любой какой в твоём случае)

4). Как узнать цену предмета через триггер?
Вопрос непонятен - перефразируй
как увеличить максимум манны на затрату скилов? не 1000 а например 2400 сделать.
как можно сделать сделать правильно триггер что бы было виден получаемый опыт для нескольких игроков? как в ММО
"Как заставить юнита тупо кастануть спелл? :(((( Это вообще печаль(хотел переделать транквилити в non-channeling, нашел туториал, там говорят - создай dummy спелл+ dummy юнита, ок создал, и пусть этот dummy юнит кастует спелл по триггеру от dummy спелла.... вот собсно и оказалось что кастовать он может только некоторые, неведомым образом выбранные заклинания через order unit)"
да, надо делать order unit
вот список id всех ордеров http://xgm.ru/forum/showthread.php?p=761580#post761580 т.е. приказываешь по id, цифрой, цифру узнать из списка, а в списке искать по нативному имени спелла в world editor - object editor


"Как узнать цену предмета через триггер?"

создай невидимый дамми магазин, в который герою будет отдан приказ продавать предмет
здесь есть куча ответов про предметы http://xgm.ru/forum/showthread.php?t=44889
Всем привет у меня проблема с импортом моделей... я заливаю модель в эдитор все файлы что там есть... mdx,blp,bmp... в файл модели ставлю mdx нажимаю ок она меняется на mdl. ставлю модель на карту. нажимаю сохранить перезапускаю редактор вылезает ошибка файла mdx и когда я запускаю карту там просто тень без модели... что делать?
0
как увеличить максимум манны на затрату скилов? не 1000 а например 2400 сделать.

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

Sekira2011
Есть много сайтов и форумов где написано как грамотно импортировать модели в warcraft 3. Я не стану ещё больше спамить наш форум на описание данного 5-секундного процесса.
ребят помогите. вопрос конечно глупый, но как сделать что бы юнит атаковал несколько целей одновременно? как например лучница стреляя 1 раз, а стрела разлетается скажем на 5 по 5 целям?
7
Sekira2011
http://xgm.ru/p/wc3/53626 - просю, это по поводу опыта. Качай, смотри, читай, делай.

Сто лет не играл в вакрафт и не делал карты, снова вернусь, а то скучно, м.
Новички обращайтесь, не кусаюсь.
Как заставить юнита проигрывать нуную тебе анимацию, а то предусмотренные на это триги бесполезны.
0
k0lenval
С каких пор предусмотренные на это триггеры бесполезны?
Я с ними легко воспроизводил анимацию нужную, не надо сочинять.
Категория "Анимация" в триггерах. Там всё есть. И удали лишний пост.
С чего ты взял, что я сочиняю, вообще странно, может ты и подзабыл что, но анимация с тригами не проигрывается как нужно-она проиграется как надо или же проиграется, но не та, либо совсем не проигрывается. Вобщем раз на раз не приходится.
На счет поста-знал бы как, давно удалил.
0
k0lenval
Наведи на своё сообщение и там будет тебе в рамке справа "редактировать, удалить" и т.д.
Уж чего-чего, но это я не забыл, анимацию я нормально воспроизводил данными триггерами.

Хэ, как тебе нужно/надо то?
Я с телефона, с компа сегодня вечерком зайду и удалю, только уж не переживай так сильно, а то мне от этого не по себе.
На самом деле есть способ проиграть любую нужную анимацию, но только на джазе. И проблема с тригами в данном случае имеет место быть и она обсуждалась на некоторых сайтах, но не здесь. Ты уж извини за проверку.
0
k0lenval
Я раньше здесь был по GUI, а не по джасу, мне ГУИ ближе по душе, по этому с jass-ом ещё "не дружу на ты", но забыть всё же успел разное...
Если ты имеешь ввиду не стандартные анимации, то я их воспроизводил тоже, просто я не сталкивался с проблемой анимаций.
я с ним вобщем-то тоже не в ладах, но такие косяки, как анимация или неточность со временем на тригах - вот здесь как раз джаз и является наилучшим вариантом для тригерщиков, вроде нас с тобой.
0
неточность со временем на тригах
Это есть, знаю. Сталкивался не раз, бесило.
Но не будем флудить в теме.
Дабы не флудить, отмечу кое-что полезное не уходя от темы, авось кому и пригодится:
http://playdota.ru/content/view/307/65/
Есть вопрос, как убрать отображение урона при выполнении критической атаки? нужен ответ.
Как я понял это в игровом интерфейсе, но как правильно пункт называется? или тут по другому как-то?
1
Art12398
Никак кроме как по другому. Сделать триггерный крит. удар.
Что надо сделать с моделью, чтобы на карте можно было применить для него оружие? (Чтоб он его в руке держал) Когда я ему применяю оружие, оно у него вместо появления в руке появляется в груди. Делал все правильно.
0
Посык
Как ты делал то? Нужно указывать в способности hand
или left hand или right hand (левая или правая рука)
BioAleks
Так я так и делал, со старой моделью все работало. Поменял на новую, а на ней отказывается работать.
0
Посык
Скинь модельку
BioAleks
Старая http://wc3-maps.ru/load/modeli_aljansa_wc3/kapitan_aljansa/52-1-0-17677
Новая http://wc3-maps.ru/load/modeli_aljansa_wc3/paladin_aljansa/52-1-0-14914
0
Посык
Какое хоть оружие применял то?
Не качает модельку, о_О. Ошибка сервера
BioAleks
Ошибка сервера? У меня все нормально.
Оружие уже не помню, где лежит, но оно просто вырезанное из обычных юнитов. (Хотел поменять, но то ли забыл, то ли лень было) Пак уже давно скачивал, думаю, отсюда брал http://wc3life.com/load/9-1-0-647
0
Посык
Я скачал тот пак и модельку эту.
Ты не так что-то сделал.

Вот смотри скрин, у меня нормально ставится (на левую руку пример, правда кривовато чуток левая рука у него сделана, само положение походу делалось для щита):
http://pix.playground.ru/671622/50509/719130/
BioAleks
Наверное, когда удалял меч (В правой руке) что-то наделал, попробую оригинальную использовать.
Спасибо и на этом.
Ребят,такой вопрос,что надо вбить в "События",чтобы произошёл какой то триггер,но при этом играя в сражения.Всмысле вот начаная игру у меня есть только Исходная позиция.Что надо вписать в событиях,чтобы при улучшении крепости до замка шло какое либо действие?Ведь первоначально крепости нет!
WilderTier
Достаточно в редакторе тригов создать новый и вбить туда типа этого:
pix.PlayGround.ru