Можно ли реализовать триггерно увеличение максимального запаса здоровья героя на определённое значение(не фиксированное) ?
Пока придумал, но не реализовал, вариант добавлять к макс. здоровью книгами Трактат жизни +1HP N-колличество штук.

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

Extremator, Интересно, любой последующий каст устанавливает заново значение максимального хп, то есть оно даже меньше может стать, мне нужно чтобы бонусы стакались.
Это для установки текущего бонуса ХП.
Если ты хочешь увеличивать значение, то нужно сделать получение текущего значения.
Т.е. выглядеть будет как с лечением:
Установить бонус ХП как (текущий бонус ХП + число)
Для получения надо либо напрямую считывать данные: циклом пройтись и за каждую абилку добавить её значение к переменной, тем самым нарастив её обратно (напротив с тем что при установке её значения она наоборот расходовалась). getHP
Либо просто хранить БД с юнитами, которым было изменено ХП (т.е. внести их в систему юнит-число)
И, получив число, изменить это число в нужную сторону и выполнить установку setHP
. . . 10 минут спустя ...
Вот как-то так - setHP_16k.w3x
Добавил триггер getHP для получения числа, как и описал выше.
И чуть переделал тест скиллом (даёт рандомно от +1 до +100).
По сути, может давать и отрицательные числа, но упрётся в 0
Для этого надо добавить работу с число -32768
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
2
13
5 лет назад
2
8gabriel8, в этом триггере я просто для примера выбрал соотношение макс хп к текущему хп, у героя выставлено изначально не фулл хп. 8gabriel8:
С циклами уже не припомню, будет ли работать один раз цикл от 1 до 0
с циклами работает норм, можно добавить от 1 до 10000 хп, 8gabriel8:
убери модель у книг на хп
Ставил в графе Файл модели - .mdl
В последнем действии не вижу смысла, оно уже не требуется
Кстати, верно, спасибо
Extremator, Интересно, любой последующий каст устанавливает заново значение максимального хп, то есть оно даже меньше может стать, мне нужно чтобы бонусы стакались. Проверь мой вариант он вроде рабочий и проще
Загруженные файлы
0
26
5 лет назад
0
Не знаю пределов работы цикла, но по идее можно книжкой на +1 всё сделать)
1
13
5 лет назад
1
8gabriel8, да можно я пробовал, но лагало в момент добавления всегда видимо из за количества
2
26
5 лет назад
Отредактирован Extremator
2
Extremator, Интересно, любой последующий каст устанавливает заново значение максимального хп, то есть оно даже меньше может стать, мне нужно чтобы бонусы стакались.
Это для установки текущего бонуса ХП.
Если ты хочешь увеличивать значение, то нужно сделать получение текущего значения.
Т.е. выглядеть будет как с лечением:
Установить бонус ХП как (текущий бонус ХП + число)
Для получения надо либо напрямую считывать данные: циклом пройтись и за каждую абилку добавить её значение к переменной, тем самым нарастив её обратно (напротив с тем что при установке её значения она наоборот расходовалась). getHP
Либо просто хранить БД с юнитами, которым было изменено ХП (т.е. внести их в систему юнит-число)
И, получив число, изменить это число в нужную сторону и выполнить установку setHP
. . . 10 минут спустя ...
Вот как-то так - setHP_16k.w3x
Добавил триггер getHP для получения числа, как и описал выше.
И чуть переделал тест скиллом (даёт рандомно от +1 до +100).
По сути, может давать и отрицательные числа, но упрётся в 0
Для этого надо добавить работу с число -32768
Загруженные файлы
Принятый ответ
2
21
5 лет назад
2
Даю еще один шанс выбрать лучший ответ.
0
13
5 лет назад
0
Raised, Свой нельзя выбирать?
0
21
5 лет назад
0
easypeasy, не в этом случае.
0
13
5 лет назад
0
Raised, почему это нет? поясни
0
21
5 лет назад
Отредактирован Raised
0
Твой метод утекает. Из-за бага в движке вара, усиливающие предметы не удаляются после использования, даже если ты напрямую запросишь их удаление.
Раз уж по какой-то причине решил использовать этот метод, то нужно хотя бы минимизировать количество итераций. Но метод все равно далеко не лучший.
Лучшее решение сделать то же самое с помощью предметной абилки на увеличение ХП, так можно избежать утечек. Но и тут количество итераций можно уменьшить, если разложить твое число на степени двойки.
Ну и самым лучшим/простым решением будет использовать новый патч, в котором есть возможность устанавливать эти показатели напрямую, без танцев с бубном.

Предложенный тобой вариант почти самый неэффективный (хуже может быть лишь добавление +100500 книг с прибавкой +1 к здоровью).
0
19
5 лет назад
0
2 коммент - лучший ответ, имхо, но со мной согласится большая часть ХГМ. После него вообще можно было закрывать вопрос.
0
13
5 лет назад
0
Raised,Ааа утечки, ну для конкретно моей карты это не будет критично, тк этот триггер будет срабатывать раз 30 за всё время
Я попробовал запускать этот триггер каждые 0.1 сек в течение минуты-две, фпс немного проседал в этот момент, после выключения триггера нормализовался и в оперативу добавилось где то 10 Мб. За это время герою дали несколько тысяч книг
KaneThaumaturge, это прерогатива Raised'а
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.