- Регистрация
- 30 Мар 2019
- Сообщения
- 18
- Лучшие ответы
- 0
- Репутация
- 2
Ниже код. Ситуация такая, я поочередно ввожу команды create и delete, объекты создаются, после удаляются.
Но спустя некоторое количество манипуляций, начинают пропадать разные созданные другие объекты на карте, либо вовсе не создается. Как повезет короче.
Но я все это делал без обнуления переменной в коде, просто дестроил и создавал новый объект. Я подумал возможно это из-за того что не было обнуления переменной.
Потому что перед созданием объекта переменная, если её выводить в printf как integer, то она равна 0. После создания объекта она равна 1. Но после DestroyDynamicObject она остается быть равна 1. Возможно, что эта проблема растет оттуда? Кто-то сталкивался с чем-то подобным?
Можете подсказать поподробнее как работает или, возможно, решить проблемку? Заранее спасибо.
Но спустя некоторое количество манипуляций, начинают пропадать разные созданные другие объекты на карте, либо вовсе не создается. Как повезет короче.
Но я все это делал без обнуления переменной в коде, просто дестроил и создавал новый объект. Я подумал возможно это из-за того что не было обнуления переменной.
Потому что перед созданием объекта переменная, если её выводить в printf как integer, то она равна 0. После создания объекта она равна 1. Но после DestroyDynamicObject она остается быть равна 1. Возможно, что эта проблема растет оттуда? Кто-то сталкивался с чем-то подобным?
Можете подсказать поподробнее как работает или, возможно, решить проблемку? Заранее спасибо.
PHP:
new testobj[3];
CMD:create(playerid)
{
switch(random(3))
{
case 0: testobj[0] = CreateDynamicObject(1000, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1, -1, -1);
case 1: testobj[1] = CreateDynamicObject(2000, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1, -1, -1);
case 2: testobj[2] = CreateDynamicObject(3000, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, -1, -1, -1);
}
return SCM(playerid, 0xFFFFFFFF, "Объект создан!");
}
CMD:delete(playerid)
{
for(new i = 0; i < 3; i++)
{
if(IsValidDynamicObject(testobj[i]))
{
DestroyDynamicObject(testobj[i]);
testobj[i] = 0; //ВОПРОС ТУТ. Нужно ли обнулять переменную? Просто перед созданием она 0, после создания 1, а после DestroyObject все равно остается 1
}
}
return SCM(playerid, 0xFFFFFFFF, "Объекты удалены!");
}