Один человек помог сделать триггер, но он не в сети уже 2 месяца, а мне нужно задать по этому поводу вопрос.
Дело в том, что я не понимаю, как работает этот триггер.
Не могли бы вы распотрошить его и пояснить конкретно по каждому пункту, что че делает?
Он вроде как просто "чистит карту" от валяющихся предметов. Но не тупо чекает каждые условные 5 минут и удаляет, а именно ведёт свою систему срока годности.

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

чекает каждые условные 5 минут
Ну чекает каждую секунду)

Есть Object Counter, который увеличивается каждый раз, когда появляется новый предмет. В предмет записывается значение ObjectCounter, то есть id предмета. По этому id в массив Life записывается срок годности юнита. Каждую секунду этот срок годности уменьшается. Если он 0, предмет удаляется.

Вот только если Object Counter достигнет значение 8192, всё перестанет работать. С учётом того, что id удалённых предметов не вводится вновь, это наступит быстро.

Сделал такую же систему, но без недостатка выше.
Обновил карту, теперь итемы с 0 жизнями удаляются сразу.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
28
3 года назад
Отредактирован PT153
2
чекает каждые условные 5 минут
Ну чекает каждую секунду)

Есть Object Counter, который увеличивается каждый раз, когда появляется новый предмет. В предмет записывается значение ObjectCounter, то есть id предмета. По этому id в массив Life записывается срок годности юнита. Каждую секунду этот срок годности уменьшается. Если он 0, предмет удаляется.

Вот только если Object Counter достигнет значение 8192, всё перестанет работать. С учётом того, что id удалённых предметов не вводится вновь, это наступит быстро.

Сделал такую же систему, но без недостатка выше.
Обновил карту, теперь итемы с 0 жизнями удаляются сразу.
Загруженные файлы
Принятый ответ
0
9
3 года назад
Отредактирован TechnoViking
0
PT153:
чекает каждые условные 5 минут
Ну чекает каждую секунду)

Есть Object Counter, который увеличивается каждый раз, когда появляется новый предмет. В предмет записывается значение ObjectCounter, то есть id предмета. По этому id в массив Life записывается срок годности юнита. Каждую секунду этот срок годности уменьшается. Если он 0, предмет удаляется.

Вот только если Object Counter достигнет значение 8192, всё перестанет работать. С учётом того, что id удалённых предметов не вводится вновь, это наступит быстро.

Сделал такую же систему, но без недостатка выше.
Обновил карту, теперь итемы с 0 жизнями удаляются сразу.
• В триггере "Clean" ты пишешь "Если у предмета 0 жизней, его нужно удалить, потому что такие предметы всё равно подобрать нельзя". А почему его подобрать нельзя? Это как раз вот та особенность смерти предметов, про которую я недавно спрашивал? Типа что они как руны уменьшаются просто, но не уходят в небытие?
• Что такое особая цена? Если вот вообще отвлечённо, не подвязывая это к триггеру нашему. Просто ты вроде как там написал, что это "жизнь предмета", но в то же время существует переменная "ItemLife". И мне интересно, почему так. Что такое "особая цена" вообще, в принципе? И что она есть конкретно в этом триггере, если есть переменная "ItemLife"? И откуда вообще берётся значение особой цены? Каждый новый предмет получает 0 что ли в это значение?
• Я так понял, эта система контрит то, что предметы вызывают утечки, когда их разрушаешь, ибо ты удаляешь тут нулежизневые предметы (а это ведь как раз те, которые уже убили). Вопрос - а работает ли это на руны? Могу ли я теперь спокойно юзать руны, не боясь утечек?
• Теперь насчёт "пропустить оставшиеся действия", которых ты добавил в триггер. Ты видел вот этот вопрос? Там почти все сказали, что я делаю не то. А что думаешь ТЫ по этому вопросу? Нужно ли мне такие скипы вставлять?
___
Очень понятно сделал этот триггер, прям от души, тебе бы учебники по редактору писать.
2
28
3 года назад
2
А почему его подобрать нельзя?
Потому что предмет умер, даже если после этого поставить жизнь больше 0, он не "оживёт".
Что такое особая цена?
Можно скрин, о чём речь? Потому что я не помню никакой особой цены.
Вопрос - а работает ли это на руны?
Ну а руны - это что? Это такие же предметы. После использования книги или руны у них становится 0 жизней. Так что работает и на них.
Теперь насчёт "пропустить оставшиеся действия", которых ты добавил в триггер.
Ну там верно заметили.
GetLocalPlayer:
Тебе это мало о чем скажет, но например такая конструкция не завершит работу всего триггера, а лишь цикла, вернее, текущей итерации цикла.
Этого я добиваюсь. Я скипаю дальнейшие действия в цикле для текущего предмета.
0
9
3 года назад
0
PT153:
Frostfall:
Что такое особая цена?
))
Можно скрин, о чём речь? Потому что я не помню никакой особой цены.
Особая цена - Custom Value. Ты её называл в триггере UD - User Data.
Теперь насчёт "пропустить оставшиеся действия", которых ты добавил в триггер.
Ну там верно заметили.
GetLocalPlayer:
Тебе это мало о чем скажет, но например такая конструкция не завершит работу всего триггера, а лишь цикла, вернее, текущей итерации цикла.
Этого я добиваюсь. Я скипаю дальнейшие действия в цикле для текущего предмета.
А, внатуре, да-да-да, просто чёт вылетело из головы, что это всё один большой цикл, - выборка всех предметов и всякие приколы с ними.
Загруженные файлы
1
28
3 года назад
1
Что такое особая цена?
Это просто число, которое есть у каждого предмета. Ни на что не влияет. Можно использовать для своих нужд. По умолчанию это значение 0. В моём случае это жизнь предмета, так как туда записывается значение его жизни.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.