Герой с активным спеллом.
Если он добивает юнита этим спеллом, то весь урон, наносимый героем, становится сильнее.
Усиление урона я триггерно сделаю, это не проблема.
Вопрос в другом, как посоветуете реализовать то, от чего отсчитывать?
Можно дать юниту маркерную абилу-пустышку на 1000 уровней (прелоадить маркер где-нибудь на карте) и при убиении этим юнитом тем самым спеллом врага повышать ему лвл этого маркера. Это изи, но тупо, т. к. долго грузится в РО и будет понижать скорость загрузки карты. Ну и плюс лимит 999 повышений, хотя его и хватит в 95% случаев.
Есть другие идеи?

avuremybe, это каким ты боком не получишь индекс от юнита
проще некуда
чтобы получить нужный индекс просто перечисляем весь массив и ищем нужного юнита типо так
globals
int Count
int array SpellUP
unit array UN
endglobals
int i = 0
while(i <= Count){
if UN[i] == Нужный юнит {
SpellUP[i]++
наши действие
}
i++
}
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
21
Тем временем мелькнула еще идея редактировать какой-то параметр, который у юнита никогда не будет значимым (втч можно рассмотреть то, что редактируется и считывается онли через мемхак), и считать через него, но нет, тоже в отстойник, т. к. даже если и удастся подобрать такой параметр, проблема та же самая, что и с custom value - это невозможно будет использовать для 2 разных спеллов у одного героя, а один герой может собрать разные паки спеллов, а мне решение на 1 спелл большого смысла не имеет, мне глобальное решение нужно
//////////
Ага, ну да, вроде дошло и практически понимаю, спс.
Только последнее уточнение: использовать много глобалок в карте не грех? Просто стремлюсь не создавать их без особой нужды, но для нескольких спеллов офк можно.
26
ClotPh, с утра куда легче думается (:
Будут вопросы - не стесняйся.
Загруженные файлы
21
^ Пока еще возникла идея использовать не один маркер на 1000 лвлов, а три с 11 лвлами - типа означают количество единиц, десятков и сотен усилений минус один. Ну и перманентно добавлять их на всякий случай, когда герой учит способность.
Вопрос, что лучше - тратить на спелл 3 глобалки или 3 абилы в РО, думаю, значительной разницы нет.
Недостаток варианта с тремя маркерами - есть лимит, преимущество - чуть легче для понимания (во всяком случае, лично моего, уж с обсчётом итогового усилка из единиц, десятков и сотен справиться нетрудно).
Ладно, все, уже не так важно, сделаю или так, или так, как захочется.
Можно закрывать.
26
Вопрос, что лучше - тратить на спелл 3 глобалки или 3 абилы в РО, думаю, значительной разницы нет.
То есть как разницы нет? Это вообще не сравнимо!
Но если у тебя карта не нагружена разными системами и триггерами - то на глаз ты, конечно же, разницы не заметишь...
21
avuremybe, ну нагружена, и очень сильно, но... количество способностей в РО должно влиять на игровую производительность? Система с 1 маркером мне не нравится, потому что с ней увеличится время загрузки карты (при прелоаде этих маркеров). А вот с тремя практически незаметно будет уже. Одно дело три способности с 11 уровнями, другое одна с аж 1000.
Ну а дальнейшее понижение производительности РО уж переживу, там уже никуда не деться, только если прямо slk редактировать.
26
ClotPh, они у тебя, вообще-то, память занимают. И я говорю про игровой процесс, а не РО.
Переменная типа integer занимает 4 байта. А способность, с кучей параметров да еще и несколькими уровнями, занимает больше, чем все твои интегеры за пол часа игры.
21
avuremybe, ок, понятно, ну вроде там уже ясно все с глобалками, если что отпишу
просто много глобалок мне редактировать тоже не оч удобно + их нужно будет из тестовой карты героя переносить в основную, да, абилы из РО тоже, но там это уже все "автоматически" делается... ну ладно, короче, это все не настолько неприятно, буду с глобалками делать
26
ClotPh, так ведь есть галочка, чтобы глобалки тоже создавались автоматом при копировании триггера.
28
А просто через хэш таблицу сохранять на юнита значение не вариант?
21
16GB, ну а как его потом считывать, если локалка?
Я вот так, например, понимаю: ну, допустим, юнит изучит спелл 1 уровня, я запускаю периодический таймер, записываю в хэш соответствующую юниту локалку с начальным значением в 0, таймер обновляется, локалка перезаписывается.
Хорошо, допустим, как-то записать ее увеличение я могу: например, при добивании юнита спеллом создавать какое-то условие для добившего (да хоть тот же маркер ОДНОуровневый ему дать или убрать, лол), таймер это условие проверяет и, если ок, увеличивает, сохраняет, удаляет/добавляет маркер обратно и дальше уже увеличенную считывает.
А как это значение потом доставать при нанесении урона в другой функции?
Пока склоняюсь к тому, что оптимальный вариант - с тремя глобалками, хотя очень хочется обойтись и без глобалок, и даже без дополнительных способностей...
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.