• Страница 1 из 1
  • 1
Архив - только для чтения
Модератор форума: andycrowz  
При удалении объект опять появляется
Ranege
Чемпион
При начале гейм события в цикле спаунятся объекты
Код
GameObject* object = new GameObject;
       uint32 guidLow = sObjectMgr->GenerateLowGuid(HIGHGUID_GAMEOBJECT);
       const GameObjectTemplate* objectInfo = sObjectMgr->GetGameObjectTemplate(187578);
        
       if (object->Create(guidLow, objectInfo->entry, map, PHASEMASK_NORMAL, position_x[povtor[i]], position_y[povtor[i]], position_z[povtor[i]], 0, 0.0f, 0.0f, 0.0f, 0.0f, 0, GO_STATE_READY))
        object->SaveToDB(map->GetId(), (1 << map->GetSpawnMode()), PHASEMASK_NORMAL);
       else
        delete object;
       if (object->LoadGameObjectFromDB(guidLow, map))
         sObjectMgr->AddGameobjectToGrid(guidLow, sObjectMgr->GetGOData(guidLow));

При нажатии на объект он удаляется

Код
object->SetRespawnTime(0);                    // not save respawn time
         object->Delete();
         object->DeleteFromDB();


После удаление объект исчезает из игрового мира. Крайне редко бывает так, что объект снова появляется в игровом мире ( добавляется в грид?), только при нажатии ничего не происходит, как бы его не существует, но видимость есть.

Такое же я наблюдал если запустить 2 ивента и к каждому привязать из таблицы гейм события объектов один и тот же гуид объекта и в процессе ивента удалить его при помощи .gob del, он удаляется, затем снова появляется( но его уже нет, не реагирует на комманды .gob near, .gob target и другие).

С чем это может быть связано и как это можно исправить( чтоб при удалении он снова не появлялся) ?
Сообщение # 1 написано 31.01.2015 в 18:31
  • Страница 1 из 1
  • 1
Поиск: