Page 1 of 2

[Solved][Matchmaking] Scoretable problem

Posted: 25 May 2015, 15:49
by Darkminus
Hello :)

I've got a problem with my Arena Duel gamemode.

Everything works fine in normal mode.
However in Matchmaking mode, the scoretables reformat players display and I cannot find why...

I do not do anything different in matchmaking mode, except I don't use warmup. Scoretable calls are exactly the same.

Here's what happens:

Before entering PlayLoop in my code (players are correctly placed, everything goes fine):

Image

Here's what happens after:

Image

As you can see all players are forced to be listed at left side of the scoretable.

It doesn't happen in "non-matchmaking" servers...

If anyone has an idea to help me...

Thank you in advance for your answers ! :thx:

Re: [Matchmaking] Scoretable problem

Posted: 18 Jun 2015, 10:03
by Darkminus
I don't know if this is allowed but... Bump?
After some more tries, I still don't get this working as I want...

In the hope of an answer :thx:

Re: [Matchmaking] Scoretable problem

Posted: 18 Jun 2015, 11:32
by novationx
I wish I could help :(

Re: [Matchmaking] Scoretable problem

Posted: 18 Jun 2015, 13:46
by Eole
The scores table uses "Score.TeamNum" to put a player on a side or the other. If you log it for both players in the game mode script what do you see?

Re: [Matchmaking] Scoretable problem

Posted: 18 Jun 2015, 21:48
by Darkminus
Eole wrote:The scores table uses "Score.TeamNum" to put a player on a side or the other. If you log it for both players in the game mode script what do you see?
Hello again :)

Here are the values I get in local :

Code: Select all

Login : darkminus  | Scores.TeamNum : 1
Login : staxfid    | Scores.TeamNum : 2
And here's what I get on the dedicated Matchmaking match server :

Code: Select all

Login : darkminus  | Scores.TeamNum : 1
Login : staxfid    | Scores.TeamNum : 1
In both cases I set UseClans = False; just before playloop. However Scores.TeamNum seems to be forced to 1 in match servers...

I now know what causes my problem :) Thank you :thx:

I just need to understand why Scores.TeamNum takes always "1" as value on match servers... Should it be the same value as Player.CurrentClan? That would mean that Player.CurrentClan == 1? (Which shouldn't be possible as SetPlayerClan took the right values in my previous tries ...)

Re: [Matchmaking] Scoretable problem

Posted: 19 Jun 2015, 06:27
by Dommy
Try to remove UseClans = False parameter and it will probably be OK, because when you set them off, players clans are changed to 0 and when turning on back both players are set to 1 :)

I think I finally get it.

Re: [Matchmaking] Scoretable problem

Posted: 19 Jun 2015, 06:52
by Darkminus
domino54 wrote:Try to remove UseClans = False parameter and it will probably be OK, because when you set them off, players clans are changed to 0 and when turning on back both players are set to 1 :)

I think I finally get it.
I already tried this, unfortunately it doesn't work. :/ I think there's a specific thing in "MM mode" that affects Score.TeamNum for Players, but I don't know what yet :) Maybe it is because I use a 1v1 matchmaking in team mode... Or something else ^^"

:thx:

Re: [Matchmaking] Scoretable problem

Posted: 19 Jun 2015, 13:12
by Eole
Do you use the MM_GetRequestedClan() function instead of Player.RequestedClan to get the clan assigned by the matchmaking to the player?

Re: [Matchmaking] Scoretable problem

Posted: 19 Jun 2015, 14:29
by Darkminus
Here's the code I execute instead of WarmUp when I'm on a MM Server (Should be the same as Combo)

Code: Select all

Void PrepareMatch() {
  foreach (Player in AllPlayers)
  {
    SetPlayerClan(Player, MM_GetRequestedClan(Player));
    if (Player.CurrentClan == 1) WarmUp2::SetPlayerGroup(Player, "Clan1");
    else if (Player.CurrentClan == 2) WarmUp2::SetPlayerGroup(Player, "Clan2");
  }
  WarmUp2::Clean();
  WarmUp2::Fill();
}

Re: [Matchmaking] Scoretable problem

Posted: 19 Jun 2015, 16:01
by Eole
After that do you always use Player.CurrentClan to access the player clan? Especially inside the spawn function.
You don't use SetPlayerClan() anywhere else?