Call of Duty 2 (2005) Stock Multiplayer Scripting Reference

This page provides a comprehensive extraction of all known stock functions/methods usable in multiplayer (excluding any marked SP-only, such as most AI and character functions). Functions are grouped by category for readability. All are stock.

CoD2 Scripting Syntax Overview

CoD2 uses a C-like scripting language in .gsc files.

Array Functions

FunctionSyntaxDescriptionArguments
getarraykeysgetarraykeys(array)Returns array of keys from associative array.array (required)
sortbydistancesortbydistance(array, origin)Sorts array of entities by distance to origin.array (required), origin: vector (required)

Math & Vector Functions

FunctionSyntaxDescriptionArguments
distancedistance(vec1, vec2)Distance between two points.vec1, vec2: vector (required)
distance2ddistance2d(vec1, vec2)2D distance (ignores Z).vec1, vec2: vector (required)
distancesquareddistancesquared(vec1, vec2)Distance squared (faster).vec1, vec2: vector (required)
lengthlength(vec)Length of vector.vec: vector (required)
lengthsquaredlengthsquared(vec)Length squared.vec: vector (required)
randomintrandomint(range)Random int 0 to range-1.range: int (required)
randomfloatrandomfloat(range воздей)Random float 0.0 to range.range: float (required)
vectordotvectordot(vec1, vec2)Dot product.vec1, vec2: vector (required)
vectornormalizevectornormalize(vec)Unit vector.vec: vector (required)
anglestoforwardanglestoforward(angles)Forward direction vector from angles.angles: vector (required)
anglestorightanglestoright(angles)Right direction vector.angles: vector (required)
anglestoupanglestoup(angles)Up direction vector.angles: vector (required)

Trace Functions

FunctionSyntaxDescriptionArguments
bullettracebullettrace(start, end, hitCharacters, ignore)Trace with bullet physics.start, end: vector, hitCharacters: bool, ignore: entity (optional)
bullettracepassedbullettracepassed(start, end, hitCharacters, ignore)True if trace hits nothing significant.same as above
sighttracepassedsighttracepassed(start, end, hitCharacters, ignore)True if line of sight clear.same as above

Entity Functions/Methods

Function/MethodSyntaxDescriptionArguments
getentgetent(key, value)Get single entity by key (classname, targetname, etc).key: string, value: string
getentarraygetentarray(key, value)Get array of entities.key: string, value: string
spawnspawn(classname)Spawn script entity (e.g., script_model).classname: string
(entity) deleteentity delete()Delete entity.None
(entity) hideentity hide()Hide entity.None
(entity) showentity show()Show entity.None
(entity) setmodelentity setmodel(model)Set model.model: string
(entity) setoriginentity setorigin(origin)Set position.origin: vector
(entity) getoriginentity getorigin()Get position.None
(entity) setanglesentity setangles(angles)Set angles.angles: vector
(entity) getanglesentity getangles()Get angles.None
(entity) movetoentity moveto(pos, time, accel, decel)Move over time.pos: vector, time: float, accel/decel: float (optional)
(entity) linktoentity linkto(parent, tag, originOffset, anglesOffset)Link to parent.parent: entity, tag: string (optional), offsets: vector (optional)
(entity) unlinkentity unlink()Unlink.None
(entity) playsoundentity playsound(alias)Play sound once.alias: string
(entity) playloopsoundentity playloopsound(alias)Play looping sound.alias: string
(entity) stoploopsoundentity stoploopsound()Stop looping sound.None

Player Methods

MethodSyntaxDescriptionArguments
(player) getguidplayer getguid()Get player GUID.None
(player) getstanceplayer getstance()"stand", "crouch", or "prone".None
(player) shellshockplayer shellshock(name, duration)Apply shellshock effect.name: string, duration: float
(player) setclientdvarplayer setclientdvar(dvar, value)Set client dvar.dvar: string, value: string
(player) iprintlnplayer iprintln(text)Center print to one player.text: string
(player) iprintlnboldplayer iprintlnbold(text)Bold print to one player.text: string
(player) giveweaponplayer giveweapon(weapon)Give weapon.weapon: string
(player) givemaxammoplayer givemaxammo(weapon)Give max ammo.weapon: string
(player) takeweaponplayer takeweapon(weapon)Remove weapon.weapon: string
(player) switchtoweaponplayer switchtoweapon(weapon)Switch to weapon.weapon: string
(player) freezecontrolsplayer freezecontrols(bool)Freeze movement.bool

Misc & System Functions

FunctionSyntaxDescriptionArguments
addtestclientaddtestclient()Create bot for testing (MP).None
isdefinedisdefined(var)True if defined.var
isaliveisalive(entity)True if entity alive.entity
isplayerisplayer(entity)True if player.entity
getcvargetcvar(cvar)Get cvar string. cvar: string
getcvarintgetcvarint(cvar)Get cvar as int.cvar: string
getcvarfloatgetcvarfloat(cvar)Get cvar as float.cvar: string
precachemodelprecachemodel(model)Precache model.model: string
precacheshaderprecacheshader(shader)Precache shader.shader: string
loadfxloadfx(fx)Load effect.fx: string
playfxplayfx(fxId, origin)Play effect.fxId: int, origin: vector
earthquakeearthquake(scale, duration, origin, radius)Screen shake.scale, duration: float, origin: vector, radius: float
iprintlniprintln(text)Center print to all.text: string
iprintlnboldiprintlnbold(text)Bold print to all.text: string
ambientplayambientplay(alias)Play ambient sound.alias: string