PDA

Просмотр полной версии : ScriptDev2 Работа с ГО.


xmolex
03.08.2010, 18:22
Подскажите, пожалуйста, как можно добавить сундук (ГО). Функций для суммона ГО я не нашел. Может кто подскажет в какую сторону копать? Или может можно фазу сменить как-то?
Буду признателен за любую информацию.

virusav
03.08.2010, 18:37
Видимо:
bool GameObject::Create(uint32 guidlow, uint32 name_id, Map *map, uint32 phaseMask, float x, float y, float z, float ang, float rotation0, float rotation1, float rotation2, float rotation3, uint32 animprogress, GOState go_state)

rsa
03.08.2010, 18:40
Нет, не выйдет. Можно через SummonGameObject от Карателя/zergtmn но это кастомпатч и за него здесь сильно ворчат...

xmolex
03.08.2010, 18:44
Нет, не выйдет. Можно через SummonGameObject от Карателя/zergtmn но это кастомпатч и за него здесь сильно ворчат...
Тоесть на текущий момент этого сделать нельзя, без изменений в ядре?

KiriX
03.08.2010, 18:48
Сейчас подобные вещи реализуются отрицательным временем респа ГО. ГО стоит в мире всегда, но с отрицательным временем респа. После опред дейтсвий с НПС ГО проявляется. Функцию не помню.

rsa
03.08.2010, 19:15
Тоесть на текущий момент этого сделать нельзя, без изменений в ядре?
Именно так. Текущую работу с ГО описал Kirix

zergtmn
03.08.2010, 19:38
Тоесть на текущий момент этого сделать нельзя, без изменений в ядре?
Вас пугают изменения в ядре? =)))

xmolex
03.08.2010, 19:46
Вас пугают изменения в ядре? =)))
Разумеется нет, просто было время когда я столько патчей понаставил, что потом обновиться было очень проблематично. С этого момента стараюсь использовать минимум своих правок в ядре, только самое основное.

Lordronn
03.08.2010, 22:31
Вам надо именно заспавнить ГО, либо же сделать его видемым, как к примеру сундук в ЦЛК/ИК/ИЧ?

if (GameObject* pChest = instance->GetGameObject(m_uiSaurfangCacheGUID))
if (pChest && !pChest->isSpawned())
{
pChest->SetRespawnTime(pChest->GetRespawnDelay());
}

pChest->SetRespawnTime(pChest->GetRespawnDelay());//разве на мангосе такой функции нету???

rsa
04.08.2010, 06:59
Есть. Но чтобы заспаунить сундук, нужно чтобы он уже стоял в мире с отрицательным временем респауна. См. выше. А человек хочет _добавить_ объект на ходу.