• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
Форум » TrinityCore » [TrinityCore] Help » Дублируется скрипт
Дублируется скрипт
Borisov99
Сержант
Добрый вечер, 
трабл такой возник, что когда выполняется скрипт он почему-то 2 раза повторяется.

Код
void OnUpdateZone(Player* player, uint32 /*newZone*/, uint32 /*newArea*/)
    {
        ChatHandler handler(player->GetSession());

        if(player->GetZoneId() == 3562)
        {

            if(player->GetQuestStatus(QUEST_START) == QUEST_STATUS_REWARDED)
            {
                handler.SendSysMessage("|cffFF00FFДобро пожаловать в старт подземелье!|r");
                return;
            }


Захожу в инст и он два раза мне пишет этот текст, это может быть связано что инст имеет 2 сложности или как ?
Сообщение # 1 написано 22.07.2018 в 13:00
Stormtrooper
Командир
я конечно может ща глупость скажу - но return; там зачем?
Если помог, ставь плюсик в репу :)

Сообщение # 2 написано 22.07.2018 в 21:18
Borisov99
Сержант
Цитата Stormtrooper ()
там зачем?
Ну просто я уже всё перебрал, пришлось идти даже на такие меры:D
Сообщение # 3 написано 23.07.2018 в 07:12
Ranege
Маршал
Ну значит метод 2 раза вызывается. Собственно там, возможно, так и делается. Посмотри реализацию Player::Update. Помню там обновляется зона+ область. Вроде чего-то два обновляется. А вообще если ты юзаешь скрипт - посмотри просто где и кем он вызывается. Добавь туда логов, если и там два раза вызывается, смотри кто дальше вызывает тот участок кода. Собственно и найдешь ответ на свой вопрос.
Сообщение # 4 написано 24.07.2018 в 21:44
Tehnokrat011
Капрал
есть OnPlayerEnter в скрипте того инстанса, который нужен вам. А если уж так глобально надо юзать, то OnPlayerEnterMap и даже к PlayerScript необязательно привязываться. Но никак не такой хук. Апдейт зоны может вызываться очень много раз. Вообще этот хук какой-то дебил с ТК добавил походу, потому что хукать любой апдейт - это самое худшее, что можно придумать.
Disassembling, Intercepting/Hooking, Sniffing, Cryptography, Cracking - D.I.S.C.C )
IDA - is the best disassembler, SoftICE - is good debugger :) ©
Programming, Hacking, Reverse Engineering - is everything!
Да иди ты в ...регистр eax )
The world is not enough....
Сообщение # 5 написано 24.07.2018 в 23:41
Borisov99
Сержант
Цитата Tehnokrat011 ()
OnPlayerEnter в скрипте того инстанса, который нужен вам. А если уж так глобально надо юзать, то OnPlayerEnterMap

Я пытался, но почему-то с этими функциями не получлиось. Хотя я пытался привязать к инсту а не к плееру

Добавлено (25.07.2018, 04:59)
---------------------------------------------

Цитата Ranege ()
Собственно и найдешь ответ на свой вопрос.

Спасибо когда разберусь в том, что ты написал, тогда буду так обязательно делать) а пока, как видишь я на раннем этапе познавания что там вообще творится:D
Сообщение # 6 написано 25.07.2018 в 04:56
Форум » TrinityCore » [TrinityCore] Help » Дублируется скрипт
  • Страница 1 из 1
  • 1
Поиск: