Сделал наконец то систему точности (набросок).
Идея состоит в том, что героям танкам дается со старта игры 60% штрафа на точность, ловкачам- 45%.
Штраф этот можно будет уменьшать с помощью вещей и ловкости героя (каждые +3 ловкости = +1% к точности).
Всё вроде бы ничего но тут насчитал вот такие вот проблемы:
(у меня 100 уровней умения и каждый уровень соответствует %-ту промаха),
1. После того как выбросил предмет который давал бонус к ловкости описание в статусе дебафа не изменилось, но когда берешь следующий предмет или тот же с бонусом на ловкость меняется, а когда выбрасываешь на землю или передаешь другому герою - нет;
2. я пока не удалял тени с даммиков чтобы понять когда они не удаляются. я создал под каждый триггер свою переменную на дамми и героя чтобы если что то происходило одновременно то не было ошибок с одной переменной которую используют два героя.
Итак,
I - когда я быстро поднимаю и ложу предмет на землю (специально тестил) дамми не удаляются, может нужно поставить запрет на поднятие сброшенного предмета секунды так на 4..но как..
II - когда передаю от героя к герою предмет вроде та же фишка
3. Если у горного короля хоть как и у всех на этой карте с этой системой отображается промах только когда берешь предмет, а у Смотрящей в Ночь с такими же триггерами вообще ничего менятся не хочет.
4. Как правильно описать код спелла чтобы он корректно отображался в статусе персонажа —бафы\дебафы где находятся еще..— (пример: замедляет на Ampl:AO1 но это на один уровень описание, а мне нужно чтобы описание менялось в соответствии с сменой уровня умения соответственно для правдивых данных).
5. Бывает что при передаче предмета другому персонажу и или быстрое выкидывание и поднимание предмета производит к тому что статус вообще пропадает.
Может еще какие то косячки тут есть но я по крайней мере не нашел, это большее что в глаз бросалось.
Оформлял тему в заклинания на заказ, всё правильно оформил но удалили её оттуда не знаю почему , может быть потому что не спелл а система а это не подходит там в разделе такое или что..вообщем прошу помощи хоть тут то мучаюсь

Принятый ответ

Поскольку его не пугает наличие большого влияния промахов на геймплей - скорее всего он делает рпг. Имхо в рпг всегда клево смотрятся тексттаги полученного урона, для создания которых необходимы триггеры на отлов получения урона. А отлавливаемый урон - можно и прохилить.
Для прохила(и вообще всех манипуляций с задержкой в 0.00 сек) лично я юзаю такие костыли:
Либа здесь только для доп табуляции. Я за чистый жасс + дефайны.
library ZeroTimeEvent

    globals
        constant integer ZTEArraySize = 64//Even 32 is alot, 64 is too much! Exactly what I need!
        timer Zero//Used for 0. sec uses
        integer ZTECurrent = 0
        unit array ZTEUnits[ZTEArraySize]
        integer array ZTEIntegers[ZTEArraySize]
        real array ZTEReals[ZTEArraySize]
        trigger array ZTETriggers[ZTEArraySize]
    endglobals
    
    function ZeroTimeEvent takes nothing returns nothing
            loop
                set  ZTECurrent = ZTECurrent - 1
                call TriggerExecute( ZTETriggers[ZTECurrent] )
                exitwhen ZTECurrent < 1
            endloop
    endfunction
    
    #define ZTEAddUnit(u) = {
        set  ZTEUnits[ZTECurrent] = u
    }
    
    #define ZTEAddInteger(i) = {
        set  ZTEIntegers[ZTECurrent] = i
    }
    
    #define ZTEAddReal(r) = {
        set  ZTEReals[ZTECurrent] = r
    }
    
    #define ConfirmZTE(trig) = {
        set  ZTETriggers[ZTECurrent] = trig
        set  ZTECurrent = ZTECurrent + 1
        call TimerStart( Zero, ZeroTime, false, function ZeroTimeEvent )
    }
    
    
    
endlibrary
Пример использования
#define UnitRemoveForceAttack(u) = {
    call UnitAddAbility( u, 'Abun' )
    call UnitRemoveAbility( u, 'Abun' )
         ZTEAddUnit(u)
         ConfirmZTE(CheckIfUnitHasA002)
}
Минус такой системы в необходимости создавать триггер для каждого блока кода, т.к. массивы блоков кода запрещены
`
ОЖИДАНИЕ РЕКЛАМЫ...
4
20
7 лет назад
4
Ты просишь юзеров исправить косяки твоей системы, но ты просишь без уважения. Ты даже не соблюдаешь правила ксгм.
Оформи тему нормально. Ты даже не описал принципов работы системы. Например в пункте 1 ты говоришь про дебаффы. Какие дебаффы могут относиться к промахам?
Вы знаете о чем здесь говорится? Я — нет.
2
20
7 лет назад
2
Diaboliko:
у андедовский баншей есть дебафф проклятие, который дает шанс промахнуться при физической атаке. еще схожий эффект есть у спелла панды, когда он кидается алкашкой
видно, вся система стоит на применении этого дебаффа к героям
0
20
7 лет назад
Отредактирован Diaboliko
0
Поскольку его не пугает наличие большого влияния промахов на геймплей - скорее всего он делает рпг. Имхо в рпг всегда клево смотрятся тексттаги полученного урона, для создания которых необходимы триггеры на отлов получения урона. А отлавливаемый урон - можно и прохилить.
Для прохила(и вообще всех манипуляций с задержкой в 0.00 сек) лично я юзаю такие костыли:
Либа здесь только для доп табуляции. Я за чистый жасс + дефайны.
library ZeroTimeEvent

    globals
        constant integer ZTEArraySize = 64//Even 32 is alot, 64 is too much! Exactly what I need!
        timer Zero//Used for 0. sec uses
        integer ZTECurrent = 0
        unit array ZTEUnits[ZTEArraySize]
        integer array ZTEIntegers[ZTEArraySize]
        real array ZTEReals[ZTEArraySize]
        trigger array ZTETriggers[ZTEArraySize]
    endglobals
    
    function ZeroTimeEvent takes nothing returns nothing
            loop
                set  ZTECurrent = ZTECurrent - 1
                call TriggerExecute( ZTETriggers[ZTECurrent] )
                exitwhen ZTECurrent < 1
            endloop
    endfunction
    
    #define ZTEAddUnit(u) = {
        set  ZTEUnits[ZTECurrent] = u
    }
    
    #define ZTEAddInteger(i) = {
        set  ZTEIntegers[ZTECurrent] = i
    }
    
    #define ZTEAddReal(r) = {
        set  ZTEReals[ZTECurrent] = r
    }
    
    #define ConfirmZTE(trig) = {
        set  ZTETriggers[ZTECurrent] = trig
        set  ZTECurrent = ZTECurrent + 1
        call TimerStart( Zero, ZeroTime, false, function ZeroTimeEvent )
    }
    
    
    
endlibrary
Пример использования
#define UnitRemoveForceAttack(u) = {
    call UnitAddAbility( u, 'Abun' )
    call UnitRemoveAbility( u, 'Abun' )
         ZTEAddUnit(u)
         ConfirmZTE(CheckIfUnitHasA002)
}
Минус такой системы в необходимости создавать триггер для каждого блока кода, т.к. массивы блоков кода запрещены
Принятый ответ
0
20
7 лет назад
0
Diaboliko:
походу там все на гуях =\
0
7
7 лет назад
0
Diaboliko:
Ты просишь юзеров исправить косяки твоей системы, но ты просишь без уважения. Ты даже не соблюдаешь правила ксгм.
Оформи тему нормально. Ты даже не описал принципов работы системы. Например в пункте 1 ты говоришь про дебаффы. Какие дебаффы могут относиться к промахам?
Вы знаете о чем здесь говорится? Я — нет.
Здравствуй,
"Ты просишь юзеров исправить косяки твоей системы"
  1. Я не прошу других сделать мне полностью наработку и скинуть, я хочу узнать как и что я сделал не так в триггерах, карта же прилагается, хочу понять свои ошибки.
  2. "Оформи тему нормально"
Да некоторые, я бы даже сказал большинство пишут сразу свой вопрос и все, и их за это никто не ругал.
3."Например в пункте 1 ты говоришь про дебаффы. Какие дебаффы могут относиться к промахам?"
Дебаф на основе проклятия. Ложится на себя с помощью даммика, я для кого карту скинул.
ssbbssc:
у андедовский баншей есть дебафф проклятие
Дак я на ней и делал,сколько боков и вылезло, вот пытаюсь решить проблему
Diaboliko:
Поскольку его не пугает наличие большого влияния промахов на геймплей - скорее всего он делает рпг
ну как бы не рпг, если стартовый промах 60%, а с базовой ловкостью уже 52, немного подкопив ловки+базовый прирост и уже 30%.. т.е 25-30% для меня это норма, нет ни единого человека как по мне как робин гуд всегда точно попадал в цель и рассекал стрелу другой стрелой.
" Имхо в рпг всегда клево смотрятся тексттаги полученного урона, для создания которых необходимы триггеры на отлов получения урона. А отлавливаемый урон - можно и прохилить"
Да там будет не триггерный спелл, триггерно будет он только налаживатся дамми, а так это на основе стандартного проклятия нежити .
Diaboliko:
да я как бы джасс не знаю (
0
20
7 лет назад
0
твоя система плоха тем, что щиты от магии и амулеты негейшена будут постоянно мешать работе системы
ищи готовые системы урона и используй их
0
7
7 лет назад
0
ssbbssc:
твоя система плоха тем, что щиты от магии и амулеты негейшена будут постоянно мешать работе системы
ищи готовые системы урона и используй их
Хм, а вот за это пока не задумывался, пожалуй вы правы, наверное стоит все таки найти другую систему, вот роюсь на хайве но ничего пока найти не могу..(
0
20
7 лет назад
0
Вообще есть тема с 100% уворотом и использованием скилла крита/баша/аналогичных для игнора мисов(там соответствующий пунктик есть)
0
5
7 лет назад
0
Diaboliko:
Вообще есть тема с 100% уворотом и использованием скилла крита/баша/аналогичных для игнора мисов(там соответствующий пунктик есть)
Кстати да тоже идея, всем юнитам дать спелл уклонения на 100% шанса, а так же крит с % шансом, там уже сам смотри минимальное значение и максимальное, т.е. если базовое минимальное допустимое 50% то 1 уровень способности будет 50%, 2 уровень 51% и так далее) весело короче
Плюс что не будет высвечиваться иконка дебаффа в статусе)
Чтобы оставить комментарий, пожалуйста, войдите на сайт.