|
Архив - только для чтения |
Модератор форума: andycrowz |
Форум Корзина форума Корзина При удалении объект опять появляется |
При удалении объект опять появляется |
При начале гейм события в цикле спаунятся объекты
Код 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
|
| |||
| |||