In Need Of Assistance In Creating A Custom OWL-Like Lobby And Series Matches with The Workshop

Does anyone here knows the OWL matches code to import that set-up to custom game mode?
…Plus can anyone give me pointers on how to make new heroes Role types that will be consist of two different roles combined to make one role that also can qualify as the same role with other combined roles for games’ lobby’s queues?

I guess explaining what I’m about to attempt will be helpful for anyone who would like to help me by passing me this information I’m researching to figure out how to do. Well, what I would like to design is a practice mode to run in The Custom Game Mode for my friends and myself that would give us some needed practice and experience for Open Role Comp as well as use this custom game set-up for some private tournament type fun.

I would like to make a setting of a role-lock for a new Flex Role category that accepts any of three following combined pairing into this Flex Role type slot. The games will be for the following lock-in heroes’ type by slots: Dedicated Tank Role Player; Any Flex Type; Any Flex Type; Any Flex Type; Dedicated Support Role Player and a Dedicated DPS Role Player with all as locked roles for the entire best of 5 match series.

The matches will be played under Professional Overwatch League Competitive maps’ set-up style of the best of five matches; with each team limited to an up to an 8 man roster. Each team player must choose a set role type that they will play during the entire match and even with players having the freedom to substitute one another between games or between maps changes or during the changing from attack and defense; they can’t change their role types at any time.

There will be three mandatory slots consisted of a Dedicated Support Role, a Dedicated DPS role and a Dedicated Tank Role that are filled by players that can’t change to any other role type during the whole best of 5 match; once the first game begins and these role types must be fulfilled at all time during all games. As for the other role types; each player on the up to 9-players team’s roster must choose only one role type and as for the Flex Role Slots, there will be three different types of Flex Role Types that will be able satisfy the locked Flex Role Slot for the match.

The Flex Role Slots can be filled by any of the following three Flex Role types: The Light Flex role = DPS/Support heroes queue only; The Heavy Flex role = Tank/Support Heroes queue only, and a Non-Support Role queue only = DPS/Tank queue only. Also as it is with the dedicated single role type categories; these flex players can’t change which flex roles they entered the lobby as until the best of 5 games match are completed, even if the match’s games were scheduled to run on different dates.
(That is if this scheduling part for the custom game mode is possible thru the workshop, if no, then we will manage it with what we can make; taken if any of these parts for this type of set-up is possible.)

Each team is allowed any amount of role types on their match’s team roster as long as the three Dedicated Role types are fulfilled for each game’s rounds by players who are the team’s dedicated players to that particular non-flex role type slot only for the entire match and this includes having more than one player fulfilling the same role type on the roster even though two of the same type of dedicated non-flex role type players can’t enter a game at the same time. (Remember its an up to a 9-man roster.)

**CAN ANYONE READING THIS, CAN OFFER ME ANY ADVICE OR HELPFUL INFORMATION ON HOW TO MAKE MY PROJECT DESCRIBED ABOVE EASILY POSSIBLE?

THANK YOU.**

Rankade might be a platform to organize and manage some league attributes, its completely free to use for any one, it also has its own Ranking system and algorithm but take into account it might not reflect exactly the skill rating of OW’s algorithm but is extreme powerful. From workshop perspective adding new roles can be done by assigning special values to player variables, depending on what value these have you can lock roles for them with some actions. But creating a whole League system is not easily possible since you would need data bases to store match result for each player, well depending on the dimension its kind of doable but really unhand with the functionalities we currently have. Maybe in the future, a time ago something like a club or guild feature was requested for OW, but we never heard of it again until now.

You can’t do this in workshop since you can only modify players who are in the match, not the players who are spectating.

You can’t do this with workshop (automated), because data doesn’t persist between matches.

Of course you can change the source code between every match to store data. That would be the only way to achieve what you want; saving the names of the players and saving some data about them (the role they chose).
Restricting playable heroes is actually simple to do.

You could do it like this:

  • have an array (name) that contains all the players’ names
  • have an array (role) that contains their role information (0, 1, …, 5) at the same index of their name
Variables
{
	global:
		0: name
		1: role

	player:
		0: role
}

rule("Player Data")
{
	event
	{
		Ongoing - Global;
	}

	actions
	{
		Global.name = Empty Array;
		Global.role = Empty Array;
		Modify Global Variable(name, Append To Array, Custom String("VoyRager"));
		Modify Global Variable(role, Append To Array, 0);
		Modify Global Variable(name, Append To Array, Custom String("Shanalotte"));
		Modify Global Variable(role, Append To Array, 3);
		Modify Global Variable(name, Append To Array, Custom String("Bob"));
		Modify Global Variable(role, Append To Array, 5);
	}
}

rule("Apply Role")
{
	event
	{
		Player Joined Match;
		All;
		All;
	}

	actions
	{
		Event Player.role = Global.role[Index Of Array Value(Global.name, Custom String("{0}", Event Player))];
		If(Event Player.role == 0);
			Set Player Allowed Heroes(Event Player, All Tank Heroes);
		Else If(Event Player.role == 1);
			Set Player Allowed Heroes(Event Player, All Damage Heroes);
		Else If(Event Player.role == 2);
			Set Player Allowed Heroes(Event Player, All Support Heroes);
		Else If(Event Player.role == 3);
			Set Player Allowed Heroes(Event Player, Append To Array(All Tank Heroes, All Damage Heroes));
		Else If(Event Player.role == 4);
			Set Player Allowed Heroes(Event Player, Append To Array(All Tank Heroes, All Support Heroes));
		Else If(Event Player.role == 5);
			Set Player Allowed Heroes(Event Player, Append To Array(All Damage Heroes, All Support Heroes));
		End;
	}
}

Now if you want to add a new player to it you copy the last 2 actions of the “player data” rule and change the name to the name of the new player and the role to the number of his role:

  • 0 is tank
  • 1 is damage
  • 2 is support
  • 3 is tank/damage flex
  • 4 is tank/support flex
  • 5 is damage/support flex
1 Like

@GinIchmaru:
Thank you, I will look for this Rankade platform and check it out.
btw: We are an in-game OW Social Club called The Crude Luck Club.

@Shanalotte
To you, I like to extend my most humblest gesture of gratitude for the information you shared with me here. Your program model just corrected so many mistakes I had on the program model I was clumsily or to put more clear; trying to construct. Thank you again and again!

1 Like