Герой с активным спеллом.
Если он добивает юнита этим спеллом, то весь урон, наносимый героем, становится сильнее.
Усиление урона я триггерно сделаю, это не проблема.
Вопрос в другом, как посоветуете реализовать то, от чего отсчитывать?
Можно дать юниту маркерную абилу-пустышку на 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++
}
проще некуда
чтобы получить нужный индекс просто перечисляем весь массив и ищем нужного юнита типо так
globals
int Count
int array SpellUP
unit array UN
endglobals
int i = 0
while(i <= Count){
if UN[i] == Нужный юнит {
SpellUP[i]++
наши действие
}
i++
}
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован nvc123
перебор массива циклом нафига?
способов атача существует дофига и все они сделаны до вас
берёте любой и юзаете
индекс юнита можно получить либо через хэндл либо через юзердату
avuremybe:
оно компилируется без udg_
udg_ это приставка только для редактора переменных
читай статьи ну или открой карту mpq архиватором и вытащи j файл если не веришь
в то время как мой код делает лишь 1
это совершенно разные подходы же
и чем это он блин читабельнее?
своей тупостью?
вообще за поиск индекса перебором расстреливать надо
Отредактирован nvc123
объекты в данном примере лишь для обеспечения простоты использования и расширяемости (если надо хранить не 1 число а несколько)
короче инкапсуляция
так то это всё можно сделать в 1 строчку
и в случае расширения хранимых данных придётся переписывать код во всех местах где эта конструкция используется
а с циклами я вообще не понимаю
их писать дольше чем атач
+ с ними дофига проблем потом
и эта логика "когда будет плохо тогда перепишу"
нафига с самого начала делать неправильно?
+ придётся лазить повсюду в поисках этих циклов
или вы хардкорные мазохисты?
так может лучше найдёте себе девушку садистку?
хоть какой то толк от вашего мазохизма будет
Отредактирован NekoriDes
Clamp, if (myInt[GetHandleId(GetTriggerUnit())-0x100000])?
Отредактирован NekoriDes
Отредактирован nvc123
которая позволяет использовать уже готовые решения ничего не зная о их реализации
и то что автор не программист не спасёт его от необходимости переписывать кучу кода при каждом изменении
Clamp, мой пример вверху
их там целых 2 штуки
и чем тебе хештейблы и юзердата не нравятся?