Eventtype
Introduction
Events are used for communication between different parts of the client. For example the chat log is registered to the CHAT_MSG_CHANNEL event. When the client receives a chat message the event is triggered and the received string passed along with it. The event callback in the chat log now appends the string to the log.
A very basic example using the TARGET_CHANGED event. It's triggered whenever the target changes. There are three ways to register an object with the event.
A table with OnEvent callback: <source lang="lua"> -- define a table. this table is the "object" that gets registered with event target = {}
-- define a function called OnEvent within this table. It's called when the event is triggered. -- It has at least one argument, the name of the event that is passed to it -- the remaining arguments are optional event data function target:OnEvent(event, data)
-- this way it is possible to handle multiple events with one table if event == "TARGET_CHANGED" then -- the only action is to print something print("Target Changed") end
end
-- register the table with the event RegisterEvent(target, "TARGET_CHANGED") </source>
A table with TARGET_CHANGED callback: <source lang="lua"> -- define a table. this table is the "object" that gets registered with event target = {}
-- define a function called TARGET_CHANGED within this table. It's called when the event is triggered. -- It has at least one argument, the name of the event that is passed to it -- the remaining arguments are optional event data function target:TARGET_CHANGED(event, data)
-- the only action is to print something print("Target Changed")
end
-- register the table with the event RegisterEvent(target, "TARGET_CHANGED") </source>
A callback directly: <source lang="lua"> -- define the function that will be registered with the event -- It has at least one argument, the name of the event that is passed to it -- the remaining arguments are optional event data function eventhandler(event, data)
-- this way it is possible to handle multiple events with one function if event == "TARGET_CHANGED" then -- the only action is to print something print("Target Changed") end
end
-- register the function with the event RegisterEvent(eventhandler, "TARGET_CHANGED") </source>
Notes
Calling RegisterEvent twice with the same arguments will result in the same table receiving an event twice, which is generally not wanted. Use ReloadInterface or UnregisterEvent to get rid previously registered tables before registering new ones.
Passing locally defined tables to RegisterEvent doesn't work. example: <source lang="lua"> do
local tab = {} function tab:OnEvent() print("this doesn't work") end RegisterEvent(tab, "MYEVENT")
end </source>
the table needs a strong reference: <source lang="lua"> do
local tab = {} function tab:OnEvent() print("this does work") end RegisterEvent(tab, "MYEVENT") tab_strong = tab
end </source>
Eventlist
The client provides a set of predefined events.
Known events are:
ACTIVATE_CHAT_CHANNEL
Description:
ACTIVATE_CHAT_GROUP
Description:
ACTIVATE_CHAT_GUILD
Description:
ACTIVATE_CHAT_MISSION
Description:
ACTIVATE_CHAT_PRIVATE
Description:
ACTIVATE_CHAT_SAY
Description:
ACTIVATE_CHAT_SECTOR
Description:
ACTIVATE_CHAT_USER
Description:
AUTOAIM_MODE_CHANGED
Description:
CHANGE_ACTIVE_CHATTAB
Description:
CHARINFOMENU_TOGGLE
Description:
Charinfo menu was toggled with /charinfo command or key bind.
Arguments: None.
CHAT_CANCELLED
Description:
Triggered when esc is pressed in chat entry box.
Arguments: None.
CHAT_DONE
Description:
Triggered when enter is pressed in chat entry box.
Arguments: None.
CHAT_MSG_BAR1
Description:
A message from an Itani in the station bar.
Arguments:
CHAT_MSG_BAR2
Description:
A message from a Serco in the station bar.
Arguments:
CHAT_MSG_BAR3
Description:
A message from a UIT in the station bar.
Arguments:
CHAT_MSG_BAR
Description:
CHAT_MSG_BARENTER
Description:
A message stating that a player has entered the bar.
Arguments:
CHAT_MSG_BARLEAVE
Description:
A message stating that a player has left the bar.
Arguments:
CHAT_MSG_BARLIST
Description:
A message listing the players currently in the bar.
Arguments:
CHAT_MSG_BAR_EMOTE1
Description:
An emote (/me) message from an Itani in the station bar.
Arguments:
CHAT_MSG_BAR_EMOTE2
Description:
An emote (/me) message from a Serco in the station bar.
Arguments:
CHAT_MSG_BAR_EMOTE3
Description:
An emote (/me) message from a UIT in the station bar.
Arguments:
CHAT_MSG_BAR_EMOTE
Description:
CHAT_MSG_BUDDYNOTE
Description:
CHAT_MSG_CHANNEL
Description:
CHAT_MSG_CHANNEL_ACTIVE
Description:
Message on active channel.
Arguments:
data = {string name, string msg, int faction = factionid, int channelid}
CHAT_MSG_CHANNEL_EMOTE
Description:
CHAT_MSG_CHANNEL_EMOTE_ACTIVE
Description:
CHAT_MSG_CONFIRMATION
Description:
CHAT_MSG_DEATH
Description:
CHAT_MSG_ERROR
Description:
CHAT_MSG_GLOBAL_SERVER
Description:
CHAT_MSG_GROUP
Description:
A message from a player in your group.
Arguments:
CHAT_MSG_GROUP_NOTIFICATION
Description:
eg. Group death notification
Arguments:
data = {string msg, int location = sectorid}
CHAT_MSG_GUIDE
Description:
A message from a guide.
Arguments:
CHAT_MSG_GUILD
Description:
A message from guildmate.
Arguments:
data = {string msg, string name, int location = sectorid, int faction = factionid}
CHAT_MSG_GUILD_EMOTE
Description:
An emote (/me) message from a guildmate.
Arguments:
data = {string msg, string name, int location = sectorid, int faction = factionid}
CHAT_MSG_GUILD_MOTD
Description:
Not used, instead guild MOTD triggers CHAT_MSG_SERVER event.
CHAT_MSG_INCOMINGBUDDYNOTE
Description:
CHAT_MSG_MISSION
Description:
CHAT_MSG_MOTD
Description:
CHAT_MSG_NATION
Description:
A message on nation chat. Depricated/unused.
CHAT_MSG_PRINT
Description:
Processing this event calls print function with msg as argument (and possibly does other stuff),
it's triggered by echo command.
Arguments:
data = {string msg}
CHAT_MSG_PRIVATE
Description:
An incoming private message from another player.
Arguments:
data = {string msg, string name}
CHAT_MSG_PRIVATEOUTGOING
Description:
An outgoing private message to another player.
Causes outgoing message to be shown in chat. For example using SendChat function to send a priavate message will not cause it to be displayed, in this case it's required to trigger this event.
Arguments:
data = {string msg, string name}
CHAT_MSG_SECTOR
Description:
A message from a player in the sector.
Arguments:
CHAT_MSG_SECTORD
Description:
A message from the sector daemon.
Sends messages: (only way to get those messages, as far as i know)
'You lost/won the duel.'
'PLYAER_NAME sent you XXX credits.'
Arguments:
data = {string msg}
CHAT_MSG_SECTORD_MISSION
Description:
A mission message from the sector daemon.
Top5 listing at racetracks triggers this event too.
Arguments:
data = {string msg, int missionid}
CHAT_MSG_SECTORD_SECTOR
Description:
A sector message from the sector daemon (temp KOS standing messages and the 'You've been caught in an Ion Storm.' messages)
Arguments:
CHAT_MSG_SECTOR_EMOTE
Description:
An emote (/me) message from a player in-sector.
Arguments:
CHAT_MSG_SERVER
Description:
CHAT_MSG_SERVER_CHANNEL
Description:
CHAT_MSG_SERVER_CHANNEL_ACTIVE
Description:
CHAT_MSG_SERVER_GUILD
Description:
CHAT_MSG_SERVER_SECTOR
Description:
Messages triggered by (or that trigger) this event:
'You are entering [location].'
Arguments:
msg - string containging the message
CHAT_MSG_SYSTEM
Description:
A message from another player in your system.
Arguments:
CHAT_SCROLL_DOWN
Description:
CHAT_SCROLL_UP
Description:
CINEMATIC_START
Description:
Called when an ingame cinematic is started. Examples include the undocking animation and the warping sequences.
Arguments:
COMMAND
Description:
CONQUERED_SECTORS_UPDATED
Description:
DESIRED_SPEED_CHANGED
Description:
ENTERED_STATION
Description:
Triggered when entering station.
Arguments:
None.
ENTERING_STATION
Description:
ENTER_ZONE_NFZ
Description:
FLIGHT_MODE_CHANGED
Description:
FORGIVENESS_DIALOG
Description:
GROUP_CREATED
Description:
GROUP_MEMBER_DIED
Description:
GROUP_MEMBER_HEALTH_UPDATE
Description:
GROUP_MEMBER_JOINED
Description:
GROUP_MEMBER_KILLED
Description:
GROUP_MEMBER_LEFT
Description:
GROUP_MEMBER_LOCATION_CHANGED
Description:
GROUP_MEMBER_UPDATE
Description:
GROUP_OWNER_CHANGED
Description:
GROUP_SELF_INVITED
Description:
GROUP_SELF_JOINED
Description:
GROUP_SELF_LEFT
Description:
GUILD_ACTIVITY_LOG
Description:
GUILD_BALANCE_UPDATED
Description:
GUILD_BANK_LOG
Description:
GUILD_MEMBERS_UPDATED
Description:
GUILD_MEMBER_ADDED
Description:
Triggered when guild member logs on or joins the guild.
Arguments:
charid charid of added guild member.
GUILD_MEMBER_REMOVED
Description:
Triggered when guild member logs off or leaves the guild.
Arguments:
charid charid of removed guild member.
GUILD_MEMBER_UPDATED
Description:
GUILD_MOTD_UPDATED
Description:
GUILD_PRIVILEGES_UPDATED
Description:
GUNNER_KICKED
Description:
GUNNER_LEFT
Description:
HUD_HELP_TOGGLE
Description:
HUD_HIDE
Description:
HUD_INVENTORY_TOGGLE
Description:
HUD_MODE_TOGGLE
Description:
HUD_SHOW
Description:
HUD_SKIRMISH_CLOSE
Description:
HUD_SKIRMISH_OPEN
Description:
HUD_SKIRMISH_UPDATE
Description:
HUD_TOGGLE
Description:
HUD_UPDATE
Description:
INVENTORY_ADD
Description:
Arguments:(itemid)
itemid itemid of added item
INVENTORY_RECEIVED
Description:
INVENTORY_REMOVE
Description:
INVENTORY_UPDATE
Description:
JETTISONMENU_TOGGLE
Description:
JUMP_OUT_CINEMATIC_FINISHED
Description:
Called when the sector jump-out cinematic is finished.
Arguments:
LEAVE_ZONE_NFZ
Description:
LEAVING_STATION
Description:
LOGIN_FAILED
Description:
LOGIN_SUCCESSFUL
Description:
MISSIONLIST_UPDATED
Description:
MISSION_ADDED
Description:
MISSION_NOTIFICATION
Description:
MISSION_QUESTION_OPEN
Description:
MISSION_REMOVED
Description:
MISSION_TIMER_START
Description:
MISSION_TIMER_STOP
Description:
MISSION_UPDATED
Description:
MSG_LOGOFF_TIMER
Description:
Logoff and explode countdowns and abort messages.
Arguments: (string msg)
MSG_NOTIFICATION
Description:
NAVMENU_TOGGLE
Description:
NAVROUTE_ADD
Description:
NAVROUTE_CHANGED
Description:
NAVROUTE_SAVE
Description:
NAVROUTE_UNDOLAST
Description:
OBJECT_INFO_UPDATED
Description:
OPEN_SURVEY
Description:
PLAYERLIST_TOGGLE
Description:
PLAYER_DIED
Description:
Triggered when player in the sector dies.
Arguments:(int died = charid, int killed = charid)
died - charid of player who died
killed - charid of player who killed him
PLAYER_ENTERED_GAME
Description:
PLAYER_ENTERED_SECTOR
Description: Called whenever a player enters the sector you are in. When you first enter a sector it is called for every player and NPC currently in the sector. When you are entering a sector the first return value is 0 everything following is a character id but when you are already in the sector and another npc/player joins it returns a charid without starting with 0
Arguments: int charid
PLAYER_GOT_HIT
Description:
Triggered when player gets shot.
Arguments: (int attacked = charid, attacker = charid, unknown, boolean damaged)
unknown - seems proportional to damage but not quite the same
damaged - true when taking damage, false when being healed
PLAYER_GUILD_TAG_UPDATED
Description:
PLAYER_HIT
Description:
PLAYER_HOME_CHANGED
Description:
PLAYER_LEFT_SECTOR
Description:
PLAYERLIST_TOGGLE
Description:
Playerlist was toggled with command or keybind.
Arguments: None.
PLAYER_LOGGED_OUT
Description:
PLAYER_RECEIVED_NEW_ACCOMPLISHMENTS
Description:
PLAYER_STATS_UPDATED
Description:
PLAYER_UPDATE_ACCOMPLISHMENTS
Description:
PLAYER_UPDATE_FACTIONSTANDINGS
Description:
PLAYER_UPDATE_SKILLS
Description:
PLAYER_UPDATE_STATS
Description:
PROXIMITY_ALERT
Description:
SECTOR_ALIGNMENT_UPDATED
Description:
SECTOR_CHANGED
Description:
Triggered on entering a sector
Arguments:
sectorid - sectorid of the entered sector.
SECTOR_LOADED
Description:
SECTOR_LOADING
Description:
SERVER_DISCONNECTED
Description:
SHIP_CHANGED
Description:
SHIP_SPAWNED
Description:
SHIP_UPDATED
Description:
SHOW_STATION
Description:
START
Description:
STATION_TURRET_HEALTH_UPDATE
Description:
STATION_UPDATED
Description:
STATION_UPDATE_DESIREDITEMS
Description:
STATION_UPDATE_PRICE
Description:
STATION_UPDATE_REQUESTED
Description:
STORM_STARTED
Description:
STORM_STOPPED
Description:
SYSMENU_TOGGLE
Description:
SYSTEM_BEST_PRICE
Description:
Triggered when the best sell price of an item in the active ships cargo hold changes
Arguments:(item, price, station)
item itemid of changed item
price new price
station locationid of station with highest price
TARGET_CHANGED
Description:
Arguments: None.
TARGET_HEALTH_UPDATE
Description:
TARGET_SCANNED
Description:
Triggered when asteroid is scanned.
Causes HUD.scaninfo to be updated.
Arguments:(scaninfo, nodeid, objectid)
scaninfo string containing information on ores contained by the roid. Same thing that's displayed in top right corner of the hud (HUD.scaninfo.title)
possible values:
- 'Object too far to scan\n' (note the trailing newline)
- list of ore contents with one line per each ore, where line is: '[ore name] Ore: [percent]%'
nodeid nodeid of scanned roid.
objectid objectid of scanned roid.
TERMINATE
Description:
TRANSACTION_COMPLETED
Description:
TRANSACTION_FAILED
Description:
UNLOAD_INTERFACE
Description:
Raised when interface is about to be reloaded.
Arguments:
UPDATE_BUDDY_LIST
Description:
UPDATE_CHARACTER_LIST
Description:
UPDATE_CHARINFO
Description:
UPDATE_DUEL_INFO
Description:
UPDATE_NEWS
Description:
UPDATE_NEWS_HEADLINES
Description:
VOICECHAT_PLAYER_LISTEN_STATUS
Description:
VOICECHAT_PLAYER_MUTE_STATUS
Description:
VOICECHAT_PLAYER_TALK_STATUS
Description:
WAITING_FOR_CAPSHIP_LAUNCH
Description:
WARP_OUT_CINEMATIC_FINISHED
Description:
Called when the wormhole warp-out cinematic is finished.
Arguments:
WEAPON_GROUP_CHANGED
Description:
WEAPON_PROGRESS_START
Description:
WEAPON_PROGRESS_STOP
Description:
rHUDxscale
Description: