Вторник, 21.05.2024, 01:04           Главная | Регистрация | Вход | RSS | Форум     [Обои | Файлы | Статьи | Кнопки и баннеры]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Модератор форума: WakingTheDemon, Arius  
Форум сайта о WarCraft III » Картостроение » Триггеры » Триггеры (и всё о них)
Триггеры
NormДата: Понедельник, 15.06.2009, 21:51 | Сообщение # 1
Bowman
Группа: Проверенные
Сообщений: 16
Репутация: 3
Награды
Здесь задаём вопросы по триггерам
Снизу будут несколько триггеров дабы не задавать лишних вопросов
1.Самая простая таблица рекордов
2.Показывает сколько урона нанёс определённый юнит
3.Чтобы крипы бежали как в доте
4.Чтобы предметы скрещивались как в доте
5.Таймер воскрешения героев

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

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

 
MeckДата: Суббота, 31.10.2009, 18:37 | Сообщение # 76
Начальник
Группа: Проверенные
Сообщений: 131
Репутация: 0
Награды
За победу в гран-при Азерота
Makc, создаеш зону небольшую, чтобы там свободно поместились все твои герои, потом делаеш тригер

Событие: Каждые 0.1 сек
Условие:
Действие: Отряд - выбрать каждого юнита в зоне (та в которой герои стоят)
цикл действия
Боевая еденица двигать выбраный юнит в слючайная тока в зоне (та в которой герои стоят)

Вот и все, потом нужен триг с командай выбора рандома

Событие: Игрок напечатал такое сообщение как -ar ...
Условие:
Действие: Выбрать случайного юнита в зоне (та в которой герои стоят) двигать его куда нада и зделать его для игрока которого нада

Незнаю как тебе еще подробней обьяснить, просто немогу пример скинуть.

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

 
MakcДата: Воскресенье, 22.11.2009, 19:30 | Сообщение # 77
Крепостной
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды
Вроде со всем пока разобрался.)





Сообщение отредактировал Makc - Понедельник, 23.11.2009, 17:36
 
SnyppiДата: Пятница, 11.12.2009, 22:37 | Сообщение # 78
Новосёл
Группа: Пользователи
Сообщений: 1
Репутация: 0
Награды
Как сделать чтоб если перс стоит в области( примерно 1 сек) то у него качается опыт( по 10опыта хватит) У мя прост не получается чето
Событие: Прошло 1 сек
Действие: Выбрать отряд в области и совершить дейтвие( дать юниту 10 опыта)
как то так.

Добавлено (11.12.2009, 22:37)
---------------------------------------------
в чем ошибка?

 
unetcoДата: Суббота, 12.12.2009, 11:37 | Сообщение # 79
Гражданин
Группа: Зав. контентом
Сообщений: 50
Репутация: 1
Награды
Snyppi, Событие: Юнит вошел в область
Действие: Включить триггер 2
Триггер 2: Прошло 1 секунда
Действие: Дать входящеу юниту 10 опыта
 
JLopDHy6oBДата: Суббота, 12.12.2009, 11:39 | Сообщение # 80
Новосёл
Группа: Пользователи
Сообщений: 14
Репутация: 0
Награды
Snyppi,
Тригер 1
Событие:Отряд вошел в облость (ваша область)
Условие:Входящий юнит равно (ваш юнит)
Действие:Включить тригер 2

Тригер 2(изначально выключен)
Событие:Каждые 1 сек производить действие
Действие:Дать 10 опыта (Ваш юнит)

Тригер 3
Событие:Юнит покидает облость (ваша область)
Действие:Отключить тригер 2

По идеи так должно получится.

Добавлено (12.12.2009, 11:39)
---------------------------------------------
оо признаки жизни unecto, =)


 
unetcoДата: Суббота, 12.12.2009, 11:42 | Сообщение # 81
Гражданин
Группа: Зав. контентом
Сообщений: 50
Репутация: 1
Награды
Угу, пульс есть) Все правильно, я не заметил)

Сообщение отредактировал unecto - Суббота, 12.12.2009, 11:43
 
JLopDHy6oBДата: Суббота, 12.12.2009, 11:43 | Сообщение # 82
Новосёл
Группа: Пользователи
Сообщений: 14
Репутация: 0
Награды
Quote
Можно и так. Тогда в триггере 2 надо:
Событие: каждую секунду

А у меня чо не так?
Quote
Тригер 2(изначально выключен)
Событие:Каждые 1 сек производить действие
Действие:Дать 10 опыта (Ваш юнит)


 
[DUOS]Дата: Суббота, 12.12.2009, 15:43 | Сообщение # 83
Happy new... maps! :)
Придворный
Группа: Проверенные
Сообщений: 352
Репутация: 5
Награды
Quote (JLopDHy6oB)
Событие:Юнит покидает облость (ваша область)
Действие:Отключить тригер 2

unecto,
Да, это ты забыл smile



Привет, меня зовут Рой. Я тут немножко подсел на магию... (© Чародей Крови)
За Кель-Таллас!

Oasis and Desert
Ландшафт - 100%
Триггеры и кодинг - 5%
Герои - 4%
Итого - 36%

 
voafelaiДата: Среда, 06.01.2010, 15:50 | Сообщение # 84
Новосёл
Группа: Пользователи
Сообщений: 1
Репутация: 0
Награды
У меня такой стрёмный вопрос ,что я даже не знаю куда его писать всё излазил но так и не понял как сделать так чтобы при включении игры под "изходной позицией" не возникал замок и чтобы расы в игре были фиксированы чтобы нельзя было её выбирать sad видемо эти вопросы настолько нубскиие и идиотские что никто не понимает что я спрашиваю sad
 
unetcoДата: Среда, 06.01.2010, 17:13 | Сообщение # 85
Гражданин
Группа: Зав. контентом
Сообщений: 50
Репутация: 1
Награды
1: Удали начальный триггер "Создать стартовые юниты"
2: Свойства кланов -> фиксированные кланы
2 возможно не совсем точно, просто щас редактор выключен, точно сказать не могу
 
JLopDHy6oBДата: Среда, 06.01.2010, 18:49 | Сообщение # 86
Новосёл
Группа: Пользователи
Сообщений: 14
Репутация: 0
Награды
Quote
как сделать так чтобы при включении игры под "изходной позицией" не возникал замок

Если карта нестандатного типа а тоесть ТД , AoS , Арена и т.д. то лучше удалять весь тригер Инициализация.


 
MakcДата: Пятница, 15.01.2010, 14:42 | Сообщение # 87
Крепостной
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды
Как сделать камеру от 3 лица?





Сообщение отредактировал Makc - Пятница, 15.01.2010, 21:01
 
LizzardFyllДата: Четверг, 18.02.2010, 16:09 | Сообщение # 88
Новосёл
Группа: Проверенные
Сообщений: 16
Репутация: 1
Награды
Norm,
у меня чёта пишет на всех твоих файлах что ошибка, как будто на сайте нет этого файла wacko wacko


Форум сайт о WarCraft III-Картостроение-"Архив картостоителя"
 
MakcДата: Вторник, 09.03.2010, 21:54 | Сообщение # 89
Крепостной
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды
Сделал триггер по статье, но почему-то не работает... я перепробовал всё что можно) но всё равно) я даже переменными глобальными проверял условие ложно или истинно, но он пишет что переменная не изменилась. Вот код
Code
function Auto_Attack_Detect takes nothing returns boolean
     if GetTriggerEventId()==EVENT_PLAYER_UNIT_ATTACKED and GetUnitAbilityLevel(GetAttacker(),'A005')>0 then
        return true
     set udg_IntegerTest = 2
     elseif GetTriggerEventId()==EVENT_UNIT_SPELL_EFFECT and GetSpellAbilityId()=='A005' then
        return true
     set udg_IntegerTest = 2
     endif
     return false
     set udg_IntegerTest = 1
endfunction

function Auto_Attack_Effects takes nothing returns nothing
     local real dam = GetEventDamage()
     local unit targ = GetTriggerUnit()
     local unit cast = GetEventDamageSource()
     local texttag t
     if UnitHasBuffBJ(targ, 'B000') == true and GetUnitAbilityLevel(cast,'A005')>0 then
         call DisableTrigger(GetTriggeringTrigger())
         set dam = GetUnitAbilityLevel(cast,'A005')*.25*dam
         set t = CreateTextTag()
         call SetTextTagText(t,"+"+I2S(R2I(dam)),.023)
         call SetTextTagPosUnit(t,targ,15)
         call SetTextTagColor(t,0,0,255,50)
         call SetTextTagVelocity(t,0.355 * Cos(90 * bj_DEGTORAD),.0355 * Sin(90 * bj_DEGTORAD))
         call SetTextTagLifespan(t,1.)
         call UnitDamageTarget(cast,targ,dam,false,false, ATTACK_TYPE_PIERCE, DAMAGE_TYPE_NORMAL,null)
         call PolledWait(1.)
         call DestroyTextTag(t)
         set t = null
     endif
     set targ = null
     set cast = null
endfunction

function Auto_Attack_Detect_Actions takes nothing returns nothing
     local trigger trig = CreateTrigger()
     local triggeraction ta
     local unit u
     if GetTriggerEventId()==EVENT_UNIT_SPELL_EFFECT then
         set u = GetSpellTargetUnit()
     else
         set u = GetTriggerUnit()
     endif
     call TriggerRegisterUnitEvent(trig,u, EVENT_UNIT_DAMAGED)
     set ta = TriggerAddAction(trig, function Auto_Attack_Effects)
     call PolledWait(2)
     call DisableTrigger(trig)
     call TriggerRemoveAction(trig,ta)
     call DestroyTrigger(trig)
     set ta = null
     set u = null
     set trig = null
endfunction

function InitTrig_Auto_Attack takes nothing returns nothing
local unit u
set gg_trg_Auto_Attack = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(gg_trg_Auto_Attack, EVENT_PLAYER_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(gg_trg_Auto_Attack,u, EVENT_UNIT_SPELL_EFFECT)
call TriggerAddCondition(gg_trg_Auto_Attack, Condition(function Auto_Attack_Detect))
call TriggerAddAction(gg_trg_Auto_Attack, function Auto_Attack_Detect_Actions)
endfunction

Где ошибка? Подскажите плз)






Сообщение отредактировал Makc - Среда, 10.03.2010, 19:08
 
H_A_PKДата: Вторник, 30.03.2010, 17:39 | Сообщение # 90
Dead нарик :Р
Новосёл
Группа: Пользователи
Сообщений: 8
Репутация: 0
Награды
Quote (Makc)
Как сделать камеру от 3 лица?

ОО застовляй камеру поварачиваться на угол поворота юнита твоего.


[[СИСТЕМА]Система туманов]
 
Форум сайта о WarCraft III » Картостроение » Триггеры » Триггеры (и всё о них)
  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Поиск: