Вопрос. Можно ли использовать приведённый ниже триггер? В игре работает нормально, но большинство юзеров говорит, что вейты ломают триггеры, и вообще переходи на jass нуб. Ты с gui никому не нужен.
Конвертированный код, если кому он лучше понятен, чем русифицированный GUI:
function Trig_____________________________________002_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'A00H' ) ) then
        return false
    endif
    return true
endfunction

function Trig_____________________________________002_Actions takes nothing returns nothing
    local unit u
    set udg_LocalUnit = GetSpellTargetUnit()
    set u=udg_LocalUnit
    call PauseUnitBJ( true, udg_LocalUnit )
    call SetUnitTimeScalePercent( udg_LocalUnit, 0.00 )
    call SetUnitInvulnerable( udg_LocalUnit, true )
    call TriggerSleepAction( 5.00 )
    set udg_LocalUnit=u
    call PauseUnitBJ( false, udg_LocalUnit )
    call SetUnitTimeScalePercent( udg_LocalUnit, 100.00 )
    call SetUnitInvulnerable( udg_LocalUnit, false )
endfunction

//===========================================================================
function InitTrig_____________________________________002 takes nothing returns nothing
    set gg_trg_____________________________________002 = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_____________________________________002, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_____________________________________002, Condition( function Trig_____________________________________002_Conditions ) )
    call TriggerAddAction( gg_trg_____________________________________002, function Trig_____________________________________002_Actions )
endfunction

KaneThaumaturge, крепи юнита к таймеру
хэш или прочее
вот статьи
там есть и про гуи и про джасс
читай разбирайся
KaneThaumaturge:
ставил на паузу, но работа спелла никак не изменилась
время вейта менялось зато
получается баг
игроки могут спецом врубать паузу чтобы изменить длительность спела
конечно если игра планируется на 1 человека то можно забить
в общем если хочешь сделать чтото сложнее "применил способность - победил" быстрее чем за пол дня то учи джасс
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
28
вейты имеют много минусов
они не точны, и продолжают работу во время паузы
тем не менее они хороши чтобы прервать поток выполнения не порождая доп объекты
в данном случае стоит использовать таймеры т.к. задача выполнить действие спустя промежуток времени, а также чтобы избежать возможных багов
по поводу джасса
на джасс делать спелы и системы намного быстрее чем на гуи
особенно если использовать vjass и cjass
так же он предоставляет возможность создавать свои функции и все связанные с этим плюшки (таймеры с функциями и прочее)
если ты нуб который открыл редактор чтобы сделать свою кручедоты и через пару дней бросишь по причине ниасилил то джасс нафиг не нужен
ну а так советую выучить т.к. он намного проще и быстрее(в плане скорости разработки) чем гуи
20
nvc123, Нет, это мили карта, с нестандартной расой (а-ля, еще один клон 23 расы, тоже дисбалансный). Я нуб, но который учился редактору 2-3 года, ну, как учился, занимался фигней. В общем, я не очень-то дружу с языком программирования, т.к начал его учить недавно. Максимум что я могу, это школьную олимпиаду написать на паскале, по-этому хочу обойтись без джасса, т.к на мили карте мне и не нужно большое кол-во сложных спеллов.
nvc123, можно ли заменить вейт на таймер, используя GUI?
28
KaneThaumaturge, можно
но это дольше чем на джасс
по сути главное отличие гуи от джасс в затраченном времени
то что в джасс требует 1 минуту в гуи требует 10
тебе нужно создать таймер и триггер который будет срабатывать когда таймер истекает
и каким нибудь способом атачить данные к таймеру
через хэш например
естественно при каждом срабатывание спела нужно создавать новый таймер и добавлять событие на его истечение к триггеру
+ вешать на этот триггер данные через хэш
20
nvc123, я не нашёл статьи, где бы объяснялся таймер со стороны GUI, можешь скинуть, если знаешь о похожей. Или можешь мне помочь переделать эту способность, используя таймеры, я могу скинуть карту, хотя вряд ли согласишься, оставлю наверно этот вариант. Я просто не понимаю, почему нужно переделывать под таймер, если он и с вейтом работает нормально. Я его не использую в циклах, ошибки в 0.1-0.3 сек, на игру не повлияют. Что означает "продолжают работу после паузы"?
28
твои страхи по поводу изучения джасса бессмысленны
его структура не особо отличается от гуи
только в гуи картинки к словам приделаны а в джасс только слова
KaneThaumaturge, кастани спел и тутже поставь игру на паузу
через 10 секунд сними с паузы
использование таймера со стороны гуи:
создали таймер
добавили событие на его истечение к нужному триггеру
всё
всего 2 действия
статей по поводу гуи ты тут не найдёшь ибо делать подобное на гуи это мазохизм
нафига есть говно (юзать гуи) если можно быстро сделать на джасс и не парится
изучение джасса потребует меньше времени чем создание этого спела на гуи
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.