Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Revision as of 21:42, 24 November 2025 by Qrow (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Overview

Commshare (or Command Share) allows players to share control of units. Players who engage in Commsharing are assigned to a squad, which functions as if all the members of the squad were one player. Each squad member contributes all income and units to the squad.

Enable Commshare by holding Tab to open the player list, then pressing the Commshare Commshare icon to invite a player into your squad or to accept a player's invitation to a squad.

Modes

Commshare has three modes of operation:

All mode
All players are merged at game start (specifically, ≈166ms into the game). Nobody may unmerge or kick anyone at any time.
Invite mode (Default)
To merge with another player, you must first both agree to it. The player who invites the other first becomes the "squad leader," who acts as the representative of the squad. Squad leaders can kick anyone for any reason at any time. The players will receive their units back upon getting kicked. You may also leave a squad at any time as well. Issuing an invite is simple: Press Tab, then click on the half teal/half green Commander.
None
No commsharing is allowed. No commshare commands will be responded to.

Privileges

All members may accept, decline, or issue invites. Only the squad leader may kick anyone.

Developing

Commands to commshare should be issued using <syntaxhighlight lang="lua" inline>SendLuaRulesMsg</syntaxhighlight> with the following string: <syntaxhighlight lang="lua">sharemode <command> <param></syntaxhighlight> This is not case sensitive. The following are valid commands:

Command Param Purpose
Accept playerID Accepts an invite from playerID.
Decline playerID Declines an invite from playerID.
Invite playerID Issues an invite to playerID.
Kick playerID Forces playerID to unmerge, requires teamleader.
Remerge None Causes you to remerge if you were disconnected or kicked from game.
Unmerge None Causes you to unmerge.

Getting invites

Invites are stored in <syntaxhighlight lang="lua" inline>TeamRulesParam</syntaxhighlight> as private data. It is stored as if it were an ordered table.

Param Info Notes
<syntaxhighlight lang="lua" inline>commshare_invitecount</syntaxhighlight> # of invites Get this first, then do a <syntaxhighlight lang="lua" inline>for i = 1, commshare_invitecount</syntaxhighlight> loop.
<syntaxhighlight lang="lua" inline>"commshare_invite_" .. i .."_id"</syntaxhighlight> ID of the player who sent the invite
<syntaxhighlight lang="lua" inline>"commshare_invite_" .. i .."_timeleft"</syntaxhighlight> Time remaining on this invite You must check if this is different than last second's count to see if it's dead.