Добавлен Castiel
В общем искал я в инете и не нашел конкретно мой случай, может плохо искал..
Допустим есть глобалка/локалка не важно: GROUP={}
Далее я задаю на id юнита таблицу в таблице(наверное) GROUP[GetHandleId(unit)]={}
По нужде проверяю, если GROUP[GetHandleId(unit)][0]==nil значит создать группу GROUP[GetHandleId(unit)][0]=CreateGroup()
мне нужна еще группа по нужде и так же по нужде удалять таймером пример кода:
Допустим есть глобалка/локалка не важно: GROUP={}
Далее я задаю на id юнита таблицу в таблице(наверное) GROUP[GetHandleId(unit)]={}
По нужде проверяю, если GROUP[GetHandleId(unit)][0]==nil значит создать группу GROUP[GetHandleId(unit)][0]=CreateGroup()
мне нужна еще группа по нужде и так же по нужде удалять таймером пример кода:
local caster_uid=GetHandleId(caster)
local group_index
if GROUP[caster_uid]==nil then
GROUP[caster_uid]={}
end
if GROUP[caster_uid][0]==nil then
GROUP[caster_uid]={[0]=CreateGroup()}
group_index=0
else
GROUP[caster_uid]={[1]=CreateGroup()}
group_index=1
end
if BlzGroupGetSize(GROUP[caster_uid][group_index])>0 then
TimerStart(CreateTimer(),4,false,function()
DestroyGroup(GROUP[caster_uid][group_index])
GROUP[caster_uid][group_index]=nil
DestroyTimer(GetExpiredTimer())
end)
end
Но когда проверяю другим таймером то , чего то она странно себя ведет, одна группа перебивается другой...Одну из групп показывает как nil
Правильно ли я делаю или тут огромная ошибка ?
Правильно ли я делаю или тут огромная ошибка ?
Принятый ответ
Я полагаю, надо сравнивать вот так, ибо индексация идёт с 1.
GROUP[GetHandleId(unit)][1] == nil
Ну и нужно вот так присваивать.
GROUP[caster_uid][1] = CreateGroup()
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. PT153