Всем доброго времени суток.
Версия Warcraft 3 1.26a. После загрузки сохранённой игры пропадают эффекты молний. А при попытке их удалить/переместить игра вылетает с Fatall Error. Как обычно обходится эта проблема?
В тестовой карте через 1 сек создаётся молния. Напечатав '1' она удаляется.
Принятый ответ
Может быть молнии не сохраняются в игре, а при загрузке их уже нет? Проверил вашу карту. Информация в переменных не сохраняется, даже в хэше. Если это так, то нужно сохранять их как-то по-другому. Там координаты, цветПосле загрузки сохранённой игры пропадают эффекты молний.
По существу переменная сохраняет молнию, даже, если она удалена или уже не существует. В ней остается информация хэндла. Если двигать или удалять несуществующую, то приводит к фаталу. А проверить существует ли молния или нет - никак. Даже просто достать информацию цвета молнии ARGB приводит к этому.
Я в своей карте после удаления обнуляю переменную
Я в своей карте после удаления обнуляю переменную
call DestroyLightning(udg_lightning_1[i])
set udg_lightning_1[i] = null
if GetHandleId(udg_lightning_1[i]) > 0 then
call DestroyLightning(udg_lightning_1[i])
set udg_lightning_1[i] = null
endif
если только по хэндлу проверять или молния!=null, то тогда нужно всегда нулить переменную. Тк переменная сохраняет хэндл, даже, если она удалена или не существует. При сохранении игры удаляешь все, а при загрузке пересоздаешь
Драколич говорил, что каждая молния создается для игрока локально.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован MpW
Я в своей карте после удаления обнуляю переменную
Спасибо. Попробовал сделать почти как ты сказал. Только не стал отслеживать событие загрузка игры.