|
Архив - только для чтения |
| Модератор форума: andycrowz |
| Форум Корзина форума Корзина Перемещение по вайпоинтам (C++) |
| Перемещение по вайпоинтам |
Добрый день форумчане
Подскажите пожалуйста на маленьком примере (хотябы из 3 поинтов) как реализовать перемещение моба по поинтам через Switch() но БЕЗ таймеров (тоесть привязка переключения должна осуществляться не по таймеру а как-то иначе) Только через Switch() Case0: Case1: Case2:
Если помог, ставь плюсик в репу :)
Сообщение # 1 написано 17.01.2014 в 13:57
|
Про GetMotionMaster()->MovePoint я в курсе
Меня как раз интересует реализация Свича - я умею по таймеру а вот по переменной не представляю и реализацию в ядре не могу найти (точнее нашёл но как-то мутно)
Если помог, ставь плюсик в репу :)
Сообщение # 3 написано 17.01.2014 в 15:51
|
GetMotionMaster()->MovePoint. Примеры в ядре. Свитч можно сделать по какой-либо переменной. не совсем верно , Код GetMotionMaster()->MoveIdle(); GetMotionMaster()->MovePoint(0,me->GetPositionX(),me->GetPositionY(),me->GetPositionZ()); Меня как раз интересует реализация Свича - я умею по таймеру а вот по переменной не представляю и реализацию в ядре не могу найти (точнее нашёл но как-то мутно) я тебя не понял -_-
upon the look
Сообщение # 5 написано 17.01.2014 в 19:46
|
Ну да, не совсем верно. Сам же эту функцию и написал, только добавил еще 1, хотя суть осталась та же. Возможности проверить код нет, проверишь сам. Код class trigger_move : public CreatureScript { public: trigger_move() : CreatureScript("trigger_move") {} CreatureAI* GetAI(Creature* creature) const { return new trigger_moveAI(creature); } struct trigger_moveAI : public ScriptedAI { trigger_moveAI(Creature* s) : ScriptedAI(s) {} uint32 currentWayPoint; void Reset() { currentWayPoint = 0; } void UpdateAI(uint32 diff) { switch(currentWayPoint) { case 0: me->GetMotionMaster()->MovePoint(1, me->GetPositionX(), me->GetPositionY() + 15.0f, me->GetPositionZ()); currentWayPoint = 1; break; case 1: me->GetMotionMaster()->MovePoint(2, me->GetPositionX(), me->GetPositionY() + 35.0f, me->GetPositionZ()); currentWayPoint = 2; break; default: break; } } }; };
Сообщение # 6 написано 17.01.2014 в 20:42
|
Zverugakrut, если для сумонящихся мобов есть записи в таблице creature_movement(_template), то они сразу после спауна начнут движение по этим точкам.
|
| |||
| |||