سلام ، آیا این بازدید اول شماست ؟ یا
logo_forum_header

تبلیغات
×
+
سفارش تبلیغات

نمایش نتایج: از 1 به 4 از 4
Like Tree1Likes
  • 1 Post By Ezio

موضوع: Script Arena Ready Check Last Rev

  1. #1

    شماره عضویت
    92
    تاریخ عضویت
    Dec 2014
    محل سکونت
    گلستان
    نوشته ها
    97
    نسل
    نسل مورد علاقه
    نژاد
    نژاد  مورد علاقه
    کلاس
     کلاس  مورد علاقه
    سورس
     سورس مورد علاقه
    پچ
    پچ مورد علاقه
    پسندیده : 53
    مورد پسند : 56 بار در 29 پست
    سیستم عامل و مرورگر:

    Script Arena Ready Check Last Rev

    اینم اسکریپت ارنا چک برای اخرین ورژن ترینیتی

    تنها كاربران عضو مي توانند لينك ها را مشاهده كنند.

    تنها كاربران عضو مي توانند لينك ها را مشاهده كنند.

    5 کاربر پست ahura عزیز را پسندیده اند .

    Ezio (04-06-2015),iceboy (07-04-2015),mortal079 (04-06-2015),Nightprince (04-06-2015),شایان (04-06-2015)

    هیچ چیز انی نیست که در نگاه اول به نظر میرسد (اهورا)

  2. # ADS
    سیستم تبلیغات
    تاریخ عضویت
    01/01/2014
    محل سکونت
    Advertising world
    نوشته ها
    پستی ندارد.
     

  3. #2
    جایزه ها:
    پایان دهنده بحث ها

    شماره عضویت
    8
    تاریخ عضویت
    Oct 2014
    نوشته ها
    256
    نسل
    نسل مورد علاقه
    نژاد
    نژاد  مورد علاقه
    کلاس
     کلاس  مورد علاقه
    سورس
     سورس مورد علاقه
    پسندیده : 110
    مورد پسند : 311 بار در 153 پست
    سیستم عامل و مرورگر:
    فایل یافت نشد

    ضمن عرض پوزش فایل مورد نظر شما یافت نشد.

    دلیل حذف فایل شامل یکی از موارد زیر است:
    • فایل منقظی شده است
    • یا فایل توسط آپلودکننده آن حذف شده است
    • و یا ممکن است فایل به دلیل عدم تطابق با قوانین حذف شده باشد

    مردم دنیا زمان رو 3 حالت می بینن

    اما ما ایرانیا 4 حالت:

    زمان گذشته ، زمان حال ، زمان آینده ، زمـــان شـــــــاہ.....!!!!

    Hamed.Wower@yahoo.com

  4. #3

    شماره عضویت
    266
    تاریخ عضویت
    Apr 2015
    نوشته ها
    75
    نسل
    نسل مورد علاقه
    نژاد
    نژاد  مورد علاقه
    کلاس
     کلاس  مورد علاقه
    سورس
     سورس مورد علاقه
    پچ
    پچ مورد علاقه
    پسندیده : 91
    مورد پسند : 24 بار در 14 پست
    سیستم عامل و مرورگر:
    درود عزیز فایل شما اونجایی که اپلود کردید از سرورش پاک شده!! لطفا تو اپلود سنتر خود یکتا اپلود کنید ممنون

  5. #4
    جایزه ها:
    پایان دهنده بحث ها

    شماره عضویت
    8
    تاریخ عضویت
    Oct 2014
    نوشته ها
    256
    نسل
    نسل مورد علاقه
    نژاد
    نژاد  مورد علاقه
    کلاس
     کلاس  مورد علاقه
    سورس
     سورس مورد علاقه
    پسندیده : 110
    مورد پسند : 311 بار در 153 پست
    سیستم عامل و مرورگر:

    commit 2d3055f10861f0b134043915888c13e5b777785c
    Author: thezxtreme <thezxtreme@live.com>
    Date: Sat Oct 11 23:01:39 2014 +0300

    018 - Implement arena ready check

    diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp
    index e8c3446..d4c4c7c 100644
    --- a/src/server/game/Battlegrounds/Battleground.cpp
    +++ b/src/server/game/Battlegrounds/Battleground.cpp
    @@ -464,6 +464,9 @@ inline void Battleground::_ProcessJoin(uint32 diff)
    {
    m_Events |= BG_STARTING_EVENT_2;
    SendMessageToAll(StartMessageIds[BG_STARTING_EVENT_SECOND], CHAT_MSG_BG_SYSTEM_NEUTRAL);
    +
    + if (this->isArena())
    + this->SendArenaReadyCheck();
    }
    // After 30 or 15 seconds, warning is signaled
    else if (GetStartDelayTime() <= StartDelayTimes[BG_STARTING_EVENT_THIRD] && !(m_Events & BG_STARTING_EVENT_3))
    @@ -489,6 +492,13 @@ inline void Battleground::_ProcessJoin(uint32 diff)
    for (BattlegroundPlayerMap::const_iterator itr = GetPlayers().begin(); itr != GetPlayers().end(); ++itr)
    if (Player* player = ObjectAccessor::FindPlayer(itr->first))
    {
    + if (!m_ArenaReadyCheckMap.count(itr->first))
    + {
    + WorldPacket data(0x3C6, 0x1);
    + data << uint8(0x1);
    + player->GetSession()->SendPacket(&data);
    + }
    +
    // BG Status packet
    WorldPacket status;
    BattlegroundQueueTypeId bgQueueTypeId = sBattlegroundMgr->BGQueueTypeId(m_TypeID, GetArenaType());
    @@ -519,6 +529,7 @@ inline void Battleground::_ProcessJoin(uint32 diff)
    }

    CheckWinConditions();
    + m_ArenaReadyCheckMap.clear();
    }
    else
    {
    @@ -1832,3 +1843,28 @@ uint8 Battleground::GetUniqueBracketId() const
    {
    return GetMinLevel() / 10;
    }
    +
    +void Battleground::SendArenaReadyCheck() const
    +{
    + WorldPacket packet_0x1(0x051, 0x17);
    + packet_0x1.appendPackGUID(0xFFFFFFFF);
    + packet_0x1 << uint8(0x0);
    + packet_0x1 << std::string("Arena");
    + packet_0x1 << uint8(0x0);
    + packet_0x1 << uint8(0xa);
    + packet_0x1 << uint8(0x0);
    + packet_0x1 << uint8(0x4);
    + packet_0x1 << uint8(0x0);
    +
    + WorldPacket packet_0x2(0x322, 0x8);
    + packet_0x2 << uint64(0xFFFFFFFF);
    +
    + for (const auto itr : m_Players)
    + {
    + if (const Player* const player = ObjectAccessor::FindPlayer(itr.first))
    + {
    + player->GetSession()->SendPacket(&packet_0x1);
    + player->GetSession()->SendPacket(&packet_0x2);
    + }
    + }
    +}
    diff --git a/src/server/game/Battlegrounds/Battleground.h b/src/server/game/Battlegrounds/Battleground.h
    index 001c33c..9bd5eb8 100644
    --- a/src/server/game/Battlegrounds/Battleground.h
    +++ b/src/server/game/Battlegrounds/Battleground.h
    @@ -465,6 +465,9 @@ class Battleground

    virtual uint32 GetPrematureWinner();

    + std::set<uint64> m_ArenaReadyCheckMap;
    + void SendArenaReadyCheck() const;
    +
    // because BattleGrounds with different types and same level range has different m_BracketId
    uint8 GetUniqueBracketId() const;

    diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp
    index 8d044e7..42719e8 100644
    --- a/src/server/game/Handlers/GroupHandler.cpp
    +++ b/src/server/game/Handlers/GroupHandler.cpp
    @@ -32,6 +32,7 @@
    #include "World.h"
    #include "WorldPacket.h"
    #include "WorldSession.h"
    +#include "Battleground.h"

    class Aura;

    @@ -691,6 +692,9 @@ void WorldSession::HandleRaidReadyCheckOpcode(WorldPacket& recvData)

    if (recvData.empty()) // request
    {
    + if (this->GetPlayer()->InArena())
    + return;
    +
    /** error handling **/
    if (!group->IsLeader(GetPlayer()->GetGUID()) && !group->IsAssistant(GetPlayer()->GetGUID()))
    return;
    @@ -708,6 +712,14 @@ void WorldSession::HandleRaidReadyCheckOpcode(WorldPacket& recvData)
    uint8 state;
    recvData >> state;

    + if (this->GetPlayer()->InArena() && state)
    + {
    + this->GetPlayer()->GetBattleground()->m_ArenaReadyCheckMap.insert(this->GetPlayer()->GetGUID());
    +
    + if (this->GetPlayer()->GetBattleground()->GetPlayersSize() == this->GetPlayer()->GetBattleground()->m_ArenaReadyCheckMap.size())
    + this->GetPlayer()->GetBattleground()->SetStartDelayTime(BG_START_DELAY_NONE);
    + }
    +
    // everything's fine, do it
    WorldPacket data(MSG_RAID_READY_CHECK_CONFIRM, 9);
    data << uint64(GetPlayer()->GetGUID());


    اینم اسکریپت

    منبع : Ac-web.org

    کاربر مقابل پست Ezio عزیز را پسندیده است:

    Nightprince (07-04-2015)

    شایان likes this.
    مردم دنیا زمان رو 3 حالت می بینن

    اما ما ایرانیا 4 حالت:

    زمان گذشته ، زمان حال ، زمان آینده ، زمـــان شـــــــاہ.....!!!!

    Hamed.Wower@yahoo.com

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •