XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
имхо, труъ

Можно условия писать в самом действии триггера??? Т.е. не через отдельную функцию, а в Trigger_Actions. Что-н типа
Код:
... тут было неправильно ...


DFlyer добавил:
Всё, разобрался. Вот правилный вариант:
Код:
function Trig_enter_Actions takes nothing returns nothing
    if GetEnteringUnit() == udg_u then
         call func1
         call func2
         call funcN
    endif
endfunction
Старый 03.03.2007, 00:38
dk

offline
Опыт: 60,293
Активность:
Как я понимаю это будет работать медленее чем специально зареганое условие... Так как будет больше бесполезных срабатований...
Старый 03.03.2007, 05:36
DioD

offline
Опыт: 45,134
Активность:
условие тоже срабатывает, так что не надо.
если помешаны на экономии надо регать события на отдельные юниты
Старый 03.03.2007, 06:03
dk

offline
Опыт: 60,293
Активность:
хз конечно но я думаю триггерная проверка условия происходит до начала действия и если фалсе, то действие даже не начинается... А тут действие происходит по любому, а в нем уже отлавливается нужные прохождения... Вобщем я такое стараюсь избегать
Старый 03.03.2007, 06:27
J
expert
offline
Опыт: 48,447
Активность:
Dead_knight я тож
Старый 03.03.2007, 08:35
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
Цитата:
А я юзаю GUI, перевожу в jass, исправляю
И потом еще все возможные BJ переправлять на нативки, вот тогда труъ, сам так недавно начал делать.
Старый 03.03.2007, 10:33
DioD

offline
Опыт: 45,134
Активность:
есть
Старый 03.03.2007, 11:30
adic3x

offline
Опыт: 108,439
Активность:
matrix, 100% есть, смотри внимательней.
Старый 03.03.2007, 11:37
adic3x

offline
Опыт: 108,439
Активность:
matrix, ппц, ты что, в событие пытаешся вставить реакцию на событие?

Регестрируешь тригер на всех игроков (12 событий), а потом выводишь текст тригерному плаеру.
Старый 03.03.2007, 13:25
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
Цитата:
все возможные BJ переправлять на нативки

Дык, понятно. Глобалки - в локалки, БЖ - в нативки, +ремув объектов.
Старый 03.03.2007, 13:40
adic3x

offline
Опыт: 108,439
Активность:
DFlyer, я считаю что это неправильный подход в корне. Намного правильней писать сразу в жассе.
Старый 03.03.2007, 14:53
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
ADOLF
Я не могу запомнить синтаксис триггеров. Т.е., триггер_кондишн, триггер_экшн. И инициализацию триггера.
Старый 03.03.2007, 15:09
adic3x

offline
Опыт: 108,439
Активность:
DFlyer, это и не обязательно запоминать, в жасс крафте стоит вмонтированная поисковая система ф-ций, весьма удобная весчЪ. Тем более когда начнешь писать сам незаметишь как все запоминшь.
Старый 03.03.2007, 15:18
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
Нет, ты меня не понял. Фунции-то я знаю.
Ну, допустим, начал я с нуля писать. Я не могу запомнить вот это:
Код:
function Trig_Init_Conditions takes nothing returns boolean
    if ... then return true
endfunction

function Trig_Init_Actions takes nothing returns nothing
    call1
    call2
endfunction

//===========================================================================
function InitTrig_Init takes nothing returns nothing
    set gg_trg_Init = CreateTrigger( )
    call TriggerRegister...EventBJ( gg_trg_Init, 'event')
    call TriggerAddCondition( gg_trg_Init, Condition( function Trig_Init_Conditions ) )
    call TriggerAddAction( gg_trg_Init, function Trig_Init_Actions )
endfunction

Т.е., код самого триггера и его инизиализации.
Старый 03.03.2007, 15:29
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
matrix
Вот, выводит сообщение игроку, написавшему что-либо в чате
» PlayerChat:

Код:
function Trig_ChatFuck_Actions takes nothing returns nothing
    local player pl = GetTriggerPlayer()
    call DisplayTimedTextToPlayer(pl,0.00,0.00,3.0,"Fuck You!")
endfunction

//===========================================================================
function InitTrig_ChatFuck takes nothing returns nothing
    set gg_trg_ChatFuck = CreateTrigger()
    call TriggerRegisterPlayerChatEvent(gg_trg_ChatFuck,Player(0),"",false )
    call TriggerRegisterPlayerChatEvent(gg_trg_ChatFuck,Player(1),"",false )
    call TriggerRegisterPlayerChatEvent(gg_trg_ChatFuck,Player(2),"",false )
    call TriggerRegisterPlayerChatEvent(gg_trg_ChatFuck,Player(2),"",false ) //и так до Player(11)
    call TriggerAddAction(gg_trg_ChatFuck,function Trig_ChatFuck_Actions)
endfunction

Старый 03.03.2007, 16:11
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
matrix
Если ты искал как сделать чтоб при сообщении из чата игроку, который написал это сообщение выводилося текст, то это именно то, что ты искал. =)
Старый 03.03.2007, 16:15
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
matrix
А в чём проблемы? Копируй все триггеры, весь CustomCode, и все объекты Custom-объекты. Ну, и переменные, если не стоит галочка "создавать переменные автоматически".
Старый 03.03.2007, 16:18
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
matrix
Мне вломъ
Старый 03.03.2007, 16:51
J
expert
offline
Опыт: 48,447
Активность:
matrix проблемы которые могут встречатся при импортировании:
1) усли ты импортируеш все коды, то может быть совпадение имен функций.
2) если не все, то плюс к первому еще и может быть их отсутствие
3) Несинхранизация id обьектов из РО с тригерами
4) отсутсвтие глабольный переменных

Отредактировано Jon, 04.03.2007 в 11:02.
Старый 03.03.2007, 17:48
DioD

offline
Опыт: 45,134
Активность:
да блин вот вы даёте, слабо прочитать ИНСТРУКЦИИ внутри каждой из карт.
я когда пешком под стол ходил в области джаза без проблем всё скопировал как с первой так и со второй карты
Старый 03.03.2007, 23:54
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 03:10.