Welcome to AC Web.
Results 1 to 4 of 4
  1. #1

    3v3 Solo Que [4.3.4 TC]


    REGISTER! (FREE)
    Registered members see less ads
    and also gain access to other great features.
    Hello,

    I am having trouble with 3v3 solo que custom script. Currently, "Leave Queue" button makes it so you leave the queue but doesn't remove the Queue symbol at the top near the map



    Here is the code for the Leave Queue button:

    Code:
    case 3: // Leave Queue
    			{
    				uint8 arenaType = ARENA_TYPE_5v5;
    				uint32 queueSlot = player->GetBattlegroundQueueIndex(BATTLEGROUND_QUEUE_5v5);
    				if (player->InBattlegroundQueueForBattlegroundQueueType(BATTLEGROUND_QUEUE_3v3_SOLO))
    				{
    					queueSlot = player->GetBattlegroundQueueIndex(BATTLEGROUND_QUEUE_3v3_SOLO);
    					arenaType = ARENA_TYPE_3v3_SOLO;
    				}
    
    
    				WorldPacket Data;
    				Data << (uint32)0x0 << queueSlot << arenaType << player->GetGUID() << (uint8)0x0;
    				player->GetSession()->HandleBattleFieldPortOpcode(Data);
    				player->CLOSE_GOSSIP_MENU();
    				return true;
    			}
    Any ideas how to remove the player from the queue all together?

  2. #2


    Join Date
    Dec 2019
    Location
    cybermist2.github.io
    Posts
    113
    Helping you on discord
    Last edited by Cyber Mist; 03-28-2020 at 05:45 AM.

  3. #3

  4. #4

    REGISTER! (FREE)
    Registered members see less ads
    and also gain access to other great features.
    Send the client the correct removal packet. The way you handle it right now is very stupid. Anyway a simple fix for the way you currently handling it is fixing your packet structure.


    Data << (uint32)0x0 << queueSlot << arenaType << player->GetGUID() << (uint8)0x0;

    this is NOT 434.

    434 is

    Code:
        recvData >> time;
        recvData >> queueSlot;
        recvData >> unk;
    
        guid[0] = recvData.ReadBit();
        guid[1] = recvData.ReadBit();
        guid[5] = recvData.ReadBit();
        guid[6] = recvData.ReadBit();
        guid[7] = recvData.ReadBit();
        guid[4] = recvData.ReadBit();
        guid[3] = recvData.ReadBit();
        guid[2] = recvData.ReadBit();
    
        action = recvData.ReadBit();
    
        recvData.ReadByteSeq(guid[1]);
        recvData.ReadByteSeq(guid[3]);
        recvData.ReadByteSeq(guid[5]);
        recvData.ReadByteSeq(guid[7]);
        recvData.ReadByteSeq(guid[0]);
        recvData.ReadByteSeq(guid[2]);
        recvData.ReadByteSeq(guid[6]);
        recvData.ReadByteSeq(guid[4]);
    I recommend you move some handling of HandleBattleFieldPortOpcode to a new worldsession function then do it like that.

 

 

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •