• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
Вызов моба перед собой (C++, SummonCreature())
Stormtrooper
Командир
Всем привет
Подскажите пожалуйста как в ядре прописать вызов моба (SummonCreaure), так чтобы моб появлялся всегда передо мной в какую бы сторону я не поворачивался?
Спасибо
Если помог, ставь плюсик в репу :)

Сообщение # 1 отредактировано Stormtrooper - Вторник, 17.11.2020, 14:30
zugurysus
Центурион
Код
// 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
Stormtrooper
Командир
Цитата zugurysus ()
Код// 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
SymBOL™
Капрал
Цитата Stormtrooper ()
npcId,pPlayer->GetPositionX() ,pPlayer->GetPositionY()-2, pPlayer->GetPositionZ(), 0
pPlyaer - это игрок который юзайет итем , спелл и т.п
Тоесть мы получили ваши координаты и pPlayer->GetPositionY()-2 вызываем нпс
Беру заказы на разработку программ для баз данных, для серверов ну и для администрации.
Писать мне в лс в ВК
Создание различных ботов для сообщества VK[
Сообщение # 4 отредактировано SymBOL™ - Вторник, 19.01.2021, 19:08
Stormtrooper
Командир
Цитата SymBOL™ ()
pPlyaer - это игрок который юзайет итем , спелл и т.пТоесть мы получили ваши координаты и pPlayer->GetPositionY()-2 вызываем нпс

Это всё конечно здорово и я прекрасно понимаю что означает написанное
Только вот проблемка - я могу стоять в одной и той же координате а лицо направить куда угодно в пределах 360 градусов - тоесть координата Y всегда будет одна и та же а смотреть я буду в разные стороны и соответственно моб будет появляться НЕ ПЕРЕДО МНОЙ
Если помог, ставь плюсик в репу :)

Сообщение # 5 написано 20.01.2021 в 09:31
kvipka
Сержант
Код
float distance = расстояние, как далеко "перед тобой" должен происходить спавн
Position pos = unitCaster->GetPosition();
float destx = pos.GetPositionX() + distance * cos(pos.GetOrientation());
float desty = pos.GetPositionY() + distance * sin(pos.GetOrientation());


Вроде доступно написал =)
Сообщение # 6 отредактировано kvipka - Среда, 20.01.2021, 21:53
Stormtrooper
Командир
А это уже любопытно
Проверю, спасибо
Если помог, ставь плюсик в репу :)

Сообщение # 7 написано 21.01.2021 в 09:49
SymBOL™
Капрал
Цитата Stormtrooper ()
Creature* creature = pPlayer->SummonCreature(npcId,pPlayer->GetPositionX() ,pPlayer->GetPositionY()-2, pPlayer->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, despawnSec)
Где 0 в скрипте там выставь ориентацию
Беру заказы на разработку программ для баз данных, для серверов ну и для администрации.
Писать мне в лс в ВК
Создание различных ботов для сообщества VK[
Сообщение # 8 написано 21.01.2021 в 16:06
kvipka
Сержант
Цитата SymBOL™ ()
Где 0 в скрипте там выставь ориентацию
ну почему же
    #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
Stormtrooper
Командир
Цитата SymBOL™ ()
Где 0 в скрипте там выставь ориентацию


Ориентация это вращение моба а не его расположение
Если помог, ставь плюсик в репу :)

Сообщение # 10 написано 21.01.2021 в 16:50
  • Страница 1 из 1
  • 1
Поиск: