на главную
об игре
Warcraft 3 13.06.2002

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

Комментарии: 528
Ваш комментарий

Наверно задавали эти вопросы уже раз 1000, но все равно мне оч надо.
Вобщем делаю карту на подобии Moo Moo и X Hero Siege.
1) Как сделать так, что бы крипы появлялись в определенной области, а потом шли от туда в другую область разрушая все на своем пути?
2) Как сделать так, что бы между такими волнами были промежутки времени 30 секунд?
3) Как сделать что бы отсчет 30 секунд начинался от времени смерти последнего крипа всех волн(4 стороны с каждой по волне)?

1

еееее
с моей подачки новая тема !!

0

так эти строки на джазе мне? можете конкретно ответить что писать пожалуста я такой нуп что плакать хочется!

0

Хомяк что тебе нужно именно мб помогу чем

0

народ помогите я только начинаю создавать карты создал с нуля две расы попытался поиграть с другом
создаю игру пишет "слишком большой размер файла. выберите другую карту"
карта весит 11метров
чо делать народ

0

Разрешено максимум 8 мегабайт.

0

у меня есть карта которая весит 10мегабйт и все работает

0

Пользуйся оптимизатором.

0

Ильяс плз подскажи как сделать таймер с обратным отсчётом??
на Jass

0

Аа он и так с обратным отсчётом.
Допустим, если ты запустил на 5 сек., то он так (внутри движка) и тикает: 4. . .3. . .2. . .1. . . и действия.

Опиши конкретно: зачем тебе это.

0

кароче мне надо так чтобы :
когда герой умирает появляется окно и там идёт обратный отсчёт как он закончится герой воскресает!

0

Так создай окно для таймера. Ищи нужные действия в категории "обратный отсчёт".

0

вот как раз это я не могу как открыть окно таймера?

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

0

у меня там 1 игрок и 7 игрок это крипы будут такочто сдесь их ненадо!

0

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

0

Ну ты все им устанавливаешь (а не добавляешь) единицу дерева

0

Вот мои вопросы:
1.Как сделать переход с одной карты на другую? То есть как в кампании за Рексара.
2.Как развернуть декорацию по оси Z?Т.е. например есть стол на ножках, а нужно чтоб он лежал набок.
3.Как сделать проверку выполнено\не выполнено задание?
4.Как поменять названия рас в окне выбора карты?
5.Каким действием (в тригере само собой) сделать исследование?

0

Марти глупые вопросы ...
почитай 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 (тут понадобиться переменная)

Ильяс не знаешь как поменять названия рас, чтобы в меню сражений вместо стандартных были свои названия написаны

0

Гриша ахахахха =)
не не в этом смысле я хочу чтобы на Jass написали а не на GUI
понимаеш??

0

Вот на Jass'e наработка.
Сделал два вида окна таймера:
• как в Доте (через Leaderboard)
• и простое окошко с форматом часы:минуты:секунды, однако тикает не совсем точно (то торопиться, то нормально. . .)

0

Гриша напииши в скайпе я тебе скажу как менять название расс

0

Ильяс а как сделать чтобы он возраждался не на своём трупе а на своей стартовой локации?

0

Tapo4eGG
Лучше бы ответил. К тому же, что тебе Mr_ILYAS говорил? В процессе обучения ГЛУПЫХ вопросов не бывает.

0

Tapo4eGG
Так ты смотри, что я поставил в той строчке, где мы его возрождаем — там стоят координаты юнита (то есть, где он умер).
Так возьми и вместо них поставь нужные тебе координаты.

MARTY
1) Для этого тебе придётся освоить Jass, и научиться работать с кэшем.
2) В редакторе объектов ставь угол крена на отрицательное значение. (Чтобы поставить отрицательное значение в нужной строке, надо перед её открытием зажать клавишу shift)
4) В главном окне вкладка дополнительно/игровой интерфейс. Ставишь галочку наверху слева, прежде чем вносить изменения.
5) Ищи в категории Боевая единица - , в действиях с приказом (issue Order что-то там . . .)

0

Marty
я сним по скайпу бозарю и мы ВСЁ делаем на Jass !!!
это не глупый вопрос + я уже всё перепробывал туда поставить вот щас попробую сделать по кординатам!

0

Mr_ILYAS
1.Да я на картах Blizardов смотрел, как с ним работать. Вроде кой-чего понял. Пытался сам такой переход сделать, но из игры вылетает после загрузки.
За остальные ответы спасибо.

0

Блим вот смори Ильяс
ты сказал указать координаты, а можно сделать так чтобы:
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

0

Ильяс как можно убрать снаряд при силле??
тоесть:
когда пускаю юнита там ещё перед ним летит снаряд героя(дальнего)например у виверны стрела!типо такого у келя огонёк!
вот как убрать при скилле это?

0

Ильяс что такое??
Неверный тип аргумента(real)

0

Там, где должно стоять real, ты поставил другой тип.

А предыдущий вопрос всё равно не понял. . .

0

call ReviveGero(GetUnitX(сдесь я написал кординату как ты и сказал вот тут и он мне пришет Неверный аргумент(real))

0

Был бы WE на C double plus ;( Я бы зарешал :F

0

Ты в функции не так героя написал: не Gero a Hero.

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

Это в последствии функция вернёт real, а использует она-то юнита, вот и вноси юнита, а не то, что ты туда впихнул.

0

Я нечего не понял но очень сильно разозлился!!!!

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) — неправильно написал

0

Tapo4eGG я хочу чтобы у здания или юнита щит был как в варлоках, чтобы снаряды отражались

0

Я не играл в Варлоков, так что понятия не имею. . .

0

я ПОПРОБУЮ СДЕЛАТЬ ... НО ТОКО НА jASS

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(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





всё я сделал теперь на точках респ

0

блим Ильяс помоги плз
вот смори:
я хочу сделать так
чтобы когда игра началась через 30 секунд вместо таверны появился фонтан как это на Jass сделать?
я токо на обычном триггере могу =(((

0

)) если ты это можешь зделать на GUI в чем проблема ? Конвентировать умеем ? -умеем, ну так вперед и с песней.

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

p.s Ильяс где Hon ? +)

0

Сароф на Гуи это легко я пытаюсь учить на Jass это легче будет чем всё другое!!!

0

Tapo4eGG
Блин, ну ты даёшь . . . Создал таймер; запустил (как однократный — false);Дальше CreateUnit(нужный игрок,нужный тип юнита,X,Y,угол поворота)

Вообще, я же сказал, что если не знаешь, переводи из обычных гуи в Jass. И функции, которые он тебе там выдал, рассматривай в JassCraft'е и пиши более простые функции.

0

как сделать чтобы после получения героя предмета у него оружие в руки менялось? я давно пробовал использовать способность Сфера молнии и через эту способность поменять оружие в руках героя, однако а.) не нашел подходящих моделек (мечи, топоры и.т.д.) и б.) новое "оружие" накладывается на старое (старое не исчезает), при этом появляется не в ладони, а откуда-то там из руки торчит

0

Хотел написать свою проблему) но у меня почему прописывается только половина сообщения
буду краток: что значит "ошибка: отсутствует зарезервированный тип или тип идентификатора?

0

GriPet, лол моделька юнита уже идет с оружием и оторвать час модели никак нельзя.

0

Возможно неправильно написал слово unit или local, или другие типы слов (короче, ищи ошибку в первых двух словах в начале строки)

0

БЛ*)) вместо timer TIMET Ахахахахха))
Пасибо)

0

Новый вопрос.
Мне нужно сделать такой триггер, чтоб противники при соприкосновении с моим персонажем получали урон.
Как такое сделать?

0

У меня короче чё-то типа гонок, и нужно чтоб при наезде на пешехода он (пешеход) умирал, ну или урон получал))))

0

Делай "как бэ" на основе "жар преисподней - постоянный" (пассивная)
Или на основе "Аура повреждения зданий - торнадо" (там поставишь, чтоб юнитов коцало)

0

А через jass это можно сделать?

0

Ахах =)
мне говорили так ...
сначало начни и мы тебя направим на верный путь ...
такочто давай сам учи Jass и пробуй как я =))
я потчи уже сам могу создавать триггеры ...на Jass спс Ильясу ОГРОМНОЕ!!!!!!
так ну всё =)
давай делай на Jass если чо я тебя подправлю!!! там легко 2-3 функции навен!!

0

Марти тебе нужно чтобы какой урон был???
что сразу юнит умирал или там например 100 дамаги или как?

0

Ну не чтоб сразу умрал, но урон просто огроменный... 5000 например. В секунду.

0

Марти как скинуть тебе карту??

0

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

0

Можно открыть карту из ориг компании?

0

had-95
Да, можно. Только специальная программа нужна.
Советую тебе вот эту...
http://www.playground.ru/files/38222/

0

Tapo4eGG
Можешь больше не трудиться - у меня Warcraft полетел, поэтому я World Editor`ом больше не пользуюсь.

0

_MARTY_[старый ник Мортира]
Спасибо огромное, щас гляну, просто хотел компанию перепройти, и подумал, что 1 скучно будет)
Спасибо ещё раз всё нашёл)

0

когда герой триггерно получает предмет, как сделать чтобы он (предмет, а не герой) попадал в конкретный слот

0

А как сделать кампанию?
я открываю редактор, добавляю карту, сохраняюсь, а он мне говорит: "В кампании есть неиспользуемые карты"
помогите пжалуйста)

0

Блим Ильяс ппц канеш =((
немогу его заствавить чтобы он сразу сам двигался =(((
там нужен BoolExpr???

0

Когда будешь в группу заносить, то да.

Врубай логику и рассуждай: что и для чего. . .

0

госпооодааа, помогите пожалуйста!!

0

все с этим разобрался.
Теперь другая проблема - хочу перенести героя из первой миссии во вторую, но он не переносится :(
можно объяснить поподробнее как это делать?

0

Shadowdown
Тебе нужно это сделать с помощью кэша.

0

хелп ми плиз, нада зделать чтобы волну силы не нада было активировать, а чтобы она выпускалась с шансом, например 50%

0

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

0

sinseer
Пиши грамотно!!! А-то вечно вас, безграмотных, х**н поймёшь!
И остальным говорю тоже самое!!!

0

Слава богу, ко мне это не относится.))

0

мне нада чтобы заклинание как "Волна силы" или "Тёмная стая" было шансовым, и чтобы самому её запускать, направлять и тд. ненадо было, надо чтобы она летела туда, куда смотрит герой при атаке с 50% шансом.

0

sinseer
Ну это не ко мне... Мне и в голову не приходило, что такое можно сделать.
Mr_ILYAS
Ну да)))

0

когда герой триггерно получает предмет, как сделать чтобы он (предмет, а не герой) попадал в конкретный слот

0

GriPet
Ну есть у меня один вариант, хотя я такого конечно не пробовал.
Когда Герой берёт Предмет, забери у него все предметы (включая взятый!). После этого действуй так. Если тебе нужно положить предмет в слот 4, то положи в инвентарь !3! предмета, после этого клади Предмет, затем отними !3! предмета-пустышки и после этого возвращай все предметы, отнятые в самом начале. Вот, примерно как я себе это представляю.

0

вообщето есть команда которая перемещает предмет по слотам

0

Mr_ILYAS
Буду знать. А какая?

0

Самому трудно зайти в редактор и посмотреть?

Я понимаю, если бы вопросы были связаны с каким-нибудь сложным механизмом (или системой). Но не найти нужное действие. . .

0

Mr_ILYAS
Ой, да лаааааааааааааадно тебе... К тому же, я уже писал, что у меня Warcraft накрылся.

0

Mr_ILYAS то, что такое действие должно существовать вполне очевидно, но вот найти его не смог поэтому и спросил

0

GriPet k0lenval
Mr_ILYAS наверно имеет ввиду такое действие на JASS.

0

call UnitAddItemToSlotById(твой юнит,тип предмета,номер слота)

На гуях можно только дропнуть из yказанного слота.

0

вот поэтому я его и не нашел потому что его нет) странно что "дропнуть" предмет из слота можно, а положить нельзя, я был уверен, что такое действие на гуях есть
придется использовать печальный метод Марти

0

GriPet
Чего в нём печального? 0_0 Может быть сложный, ну и ладно.

0

Mr ILYAS
как моно сделать??
я сделал скилл который замораживает противника + замедляет его я нашёл функцию SetUnitMoveSpeed(c,150.)
я сделал таймер который через 3 секунды возвращает ему его прежнию скорость я всё сделал токо вот незнаю как ему вернуть рпежнию скорость ..

0

Чел у меня русские тригеры но сказать по русски смогу.
Кароче перед замедление делаешь переменную типа "Целочислительнае" потом ставишь значение скорость юнита а потом после того момента как время замедления закончится ставишь скорости юнита значение переменной

0

ААА мего баг!!! У меня в редакторе. Кароче я ставлю скилу значение урона 50 единиц (скил ракеты у тинкера) при кастовании он станит но урона не наносит не фига!!! А ещё я перезарядку ставлю на 60 секунд но он перезаряжается сразу!!!

Внимание вопрос!
ЧЁ ДЕЛАТЬ!!!

0

Санёк ты в Гуях или нет или Jass???
ты непонимаешь если задать это число к примеру 300 то если он купит сапог должно быть 340 а будет также 300...

0

Tapo4eGG
По-моему некто Александр Шендрик правильно говорит. Только ты действием прямо В ТРИГГЕРЕ узнавай текущую скорость юнита, записивай её значение в переменную и после замедления возвращай юниту эту скорость.


Александр Шендрик
Пиши грамотно! Нихрена не понятно, о чём ты!!!

0

ДА МЛЯТЬ Я ЭТО И ИЩУ КАК СДЕЛАТЬ ЧТОБЫ ЕГО СКОРОСТЬ ПРЕЖНЯЯ БЫЛА КАК ЭТО СДЕЛАТЬ???ВЫ НЕПОНЯТНЫЕ ЛЮДИ!!!!!!
И Я ДЕЛАЮ НА JASS'E

0

не надо триггерно устанавливать скорость, давай её юниту через абилу (на основе способностей предметов)

0

у меня вот тоже насчет скорости передвижения вопрос. В гуях можно юниту поставить конкретную скорость перемещния, а можно как-то прибавлять и отнимать, т.е. у юнита скорость например 250, добавить 30, потом отнять 100 (например)

0

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))

0

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

0

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

0

Tapo4eGG
лол, ты же знаешь, что я тока на гуях
мне уже не нужно я через скилл сделал

0

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

0

Марти хз но он проде и так мочит всех подряд каго видит =)))

0

_MARTY_
Тут можно двумя способами:
Либо сделать триггерное движение, пока тот атакует.
Либо триггерную атаку, пока тот бежит.

0

Mr_ILYAS
Нет, ты не понял. Кто играл в карту Russian Star Wars(http://www.playground.ru/files/26088/), вот тот должен знать. Там имперский звёздный разрушитель стреляет как раз как мне нужно. Он пока летит, то всё время стреляет в противников, находящихся рядом с ним. Притом сразу во всех.

0

Значит это второй вариант, который я назвал.

0

Mr_ILYAS
Ок. А как её реализовать?

0

Ну сделай хотя бы наброски, а то не этично делать всю работу.

0

Mr_ILYAS
Ладно, я когда к этой карте вернусь, то в первую очередь этим тригером займусь.

0

Кстати, никак не могу понять триГер или триГГер? А-то везде по-разному.

0

Слушайте, а кто-нибудь может за меня один тригер сделать? На jass`e или на ГУИ - всё равно.
Короче говоря, у одного героя из моей кампании есть навык - "артобстрел". При его использовании в указанную область сбрасывается несколько бомб. Но вот проблема - у модели только один снаряд. Т.е. при использовании туда попадает всего одна бомба!!!
Так вот, надо сделать чтобы ещё несколько снарядов тригерно падали в эту область. Ещё лучше, если они будут падать случайным образом в случайные места.
Кто-нибудь поможет?

0

Мог бы я делать так чтобы юниты создавались в воздухе тогда бы мб чемто помог =(((

0

_MARTY_
используй способность "ракетный удар" у героя механика, там как раз несколько снарядов летит

0

У меня у героя есть нестандартное заклинание. В одном месте он должен тригерно использовать его. Но в списке возможных для кастования заклинаний(issue order targeting a unit) нестандартные не отображаются. Как быть?

0

GriPet
Кстати, помогло. Так что спасибо.

0

_MARTY_
Кто знает, как сменить экран из главного меню?

0

нужно условие на улучшение здания (например улучшение ратушы до крепости) то есть мне нужно чтобы после прокачки здания совершались определенные действия, примерно так
Событие - улучшение
Условие - тип улучшения - прокачка (например) ратуши до крепости
Действие - ...
не знаю называется данный тип прокачки "улучшение" или как-то еще, но дело в том что в условиях я нашел только условия на улучшения типа тех что проводятся в зданиях и улучшают юнитов, а не на те что проводятся в здании и переводят это здании на второй "технологический уровень" (как уже сказал вроде улучшения ратуши до крепости или крепости до замка)

0

Все пользователи форума неожиданно вымерли.

0

GriPet
Мой убил, твой добил.

0

еще один вопрос, хотя отвечать уже некому:
в "Редакторе объектов - бой - типы защиты" эти типы защиты расположены по порядку? какая защита прочнее "обычная" или "легкая", а также "тяжелая" или "укрепленная"? там легкая стоит выше обычной, а укрепленная выше тяжелой, но мне кажется что обычная (судя по названию) прочнее легкой

0

Не имеет значение какая выше или нет, разные типы защиты защищают от разных типов аттак, например укреблёная от героев хорошо защищает, а тяжёлая нет.
или например защита "герой" защищает хорошо от магических атак, но не от обычных аттак.

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

0

спасибо, кстати скоро выложу свою карту

0

Мои вопросы:
Кто знает, как сменить экран из главного меню?

У меня у героя есть нестандартное заклинание. В одном месте он должен триггерно использовать его. Но в списке возможных для кастования заклинаний(issue order targeting a unit) нестандартные не отображаются. Как быть?

0

В каком смысле не отображаются?

0

Mr_ILYAS
Ну нет их в списке!!!

0

Надо указывать ту из списка, на основе которой была сделана нестандартная.

0

Как сменить экран из главного меню?

0

вопрос: как защитить карту. В FAQ есть про это но я понятия не имею что такое MPQ архив карты. Мне нужно (желательно), чтобы карту можно было открыть, но нельзя было ничего менять или сохранить ее после того как поменял что-то

0

правой кнопкой мыши по карте\свойства\ставишь галочку "только для чтения"
и сохранится карта с новыми данными не сможет.

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

0

"только для чтения" может любой пользователь снять
что значит заблокировать?? можешь пожалуйста подробно объяснить способ с MPQ архивом карты

0

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

0

HELLO
помогите плз. надо чтобы заклинание "Огненное лассо" хватало не 1 цель, а все цели в радиусе 500

0

блин .. хоть бы заходили почаще !!

0

Mr_ILYAS спасибо конечно, но по этой ссылке нельзя перейти

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

Ребят нельзя такое на гуи делать. Вообще Jass учить будете или как?

0

Можно т.к. warcraft 3 весь скриптовая ига то её оптимизатор поддержит до 100 таких тяжких скилов единовременно доже на гуи.

0

да? ну я посмотрю как в онлайне твоя карта будет пользоваться успехом, с такими лагами. . .

0

спс!!!!! а теперь другой вопрос=)))
надо чтобы предмет снижал урон от война до определённого чила, например: Плащ, у которого 1 удар от вражеского юнита равнялся 10 хп война у которого этот плащ. ну ..... у война атака 9999999 а у меня жизней 150, надо чтобы воин бил не по 9999999 а по 10 хп по мне

0

доброго времени суток. народ интересует такая вещь. помогаю в разроботке новой карты и нужно вот такой выбор героя как тут http://s011.radikal.ru/i315/1101/89/0eb772527357.jpg . я знаю что это делается через jass при помощи DGUI или FSGUI но для моего мозга это слишком сложно. если можна объясните мне как для чайника как это сделать, или сделайте пожалуйста я вам буду очень благодарен.
зарания спасибо.

0

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

0

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

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

почему окно таймера не появляетсся аа?????

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.

0

С Новым годом, ВарМаперы!!!

0

Ильяс а обязательно нажимать Esc????
нужно чтобы с начало игры таймер пошёл

0

а не при нажатии клавииши Esc

0

Я привёл пример, что нужно не через инициализацию а хотябы через 0.001 секунды после инициализации
сделай через 2 таймера, сначала один таймер на 0.001 сек а потом внутри него создаёшь уже новый таймер на 30 сек

0

Ильяс наконецто я научился думать =)) когда создавал 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

не если уж на то пошло, то можно запускать тот же таймер который истёк, не удаляя его.

0

Люди помогите не могу создать такой триггер раньше вроде мог а щас не помню =((
когда купил юнита он мнгновенно появляется в локации которую я создал..
как это?

0

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

0

Mr_ILYAS

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

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

0

Я про vJass ни слова не сказал. Речь шла только об обычном Jass.

Ты щас ерунду говоришь, потому что не знаешь основу (базовые знания) Jass'a, а точнее его преимущества.

0

У меня следующие вопросы:
1) Как сделать чтобы камень воскрешения активировался при приближении к нему героя и после смерти героя воскрешал его?
2) Как сажать людей в клетки, чтобы они сначала были нейтральными, а когда клетку сломаешь переходили на твою сторону (освобождение пленников) ?
3) Тоже самое, что и во втором вопросе, но только без клетки, например за дверями, которые можно сломать.

0

Гранд пират вроде есть такой юнит посмори их Способности там увидишь
а на счёт 1 вопроса хз непомню.

0

блим ктонить на мои вопросики ответит?

0

У меня вопрос возник,можно ли как-то создать мини-квесты на карте,которые выдают пассивные герои?Типа зачисть тот-то лагерь или принеси то-то...Можно?Подскажите.

0

Гуру канешно можно...
специальные триггеры есть ...
+ не какойто лагерь а нужно создовать локации и делать проверку есть ли там враж юниты или нет.
или выбрать ан карте спец юнитов такочто ищи триггер

0

Ок спасибо,я в редакторе только новичё,разве что карты пробовал создавать.

0

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

0

GuRu13
Делаем квест, стоит нейтральный моб ХХХ и существует вокруг него область УУУ:

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

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

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

0

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

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

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

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

0

озадачил)))
пожно сделать так:
сделать СВОИМ войскам защиту от магии
а войскам врага её удалить
затем сделать области и сделать Pick Every Unit In Area And Do...
и сделать магический дамаг 99999)

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

0

кстати выше написанное, проще некуда:

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

События:
(послушник) строит здание
Условия:
(данное здание) равно ХХХ
Действия:
ордер.....второе строение

0

здесь сидят помощники кроме меня????
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 посмотри, если ты про то.

0

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)
ну вот и всё Весь триггер

0

При Этом триггере ключ дропается.
если хочешь чтобы не дропался просто убери 2 последних действия

0

Ватсон
ответ на 1-ый вопрос.
События:
Unit Enters Region(ставишь опять область)
Условия:
Сдесь ставишь условия
((Triggering Unit) is Сдесь ставиш тебе нужного типо либо герой либо там сам найдёшь) равно да
Действия:
Боевая еденица - kill (Triggering Unit)

0

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

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

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

Filippov_iVan_93

1)Мололдэээээц =)))
3) а разве ран кити ран не защищена?!?! иду смотреть...

0

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

Вообще про мою задумку
все я думаю играли в карту Pyramid Escape в версии 1.23? вот я делаю её с нуля заново =) тока под версию 1.24...делать еще очень и очень много только первое испытание готово, но если что я знаю куда я могу обратиться за помощью =)

0

Вообще полно всяких производных от китти, типа ниндзей, спанч бобов, архимондов и т.п. Что-то из них открыто по-любому. Я помню ниндзю открывал.

0

Ватсон скольжение бесполезно делать на GUI

0

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

0

1.) сделай его нейтрально-пассивным, 2.) прикажи охранять позицию и 3.) разреши нужному игркоку видеть его. Вот действия: Действие - Боевая единица - 1.) Change Owner, 2.) Order With No Target, 3.) Shared Vision; вроде такие действия.

0

можно просто внести на время ему Возможность Москиты.

0

GriPet спс попробую, но вроде уже альтернативный метод нашел.

0

Wa[T_T]son
Спасибо за детальное объяснение)

0

Неужели нет не укаго больше вопросов?

0

А толку? Всё равно никто не отвечает на нубские))

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

0

Если не поймёте что делает то он :
Возраждает героя в области.
в Иф указываем Владельца игрока Дуинга юнита.

0

Всем привет !
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)

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


восновном ответы на свои вопросы я находл в нэте но эти не нашол.

0

как вот тут вместо Герой 0001 поставить всех юнитов или красного игкрока или (< gen >)
Set (переменная) = Герой 0001

0

6)
Парень извини я просто быстро читаю вопросы поэтому отвечу что знаю.
В редакторе объектов наведи нужного юнита и там в самом вконце будет написано воостоновить за стоьлко то голдов

0

Tapo4eGG
это я знаю не помогает((

0

как отрегулировать опыт, который дается герою за уничтожение врага?? я всегда думал, что за это отвечает строка "Хар-ки - опыт" или "Хар-ки - награда за уничтожение", т.е. например если ставишь у юнита Х в какой-то из этих граф 100, то за его убийство герой получит 100 опыта. Решил проверить какая из этих двух характеристик действительно определяет получаемый опыт и выяснил, что ни одна((( пробывал писать в каждой из граф сначала 100, а потом 5000 и не заметил разницы.

0

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

спс но мне надо отрегулировать призовой опыт, а не золото и древесину)

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"...

0

Filippov_iVan_93 вот
http://warcraft3ft.info/board/osnovy_ii/16-1-0-1239
тут немного етсь об этом...)

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

0

Я эту тупую статью уже читал. В ней ничего нового не говорится. Ты наверное даже сам не читал ее, раз мне ее приводишь.

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

0

Привет всем, у меня вот есть вопрос да только ненашел я его ибо искать по всем темам очень трудно.
Неподскажите как сделать вид от третьего лица (вместе с прикреплением к юниту). Заранее прошу прощение если такие темы есть)

0

Триггер
Событие: А юнит атакован
Действия: 1) Этому юниту присвоить группу Attacked
2) Ожидание 10 сек
3) Уберает с этого юнита эту группу (Remove)
Этот триггер служит дополнением к триггеру телепорта. Триггер телепорта проверяет приндлежность юнита к группе Attacked. Смысл в том что юнит не телепортнется если был атакован в течении последних 10 сек. А так он может быть атакован, через 8 сек снова атакован и через 2 сек уже воспользоваться телепортом. Нужно чтобы ожидание обновлялось. Как сделать чтобы ожидание 10 сек начиналось заного, если юнит опять будет атакован??

0

Ответьте пожалуйста на мои вопросики:

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

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

3) И еще один, у меня есть навык по поводу триггерных заклинаний, так как у меня есть один сценарий РПГ где нет ни одной стандартной способности или юнита, и причем еще сложней без единого импорта, ну кроме музыки и иконок, так вот мне нужно оч подробно объяснить как сделать так чтобы героя при ударе молоточком как у альянскго гнома воин отлетал на расстояние..?

0

Вот несколько триггеров для тех кто любит делать что нибудь иное. Под цифрами подразумевается: 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%

0

Здесь я вас научу как правильно делать Квесты:
Квест первый:
КВЕСТ

Создать папку 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 и т.д

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)])

0

УБИЛ НЕСКОЛЬКО КОНСТРУКЦИЙ (например 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)

0

ДОРОГИЕ ДРУЗЬЯ СТАВЬТЕ ОЦЕНКИ И КОММЕНТИРУЙТЕ МОИ МАЛЕНЬКИЕ ПОДСКАЗКИ КАСАЮЩИЕСЯ ТРИГГЕРОВ ЭТО ТОЛЬКО МОИ ОСНОВЫ, БОЛЕЕ СЛОЖНЫЕ ТРИГГЕРЫ ВАМ ЕЩЕ НЕ ПОТЯНУТЬ:)

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

Создаите новый триггер 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

0

так держать minus1024, еще не много и мона создавать новую тему :)

0

Можно ли увеличить максимальное количество разрушаемых декораций (деревьев, в данном случае) на карте, если можно, то как?

0

Помогите пожалуста как сделать так, чтобы вводя -name (Имя) в ник игрока добавлялось только (Имя)

0

Тут ваще ктонить бывает?? может кто помоч ?? аУУУУУУУУУ

0

Помогите как сделать так, чтобы вводя -name (Имя) в ник игрока менялся на (Имя)

0

ой) как сделать так, чтобы вводя -name (Имя) ник игрока менялся на (Имя)!

0

еще вопрос , мб кто знает почему у меня в мапе такой лаг кароче после минут 15-20 игра зависает ,почему ЭТо? и как это исправить буду блогадарен.

0

monc4ter
Посмотри какие триггеры у тебя врубаются в это время и убери их - если игра перестанет вылетать то в них была ошибка.

Ещё у меня вопрос - Как сделать выбор героев двойным кликом на них? Умею делать только 1 клика. Заранее спс

0

люди скажите как сделать скил и чтоб внутри него можно было открывать другие скилы?

0

Гривус, слушай напишешь как делать выбор перса при старте 1 кликом, мне просто лень самому допетривать. Короч распишешь в порядке 1-событие, 2-условие, 3-действие ок?

0

ЕЩЕ ОДНА МОЯ ЗАДУМКА В ПОМОЩЬ КАРТОСТРОИТЕЛЕЙ
Как сделать чтобы герой не получал опыт, вдали от битвы?
Убрать галочку в игровых константах из параметра Опыт героя – Общее распределение(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 ( Звук Грома )

0

ВОТ ПРЕДСТАВЛЯЮ ВАМ СРЕДНЕЙ СЛОЖНОСТИ КВЕСТ

В РЕГИОНЕ СТОИТ ФОНТАН ЖИЗНИ РЯДОМ КВЕСТОДАТЕЛЬ, ОН ДАЕТ ЗАДАНИЕ ПРИНЕСТИ 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

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


Предистория

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

0

ОДНА ОСОБЕННОСТЬ ДЛЯ 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%
ПЕРВЫЙ ОБРАЗЦОВЫЙ ТРИГГЕР ГОТОВ! НАРОД ЕСЛИ ВЫ ТОЖЕ ЗНАЕТЕ КАКИЕ НИБУДЬ СПЕЛЛЫ ВЫКЛАДЫВАЙТЕ СЮДА, ЭТОТ ТРИГГЕР ЛУЧШЕ ТЕХ ПУСТЫШЕК О КОТОРЫХ ГОВОРИЛАСЬ НА ДРУГИХ САЙТАХ, ЭТОТ СПЕЛЛ ПО СУТИ СЕРЬЕЗНЕЙ, ЕСЛИ ТЩАТЕЛЬНО В НЕМ РАЗБЕРЕТЕСЬ ТО МОЖНО НАЙТИ ДЛЯ СЕБЯ МНОГО ПОЛЕЗНОГО, УДАЧИ!

0

ВОЗРОЖДЕНИЕ НЕЙТРАЛЬНЫХ КРИПОВ/Creep
Могу сказать проще для начала зайдите в: "Файл" -> "Параметры" -> закладка "Общие" -> Ставь галочку на "Автом. Создавать неизв. переменные во время вставки триггеров". После этого просто копируем триггеры - переменые создадутся автоматически.
Далее зайдите в карту Охотники после находим и копируем папку с названием Monster Spawning себе в карту и далее ставим в главную папку игры действие включения триггера Initialize Monster Spawners(игнорируя условия) Далее внимательно изучите каждый аспект этой папки Monster Spawners и измените только расу врага и какие юниты будут возраждаться и в каких зданиях( тоесть как в самой карте Охотники!) Далее посмотрите там есть одна фича очень важная - тирггер Enable Spawn Set 1,2,3 и т.д включает переменные воскрешения крипов, это нужно обязательно запомнить иначе ничего не получится. Знайте что в триггеры Initialize Monster Spawners действия переменные обозначены числами в квадратных скобках [ ] - запомните и создайте триггеры для приличия Enable Spawn Set более 10 штук и каждый из которых включает переменные этих воскрешении!Этот тригер я не смог сделать самостоятельно, да и времени нет, я просто скопировал его с карты и перенес в свою РПГ и теперь наслаждаюсь процессом - докачался на крипах до 10000 уровня - это пока предел!:)

0

Привет всем. Я сделал на карте триггер убить юнитов когда игрок вводит -kill. В игре перед тем как убить игра зависает... Чем больше юнитов на карте, тем дольше висит. Однако в чужой карте килл работает без подвисаний, даже когда юнитов очень много... Помогите пожалуйста, в чем проблема?

0

RageWarrior, опиши все твои действия связанные с этим может я найду ошибку...

0

События
Игрок - Игрок 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 юнитов... Не спроста это :(

0

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)

0

Как я понял должен выглядеть так:

События
Игрок 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 - в один триггер?

0

RageWarrior, нет придется для каждого игрока прописывать. А насчет того оно работает только незабудь поставить этих Footman на карту и под цветом Игрок 10 так как ты указал условие в действии (Unit owned by Игрок 10 of type Footman) и никаким более цветом, если так пиши туда например красные и и ставь что эта пехота относится к красным иначе действия комманды kills не произойдет.

0

RageWarrior, слушай если можно скинуть напиши свой имэйл мне я те скину свою карту с примером твоего так сказать кода kill и выборе рас с помощью диалоговых окон там же в карте и мультиборд, просто я пока это тестить начинаю - перенес из своей рпг карты на время, ок?

0

Подскажите пожалуйста как сделать такой триггер:
Чтобы если герой взял предмет выпавший из ящика то он умирал
Я не могу сделать условия
Подобранный предмет=Сфера Огня(например)
но я не могу выбрать феру огня т.к. она выпадает из ящика
Заранее спасибо

0

События
---Боевая единица - A unit получает предмет

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

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

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

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

0

Не согласен с Рейдж Ворир
Проблема в том, что предмет может не взяться именно в слот 1

Отлавливать надо именно приказ правой кнопкой мыши на предмете, тип которого равен Сфере огня
Если надо готовая версия скрипта - мне в лс, за пару минут сделаю

0

Правый клик еще ничего не значит :) Надо именно подобрать ведь... Может юнит далеко, нажал - его убило... Напонятна причина даже :) Написать:
условие - одно из условий:
---(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

0

а ты пробовал через IntegerA?

0

Просто добавить проверку нахождения юнита в радиусе 100 от предмета и всё. Это проще и правильнее чем делать 6 проверок на слоты

0

Помогите плз!!!!!!!!!!!! мне нужно :
зделать триггер чтобы !ВСЕ! юниты и !ВСЕ! здания игрока (инициатора) стали неуязвимыми после постройки 3 определённых "зданий"
p.s. у меня есть начало триггера, мне нада зделать условие чтобы триггер срабатывал при постройке 3 таких "зданий", и зделать действие в котором всё зделаеться неуязвимым у игрока инициатора

0

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уязвимый)

0

спс! зделал =)
а теперь ещё=)))
нужно действие, немогу зделать=( :

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

2трг:
Событие: -
Условие: -
Действие: (чтонить типа) востановить боевой единице 2% здоровья
ждать 1 сек
востановить 4% здоровья
ждать 2 сек
востановить 6% здоровья
ждать 3 сек
востановить 8% здоровья
ждать 4 сек
востановить 10% здоровья
Триггер: выключить этот триггер

0

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 добавляемый процент здоровья

0

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

0

тригер такой
Create 5 пустынников for игрок красный 1 at игрок синий 2 facing 2.00 degrees
и так с остальными и между уровнями ждать определённое время

0

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

0

Можете по подробней написать а то редактор на английском плиз

0

ЧаИнЕк данный триггер рассчитан на 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

0

ток с условием х или равно непонятно де это?

0

Чуть подредактировал код, а теперь объяснения: x - это переменная, которая отвечает за проверку условия, если х меньше или равно 2 значит триггер будет выполнятся, то есть волны от 0 до 2 будут происходить, а вот 3 волна, то есть set х=3,. уже условию не удовлетворяет и код перестает выполняться.
Учти, что этот триггер будет работать правильно, если событие является периодическим, иначе необходимость в условиях отпадает.
Мой код рассчитан на событие - времени прошло 5 сек, то есть мне условия не нужны, чтоб он закончился и больше не повторялся, но специально для тебя я показал как правильно должно быть в противном случае.

0

не я имею ввиду де это настроить

0

У кого нить есть русский редактор? =)

0

http://warcraft-info.clan.su/load/7-1-0-4 - русификатор
ПС А что у тебя буква "г" не работат?

0

У меня терь не одна мапа не открываецо закинул в папку с варом

0

сори работает токо сначало надо пролистать 100 ошибок

0

обнови вар, чем свежее, тем лучше

0

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

0

А как сделать шоб мапа была всегда открытой?

0

Есть такой спец триггер:
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)

0

на каких форумах в PG можно найти многие триггеры для создания TD?

0

Вскрывай карты кампаний и др. там их много

0

помогите с тригом, я зделал абилу наносящюю урон в диапазоне 500-2500 , мне нужно чтобы показывало над боевой единицой на которую кастуеться магия сколько нанеслось урона из этого диапозона

0

sinseer воспользуйся функцией плавающего текста

0

получилось:
создать плавающий текст, гласящий (строка((полученные повреждения))) над (юнит цель применяемой способности) с Z смещением 0 шрифт 12 (цвет 100 0 0) и 0 прозрачности.
Нужна помощ, пишет 0.000 , т.к. урон у способности создаёться триггером
и я создаю триггеры на подобе этого, везде пишет 0.000 или 0.0 , в общем урон непоказывает=( помогите

0

а можно по подробней с открытой мапой де специальный триггер

0

помогите плиз как сделать открытую мапу токо по подробней плиз

0

ЧаИнЕк, искать нуна там же где и все остальные, кокретнее - в самом низу списка триггеров найдешь видимость и выбирай подходящий-все написал выше

0

Привет... Спросил в другой теме но там последнее сообщение в 10 году было и решил написать и сюда. Внимани вопрос: Как объедеить 2 еликсира в один слот Пример: покупаю 1 еликсир с зарядом в 15 штук, потом покупаю такойже и в инвентаре у меня появляется 30 зарядов в одном слоте.

0

А как сделать чтоб за нейтралов давался опыт и как сделать условие например если игрок вышел из игры то надпись - (имя игрока) покидает нас. Можно на русском

0

И ещё кое-что как сделать чтобы у игрока был алтарь но героя нанять нельзя было таверна требует или надо чтобы таверна не требовала тогда как?

0

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

0
ЗАГРУЗИТЬ ВСЕ КОММЕНТАРИИ