StarCraft® II

lobby modifications, setup

Posts: 84
Not sure if this is the right place to bring this to, but i need to modify when a player enters the map's lobby.

I would need a drop-down button before entering wich would choose the difficulty.(Is there a way to connect this to triggers wich would remove 20% of life of the mobs on easy, but add 20% of life on hard?)
In the lobby i would need to remove the race selection (this is available in the map via diaolges) and any other modes on the upper right corner (like speed selection, team modes and such, these i want to integrate into the map via voting) and like to add a placement selection (replacing the race select) such as Top Left" or "Bottom Right"

Is there a way to swap host if he/she AFk for lets say 3 minutes?
Edited by Bushido on 11/17/2012 10:37 AM PST
Reply Quote
Posts: 1,049
Hi Bushido,

I'm not the best at all, but few things you've mentionned I know how to do.

First about, I would suggest you to don't have to choose anything in the lobby. That's maybe a personnal preference, but I think it makes it fair for all players (the last player joining might not have the time to choose race or such things because of auto-start) and it prevents to have different games for the same map by using different mode before creating the game. All you need can be done in-game, from race selection, spawn location, speed, team color, etc...

You could make a starting dialogs where all players vote their preferences and then you calculate the percentage (number of votes / number of players) and then pick the right choice.

For the difficulty and percentage diference, I'm not quite sure what is the best way to do it, but I would simply creat a behavior that set the life, the armor, whatever to a certain amount and apply the behavior to the units you want depending of the difficulty. So basicly, if difficulty = 1 (you could use a var to do like 1=easy 2=medium 3=hard...so you know if this var =1 then you're on easy) then pick units matching region or whatever you want and apply behavior.

For the lobby, you can do that by going in Map -> Game Variants and then changing the variants to what you want, show/hide what you want.

You can set the speed (even if I don't think it is much usefull and will mostly always finish as Faster except if you gameplay on your map is really dependent of the speed), the teams, etc in-game via triggers.

For the afk host, I don't think this is possible. The same way host cannot kick any player or prevent game start, you cannot detect an afk host. There are no trigger or data running outside the in-game. It all starts at loading screen.

So, I hope this will help you a little at least. =D
Good luck.
Edited by Fenix on 11/17/2012 7:33 PM PST
Reply Quote
Posts: 84
thx very much !

This was my 1st idea but i wanted to make it a bit simpler for me.
I guess ill stick to triggers its cleaner anyways :)

Thx a lot for the suggestions !
Reply Quote
Posts: 84
I would still need the top right, bottom right choice in the lobby tho because later on ill make the map to play either 4 teams (2v2v2v2) or 2 teams (4v4).
So if a player can choose the location players who know each other could end up on the same team. Or is there an easier solution to this?
8 players max and 4 start location on each side of the map. Right now its a 2 team setup (4v4).
It would look like this ( or close to this ):

Top left (1)
bottom left (1)
same for top/bottom right
and

Top left (2)
Bottom right (2)
and so on
Where (1) would be the left side of the map and (2) would be the right side of the map.
I may not make sence lol srry kinda new to this part of the creation :)

Speed vote would be only to help players who are new to the map so they have more time to figure it out ( maybe I make normal speed default on easy, faster on normal, fastest on hard idk yet...)
Edited by Bushido on 11/19/2012 10:32 AM PST
Reply Quote
Posts: 84
Alright I made the buttons for this:

map tab ->game attributes ->add attributes ( named it to "start position") ->usage: availability:1st come 1st serve; visibility: all players; access: self only ->values: I added all the poitions( top right, top left etc) ->default: assigned players to values( player 1-top right, player 2-top left etc)

Now the hard part: to connect these to triggers which I didnt figure out yet how to do but am workin on.

If i manage to do it I'll post it !
Reply Quote
Posts: 84
1,: I would need a drop-down button before entering wich would choose the difficulty.(Is there a way to connect this to triggers wich would remove 20% of life of the mobs on easy, but add 20% of life on hard?)

I made the drop-down bottons :

map tab -> Game variants -> added easy/normal/hard modes ->game type:Tower D ->Atributes: Game speed(made each variants with a different speed); Lobby delay: 5 / hidden; locked alliances: yes / hidden

I need to connect each of the variants to a trigger that will give a buff to the mobs ( this is only my theory) which will add/take away 20% of life depending on difficulty.

2,: In the lobby i would need to remove the race selection (this is available in the map via diaolges) and any other modes on the upper right corner (like speed selection, team modes and such, these i want to integrate into the map via voting) and like to add a placement selection (replacing the race select) such as Top Left" or "Bottom Right"

I made the buttons for this:

map tab ->game attributes ->add attributes ( named it to "start position") ->General tab: type: player ->usage: availability:1st come 1st serve; visibility: all players; access: self only ->values: I added all the poitions( top right, top left etc) ->default: assigned players to values( player 1-top right, player 2-top left etc)
The rest i removed (xcept color) by:

map tab ->game variants ->player attributes ->check all the attributes (top right corner) I didn't need (difficulty, hangycap, race)

Now I need to connect these to triggers.

3,:
Is there a way to swap host if he/she AFk for lets say 3 minutes?

Many say its not possible but I'll ask amyways :)

Someone pls help !!

Thx a lot !
Reply Quote
Posts: 84
<<reply 1079875>>

ok so this is as far as i got:

Game Modes

Events

Local Variables

Conditions

(Owner of (Last created unit)) == 15

Actions

General - Switch (Actions) depending on (Game Difficulty Modes game value)

Cases

General - If (Hard Mode)

Actions

Unit - Set (Last created unit) Life (Percent) to 120.0

But it doesnt work.. Any suggestions?
Reply Quote
Posts: 84
<<reply 1082276>>

alright so I was playing around with it and I got it to work now (Question #1) :

the trigger:

Game Modes

Events
Unit - Any Unit Leaves game mode region

Local Variables

Conditions
(Owner of (Triggering unit)) == 15

Actions
General - If (Conditions) then do (Actions) else do (Actions)

If
(Game Difficulty Modes game value) == Easy Mode

Then
Unit - Set (Triggering unit) Maximum Life to (((Triggering unit) Life (Current)) * 0.8)

Else
General - If (Conditions) then do (Actions) else do (Actions)

If
(Game Difficulty Modes game value) == Hard Mode

Then
Unit - Set (Triggering unit) Maximum Life to (((Triggering unit) Life (Current)) * 1.2)

Else

Than I added an action to my spawn trigger:

Trigger - Run Game Modes (Check Conditions, Don't Wait until it finishes)
Edited by Bushido on 11/22/2012 8:21 PM PST
Reply Quote
Posts: 84
<<reply 1082559>>

OK so I creacked Question #2:

I had to rewrite my whole choose race stuff and do this:

Make 3 (or as many race/builder you have) triggers initialy off, enabled and 2 variables (team 1 and 2, this is a player group variable)

trigger "buid 1":

General - If (Conditions) then do (Actions) else do (Actions)

If

(Start Position value for player (Triggering player)) == 1-Top Right

Then

Variable - Set Start Locations[2] = SL 2 LT

Variable - Set Builder Spawn Point[2] = BSpawn 2 LT

Unit - Create 1 town center 1 for player (Triggering player) at Start Locations[2] using default facing (No Options)

Unit Selection - Add (Last created unit) to control group 3 for player (Triggering player)

Camera - Pan the camera for player (Triggering player) to (Position of (Last created unit)) over 0.5 seconds with Existing Velocity% initial velocity, 10.0% deceleration, and Do Not use smart panning



Unit - Create 1 builder 1 for player (Triggering player) at Builder Spawn Point[2] using default facing (No Options)

Unit Selection - Add (Last created unit) to control group 1 for player (Triggering player)

Player Group - Add player (Triggering player) to Team Left

Dialog - Hide Dialog Builders for (Player group((Triggering player))

Else:
copy pasted the above action and changed the "Start Position value for player (Triggering player)) == 1-Top Right" to "Start Position value for player (Triggering player)) == 1-Top Left" then all the other velues and I copy pasted this action into the current action's "Else" section and changed the position to the next and so on

I did this for each position ( so 8 times and changed the location # to the corresponding point on the map so if Start Position value for player (Triggering player)) == would be 1-Top Left than Builder Spawn Point would be [1] and Start Locations would be also [1] same in the set variables == would be SL (as in start location) 1 LT(as in left team))

Note that if the position is 2-Top Right than the player must be added to team right because that position is on the other side of the map.

Than when all the position were done in this trigger I made the same for 2 more triggers but change the builder 1 to builder 2 and town center 1 to town center 2 and in the 3rd trigger changed builder/town center 2 to builder/town center 3(because builder/town center 1 is zerg but builder/town center 2 is protoss and builder/town center 3 is terran)

than made another trigger ( this 1 is initialy on and enabled) which calls on the trigger (from the above 3) that correspondes to the right dialog button:

Choose race trigger:

General - If (Conditions) then do (Actions) else do (Actions)

If

(Used dialog item) == Dialog Button race 1

Then

Trigger - Run build 1 (Check Conditions, Wait until it finishes)

Else

General - If (Conditions) then do (Actions) else do (Actions)

If

(Used dialog item) == Dialog Button race 2

Then

Trigger - Run build 2 (Check Conditions, Wait until it finishes)

Else

General - If (Conditions) then do (Actions) else do (Actions)

If

(Used dialog item) == Dialog Button race 3

Then

Trigger - Run build 3 (Check Conditions, Wait until it finishes)

And got to the sad conclusion while I was doing this that there is no answer to my 3rd question since triggers only control the map but cant control the Lobby
so the game has to start before any trigger kicks in ...
Reply Quote

Please report any Code of Conduct violations, including:

Threats of violence. We take these seriously and will alert the proper authorities.

Posts containing personal information about other players. This includes physical addresses, e-mail addresses, phone numbers, and inappropriate photos and/or videos.

Harassing or discriminatory language. This will not be tolerated.

Forums Code of Conduct

Report Post # written by

Reason
Explain (256 characters max)
Submit Cancel

Reported!

[Close]