POL System Events

Description:

This document describes all the "System Events" (Sysevents) that the POL core uses. These are enabled in Control Scripts using the EnableEvents() function. Only these events listed here should be used in the EnableEvents() function. You may not define User Events with any of these values (or any of the reserved values in sysEvent.inc). To use a user event in your script, you must not use EnableEvents(), just send it using SendEvent() (or process_obj.sendevent()) and look for it normally in the receiving script. Some of the Sysevents below are ranged, meaning you may specify a world distance in EnableEvents() beyond which the script will not receive the event. Use DisableEvents() to disable any of the Sysevents.

Last Modified: 3/20/2003

SYSEVENT_SPEECH
Explanation
This event comes in two types: Normal and Unicode. The latter is sent when the source is a client speaking in Unicode speech.
ID#:0x00000001
Struct Members:
NameType
typeSYSEVENT_SPEECH (0x00000001)
sourceCharacter Reference
textstring normal text (junk if unicode)
texttypetype of speech: "yell", "whisper", "emote", or "default"
uc_text(Unicode only) a "Unicode array" of 2-byte "Big Endian" integers corresponding to the unicode characters sent. will be an 'error' type if the Unicode input is "bad". will be uninitialized if no Unicode text is available (ie, when a non-Unicode client types the command)
langcode(Unicode only) string 3-character, uppercase language code, i.e. "ENU", "DEU", etc.
When sent:
When a player speaks in range of an item listening point, or NPC that has enabled the event. Note Ghost speech is a seperate event.
Ranged?
Yes



SYSEVENT_ENGAGED
Explanation
Combat Engaged event.
ID#:0x00000002
Struct Members:
NameType
typeSYSEVENT_ENGAGED (0x00000002)
sourceCharacter Reference
When sent:
When an attack is initiated against an NPC. (set opponent, or Target with the Harmful flag set)
Ranged?
No



SYSEVENT_DISENGAGED
Explanation
Combat Disengaged event.
ID#:0x00000004
Struct Members:
NameType
typeSYSEVENT_DISENGAGED (0x00000004)
sourceCharacter Reference
When sent:
When an attack is stopped against an NPC. (set opponent null, attacker dies)
Ranged?
No



SYSEVENT_DAMAGED
Explanation
The NPC was damaged.
ID#:0x00000008
Struct Members:
NameType
typeSYSEVENT_DAMAGED (0x00000008)
sourceCharacter Reference, or 0 if no character source
damageinteger damage amount
When sent:
The NPC recevied damage.
Ranged?
No



SYSEVENT_ENTEREDAREA
Explanation
A character entered inside a range around the NPC. Note, ignores Z distance.
ID#:0x00000010
Struct Members:
NameType
typeSYSEVENT_ENTEREDAREA (0x00000010)
sourceCharacter Reference
When sent:
The mobile walked into the range, a new NPC was created inside the range, or a character un-hid inside the range.
Ranged?
Yes



SYSEVENT_LEFTAREA
Explanation
A character left the range around the NPC. Note, ignores Z distance.
ID#:0x00000020
Struct Members:
NameType
typeSYSEVENT_LEFTAREA (0x00000020)
sourceCharacter Reference
When sent:
The mobile walked out of the range. Not sent if mobile hides, dies, or deleted.
Ranged?
Yes



SYSEVENT_OPPONENT_MOVED
Explanation
The NPC's opponent moved.
ID#:0x00000040
Struct Members:
NameType
typeSYSEVENT_OPPONENT_MOVED (0x00000040)
sourceCharacter Reference
When sent:
The NPC's current opponent moved. Inhibits the Enter/Leave events for the NPC's opponent.
Ranged?
No



SYSEVENT_HOSTILE_MOVED
Explanation
Not Implimented.
ID#:0x00000080
When sent:
Not Implimented
Ranged?
No



SYSEVENT_MERCHANT_BOUGHT
Explanation
Only sent to the merchant NPC that bought the items.
ID#:0x00000100
Struct Members:
NameType
typeSYSEVENT_MERCHANT_BOUGHT (0x00000100)
sourceCharacter Reference
amountamount of gold items sold for
When sent:
After an NPC merchant buys items from a player.
Ranged?
No



SYSEVENT_MERCHANT_SOLD
Explanation
Only sent to the merchant NPC that sold the items.
ID#:0x00000200
Struct Members:
NameType
typeSYSEVENT_MERCHANT_SOLD (0x00000200)
sourceCharacter Reference
amountamount of gold items sold for
When sent:
After an NPC merchant sells items to a player.
Ranged?
No



SYSEVENT_ITEM_GIVEN
Explanation
Item dropped on an NPC generates this event. Also sets the following cprops on the item: "GivenBy": PC's serial, "GivenTo":NPC's serial, "GivenTime":gameclock value when item was given.
Important: The item is moved to a storage area until the script handling the event moves it to a real container. If the item is not before by the time the event object goes out of scope (including passed to a subroutine! use 'byref' to prevent the event from being destroyed before it can be passed to the handling subroutine), the item will automatically be moved back to its old container, and the aformentioned cprops are erased.
ID#:0x00000400
Struct Members:
NameType
typeSYSEVENT_ITEM_GIVEN (0x00000400)
sourceCharacter Reference
itemItem Reference
When sent:
A player drops an item on an NPC.
Ranged?
No



SYSEVENT_DOUBLECLICKED
Explanation
Allows the NPC to receive double-click events (i.e. for mounting horses, pack llamas, etc.)
ID#:0x00000800
Struct Members:
NameType
typeSYSEVENT_DOUBLECLICKED (0x00000800)
sourceCharacter Reference
When sent:
A player double-clicked on an NPC.
Ranged?
No



SYSEVENT_GHOST_SPEECH
Explanation
Dead players generate this event when speaking, not SYSEVENT_SPEECH. Otherwise, see SYSEVENT_SPEECH for the struct members.
ID#:0x00001000
When sent:
A dead player speaks.
Ranged?
Yes



AUX Connection Receive Event
Explanation
This event is the method by which the AUX connection script received data from an external application. (Data may be sent with aux_connection.send())
Note: ONLY received in AUX connection handler scripts.
ID#:n/a
Struct Members:
NameType
typestring "recv"
valueunpacked scripting object
When sent:
When an external application connected to an AUX handler script sends packed data, wait_for_event() will return this struct.
Ranged?
Yes




If you know if any information is incorrect on these pages, mail your corrections to racalac@polserver.com

Copyright ©2003-2011 David Carpman, all rights reserved. DO NOT REPRODUCE, MIRROR, ALTER, SPINDLE, MUTILATE, OR SIT ON.