Вопрос ради облегчения раздумий. Идея такая: герою с атрибутом силы я хочу дать способность, которая бы пассивно ему давала бонус в виде части очков разума.
Я попытался реализовать это следующим образом (не повторяйте этого дома, умоляю) :
События - каждую секунду игрового времени
Действия:
Установить переменную "сила" = сила героя
Установить переменную "разум" = разум героя
Если/То/Иначе
  • Если уровень способности героя = 1, то:
  • Герой - Установить значение силы героя = ("разум"/3)+"сила"
  • Иначе: и так далее...
Результат немного шокировал, но был очевиден: ежесекундно с получения способности, герой получал сумму из трети своего разума и нового показателя силы. Я понимаю, где допустил ошибку, и прошу помощи в оптимизации сего опуса, а то сам я буду долго к этому идти. Пожалуйста!

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

Нужна переменная "Bonus"
Соб: изучает способность
Д: bonus = int / 3
герой установить силу равно bonus
Запустить триггер 2
Соб2: периодически
Д: герой установить силу равно текущая сила - bonus
Bonus = int / 3
герой установить силу равно текущая сила + bonus
По идее должно работать
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
29
1 месяц назад
Отредактирован nazarpunk
0
Нужно считать не текущий разум, а разум без добавок. Добавки считать отдельно.
Ответы (6)
0
3
1 месяц назад
0
nazarpunk,
Разум тут как раз не меняется, менялась сила героя, причём бесконечно получала треть от разума. Этот бонус не зелёнка, а белый.
Я колеблюсь между подсчётом только белых показателей, и учётом ещё и зелёнки. То есть, тут в принципе нужна проверка текущего разума, с учётом шмоток, но получается так, что он ежесекундно себе начисляет атрибуты
0
29
1 месяц назад
0
TailsFox1, коль оно белое, то нужно хранить оригинальное количество разума отдельно.
1
37
1 месяц назад
1
TailsFox1, так ты меняешь ту же переменную, от которой берешь значение. Она и будет преобразовываться каждую секунду (я бы не делал секунду, хотябы 0.03 секунды)
Надо хранить где-то оригинальную величину. Или делать клона героя с теми же абилками и предметами вне игровой зоны, или делать силу виртуальной, меняя реальную. Или добавлять и вычитать при получении/утере абилки
0
3
1 месяц назад
0
ScorpioT1000, уф, ну и задал же я себе задачку. Не спорю, что допустил ошибку, когда поместил всё в один триггер: и проверку атрибутов, и их улучшение
0
27
1 месяц назад
0
TailsFox1, просто в юнита сохрани дополнительную силу, что он получал в последний раз. При следующей проверке удаляешь полученную силу и делаешь перерасчёт
0
37
1 месяц назад
Отредактирован ScorpioT1000
0
rsfghd, будет то же самое, только на один тик таймера дольше) нужно убирать зависимость из функции от себя самой
0
3
1 месяц назад
0
А что, если моя ошибка у том, что я вписал это в переменную?
1
13
1 месяц назад
1
Нужна переменная "Bonus"
Соб: изучает способность
Д: bonus = int / 3
герой установить силу равно bonus
Запустить триггер 2
Соб2: периодически
Д: герой установить силу равно текущая сила - bonus
Bonus = int / 3
герой установить силу равно текущая сила + bonus
По идее должно работать
Принятый ответ
Ответы (7)
0
3
1 месяц назад
0
Borodach, мне кажется, результат будет тот же и оно будет в такой прогрессии накапливать атрибут (фактически, те же сани, только в профиль). Тут либо делать абилку активной на основе "канала", что нудно и не вяжется с идеей (потому что нужно, чтобы атрибут получал бонусы от другого с учётом всех плюсиков и отнимал соответственно), либо не выдумывать ничего столь сложного и просто забить
2
13
1 месяц назад
Отредактирован Borodach
2
TailsFox1, Проверил, работает. Только первый триггер еще нужно отключать
0
3
1 месяц назад
0
Borodach, а можно карту-пример?
0
3
1 месяц назад
0
Ах да, ещё мелочь заметил. В первом триггере написано "запуск триггера 2", но зачем, если до момента получения способности, переменная не равна ничему?
0
13
1 месяц назад
Отредактирован Borodach
0
TailsFox1, Просто так "каноничнее" )). По сути, не работает таймер без нужды (по идее не должен)
0
3
1 месяц назад
0
Borodach,
Я проверил триггер. Да, безусловно, он работает, но я добавил пару изменений с учётом уровней способности. Да, герой получает силу за разум, но вот только получение предметов на разум не меняет ровным счётом ничего
0
3
1 месяц назад
0
Пардон, я болван и совершенно не умею читать. Спасибо, всё работает!
Чтобы оставить комментарий, пожалуйста, войдите на сайт.