я вот делаю обнуление, но почему то всё равно начинаются жуткие лаги, хотя я обнулил сразу же после юзания
Обнуление тут не при чем. Лаги бывают изза:
Большого количества неудаленных обьектов, накопившехся в процессе игры - точки, группы, спецэффекты и тд. Или одновременное их создание в большом количестве.
Большого количества событий с малым периодом, сделаных криво. Каждые 0.01 сек. блаблабла. Выход - юзаем таймеры.
Нестандартные заклинания на основе Волны Силы, особенно с циклом. Пробуем сделать Волну Силы в 6 сторон одновременно и заметим, что это все пролагивает. Есть еще много чего, но это главное
у меня голая карта, делаю наработку, каждые 0.05 сек двигать 40 юнитов, с начала всё тип-топ, но через пол минуты начинаются лаги, Я УДАЛИЛ ВСЕ ТОЧКИ, НЕ СОЗДАВАЛ ЭФФЕКТОВ.
Вот мой пример при котором ничего не глючит. Здесь всех юнитов с карты каждые 0.5 сек двигает в любую точку на карте
Code
function Moving takes nothing returns nothing local group g=CreateGroup() local timer t=CreateTimer() local location loc=Location(GetRandomReal(-1000,1000),GetRandomReal(-1000,1000)) call GroupEnumUnitsInRect(g,bj_mapInitialPlayableArea,null) call TimerStart(t,0.5,true,function MoveGroup(g,loc)) endfunction function MoveGroup takes group g, location loc returns nothing local real x=GetLocationX(loc) local real y=GetLocationY(loc) call RemoveLocation(loc) set loc=null call ForGroup(g,function SetUnitX(u,x)) call ForGroup(g,function SetUnitY(u,y)) call DestroyGroup(g) set g=null endfunction