• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
Скриптовка ГО (госсипы)
Je7
Скаут
Есть у кого-то инфа? Как с 0 заскриптовать через ядро ГО.
Сообщение # 1 отредактировано Dimitro - Среда, 04.04.2012, 18:14
_dm666
<3 Death Metal
Что именно тебе надо?
Сообщение # 2 написано 03.03.2012 в 17:42
Je7
Скаут
Конкретно мне надо телепортировать игрока в одно место(не госсип, ПКМ и игрок уже на месте)
Сообщение # 3 написано 03.03.2012 в 17:47
_dm666
<3 Death Metal
Нельзя, вроде. Ибо такое в арке на луа. А в ТС придется переписать систему скриптовки.
Сообщение # 4 написано 03.03.2012 в 17:51
Прадмур
~
Quote (std_Suicide)
Нельзя.

Можно и очень просто.

Code
class go_teleport : public GameObjectScript
{
public:
     go_teleport() : GameObjectScript("go_teleport") { }

     bool OnGossipHello(Player* player, GameObject* /*pGO*/)
     {
         player->TeleportTo(1, 1429.955688f, -4364.570801f, 27.352644f, 4.046381f);
         return false;
     }
};
Сообщение # 5 написано 03.03.2012 в 18:03
Je7
Скаут
Прадмур, еще в БД привязать к ГО ?

Добавлено (03.03.2012, 18:20)
---------------------------------------------
и еще, как увидеть ГУИД всех ГО что вокруг меня. Там команда какая-то...

Сообщение # 6 написано 03.03.2012 в 18:20
_dm666
<3 Death Metal
Je7, а, извиняюсь. Я прочитал, что госсип нужно sad
Quote (Je7)
еще в БД привязать к ГО ?

скрипт-нейм и всё.
Сообщение # 7 написано 03.03.2012 в 18:22
Je7
Скаут
понятно, а как ГУИД увидеть, знаешь команду?

Добавлено (03.03.2012, 18:27)
---------------------------------------------
ой, нашел уже. .gobject near 10

Сообщение # 8 написано 03.03.2012 в 18:27
Прадмур
~
Quote (std_Suicide)
Je7, а, извиняюсь. Я прочитал, что госсип нужно sad

И в чём разница? Смысл не меняется.

Code
class go_teleport : public GameObjectScript
{
public:
        go_teleport() : GameObjectScript("go_teleport") { }

        bool OnGossipHello(Player* player, GameObject* pGO)
        {
            player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Отправиться в Оргриммар.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
            player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Стоять на месте.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);

            player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, pGO->GetGUID());

            return true;
        }

        bool OnGossipSelect(Player* player, GameObject* /*pGO*/, uint32 /*uiSender*/, uint32 uiAction)
        {
            player->PlayerTalkClass->ClearMenus();

            switch (uiAction)
            {
                case GOSSIP_ACTION_INFO_DEF:
                    player->TeleportTo(1, 1429.955688f, -4364.570801f, 27.352644f, 4.046381f);
                    break;
                case GOSSIP_ACTION_INFO_DEF + 1:
                    player->CLOSE_GOSSIP_MENU();
                    break;
            }
            return true;
        }
};
Сообщение # 9 отредактировано Прадмур - Суббота, 03.03.2012, 18:52
Je7
Скаут
Разница в том, что во в 2 варианте, откроется диалог. А в первом нет. Мне нужен первый вариант. Прадмур, тестанул, все работает. Спасибо.
Сообщение # 10 написано 03.03.2012 в 18:57
Прадмур
~
Quote (Je7)
Разница в том, что во в 2 варианте, откроется диалог. А в первом нет. Мне нужен первый вариант. Прадмур, тестанул, все работает. Спасибо.

Это не к тебе адресовано.
Я обращался к std_Suicide который утверждает что это невозможно. А потом отговаривается и говорит что всё таки без госсипа это возможно, а с госсипом нет.
Сообщение # 11 написано 03.03.2012 в 19:07
  • Страница 1 из 1
  • 1
Поиск: