Commands | CVARS | Communications | Scripting

Communications

Q3F communication features allow you to more accurately communicate information to team-mates, such as your current location or health.

When you send or receive a message in Q3F you can also designate the group of people it's destined for (or become a member of a specific receiving group) by using a special command called 'channel'. Think of this like the channel on a radio.

The channel command can be used to set, add, remove and clear channels that you're currently receiving. If you give no command, your current list of channels will be shown:

> \channel
> > Now listening on all channels.
> \channel set #offence #defence
> \channel add #command
> \channel rem #defence
> \channel
> > Now listening on: #offence #command.
> \channel clear
> > Now listening on all channels.

To send a channel message you simply prefix it with the channel name (including # symbol). For example somebody sending:

> say_team "#offence Regroup at $L."

Will be seen by you because you're a member of the #off channel, and additionally anyone else that has used the command 'channel set #offense'.

Wondering what that '$L' is? It's just like Nitro, Cheapo and Qizmo - it prints your current location! Other '$' strings include:

> $H Health
> $A Armour
> $L Location (returns 'unknown location' if unable to work it out)
> $D Location of last death. $R Last reported location (i.e. identical to last $L)
> $T Team name (e.g. "Red Team", "Blue Team" etc.)
> $C Team colour (e.g. red, blue etc.)
> $G Disguise (returns 'not disguised' if not wearing a disguise)
> $S Current Class (e.g. "Soldier")
> $N Name (player name / entity groupname (or one of them)
> $E State (e.g. "active", "carried" etc.)

See below for a complete communications example script using $ variables for offence and defence.

You can also make use of a special Q3F feature which allows you to play a wav sound file to all team-mates. The wav you wish to play must exist on all listening clients.

The syntax is as follows:

> say_team #channel &sample message

Where:

#channel is the channel to play the sound on (players with no channel selected will also get the message).

&sample is the sample to play, from amongst the set included in the mod (only if the server permits team chat sounds to be played).

Automating Communications

Here's an example script that you might use to make use of the $ communications variables:

> //Offence bind "say_team Enemy flag - $l"
> bind "key" "say_team Enemy flag - $d" // Use this after dying when you died near flag
> bind "key""say_team Enemy flag outgoing - $l"
> bind "key""say_team Position - $l [$hH $aA]"
> bind "key""say_team Where is the enemy flag?"
> //Defence
> bind "key""say_team Our flag - $l"
> bind "key""say_team Our flag outgoing - $l"
> bind "key""say_team Incoming - $l"
> bind "key""say_team Where is our flag?"
> //Misc
> bind "key""say_team Yes/OK!"
> bind "key""say_team Cancel that!"
> bind "key""say_team Can't help!"
> bind "key""say_team ^1NEED HELP!!! - $l [$hH $aA]"
> bind "key""say_team Need health/armor/ammo - $l [$hH $aA];saveme"