Gonach, А можна в 2 триггера Но раз уж ты все расписал на русских триггерах, а я думаю у автора вопроса, скорее всего, триггеры русские, пусть он делает так как ты сказал.
Quote (Gonach)
А вот в чем: ты не знаеш где появится мобы; есть 3 дороги и по ним идут мобы только мобы идут только по одной дороги, и загвоска в том что ты не знаещ какая это будет дорога.
Я тебя не понимаю, я не спрашиваю, в чем заключается оригенальность твоей головокружительной идеи, а в чем оригенальность вопроса.
Делаеш 3 триггера на каждую дорожку, без события. Затем делаеш триггер, который имеет действие. Установить переменную Х рандум между 1 и 3 Если переменная Х равно 1 Проиграть такойто триггер Иначе Если переменная Х ровна 2 Проиграть другой триггер Иначе Проиграть третий триггер.
Все как ты любиш, в 4 триггера Если без шуток, можно, вместо проигрывания триггера в то место вставить действие по созданию крипов
MTT,Gonach, думаю, с этим не должно быть проблем)Но вот с тем, что мне посоветовал FKOFF что-то не выходит.
точка 1 это телепорт внутрь, точка 2 телепорт из нутри. точка 1.1 телепорт другой комнады внутрь, точка 2.2 телепорт другой команды наружу, Code
юнит входит в регион 1 сonditions: entering unit is hero = yes actions: set dueler[1] = entering unit move instantly.... accept camera [camera above arena] for owner of duele[1] over 0.02 seconds turn off this trigger два таких триггера на каждую точку телепорта
Code
unit enter region 1.1 conditions: entering unit = dueler[1] actions: kill dueler[2] два таких триггера на каждого дуелера
[/code] generic unit die conditions: OR: AND: dying unit = dueler[1] killing unit = dueler[2] AND: dying unit = dueler[2] killing unit = dueler[1] actions: add (1000*(lvl of dying unit)) gold to owner of killing unit turn on teleport trigger 1 turn on teleport trigger 2 move insantly dueler[1] to region База 1 move insantrly dueler[2] to region База 2 accept camera object БАЗА 1 for owner of dueler[1] accept camera object БАЗА 2 for onwer of dueler[2] set dueler[1] = нет боевой единицы set dueler[2] = нет боевой единицы [code] . Что нужно - чтобы на эту территорию мог попасть только один человек из каждой команды (к примеру, создается блок области портала на это время или еще что-то), чтобы за убийство члена чужой команды давали, к примеру, 1000*уровень игрока золота, чтобы во время боя оба дуэлянта не смогли сбежать.Вот как-то так Я понимаю, что пипец)Но вдруг кто-нибудь сможет)
Что я сделал - я сделал 5 триггеров, которые включают:
3:
событие - боевая единица - unit enteres portalsareny1 условия - entering unit = dueler2 действие - kill dueler 2
4:
событие - боевая единица - unit enteres portalsareny2 условия - entering unit = dueler1 действие - kill dueler 1
1: события боевая единица - A unit enters ArenazapadGo <gen> условия ((Triggering unit) is герой = да действия Set dueler1 = (Entering unit) Боевая единица - Move (Triggering unit) instantly to (Center of ArenaZapadFight <gen>) Камера - Pan camera for (Owner of (Triggering unit)) to (Center of ArenaZapadFight <gen>) over 0.02 seconds триггер - Turn off (This trigger)
2: события боевая единица - A unit enters Arenavostok <gen> условия ((Triggering unit) is герой = да действия Set dueler2 = (Entering unit) Боевая единица - Move (Triggering unit) instantly to (Center of ArenaVostok <gen>) Камера - Pan camera for (Owner of (Triggering unit)) to (Center of ArenaVostok <gen>) over 0.02 seconds триггер - Turn off (This trigger)
5: события боевая единица - A unit умирает условия Or - Any (Conditions) are true условия ((Dying unit) равно Dueler2) and ((Killing unit) равно dueler1) ((Dying unit) равно dueler1) and ((Killing unit) равно Dueler2) действия игрок - Add (1000 x (Level of (Dying unit))) to (Owner of (Killing unit)) золото (текущ.) триггер - Turn on portarenavostok <gen> триггер - Turn on portarenazapad <gen> Боевая единица - Move dueler1 instantly to (Center of TELEPORTcentr <gen>) Боевая единица - Move Dueler2 instantly to (Center of Inport <gen>) Камера - Pan camera for (Owner of dueler1) to (Center of TELEPORTcentr <gen>) over 0.02 seconds Камера - Pan camera for (Owner of Dueler2) to (Center of Inport <gen>) over 0.02 seconds
При этом когда один игрок другого убивает, золото ему не дается и игроки не телепортируются обратно с арены.Я проверял - если игрок входит в чужой портал, то он умирает, значит значение dueler1 и 2 ему присваивается, скорее всего ошибка в последнем 5м триггере, но где?
Gonach, у меня итак 4 портала - 2 внутрь, 2 наружу)так как жанр карты hero defence, основная миссия карты сдерживать натиск монстров на портал)у каждой команды свои жизни, у каждой по половине карты)то есть они никак не могут встретиться кроме как на арене, поэтому важно, чтобы порталы у них были разные и при входе в чужой портал юнит помирал))))) ПО поводу своего вопроса - разобрался, там and функция не совсем та была, теперь все работает)
Ты знаешь, как сделать, чтобы типа как в доте писалось "игрок 1 снес игрока 2 и получил ххххххх бабла" Я новичок, но учусь быстро)
rizen, насчет бабла, ставишь действие: игра-показать текст, там выбираешь сцепленные строки и делаешь так: имя[игрок(владелец(убивающий юнит))] + убил + имя[игрок(владелец(умирающий юнит))] + и получил (сюда ставишь конвертировать целое число в строку, вместо числа можешь ставить переменную, куда заносишь количество золота.)
триггеры примерно такие, точно не помню, нет возможности пока в ВЕ залезть.
Сообщение отредактировал Arius - Пятница, 11 Декабря 2009, 21:34:18
Размер массива я изначально задал 10 Если а больше 10, функция не исполнится? Если исполница, значит массивы здесь динамичиские, тоесть все значения массива запоминаются, при его изменении. Как заставить забыть?
Quote (MTT)
Kartoha, Так вот, динамический массив, это тот, который может изменить свой размер, есть такая радость у нас в ворлд эдиторе?Добавлено (11-12-2009, 13:28)---------------------------------------------MTT, Как я уже писал раньше, каждую секунду задается значение новой кетки массива, тоесть изначально размер массива я не знаю, а если использловать трехмерный, то значение клеток не забывается, отсюда утечки.
странный ты, у меня к примеру размер у массивов стоял 1 с начала редактирования карты, но так как я человек чуть-чуть безолаберный то номера массивам (индексы) я ставил примерно 54, 88, 120. все работало.
FkoFF, Тоесть по логике идет так: Массивы в ВЕ динамические. При обращении к новой ячейке, он ее создает сам.
Вот вопрос. Как заставить его забыть хоть одну ячейку
Просто по логике, ведь ячейка изначально имеет значение, чтота типо *нет значения* А если у меня заполнилось много ячеек, как мне их вернуть к этому значению, тобиш обнулить.
Не говори мне, что они все изначально равны нулю, ибо как ВЕ может создать массив с бесконечным размером, если каждая ячейка имеет свое значение (пусть даже одинаковое.)
И *нет значения*=0 не может быть правдой, ибо массив при разных функциях может принять 0 и тогда... или нет, может и так и есть... я вопщем запутался. Помогите мне распутаться
Не пойму смысл исследовать устройство массивов. Ты хочешь воизбежание лагов их чистить? обнуляй все что создаешь по окончанию нужной функции. к примеру: Pick every unit in range 500 around target point of ability being cast. create 1 dummy for owner of caster at position of picked unit set Unit[PLP]=last created unit set PLP = PLP+1
то обнулять их следующим методом for each integer A from 0 to 50 (больше на локации в 500 вокруг точки юнита врядли будет) remove unit[plp-integer A] from game set uni[PLP-integer A] = нет боевой единицы
и так везде где можешь. кстати ячейки обнуляются когда пропадает занимавший их объект. тоесть после смерти спецеффекта занесенного в переменную функцией destroy Specialeffct[example] - ячейка example (в нашем случае) обнуляется и до следующего запроса к ней она НЕ существует.
for each integer A from 0 to PLP remove unit[plp-integer A] from game set uni[PLP-integer A] = нет боевой единицы
ступил чутка )
Добавлено (12-12-2009, 01:52) --------------------------------------------- ах да, и по окончанию функции или при начале очередного запроса к PLP, PLP следует обнулить.
Добавлено (12-12-2009, 01:52) --------------------------------------------- но это настолько же опционально как мытье посуды в мужской и женской общаге (в женской моют после еды, в мужской - перед едой)
а КАК сделать что бы когда делаеш начальную позицию не строилась ратуша?
Как всё запущено... Удали триггер "Map initialization".
Quote (MTT)
Как заставить его забыть хоть одну ячейку
В триггерах многие типы переменных не обнуляються (например, триггеры). Только кастом скриптом. А в джассе делается так - "set *массив*[*ячейка*] = null". Но учти что обнулять надо не все типы переменных (например, целочисленные и реальные). И в некоторых типах нужно не "null" а 0. А обнулять много ячеек сразу циклом:
Code
loop exitwhen bj_forLoopAIndex > *сколько тебе надо раз* set *массив*[bj_forLoopAIndex] = null (или 0, смотря что у тебя там) set bj_forLoopAIndex = bj_forLoopAIndex + 1 endloop
ЗЫ: bj_forLoopAIndex - это предопледелённая переменная, которая постоянно вшивается в код. Это таже "Integer A" в триггерах. Так что лучше использовать её в циклах, а не создавать лишнюю интегерку.
Добавлено (12-12-2009, 02:08) --------------------------------------------- MTT, реальную обнулять не надо. Но если так надо, то выше написано.
Сообщение отредактировал Сорнемус - Суббота, 12 Декабря 2009, 02:10:53
MTT, Ландно, я распишу спелл по порядку. Спелл называется отмотка времени. Описание - отматывает время. Как я делал. Записывал каждый промижуток времени положение всех обьектов в переменную. (массив со счетчиком.) При отмотке все у меня норм работает, но остаются проблемы - лагает. При отмотке времени каждый обьект принимает положение, согласно переменной, а счетчик уменьшается в обратную сторону.
Отсюда, если счетчик примет значение, например, 1000. При отмотке остаются массивы с 1000 ячейками. Если все эти ячейки сделать равными нулю (через цыкл), лагать меньше не стает, тобиш нада их както заставить принять то значение, которое было до того, когда я к ним обратился. Это значение не 0. Нада узнать это значение. Есть идеи?
А можно обьяснить как делать телепорт ток если у тя по английски?
создаешь две области, одну - ту куда заходишь, вторую - ту откуда выходишь и связываешь их триггером:
generic unit enters region A conditions: условия если нужно, ну к примеру Entering unit is hero = yes actions: move insantly entering unit to region B accept camera for owner of entering unit to CAMERA ABOVE REGION B over 0.0 seconds
второй триггер на обратное движение:
generic unit enters region B сonditions: те же actions: move insantly entering unit to region B accept camera object for owner of entering unit to CAMERA ABOVE REGION A over 0.0 seconds
generic unit enters region A conditions: условия если нужно, ну к примеру Entering unit is hero = yes actions: move insantly entering unit to region B accept camera for owner of entering unit to CAMERA ABOVE REGION B over 0.0 seconds
второй триггер на обратное движение:
generic unit enters region B сonditions: те же actions: move insantly entering unit to region B accept camera object for owner of entering unit to CAMERA ABOVE REGION A over 0.0 seconds
FkoFF, Ну ты и грамотей... Английскими будет так:
Events. Unit - A unit entersRegion A Conditions. Actions. Unit - Instantly move(Entering unit)to(Center of (Region B)) Camera - Pan camera to(Position of (Entering unit))over0.30seconds.
Триггер на обратное движение будет выглядеть так:Events. Unit - A unit entersRegion B Conditions. Actions. Unit - Instantly move(Entering unit)to(Center of (Region A)) Camera - Pan camera to(Position of (Entering unit))over0.30seconds. Использованные переменные: Region A - Область 1, из которой будет перекидывать в область 2. Region B - Область 2, из которой будет перекидывать в область 1.
как сделать так, чтобы за обычных крипов, определенного игрока, которые выбегают из определенной области и бегут в другую (это я уже сделал с помощью триггеров) давали бабло?как сделать так, чтоб за убитого героя тоже вручили бабосы? извиите, если тупой вопрос, я просто на ваш форум зашел в первый раз. и еще. Что такое "грани у кости"??? извините за тоже, пожалуй тупой вопрос))))
В истинном золоте блеска нет, Не каждый странник забыт, Не каждый слабеет под гнетом лет - Корни земля хранит. Зола обратится огнем опять, В сумраке луч сверкнет, Клинок вернется на рукоять, Корону король обретет.