Miscellaneous

Configstring

Configstrings are strings (often in the form of a set of key\value pairs) set on the server and automatically sent to each client. They can be accessed with the Configstring and String utility functions.

Tip

A group of related configstrings usually only have a symbolic name for the first value, with a number added to get a particular value. For example, to access a user CS_PLAYERS configstring you must use et.trap_GetConfigstring(et.CS_PLAYERS + slotNumber).

See et.CS_* constants for available configstrings.

Here is the detailed content of the user CS_PLAYERS configstring:

Key

Value

Description

n

pers.netname

Nickname

t

sess.sessionTeam

Team

c

sess.playerType

Class

lc

sess.latchPlayerType

Latched class

r

sess.rank

Rank

m

medalStr

Medals

s

skillStr

Skills

dn

disguiseClientNum

Disguised covert ops

w

sess.playerWeapon

Primary weapon

lw

sess.latchPlayerWeapon

Latched primary weapon

sw

sess.playerWeapon2

Secondary weapon

lsw

sess.latchPlayerWeapon2

Latched secondary weapon

mu

sess.muted

Muted

ref

sess.referee

Referee

u

sess.uci

GeoIP ISO 3166-1 country code

Userinfo

Userinfo strings are strings set on clients for server processing. They can be accessed with the Userinfo functions.

Key

Example Value

Description

cg_etVersion

Enemy Territory, ET 2.60b

ET client version

cg_uinfo

12 0 100

Client settings [cg_autoreload/cg_autoactivate/cg_predictitems] [cl_timenudge] [cl_maxpackets]

cg_allowGeoIP

1

Geolocalisation setting

g_password

none

Server password

cl_guid

0123456789ABCDEF0123456789ABCDEF

GUID

cl_wwwDownload

1

Missing files downloading toggle

name

ETLegacyPlayer

Nickname

rate

2500

Rate setting

snaps

20

Snaps setting

ip

192.168.123.45:27960

IP and port

Note

The userinfo string of bots only includes the cl_guid, name, rate, snap and ip keys/values.

The following keys/values pairs are strictly used for connection validation, and are then dropped from userinfo strings once connection is established.

Key

Example Value

Description

protocol

84

Game protocol

qport

4834

Randomly chosen as startup

challenge

-686256943

Random 31 bit integer

SendServerCommand

et.trap_SendServerCommand() is used to send a command from the server to one or more clients.

The first argument is the slot number of the client the command is sent to. If it’s equal to -1, the command is broadcast to all clients.

The following commands can be issued:

Printing

Print a message to the client’s console:

"print \"Message\n\""

Print a message to the client’s top screen banner area:

"bp \"Message\n\""

Print a message to the center of the client’s screen:

"cp \"Message\n\""

Print a message to the client’s annoucement area and console:

"cpm \"Message\n\""

Print a message to the client’s console and writes it to the statsdump file:

"sc \"Message\n\""

Chatting

Print a message as a global chat message on behalf of the specified client:

"chat ClientNum \"Message\""

Print a message as a team chat message on behalf of the specified client:

"tchat ClientNum \"Message\" X-Location Y-Location Z-Location"
  • The X,Y,Z-Location’s are optional parameters that represent the client’s location.

Print a message as a global chat message via rcon (qsay command):

"chat \"Message\""

Voice Chat

Send a global voice chat on behalf of the specified client:

"vchat VoiceOnly ClientNum 50 Vsay-String Vsay-Number \"Custom-Message\"".
  • VoiceOnly prints a global chat message on behalf of ClientNum if set to 0, or only play the sound if set to 1.

  • Vsay-String is the global voice chat message.

  • Vsay-Number is the vsay number of Vsay as listed in the .voice files. It is by default random, but can be set by the player by passing parameters to the vsay command (/vsay <Vsay-Number> <Vsay-String>).

  • Custom-Message is by default empty (""). If set, it prints the message in the chat area.

Send a team voice chat on behalf of the specified client:

"vtchat VoiceOnly ClientNum 50 Vsay-String X-Location Y-Location Z-Location Vsay-Number \"Custom-Message\""
  • VoiceOnly prints a team chat message on behalf of ClientNum if set to 0, or only play the sound if set to 1.

  • Vsay-String is the team voice chat message.

  • Vsay-Number is the vsay number of Vsay as listed in the .voice files. It is by default random, but can be set by the player by passing parameters to the vsay command (/vsay <Vsay-Number> <Vsay-String>).

  • The X,Y,Z-Location’s are optional parameters that represent the client’s location.

  • Custom-Message is by default empty (""). If set, it prints the message in the chat area.

Send a fireteam voice chat on behalf of the specified client:

"vbchat VoiceOnly ClientNum 50 Fireteam-String X-Location Y-Location Z-Location Vsay-Number \"Custom-Message\""
  • VoiceOnly prints a fireteam chat message on behalf of ClientNum if set to 0, or only play the sound if set to 1.

  • Fireteam-String is the fireteam voice chat message.

  • Vsay-Number is the vsay number of Vsay as listed in the .voice files. It is by default random, but can be set by the player by passing parameters to the vsay command (/vsay <Vsay-Number> <Vsay-String>).

  • The X,Y,Z-Location’s are optional parameters that represent the client’s location.

  • Custom-Message is by default empty (""). If set, it prints the message in the chat area.

Fireteam

Show a fireteam invitation message to the client:

"application Number"
  • if Number is > -1, the “Accept …’s application to join your fireteam?” message is displayed. In this case, Number is the ClientNum of the applying client.

  • if Number is -1, the “Your application has been submitted” message is displayed.

  • if Number is -2, the “Your application failed” message is displayed.

  • if Number is -3, the “Your application has been approved” message is displayed.

  • if Number is -4, the “Your application reply has been sent” message is displayed.

Show a fireteam proposition message to the client:

"proposition Number Number2"
  • if Number is > -1, the “Accept …’s proposition to invite … to your fireteam?” message is displayed. In this case, Number is the ClientNum of the proposed client, and Number2 is the ClientNum of the proposing player.

  • if Number is -1, the “Your proposition has been submitted” message is displayed.

  • if Number is -2, the “Your proposition was rejected” message is displayed.

  • if Number is -3, the “Your proposition was accepted” message is displayed.

  • if Number is -4, the “Your proposition reply has been sent” message is displayed.

  • Number2 is an optional parameter only used when Number > -1.

Show a fireteam invitation message to the client:

"invitation Number"
  • if Number is > -1, the “Accept ..’s invitation to join your fireteam?” message is displayed. In this case, Number is the ClientNum of the applying client.

  • if Number is -1, the “Your invitation has been submitted” message is displayed.

  • if Number is -2, the “Your invitation rejected” message is displayed.

  • if Number is -3, the “Your invitation was accepted” message is displayed.

  • if Number is -4, the “Your invitation reply has been sent” message is displayed.

Others

Show the complaint vote message to the client:

"complaint Number"
  • if Number is > 1, the “File complaint against … for team-killing?” message is displayed. In this case, Number is the ClientNum of the teamkilling player.

  • if Number is -1, the “Complaint filed” message is displayed.

  • if Number is -2, the “Complaint dismissed” message is displayed.

Set the client game selected spawnpoint:

"setspawnpt Number"
  • Number is the selected spawnpoint.

Disconnect the client with a “Server disconnected” message:

"disconnect \"reason\""
  • reason is an optional parameter to show a reason after “Server disconnected”.

Note

Use et.trap_DropClient() instead.

Set a client’s configstring to a string:

"cs Number \"String\""
  • String is the new configstring string.

Note

Use et.trap_SetUserinfo() instead.

Replace any texture:

"remapShader \"OldShader\" \"NewShader\" #"
  • OldShader is the old shader.

  • NewShader is the new shader.

  • # is the Timeoffset, which currently should be left as 0.

Note

Use et.G_ShaderRemap() instead.

Damage bitflags

Name

Value

Description

DAMAGE_RADIUS

1

Indirect splash damage

DAMAGE_HALF_KNOCKBACK

2

Do less knockback

DAMAGE_NO_KNOCKBACK

4

Do not affect velocity, just view angles

DAMAGE_NO_PROTECTION

8

Armor, shields, invulnerability, godmode have no effect

DAMAGE_NO_TEAM_PROTECTION

16

(unused)

DAMAGE_DISTANCEFALLOFF

32

Distance falloff

Skill types

Name

Value

Description

SK_BATTLE_SENSE

0

Battle Sense

SK_EXPLOSIVES_AND_CONSTRUCTION

1

Engineering

SK_FIRST_AID

2

First Aid

SK_SIGNALS

3

Signals

SK_LIGHT_WEAPONS

4

Light Weapons

SK_HEAVY_WEAPONS

5

Heavy Weapons

SK_MILITARY_INTELLIGENCE_AND_SCOPED_WEAPONS

6

Covert Ops

Event types

Name

Value

Description

EV_NONE

0

EV_FOOTSTEP

1

EV_FOOTSTEP_METAL

2

(unused)

EV_FOOTSTEP_WOOD

3

(unused)

EV_FOOTSTEP_GRASS

4

(unused)

EV_FOOTSTEP_GRAVEL

5

(unused)

EV_FOOTSTEP_ROOF

6

(unused)

EV_FOOTSTEP_SNOW

7

(unused)

EV_FOOTSTEP_CARPET

8

(unused)

EV_FOOTSPLASH

9

EV_FOOTWADE

10

(unused)

EV_SWIM

11

EV_STEP_4

12

EV_STEP_8

13

EV_STEP_12

14

EV_STEP_16

15

EV_FALL_SHORT

16

EV_FALL_MEDIUM

17

EV_FALL_FAR

18

EV_FALL_NDIE

19

EV_FALL_DMG_10

20

EV_FALL_DMG_15

21

EV_FALL_DMG_25

22

EV_FALL_DMG_50

23

EV_WATER_TOUCH

24

EV_WATER_LEAVE

25

EV_WATER_UNDER

26

EV_WATER_CLEAR

27

EV_ITEM_PICKUP

28

EV_ITEM_PICKUP_QUIET

29

EV_GLOBAL_ITEM_PICKUP

30

EV_NOAMMO

31

EV_WEAPONSWITCHED

32

EV_EMPTYCLIP

33

(unused)

EV_FILL_CLIP

34

EV_MG42_FIXED

35

EV_WEAP_OVERHEAT

36

EV_CHANGE_WEAPON

37

EV_CHANGE_WEAPON_2

38

EV_FIRE_WEAPON

39

EV_FIRE_WEAPONB

40

EV_FIRE_WEAPON_LASTSHOT

41

EV_NOFIRE_UNDERWATER

42

EV_FIRE_WEAPON_MG42

43

EV_FIRE_WEAPON_MOUNTEDMG42

44

EV_ITEM_RESPAWN

45

(unused)

EV_ITEM_POP

46

(unused)

EV_PLAYER_TELEPORT_IN

47

(unused)

EV_PLAYER_TELEPORT_OUT

48

(unused)

EV_GRENADE_BOUNCE

49

EV_GENERAL_SOUND

50

EV_GENERAL_SOUND_VOLUME

51

EV_GLOBAL_SOUND

52

EV_GLOBAL_CLIENT_SOUND

53

EV_GLOBAL_TEAM_SOUND

54

EV_FX_SOUND

55

EV_BULLET_HIT_FLESH

56

EV_BULLET_HIT_WALL

57

EV_MISSILE_HIT

58

EV_MISSILE_MISS

59

EV_RAILTRAIL

60

EV_BULLET

61

EV_LOSE_HAT

62

EV_PAIN

63

EV_CROUCH_PAIN

64

(unused)

EV_DEATH1

65

(unused)

EV_DEATH2

66

(unused)

EV_DEATH3

67

(unused)

EV_OBITUARY

68

EV_STOPSTREAMINGSOUND

69

EV_POWERUP_QUAD

70

EV_POWERUP_BATTLESUIT

71

EV_POWERUP_REGEN

72

EV_GIB_PLAYER

73

EV_DEBUG_LINE,

74

(unused)

EV_STOPLOOPINGSOUND

75

EV_TAUNT

76

(unused)

EV_SMOKE

77

EV_SPARKS

78

EV_SPARKS_ELECTRIC

79

EV_EXPLODE

80

EV_RUBBLE

81

EV_EFFECT

82

EV_MORTAREFX

83

EV_SPINUP

84

EV_SNOW_ON

85

(unused)

EV_SNOW_OFF

86

(unused)

EV_MISSILE_MISS_SMALL

87

EV_MISSILE_MISS_LARGE

88

EV_MORTAR_IMPACT

89

EV_MORTAR_MISS

90

EV_SPIT_HIT

91

(unused)

EV_SPIT_MISS

92

(unused)

EV_SHARD

93

EV_JUNK

94

EV_EMITTER

95

EV_OILPARTICLES

96

EV_OILSLICK

97

EV_OILSLICKREMOVE

98

EV_MG42EFX

99

(unused)

EV_FLAKGUN1

100

(unused)

EV_FLAKGUN2

101

(unused)

EV_FLAKGUN3

102

(unused)

EV_FLAKGUN4

103

(unused)

EV_EXERT1

104

(unused)

EV_EXERT2

105

(unused)

EV_EXERT3

106

(unused)

EV_SNOWFLURRY

107

EV_CONCUSSIVE

108

(unused)

EV_DUST

109

EV_RUMBLE_EFX

110

EV_GUNSPARKS

111

EV_FLAMETHROWER_EFFECT

112

EV_POPUP

113

(unused)

EV_POPUPBOOK

114

(unused)

EV_GIVEPAGE

115

(unused)

EV_MG42BULLET_HIT_FLESH

116

EV_MG42BULLET_HIT_WALL

117

EV_SHAKE

118

EV_DISGUISE_SOUND

119

EV_BUILDDECAYED_SOUND

120

EV_FIRE_WEAPON_AAGUN

121

EV_DEBRIS

122

EV_ALERT_SPEAKER

123

EV_POPUPMESSAGE

124

EV_ARTYMESSAGE

125

EV_AIRSTRIKEMESSAGE

126

EV_MEDIC_CALL

127

EV_SHOVE_SOUND

128

EV_BODY_DP

129