2014-11-30 06:17:28 +00:00
|
|
|
//=========== (C) Copyright 1999 Valve, L.L.C. All rights reserved. ===========
|
|
|
|
//
|
|
|
|
// The copyright to the contents herein is the property of Valve, L.L.C.
|
|
|
|
// The contents may be used and/or copied only with the written permission of
|
|
|
|
// Valve, L.L.C., or in accordance with the terms and conditions stipulated in
|
|
|
|
// the agreement/contract under which the contents have been supplied.
|
|
|
|
//=============================================================================
|
|
|
|
|
|
|
|
// No spaces in event names, max length 32
|
|
|
|
// All strings are case sensitive
|
|
|
|
//
|
|
|
|
// valid data key types are:
|
|
|
|
// string : a zero terminated string
|
|
|
|
// bool : unsigned int, 1 bit
|
|
|
|
// byte : unsigned int, 8 bit
|
|
|
|
// short : signed int, 16 bit
|
|
|
|
// long : signed int, 32 bit
|
|
|
|
// float : float, 32 bit
|
|
|
|
// local : any data, but not networked to clients
|
|
|
|
//
|
|
|
|
// following key names are reserved:
|
|
|
|
// local : if set to 1, event is not networked to clients
|
|
|
|
// unreliable : networked, but unreliable
|
|
|
|
// suppress : never fire this event
|
|
|
|
// time : firing server time
|
|
|
|
// eventid : holds the event ID
|
|
|
|
|
|
|
|
"ffevents"
|
|
|
|
{
|
|
|
|
"player_sayteam"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
"text" "string"
|
|
|
|
}
|
|
|
|
"player_death" // a game event, name may be 32 charaters long
|
|
|
|
{
|
|
|
|
// this extents the original player_death by a new
|
|
|
|
// field "headshot", all other fields remains the same
|
|
|
|
"userid" "short"
|
|
|
|
"attacker" "short"
|
|
|
|
"weapon" "string" // weapon name killer used
|
|
|
|
"damagetype" "long" // damage type
|
|
|
|
"killersglevel" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
// From here down are events necessary for bot support.
|
|
|
|
"player_changeclass"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
"oldclass" "short"
|
|
|
|
"newclass" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"build_dispenser"
|
|
|
|
{
|
|
|
|
"userid" "short" // who built it
|
|
|
|
}
|
|
|
|
|
|
|
|
"build_sentrygun"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"build_detpack"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"build_mancannon"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"detpack_detonated"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"sentrygun_killed"
|
|
|
|
{
|
|
|
|
"userid" "short" // owner
|
|
|
|
"attacker" "short"
|
|
|
|
"weapon" "string"
|
|
|
|
"attackerpos" "string"
|
|
|
|
"killedsglevel" "short"
|
|
|
|
"killersglevel" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"dispenser_killed"
|
|
|
|
{
|
|
|
|
"userid" "short" // owner
|
|
|
|
"attacker" "short"
|
|
|
|
"weapon" "string"
|
|
|
|
"killersglevel" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"mancannon_detonated"
|
|
|
|
{
|
|
|
|
"userid" "short" // owner
|
|
|
|
}
|
|
|
|
|
|
|
|
"mancannon_killed"
|
|
|
|
{
|
|
|
|
"userid" "short" // owner
|
|
|
|
"attacker" "short"
|
|
|
|
"weapon" "string"
|
|
|
|
"killersglevel" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"sentrygun_upgraded"
|
|
|
|
{
|
|
|
|
"userid" "short" // upgrader
|
|
|
|
"sgownerid" "short" // owner
|
|
|
|
"level" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"disguised"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
"team" "short"
|
|
|
|
"class" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"disguise_lost"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
"attackerid" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"cloak_lost"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
"attackerid" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"uncloaked"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"cloaked"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"dispenser_enemyused"
|
|
|
|
{
|
|
|
|
"userid" "short" // owner
|
|
|
|
"enemyid" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"dispenser_detonated"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"dispenser_dismantled"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"dispenser_sabotaged"
|
|
|
|
{
|
|
|
|
"userid" "short" // owner
|
|
|
|
"saboteur" "short" // who done it?
|
|
|
|
}
|
|
|
|
|
|
|
|
"sentry_detonated"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
"level" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"sentry_dismantled"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
"level" "short"
|
|
|
|
}
|
|
|
|
|
|
|
|
"sentry_sabotaged"
|
|
|
|
{
|
|
|
|
"userid" "short" // owner
|
|
|
|
"saboteur" "short" // who done it?
|
|
|
|
}
|
|
|
|
"player_additem"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
"item" "string"
|
|
|
|
}
|
|
|
|
"player_removeitem"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
"item" "string"
|
|
|
|
}
|
|
|
|
"player_removeallitems"
|
|
|
|
{
|
|
|
|
"userid" "short"
|
|
|
|
}
|
|
|
|
"ff_restartround"
|
|
|
|
{
|
|
|
|
}
|
|
|
|
"objective_event"
|
|
|
|
{
|
|
|
|
"userid" "short" // entity index of the player
|
|
|
|
//"eventname" "string"
|
|
|
|
"eventtext" "string"
|
|
|
|
}
|
|
|
|
"luaevent"
|
|
|
|
{
|
|
|
|
"userid" "short" // entity index of the first player
|
|
|
|
"userid2" "short" // entity index of the 2nd player
|
|
|
|
"eventname" "string" // name for the event - like flag_cap, flag_drop, etc - something stats programs could use
|
|
|
|
|
|
|
|
// These next ones are just brainstorming...
|
|
|
|
"key0" "string"
|
|
|
|
"value0" "string"
|
|
|
|
"key1" "string"
|
|
|
|
"value1" "string"
|
|
|
|
"key2" "string"
|
|
|
|
"value2" "string"
|
|
|
|
}
|
|
|
|
}
|