А такая ошибка, которую ты привёл в коде ниже у тебя не выскакивает?
Код:
Creature (guidlow %d, entry %d) not created. бла-бла-бла...
Вполне может. И это будет обозначать, что кричер не добавлен, хотя, по логике вещей, запись в таблицу creature_transport всё-равно должна проходить, т.к. проверка на валидность координат стоит выше...
P.S:
sLog.outErrorDb - выводит данные об в лог DBError. Пример:
Код:
sLog.outErrorDb("CreatureEventAI: Event %u Action %u uses non-existent SpellID %u.", i, j+1, action.cast.spellId);
WorldDatabase.PExecuteLog выводит данные в файл SQLLog:
Код:
WorldDatabase.PExecuteLog("DELETE FROM `creature_ai_scripts` WHERE `id`=%u", i);
Я бы рекомендовал просто ниже добавления в записи о кричере в БД из патча добавить строку:
Код:
WorldDatabase.PExecuteLog("INSERT INTO creature_transport (entry, npc_entry, TransOffsetX, TransOffsetY, TransOffsetZ, TransOffsetO) values (%u, %u, %f, %f, %f, %f)", chr->GetTransport()->GetEntry(), id, chr->GetTransOffsetX(), chr->GetTransOffsetY(), chr->GetTransOffsetZ(), chr->GetTransOffsetO());
Если скуль-лог будет пустой, то мы просто даже не попадаем в нужный нам if:
if(chr->GetTransport())