Auto queue for current party too

This commit is contained in:
LightCat 2018-08-31 16:35:28 +02:00
parent 0fe0d8946c
commit 7297288020
4 changed files with 18 additions and 4 deletions

View File

@ -20,6 +20,7 @@ public:
static ITFGroupMatchCriteria *MutLocalGroupCriteria(CTFPartyClient *client); static ITFGroupMatchCriteria *MutLocalGroupCriteria(CTFPartyClient *client);
static bool BCanQueueForStandby(CTFPartyClient *this_); static bool BCanQueueForStandby(CTFPartyClient *this_);
char RequestQueueForMatch(int type); char RequestQueueForMatch(int type);
void RequestQueueForStandby();
bool BInQueueForMatchGroup(int type); bool BInQueueForMatchGroup(int type);
char RequestLeaveForMatch(int type); char RequestLeaveForMatch(int type);
int BInvitePlayerToParty(CSteamID steamid); int BInvitePlayerToParty(CSteamID steamid);

View File

@ -218,8 +218,8 @@ void initonce()
cd2.update(); cd2.update();
cd3.update(); cd3.update();
engi_spot_cd.update(); engi_spot_cd.update();
sniper_spots.update(); sniper_spots.clear();
preferred_sniper_spots.update(); preferred_sniper_spots.clear();
return; return;
} }

View File

@ -67,7 +67,14 @@ int re::CTFPartyClient::LoadSavedCasualCriteria()
return LoadSavedCasualCriteria_fn(this); return LoadSavedCasualCriteria_fn(this);
} }
void re::CTFPartyClient::RequestQueueForStandby()
{
typedef void (*RequestStandby_t)(re::CTFPartyClient *);
static uintptr_t addr = gSignatures.GetClientSignature("55 89 E5 57 56 53 83 EC ? 8B 7D ? 8B 4F ? 85 C9 74");
static RequestStandby_t RequestStandby_fn = RequestStandby_t(addr);
RequestStandby_fn(this);
return;
}
char re::CTFPartyClient::RequestQueueForMatch(int type) char re::CTFPartyClient::RequestQueueForMatch(int type)
{ {
typedef char (*RequestQueueForMatch_t)(re::CTFPartyClient *, int); typedef char (*RequestQueueForMatch_t)(re::CTFPartyClient *, int);

View File

@ -13,7 +13,12 @@ settings::Int queue{ "autoqueue.mode", "7" };
CatCommand cmd_queue_start("mm_queue_casual", "Start casual queue", CatCommand cmd_queue_start("mm_queue_casual", "Start casual queue",
[]() { tfmm::startQueue(); }); []() { tfmm::startQueue(); });
CatCommand queue_party("mm_queue_party", "Queue for Party",
[]()
{
re::CTFPartyClient *client = re::CTFPartyClient::GTFPartyClient();
client->RequestQueueForStandby();
});
CatCommand cmd_abandon("mm_abandon", "Abandon match", CatCommand cmd_abandon("mm_abandon", "Abandon match",
[]() { tfmm::abandon(); }); []() { tfmm::abandon(); });
@ -56,6 +61,7 @@ void startQueue()
if (*queue == 7) if (*queue == 7)
client->LoadSavedCasualCriteria(); client->LoadSavedCasualCriteria();
client->RequestQueueForMatch((int) queue); client->RequestQueueForMatch((int) queue);
client->RequestQueueForStandby();
hacks::shared::autojoin::resetQueueTimer(); hacks::shared::autojoin::resetQueueTimer();
queuecount++; queuecount++;
} }