• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
Форум » TrinityCore » [TrinityCore] Help » Наложение ауры (афк игрок)
Наложение ауры
kleuser
Командир
Помогите, пытаюсь сделать скрипт который при афк на игрока накладывается аура. собственно вот что имеется
Код
    bool isAFK(Player* player)
  {
   if(player->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_AFK) == true)
    {
     player->AddAura(52982, player);
     return true;
    }
    else
     if(player->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_AFK) == false)
      {
       player->RemoveAura(52982);
       return false;
      }
     }
    };

но аура не вешается sad

Добавлено (02.01.2014, 20:34)
---------------------------------------------
up

Сообщение # 1 написано 02.01.2014 в 20:34
Dimitro
Praise the sun!
Во-первых,
Код
if(player->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_AFK))
такой проверки достаточно, проверять еще и на "==true" пустая трата ресурсов.
Во-вторых, что это вообще за метод такой? Откуда вы его взяли и куда пытаетесь запихнуть? Лично у меня в тринити этот метод выглядит так:
Код
bool isAFK() const { return HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_AFK); }


В-третьих, лично я, сделал бы так (не проверял, просто переписал код из первого поста и добавил в нужное место):
Код
diff -r 31c12d63b97d src/server/game/Entities/Player/Player.cpp
--- a/src/server/game/Entities/Player/Player.cpp    Tue Nov 05 15:10:12 2013 +0200
+++ b/src/server/game/Entities/Player/Player.cpp    Fri Jan 03 13:52:10 2014 +0200
@@ -2058,6 +2058,11 @@
    {
        ToggleFlag(PLAYER_FLAGS, PLAYER_FLAGS_AFK);
       
+    if (isAFK())
+        AddAura(52982, this);
+    else
+        RemoveAura(52982);
+
        // afk player not allowed in battleground
        if (isAFK() && InBattleground() && !InArena())
            LeaveBattleground();
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 2 отредактировано Dimitro - Пятница, 03.01.2014, 15:53
kleuser
Командир
Цитата Dimitro ()
что это вообще за метод такой? Откуда вы его взяли и куда пытаетесь запихнуть?

я пытался сделать в виде кустом скрипта) типо проверка на афк, но ведать совсем не правельно, смотрел на готовые функции но ведать не туда смотрел)

Ваш вариант прекрасно работает, за что большое спасибо за помощь)
а мне еще учиться и учиться)

Добавлено (03.01.2014, 16:54)
---------------------------------------------
тему можно в корзинку)

Сообщение # 3 написано 03.01.2014 в 16:54
Форум » TrinityCore » [TrinityCore] Help » Наложение ауры (афк игрок)
  • Страница 1 из 1
  • 1
Поиск: