|
|
Модератор форума: Dimitro |
Форум TrinityCore [TrinityCore] Help Вызов моба перед собой (C++, SummonCreature()) |
Вызов моба перед собой (C++, SummonCreature()) |
Всем привет
Подскажите пожалуйста как в ядре прописать вызов моба (SummonCreaure), так чтобы моб появлялся всегда передо мной в какую бы сторону я не поворачивался? Спасибо
Если помог, ставь плюсик в репу :)
|
Код // Summon the NPC Creature* creature = pPlayer->SummonCreature(npcId,pPlayer->GetPositionX() ,pPlayer->GetPositionY()-2, pPlayer->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, despawnSec); // Follow player - Using pet's default dist and angle creature->GetMotionMaster()->MoveFollow(pPlayer, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE);
Сообщение # 2 написано 20.12.2020 в 14:41
|
Код// Summon the NPC Creature* creature = pPlayer->SummonCreature(npcId,pPlayer->GetPositionX() ,pPlayer->GetPositionY()-2, pPlayer->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, despawnSec); // Follow player - Using pet's default dist and angle creature->GetMotionMaster()->MoveFollow(pPlayer, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE); Я прошу прощения, а где в вашем ответе информация позволяющая вызывать моба чётко ПЕРЕДО МНОЙ если я буду двигаться и поворачиватся меняя соответственно координату Х и У ?
Если помог, ставь плюсик в репу :)
Сообщение # 3 написано 30.12.2020 в 00:42
|
npcId,pPlayer->GetPositionX() ,pPlayer->GetPositionY()-2, pPlayer->GetPositionZ(), 0 Тоесть мы получили ваши координаты и pPlayer->GetPositionY()-2 вызываем нпс
Беру заказы на разработку программ для баз данных, для серверов ну и для администрации.
Писать мне в лс в ВК Создание различных ботов для сообщества VK[ |
pPlyaer - это игрок который юзайет итем , спелл и т.пТоесть мы получили ваши координаты и pPlayer->GetPositionY()-2 вызываем нпс Это всё конечно здорово и я прекрасно понимаю что означает написанное Только вот проблемка - я могу стоять в одной и той же координате а лицо направить куда угодно в пределах 360 градусов - тоесть координата Y всегда будет одна и та же а смотреть я буду в разные стороны и соответственно моб будет появляться НЕ ПЕРЕДО МНОЙ
Если помог, ставь плюсик в репу :)
Сообщение # 5 написано 20.01.2021 в 09:31
|
Код float distance = расстояние, как далеко "перед тобой" должен происходить спавн Position pos = unitCaster->GetPosition(); float destx = pos.GetPositionX() + distance * cos(pos.GetOrientation()); float desty = pos.GetPositionY() + distance * sin(pos.GetOrientation()); Вроде доступно написал =) |
Где 0 в скрипте там выставь ориентацию
Беру заказы на разработку программ для баз данных, для серверов ну и для администрации.
Писать мне в лс в ВК Создание различных ботов для сообщества VK[
Сообщение # 8 написано 21.01.2021 в 16:06
|
ну почему же
#define M_PI 3.14159265358979323846 // pi #define M_PI_2 1.57079632679489661923 // pi/2 #define M_PI_4 0.785398163397448309616 // pi/4 pos.GetOrientation() + M_PI; - это если нужно развернуть спавн лицом к игроку. Можно вращать его ориентацию как угодно, в пол оборота влево или вправо, как нужно.
Сообщение # 9 написано 21.01.2021 в 16:14
|
| |||
| |||