Eventtype

From Vendetta Lua
Jump to navigationJump to search

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: