No edit summary |
mNo edit summary |
||
Line 75: | Line 75: | ||
And the reference for most existing events: | And the reference for most existing events: | ||
<syntaxhighlight lang="text | <syntaxhighlight lang="text"> | ||
pc_ev_useitem -> item:EVENT_USE | pc_ev_useitem -> item:EVENT_USE | ||
self : user | self : user | ||
Line 82: | Line 82: | ||
p2: target position | p2: target position | ||
p3: sub type | p3: sub type | ||
pc_ev_examine -> player:EVENT_EXAMINE | |||
self: player | self: player | ||
p0: target object | p0: target object | ||
Line 145: | Line 146: | ||
self: attacker | self: attacker | ||
p0: target object | p0: target object | ||
</syntaxhighlight> |
Revision as of 17:01, 9 December 2023
The way to get an event parameter has been standardized... now instead of calling functions from inc_x_events or getting local variable, parameters are stored in an array:
They can be obtained all at once with the GetEventParams() function or one by one, here are all functions to deal with the new events system:
Code: Select all
int GetEventParamInt(int nParamIndex);
object GetEventParamObject(int nParamIndex);
string GetEventParamString(int nParamIndex);
float GetEventParamFloat(int nParamIndex);
effect GetEventParamEffect(int nParamIndex);
array GetEventParamArray(int nParamIndex);
dictionary GetEventParamDictionary(int nParamIndex);
location GetEventParamLocation(int nParamIndex);
vector GetEventParamVector(int nParamIndex);
array GetEventParams();
int GetEventParamType(int nParam);
int GetEventParamCount();
void BypassEvent();
void SetEventResultInt(int nResult);
void SetEventResultObject(object oResult);
void SetEventResultString(string sResult);
void SetEventResultFloat(float fResult);
void SetEventResultEffect(effect eResult);
void SetEventResultArray(array aResult);
void SetEventResultDictionary(dictionary dResult);
void SetEventResultVector(vector vResult);
void SetEventResultLocation(location lResult);
void RunEvent(string sScript, object oTarget, array aParams);
int RunEventInt(string sScript, object oTarget, array aParams);
object RunEventObject(string sScript, object oTarget, array aParams);
string RunEventString(string sScript, object oTarget, array aParams);
float RunEventFloat(string sScript, object oTarget, array aParams);
effect RunEventEffect(string sScript, object oTarget, array aParams);
array RunEventArray(string sScript, object oTarget, array aParams);
dictionary RunEventDictionary(string sScript, object oTarget, array aParams);
vector RunEventVector(string sScript, object oTarget, array aParams);
location RunEventLocation(string sScript, object oTarget, array aParams);
And the reference for most existing events:
pc_ev_useitem -> item:EVENT_USE
self : user
p0: item
p1: target object
p2: target position
p3: sub type
pc_ev_examine -> player:EVENT_EXAMINE
self: player
p0: target object
pc_ev_attack -> attacker:EVENT_ATTACK
self: attacker
p0: target object
p1: attack type
pc_ev_trap -> target:EVENT_TRAP
self: trapper
p0: type
p1: target object
p2: target position
pc_ev_firetrap -> target:EVENT_FIRETRAP
self: trigger
p0: type
p1: target
pc_ev_useskill -> user:EVENT_USESKILL, user:EVENT_USESKILL_%skill%
self: user
p0: skill
p1: target
p2: target position
p3: item
pc_ev_usefeat -> user:EVENT_USEFEAT, user:EVENT_USEFEAT_%feat%
self: user
p0: feat
p1: target
p2: target position
pc_ev_togglemode -> user:EVENT_TOGGLEMODE, user:EVENT_TOGGLEMODE_%mode%
self: user
p0: mode
pc_ev_castspell -> caster:EVENT_CASTING, caster:EVENT_CASTING_%spell%
self: caster
p0: target
p1: target position
p2: spell
p3: meta magic
p4: class
p5: is instant
ilr_canequip -> item:EVENT_CAN_EQUIP
self: equip by
p0: item
pc_ev_setlike setter:EVENT_SETLIKE
self: setter
p0: type
p1: target
pc_ev_party
self: setter
p0: type
p1: target
pc_ev_pickpocket
self: attacker
p0: target object