<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sinfar.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fiery+Imp</id>
	<title>Sinfar - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sinfar.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fiery+Imp"/>
	<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php/Special:Contributions/Fiery_Imp"/>
	<updated>2026-04-09T00:55:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Getting_Started&amp;diff=1068</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Getting_Started&amp;diff=1068"/>
		<updated>2025-10-06T13:25:17Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar. Unlike most other servers of Neverwinter Nights, Sinfar uses a lot of custom features that are required before you can truly connect. Below you will find all the necessary information to log in and have fun whether you&#039;re on Diamond Edition (1.69) with Windows or Linux or if you&#039;re using Enhanced Edition.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Installer ===&lt;br /&gt;
You can download the Sinfar installer here: https://git.sinfar.net/Fiery_Imp/sinfar-installer&lt;br /&gt;
&lt;br /&gt;
The installer works for both Diamond Edition and EE on Windows, for Linux and Mac users, or if you prefer to not use the installer, please see the manual installation process below.&lt;br /&gt;
&lt;br /&gt;
== WARNING: USE MANUAL INSTALL FOR NOW, INSTALLER DOWNLOAD CURRENTLY BROKEN!!! LINKS BELOW FOR MANUAL INSTALL ==&lt;br /&gt;
&lt;br /&gt;
==== Sinfar Installer ====&lt;br /&gt;
Thank you for your interest in the SinfarInstaller, this installer works for both the EE and Diamond edition of Neverwinter Nights.&lt;br /&gt;
&lt;br /&gt;
For any question, you can ask FieryImp on the Sinfar Discord server, or leave a comment in the issues section available on thedownload page.&lt;br /&gt;
&lt;br /&gt;
===== Feedback =====&lt;br /&gt;
Please give us feedback about your experience with the SinfarInstaller, whether you think something can be improved to give a smoother experience, or if you run into any kind of issues. Our goal is to make Sinfar as easy as possible to install for new players or old players alike when installing sinfar on a new system.&lt;br /&gt;
&lt;br /&gt;
You may leave feedback in the &amp;quot;Issue&amp;quot; section above, or contact FieryImp on discord directly for immediate questions.&lt;br /&gt;
&lt;br /&gt;
===== For regular users =====&lt;br /&gt;
Using the installer is easy, click on the download link below, download the file, unzip it, launch, and follow the instruction!&lt;br /&gt;
&lt;br /&gt;
===== Download links =====&lt;br /&gt;
All files are hosted by us.&lt;br /&gt;
&lt;br /&gt;
* [https://git.sinfar.net/Fiery_Imp/sinfar-installer/releases/download/2.0.0/sinfar-installer.zip Download installer 2.0.0]&lt;br /&gt;
&lt;br /&gt;
===== Anti-virus false positive =====&lt;br /&gt;
The download of the zip file and the unzipping of it seems to trigger false positive alert from windows defender sometimes. This doesn&#039;t always happen and I have to find the cause of it.&lt;br /&gt;
&lt;br /&gt;
Windows Defender will identify a supposed virus as &#039;&#039;Trojan:Script/Sabsik.FL.A!ml&#039;&#039; .  It&#039;s a well known error for installer programmed that are unsigned. We do not yet have means to sign the installer unfortunately as this could cost several hundred dollars per year.&lt;br /&gt;
&lt;br /&gt;
Please let us know if you run into this issue, and we&#039;ll keep working on trying to get that false positive to stop showing up.&lt;br /&gt;
&lt;br /&gt;
===== For developers of the Installer =====&lt;br /&gt;
I&#039;ll try to list here what&#039;s needed here in order to compile the Installer.&lt;br /&gt;
&lt;br /&gt;
===== Requirement =====&lt;br /&gt;
&lt;br /&gt;
* Rust SDK (Download here)&lt;br /&gt;
&lt;br /&gt;
=== Manual Installation ===&lt;br /&gt;
You can also install everything manually. For detailed instructions, please see the relevant pages:&lt;br /&gt;
&lt;br /&gt;
[[Getting Started - Diamond Edition]]&lt;br /&gt;
&lt;br /&gt;
[[Getting Started - Diamond Edition on Linux]]&lt;br /&gt;
&lt;br /&gt;
[[Getting Started - Enhanced Edition]]&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Getting_Started&amp;diff=1067</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Getting_Started&amp;diff=1067"/>
		<updated>2025-10-06T13:24:47Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar. Unlike most other servers of Neverwinter Nights, Sinfar uses a lot of custom features that are required before you can truly connect. Below you will find all the necessary information to log in and have fun whether you&#039;re on Diamond Edition (1.69) with Windows or Linux or if you&#039;re using Enhanced Edition.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Installer ===&lt;br /&gt;
You can download the Sinfar installer here: https://git.sinfar.net/Fiery_Imp/sinfar-installer&lt;br /&gt;
&lt;br /&gt;
The installer works for both Diamond Edition and EE on Windows, for Linux and Mac users, or if you prefer to not use the installer, please see the manual installation process below.&lt;br /&gt;
&lt;br /&gt;
== WARNING: USE MANUAL INSTALL FOR NOW, INSTALLER DOWNLOAD CURRENTLY BROKEN!!! ==&lt;br /&gt;
&lt;br /&gt;
==== Sinfar Installer ====&lt;br /&gt;
Thank you for your interest in the SinfarInstaller, this installer works for both the EE and Diamond edition of Neverwinter Nights.&lt;br /&gt;
&lt;br /&gt;
For any question, you can ask FieryImp on the Sinfar Discord server, or leave a comment in the issues section available on thedownload page.&lt;br /&gt;
&lt;br /&gt;
===== Feedback =====&lt;br /&gt;
Please give us feedback about your experience with the SinfarInstaller, whether you think something can be improved to give a smoother experience, or if you run into any kind of issues. Our goal is to make Sinfar as easy as possible to install for new players or old players alike when installing sinfar on a new system.&lt;br /&gt;
&lt;br /&gt;
You may leave feedback in the &amp;quot;Issue&amp;quot; section above, or contact FieryImp on discord directly for immediate questions.&lt;br /&gt;
&lt;br /&gt;
===== For regular users =====&lt;br /&gt;
Using the installer is easy, click on the download link below, download the file, unzip it, launch, and follow the instruction!&lt;br /&gt;
&lt;br /&gt;
===== Download links =====&lt;br /&gt;
All files are hosted by us.&lt;br /&gt;
&lt;br /&gt;
* [https://git.sinfar.net/Fiery_Imp/sinfar-installer/releases/download/2.0.0/sinfar-installer.zip Download installer 2.0.0]&lt;br /&gt;
&lt;br /&gt;
===== Anti-virus false positive =====&lt;br /&gt;
The download of the zip file and the unzipping of it seems to trigger false positive alert from windows defender sometimes. This doesn&#039;t always happen and I have to find the cause of it.&lt;br /&gt;
&lt;br /&gt;
Windows Defender will identify a supposed virus as &#039;&#039;Trojan:Script/Sabsik.FL.A!ml&#039;&#039; .  It&#039;s a well known error for installer programmed that are unsigned. We do not yet have means to sign the installer unfortunately as this could cost several hundred dollars per year.&lt;br /&gt;
&lt;br /&gt;
Please let us know if you run into this issue, and we&#039;ll keep working on trying to get that false positive to stop showing up.&lt;br /&gt;
&lt;br /&gt;
===== For developers of the Installer =====&lt;br /&gt;
I&#039;ll try to list here what&#039;s needed here in order to compile the Installer.&lt;br /&gt;
&lt;br /&gt;
===== Requirement =====&lt;br /&gt;
&lt;br /&gt;
* Rust SDK (Download here)&lt;br /&gt;
&lt;br /&gt;
=== Manual Installation ===&lt;br /&gt;
You can also install everything manually. For detailed instructions, please see the relevant pages:&lt;br /&gt;
&lt;br /&gt;
[[Getting Started - Diamond Edition]]&lt;br /&gt;
&lt;br /&gt;
[[Getting Started - Diamond Edition on Linux]]&lt;br /&gt;
&lt;br /&gt;
[[Getting Started - Enhanced Edition]]&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Getting_Started&amp;diff=949</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Getting_Started&amp;diff=949"/>
		<updated>2025-05-13T13:26:19Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: Added details&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar. Unlike most other servers of Neverwinter Nights, Sinfar uses a lot of custom features that are required before you can truly connect. Below you will find all the necessary information to log in and have fun whether you&#039;re on Diamond Edition (1.69) with Windows or Linux or if you&#039;re using Enhanced Edition.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Installer ===&lt;br /&gt;
You can download the Sinfar installer here: https://git.sinfar.net/Fiery_Imp/sinfar-installer&lt;br /&gt;
&lt;br /&gt;
The installer works for both Diamond Edition and EE on Windows, for Linux and Mac users, or if you prefer to not use the installer, please see the manual installation process below.&lt;br /&gt;
&lt;br /&gt;
==== Sinfar Installer ====&lt;br /&gt;
Thank you for your interest in the SinfarInstaller, this installer works for both the EE and Diamond edition of Neverwinter Nights.&lt;br /&gt;
&lt;br /&gt;
For any question, you can ask FieryImp on the Sinfar Discord server, or leave a comment in the issues section available on thedownload page.&lt;br /&gt;
&lt;br /&gt;
===== Feedback =====&lt;br /&gt;
Please give us feedback about your experience with the SinfarInstaller, whether you think something can be improved to give a smoother experience, or if you run into any kind of issues. Our goal is to make Sinfar as easy as possible to install for new players or old players alike when installing sinfar on a new system.&lt;br /&gt;
&lt;br /&gt;
You may leave feedback in the &amp;quot;Issue&amp;quot; section above, or contact FieryImp on discord directly for immediate questions.&lt;br /&gt;
&lt;br /&gt;
===== For regular users =====&lt;br /&gt;
Using the installer is easy, click on the download link below, download the file, unzip it, launch, and follow the instruction!&lt;br /&gt;
&lt;br /&gt;
===== Download links =====&lt;br /&gt;
All files are hosted by us.&lt;br /&gt;
&lt;br /&gt;
* [https://git.sinfar.net/Fiery_Imp/sinfar-installer/releases/download/2.0.0/sinfar-installer.zip Download installer 2.0.0]&lt;br /&gt;
&lt;br /&gt;
===== Anti-virus false positive =====&lt;br /&gt;
The download of the zip file and the unzipping of it seems to trigger false positive alert from windows defender sometimes. This doesn&#039;t always happen and I have to find the cause of it.&lt;br /&gt;
&lt;br /&gt;
Windows Defender will identify a supposed virus as &#039;&#039;Trojan:Script/Sabsik.FL.A!ml&#039;&#039; .  It&#039;s a well known error for installer programmed that are unsigned. We do not yet have means to sign the installer unfortunately as this could cost several hundred dollars per year.&lt;br /&gt;
&lt;br /&gt;
Please let us know if you run into this issue, and we&#039;ll keep working on trying to get that false positive to stop showing up.&lt;br /&gt;
&lt;br /&gt;
===== For developers of the Installer =====&lt;br /&gt;
I&#039;ll try to list here what&#039;s needed here in order to compile the Installer.&lt;br /&gt;
&lt;br /&gt;
===== Requirement =====&lt;br /&gt;
&lt;br /&gt;
* Rust SDK (Download here)&lt;br /&gt;
&lt;br /&gt;
=== Manual Installation ===&lt;br /&gt;
You can also install everything manually. For detailed instructions, please see the relevant pages:&lt;br /&gt;
&lt;br /&gt;
[[Getting Started - Diamond Edition]]&lt;br /&gt;
&lt;br /&gt;
[[Getting Started - Diamond Edition on Linux]]&lt;br /&gt;
&lt;br /&gt;
[[Getting Started - Enhanced Edition]]&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Getting_Started&amp;diff=948</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Getting_Started&amp;diff=948"/>
		<updated>2025-05-13T13:22:32Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: Updated the description that was copied from Gitea to remove typos, also added a direct dowload link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Sinfar. Unlike most other servers of Neverwinter Nights, Sinfar uses a lot of custom features that are required before you can truly connect. Below you will find all the necessary information to log in and have fun whether you&#039;re on Diamond Edition (1.69) with Windows or Linux or if you&#039;re using Enhanced Edition.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Installer ===&lt;br /&gt;
You can download the Sinfar installer here: https://git.sinfar.net/Fiery_Imp/sinfar-installer&lt;br /&gt;
&lt;br /&gt;
The installer works for both Diamond Edition and EE on Windows.&lt;br /&gt;
&lt;br /&gt;
==== Sinfar Installer ====&lt;br /&gt;
Thank you for your interest in the SinfarInstaller, this installer works for both the EE and Diamond edition of Neverwinter Nights.&lt;br /&gt;
&lt;br /&gt;
For any question, you can ask FieryImp on the Sinfar Discord server, or leave a comment in the issues section available on thedownload page.&lt;br /&gt;
&lt;br /&gt;
===== Feedback =====&lt;br /&gt;
Please give us feedback about your experience with the SinfarInstaller, whether you think something can be improved to give a smoother experience, or if you run into any kind of issues. Our goal is to make Sinfar as easy as possible to install for new players or old players alike when installing sinfar on a new system.&lt;br /&gt;
&lt;br /&gt;
You may leave feedback in the &amp;quot;Issue&amp;quot; section above, or contact FieryImp on discord directly for immediate questions.&lt;br /&gt;
&lt;br /&gt;
===== For regular users =====&lt;br /&gt;
Using the installer is easy, click on the download link below, download the file, unzip it, launch, and follow the instruction!&lt;br /&gt;
&lt;br /&gt;
===== Download links =====&lt;br /&gt;
All files are hosted by us.&lt;br /&gt;
&lt;br /&gt;
* [https://git.sinfar.net/Fiery_Imp/sinfar-installer/releases/download/2.0.0/sinfar-installer.zip Download installer 2.0.0]&lt;br /&gt;
&lt;br /&gt;
===== Anti-virus false positive =====&lt;br /&gt;
The download of the zip file and the unzipping of it seems to trigger false positive alert from windows defender sometimes. This doesn&#039;t always happen and I have to find the cause of it.&lt;br /&gt;
&lt;br /&gt;
Windows Defender will identify a supposed virus as &#039;&#039;Trojan:Script/Sabsik.FL.A!ml&#039;&#039; .  It&#039;s a well known error for installer programmed that are unsigned. We do not yet have means to sign the installer unfortunately as this could cost several hundred dollars per year.&lt;br /&gt;
&lt;br /&gt;
Please let us know if you run into this issue, and we&#039;ll keep working on trying to get that false positive to stop showing up.&lt;br /&gt;
&lt;br /&gt;
===== For developers of the Installer =====&lt;br /&gt;
I&#039;ll try to list here what&#039;s needed here in order to compile the Installer.&lt;br /&gt;
&lt;br /&gt;
===== Requirement =====&lt;br /&gt;
&lt;br /&gt;
* Rust SDK (Download here)&lt;br /&gt;
&lt;br /&gt;
=== Manual Installation ===&lt;br /&gt;
You can also install everything manually. For detailed instructions, please see the relevant pages:&lt;br /&gt;
&lt;br /&gt;
[[Getting Started - Diamond Edition]]&lt;br /&gt;
&lt;br /&gt;
[[Getting Started - Diamond Edition on Linux]]&lt;br /&gt;
&lt;br /&gt;
[[Getting Started - Enhanced Edition]]&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Custom_Emote&amp;diff=275</id>
		<title>Custom Emote</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Custom_Emote&amp;diff=275"/>
		<updated>2024-01-02T14:43:44Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
Custome emote token with a specific animation and phenotype can be created to be easily reusable. This allows you to access certain emotes that are necessarily accessible with the animation menu.&lt;br /&gt;
&lt;br /&gt;
== The command ==&lt;br /&gt;
&#039;&#039;&#039;!CE:SET [CUSTOM NAME]&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Then there are different parameters that can be added to that command that will be applied to the token &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANIM [ANIM ID] [PHENOTYPE ID]&#039;&#039;&#039;   (Required) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MOVE&#039;&#039;&#039;  (TODO with more detail) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DELAY&#039;&#039;&#039; (TODO wtih more detail) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FREEZE&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UNFREEZE&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FOLLOW&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;!CE:SET HUG ANIM 29 0&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Custom_Emote&amp;diff=274</id>
		<title>Custom Emote</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Custom_Emote&amp;diff=274"/>
		<updated>2024-01-02T14:43:19Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: Created page with &amp;quot;== Description == Custome emote token with a specific animation and phenotype can be created to be easily reusable. This allows you to access certain emotes that are necessarily accessible with the animation menu.  == The command == &amp;#039;&amp;#039;&amp;#039;!CE:SET [CUSTOM NAME]&amp;#039;&amp;#039;&amp;#039;   Then there are different parameters that can be added to that command that will be applied to the token   &amp;#039;&amp;#039;&amp;#039;ANIM [ANIM ID] [PHENOTYPE ID]&amp;#039;&amp;#039;&amp;#039;   (Required)   MOVE  (TODO with more detail)   DELAY (TODO wtih more d...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
Custome emote token with a specific animation and phenotype can be created to be easily reusable. This allows you to access certain emotes that are necessarily accessible with the animation menu.&lt;br /&gt;
&lt;br /&gt;
== The command ==&lt;br /&gt;
&#039;&#039;&#039;!CE:SET [CUSTOM NAME]&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Then there are different parameters that can be added to that command that will be applied to the token &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANIM [ANIM ID] [PHENOTYPE ID]&#039;&#039;&#039;   (Required) &lt;br /&gt;
&lt;br /&gt;
MOVE  (TODO with more detail) &lt;br /&gt;
&lt;br /&gt;
DELAY (TODO wtih more detail) &lt;br /&gt;
&lt;br /&gt;
FREEZE &lt;br /&gt;
&lt;br /&gt;
UNFREEZE &lt;br /&gt;
&lt;br /&gt;
FOLLOW &lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;!CE:SET HUG ANIM 29 0&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Event_System&amp;diff=248</id>
		<title>Event System</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Event_System&amp;diff=248"/>
		<updated>2023-12-14T15:33:04Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== OUTDATED ==&lt;br /&gt;
This page is outdated, instead check [[Variable Based Events|Variable based events]]&lt;br /&gt;
&lt;br /&gt;
== OUTDATED ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
They can be obtained all at once with the &#039;&#039;&#039;GetEventParams()&#039;&#039;&#039; function or one by one, here are all functions to deal with the new events system:&lt;br /&gt;
&lt;br /&gt;
Code: Select all&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
int GetEventParamInt(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
object GetEventParamObject(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
string GetEventParamString(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
float GetEventParamFloat(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
effect GetEventParamEffect(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
array GetEventParamArray(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
dictionary GetEventParamDictionary(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
location GetEventParamLocation(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
vector GetEventParamVector(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
array GetEventParams();&lt;br /&gt;
&lt;br /&gt;
int GetEventParamType(int nParam);&lt;br /&gt;
&lt;br /&gt;
int GetEventParamCount();&lt;br /&gt;
&lt;br /&gt;
void BypassEvent();&lt;br /&gt;
&lt;br /&gt;
void SetEventResultInt(int nResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultObject(object oResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultString(string sResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultFloat(float fResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultEffect(effect eResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultArray(array aResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultDictionary(dictionary dResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultVector(vector vResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultLocation(location lResult);&lt;br /&gt;
&lt;br /&gt;
void RunEvent(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
int RunEventInt(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
object RunEventObject(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
string RunEventString(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
float RunEventFloat(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
effect RunEventEffect(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
array RunEventArray(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
dictionary RunEventDictionary(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
vector RunEventVector(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
location RunEventLocation(string sScript, object oTarget, array aParams);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And the reference for most existing events:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
pc_ev_useitem -&amp;gt; item:EVENT_USE&lt;br /&gt;
self : user&lt;br /&gt;
p0: item&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: sub type&lt;br /&gt;
&lt;br /&gt;
pc_ev_examine -&amp;gt; player:EVENT_EXAMINE&lt;br /&gt;
self: player&lt;br /&gt;
p0: target object&lt;br /&gt;
&lt;br /&gt;
pc_ev_attack -&amp;gt; attacker:EVENT_ATTACK&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;br /&gt;
p1: attack type&lt;br /&gt;
&lt;br /&gt;
pc_ev_trap -&amp;gt; target:EVENT_TRAP&lt;br /&gt;
self: trapper&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_firetrap -&amp;gt; target:EVENT_FIRETRAP&lt;br /&gt;
self: trigger&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_useskill -&amp;gt; user:EVENT_USESKILL, user:EVENT_USESKILL_%skill%&lt;br /&gt;
self: user&lt;br /&gt;
p0: skill&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_usefeat -&amp;gt; user:EVENT_USEFEAT, user:EVENT_USEFEAT_%feat%&lt;br /&gt;
self: user&lt;br /&gt;
p0: feat&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_togglemode -&amp;gt; user:EVENT_TOGGLEMODE, user:EVENT_TOGGLEMODE_%mode%&lt;br /&gt;
self: user&lt;br /&gt;
p0: mode&lt;br /&gt;
&lt;br /&gt;
pc_ev_castspell -&amp;gt; caster:EVENT_CASTING, caster:EVENT_CASTING_%spell%&lt;br /&gt;
self: caster&lt;br /&gt;
p0: target&lt;br /&gt;
p1: target position&lt;br /&gt;
p2: spell&lt;br /&gt;
p3: meta magic&lt;br /&gt;
p4: class&lt;br /&gt;
p5: is instant&lt;br /&gt;
&lt;br /&gt;
ilr_canequip -&amp;gt; item:EVENT_CAN_EQUIP&lt;br /&gt;
self: equip by&lt;br /&gt;
p0: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_setlike setter:EVENT_SETLIKE&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_party&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_pickpocket&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[Category:Builders Tools]]&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Variable_Based_Events&amp;diff=247</id>
		<title>Variable Based Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Variable_Based_Events&amp;diff=247"/>
		<updated>2023-12-14T15:23:08Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: more events&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Those events will run only run for a specific object so they are optimal and should be your preferred way to register an event.&lt;br /&gt;
&lt;br /&gt;
=== Registering / Unregistering a variable Event ===&lt;br /&gt;
As you can guess, it is using local variables, for example:&lt;br /&gt;
[[File:Variable based 20190311-000047.png]]&lt;br /&gt;
&lt;br /&gt;
Will cause the myerf_useitem script to be called when the item on which the variable is set is used.&lt;br /&gt;
&lt;br /&gt;
You can also register multiple script to the same event:&lt;br /&gt;
[[File:Variable based 20190311-001248.png]]&lt;br /&gt;
&lt;br /&gt;
With the variables above, all scripts (myerf_useitem, myerf_useitem2, myerf_useitem3 and myerf_useitem4) will run when the item is used.&lt;br /&gt;
&lt;br /&gt;
You can register / unregister a variable event dynamically with the following functions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void RegisterVariableEvent(object oObject, string sEvent, string sScript, int bNoByPass=FALSE);&lt;br /&gt;
void UnregisterVariableEvent(object oObject, string sEvent, string sScript);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accessing the Parameters ===&lt;br /&gt;
# The registered scripts will run in the same context as the calling script so for example: &amp;lt;code&amp;gt;EVENT_USE&amp;lt;/code&amp;gt; is called by [https://nwn.sinfar.net/res_nss_edit.php?name=pc_ev_useitem pc_ev_useitem] so you can still get the item with &amp;lt;code&amp;gt;GetEventParamObject(0)&amp;lt;/code&amp;gt;.&lt;br /&gt;
# A variable event can also have its own parameters, they can be accessed with the following functions: &amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
array GetCurrentVariableEventParams();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# You can get the object on which the variable event was registered (it may not be the caller) and the currently running variable event (in case that you decide to register the same script to many events) with the following functions: &amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;object GetCurrentVariableEventTarget();&lt;br /&gt;
string GetCurrentVariableEvent();&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Creating / Running a Variable Based Event ===&lt;br /&gt;
You can trigger a variable event on an object by calling one of those functions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int RunVariableEvent(object oObject, string sEvent);&lt;br /&gt;
int RunVariableEventWithParams(object oObject, string sEvent, array aParams);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
They will return TRUE if the &amp;lt;code&amp;gt;BypassVariableEvent()&amp;lt;/code&amp;gt; was calling during the execution of one of the registered scripts.&lt;br /&gt;
&lt;br /&gt;
=== List of events ===&lt;br /&gt;
More information here for now (to be merged here most likely): [[Event System]]&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
pc_ev_useitem -&amp;gt; item:EVENT_USE&lt;br /&gt;
self : user&lt;br /&gt;
p0: item&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: sub type&lt;br /&gt;
&lt;br /&gt;
pc_ev_examine -&amp;gt; player:EVENT_EXAMINE&lt;br /&gt;
self: player&lt;br /&gt;
p0: target object&lt;br /&gt;
&lt;br /&gt;
pc_ev_attack -&amp;gt; attacker:EVENT_ATTACK&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;br /&gt;
p1: attack type&lt;br /&gt;
&lt;br /&gt;
pc_ev_trap -&amp;gt; target:EVENT_TRAP&lt;br /&gt;
self: trapper&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_firetrap -&amp;gt; target:EVENT_FIRETRAP&lt;br /&gt;
self: trigger&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_useskill -&amp;gt; user:EVENT_USESKILL, user:EVENT_USESKILL_%skill%&lt;br /&gt;
self: user&lt;br /&gt;
p0: skill&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_usefeat -&amp;gt; user:EVENT_USEFEAT, user:EVENT_USEFEAT_%feat%&lt;br /&gt;
self: user&lt;br /&gt;
p0: feat&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_togglemode -&amp;gt; user:EVENT_TOGGLEMODE, user:EVENT_TOGGLEMODE_%mode%&lt;br /&gt;
self: user&lt;br /&gt;
p0: mode&lt;br /&gt;
&lt;br /&gt;
pc_ev_castspell -&amp;gt; caster:EVENT_CASTING, caster:EVENT_CASTING_%spell%&lt;br /&gt;
self: caster&lt;br /&gt;
p0: target&lt;br /&gt;
p1: target position&lt;br /&gt;
p2: spell&lt;br /&gt;
p3: meta magic&lt;br /&gt;
p4: class&lt;br /&gt;
p5: is instant&lt;br /&gt;
&lt;br /&gt;
ilr_canequip -&amp;gt; item:EVENT_CAN_EQUIP&lt;br /&gt;
self: equip by&lt;br /&gt;
p0: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_setlike setter:EVENT_SETLIKE&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_party&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_pickpocket&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;br /&gt;
&lt;br /&gt;
EVENT_EQUIP&lt;br /&gt;
object oItem = GetPCItemLastEquipped();&lt;br /&gt;
object oPC = GetPCItemLastEquippedBy();&lt;br /&gt;
&lt;br /&gt;
EVENT_UNEQUIP&lt;br /&gt;
object oItem = GetPCItemLastUnequipped();&lt;br /&gt;
object oPC = GetPCItemLastUnequippedBy();&lt;br /&gt;
&lt;br /&gt;
EVENT_ACQUIRE&lt;br /&gt;
todo&lt;br /&gt;
&lt;br /&gt;
EVENT_ATTACKROLL&lt;br /&gt;
todo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[Category:Builders Tools]]&lt;br /&gt;
[[Category:Sinfar Supporters]]&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Variable_Based_Events&amp;diff=246</id>
		<title>Variable Based Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Variable_Based_Events&amp;diff=246"/>
		<updated>2023-12-14T15:19:55Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: Adde equip and unequip event&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Those events will run only run for a specific object so they are optimal and should be your preferred way to register an event.&lt;br /&gt;
&lt;br /&gt;
=== Registering / Unregistering a variable Event ===&lt;br /&gt;
As you can guess, it is using local variables, for example:&lt;br /&gt;
[[File:Variable based 20190311-000047.png]]&lt;br /&gt;
&lt;br /&gt;
Will cause the myerf_useitem script to be called when the item on which the variable is set is used.&lt;br /&gt;
&lt;br /&gt;
You can also register multiple script to the same event:&lt;br /&gt;
[[File:Variable based 20190311-001248.png]]&lt;br /&gt;
&lt;br /&gt;
With the variables above, all scripts (myerf_useitem, myerf_useitem2, myerf_useitem3 and myerf_useitem4) will run when the item is used.&lt;br /&gt;
&lt;br /&gt;
You can register / unregister a variable event dynamically with the following functions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void RegisterVariableEvent(object oObject, string sEvent, string sScript, int bNoByPass=FALSE);&lt;br /&gt;
void UnregisterVariableEvent(object oObject, string sEvent, string sScript);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accessing the Parameters ===&lt;br /&gt;
# The registered scripts will run in the same context as the calling script so for example: &amp;lt;code&amp;gt;EVENT_USE&amp;lt;/code&amp;gt; is called by [https://nwn.sinfar.net/res_nss_edit.php?name=pc_ev_useitem pc_ev_useitem] so you can still get the item with &amp;lt;code&amp;gt;GetEventParamObject(0)&amp;lt;/code&amp;gt;.&lt;br /&gt;
# A variable event can also have its own parameters, they can be accessed with the following functions: &amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
array GetCurrentVariableEventParams();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# You can get the object on which the variable event was registered (it may not be the caller) and the currently running variable event (in case that you decide to register the same script to many events) with the following functions: &amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;object GetCurrentVariableEventTarget();&lt;br /&gt;
string GetCurrentVariableEvent();&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Creating / Running a Variable Based Event ===&lt;br /&gt;
You can trigger a variable event on an object by calling one of those functions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int RunVariableEvent(object oObject, string sEvent);&lt;br /&gt;
int RunVariableEventWithParams(object oObject, string sEvent, array aParams);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
They will return TRUE if the &amp;lt;code&amp;gt;BypassVariableEvent()&amp;lt;/code&amp;gt; was calling during the execution of one of the registered scripts.&lt;br /&gt;
&lt;br /&gt;
=== List of events ===&lt;br /&gt;
More information here for now (to be merged here most likely): [[Event System]]&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
pc_ev_useitem -&amp;gt; item:EVENT_USE&lt;br /&gt;
self : user&lt;br /&gt;
p0: item&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: sub type&lt;br /&gt;
&lt;br /&gt;
pc_ev_examine -&amp;gt; player:EVENT_EXAMINE&lt;br /&gt;
self: player&lt;br /&gt;
p0: target object&lt;br /&gt;
&lt;br /&gt;
pc_ev_attack -&amp;gt; attacker:EVENT_ATTACK&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;br /&gt;
p1: attack type&lt;br /&gt;
&lt;br /&gt;
pc_ev_trap -&amp;gt; target:EVENT_TRAP&lt;br /&gt;
self: trapper&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_firetrap -&amp;gt; target:EVENT_FIRETRAP&lt;br /&gt;
self: trigger&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_useskill -&amp;gt; user:EVENT_USESKILL, user:EVENT_USESKILL_%skill%&lt;br /&gt;
self: user&lt;br /&gt;
p0: skill&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_usefeat -&amp;gt; user:EVENT_USEFEAT, user:EVENT_USEFEAT_%feat%&lt;br /&gt;
self: user&lt;br /&gt;
p0: feat&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_togglemode -&amp;gt; user:EVENT_TOGGLEMODE, user:EVENT_TOGGLEMODE_%mode%&lt;br /&gt;
self: user&lt;br /&gt;
p0: mode&lt;br /&gt;
&lt;br /&gt;
pc_ev_castspell -&amp;gt; caster:EVENT_CASTING, caster:EVENT_CASTING_%spell%&lt;br /&gt;
self: caster&lt;br /&gt;
p0: target&lt;br /&gt;
p1: target position&lt;br /&gt;
p2: spell&lt;br /&gt;
p3: meta magic&lt;br /&gt;
p4: class&lt;br /&gt;
p5: is instant&lt;br /&gt;
&lt;br /&gt;
ilr_canequip -&amp;gt; item:EVENT_CAN_EQUIP&lt;br /&gt;
self: equip by&lt;br /&gt;
p0: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_setlike setter:EVENT_SETLIKE&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_party&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_pickpocket&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;br /&gt;
&lt;br /&gt;
EVENT_EQUIP&lt;br /&gt;
object oItem = GetPCItemLastEquipped();&lt;br /&gt;
object oPC = GetPCItemLastEquippedBy();&lt;br /&gt;
EVENT_UNEQUIP&lt;br /&gt;
object oItem = GetPCItemLastUnequipped();&lt;br /&gt;
object oPC = GetPCItemLastUnequippedBy();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[Category:Builders Tools]]&lt;br /&gt;
[[Category:Sinfar Supporters]]&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=245</id>
		<title>Standardized aura script</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=245"/>
		<updated>2023-12-14T12:43:33Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: Added list of VFX link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Aura standardized script}}&lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
Script name: &#039;&#039;&#039;lat_stand_aura&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Associated variables&lt;br /&gt;
&lt;br /&gt;
* AURA_ID&lt;br /&gt;
* AURA2_ID&lt;br /&gt;
* AURA3_ID&lt;br /&gt;
* AURA4_ID&lt;br /&gt;
* AURA5_ID&lt;br /&gt;
&lt;br /&gt;
=== How to use ===&lt;br /&gt;
[[File:Onusepowerselfonlyunlimuse.png|thumb|319x319px]]&lt;br /&gt;
Item needs the following property (see image on the right)&lt;br /&gt;
&lt;br /&gt;
The script name must be set in EVENT_USE according to the [[Variable Based Events|Variable based event system]].&lt;br /&gt;
&lt;br /&gt;
The script can support up to 5 VFX, to add a VFX, give the ID of desired VFX in the associated variable mentioned in the information section.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Its important to set all the AURA_ID variable to -1, otherwise they are set to 0 by default and you will get a blue glow VFX on the character.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of VFX can be found here : https://www.sinfar.net/visualeffects.html&lt;br /&gt;
&lt;br /&gt;
== Alternative ==&lt;br /&gt;
As an alternative, you can make your own aura script if needed with the help of the &#039;&#039;&#039;lat_inc_aura&#039;&#039;&#039; include script.&lt;br /&gt;
&lt;br /&gt;
Here is an example on how to use it. The resulting script must of course be applied the same as the standardized script described above.&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;lat_inc_aura&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//Standardized Aura Script to be applied on EVENT_USE&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    //These variable are available as well&lt;br /&gt;
    // oItem = the item which triggered the script&lt;br /&gt;
    // oPC = the character possessing oItem&lt;br /&gt;
    &lt;br /&gt;
    //Nothing else need to be added before this, check with FieryImp or Badger if you think you need something before the if.&lt;br /&gt;
    &lt;br /&gt;
    if(LAT_CanApplyAura())&lt;br /&gt;
    {&lt;br /&gt;
        //This where you set the VFX, the only function call you will ever need to make here is LAT_SetVFX(int iVfxId);&lt;br /&gt;
       LAT_SetVFX(0); //Call this as many time as needed to set a VFX where 0 can be replaced with teh vfx id of your choice.&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[Category:Builders Tools]]&lt;br /&gt;
{{DEFAULTSORT:Aura standardized script}}&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=244</id>
		<title>Standardized aura script</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=244"/>
		<updated>2023-12-14T12:30:56Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: Fixed errors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Aura standardized script}}&lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
Script name: &#039;&#039;&#039;lat_stand_aura&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Associated variables&lt;br /&gt;
&lt;br /&gt;
* AURA_ID&lt;br /&gt;
* AURA2_ID&lt;br /&gt;
* AURA3_ID&lt;br /&gt;
* AURA4_ID&lt;br /&gt;
* AURA5_ID&lt;br /&gt;
&lt;br /&gt;
=== How to use ===&lt;br /&gt;
[[File:Onusepowerselfonlyunlimuse.png|thumb|319x319px]]&lt;br /&gt;
Item needs the following property (see image on the right)&lt;br /&gt;
&lt;br /&gt;
The script name must be set in EVENT_USE according to the [[Variable Based Events|Variable based event system]].&lt;br /&gt;
&lt;br /&gt;
The script can support up to 5 VFX, to add a VFX, give the ID of desired VFX in the associated variable mentioned in the information section.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Its important to set all the AURA_ID variable to -1, otherwise they are set to 0 by default and you will get a blue glow VFX on the character.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Alternative ==&lt;br /&gt;
As an alternative, you can make your own aura script if needed with the help of the &#039;&#039;&#039;lat_inc_aura&#039;&#039;&#039; include script.&lt;br /&gt;
&lt;br /&gt;
Here is an example on how to use it. The resulting script must of course be applied the same as the standardized script described above.&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;lat_inc_aura&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//Standardized Aura Script to be applied on EVENT_USE&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    //These variable are available as well&lt;br /&gt;
    // oItem = the item which triggered the script&lt;br /&gt;
    // oPC = the character possessing oItem&lt;br /&gt;
    &lt;br /&gt;
    //Nothing else need to be added before this, check with FieryImp or Badger if you think you need something before the if.&lt;br /&gt;
    &lt;br /&gt;
    if(LAT_CanApplyAura())&lt;br /&gt;
    {&lt;br /&gt;
        //This where you set the VFX, the only function call you will ever need to make here is LAT_SetVFX(int iVfxId);&lt;br /&gt;
       LAT_SetVFX(0); //Call this as many time as needed to set a VFX where 0 can be replaced with teh vfx id of your choice.&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[Category:Builders Tools]]&lt;br /&gt;
{{DEFAULTSORT:Aura standardized script}}&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=243</id>
		<title>Standardized aura script</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=243"/>
		<updated>2023-12-12T15:46:12Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Aura standardized script}}&lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
Script name: &#039;&#039;&#039;lat_stand_vfx&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Associated variables&lt;br /&gt;
&lt;br /&gt;
* AURA1_ID&lt;br /&gt;
* AURA2_ID&lt;br /&gt;
* AURA3_ID&lt;br /&gt;
* AURA4_ID&lt;br /&gt;
* AURA5_ID&lt;br /&gt;
&lt;br /&gt;
=== How to use ===&lt;br /&gt;
[[File:Onusepowerselfonlyunlimuse.png|thumb|319x319px]]&lt;br /&gt;
Item needs the following property (see image on the right)&lt;br /&gt;
&lt;br /&gt;
The script name must be set in EVENT_USE according to the [[Variable Based Events|Variable based event system]].&lt;br /&gt;
&lt;br /&gt;
The script can support up to 5 VFX, to add a VFX, give the ID of desired VFX in the associated variable mentioned in the information section.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Its important to set all the AURA_ID variable to -1, otherwise they are set to 0 by default and you will get a blue glow VFX on the character.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Alternative ==&lt;br /&gt;
As an alternative, you can make your own aura script if needed with the help of the &#039;&#039;&#039;lat_inc_aura&#039;&#039;&#039; include script.&lt;br /&gt;
&lt;br /&gt;
Here is an example on how to use it. The resulting script must of course be applied the same as the standardized script described above.&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;lat_inc_aura&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//Standardized Aura Script to be applied on EVENT_USE&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    //These variable are available as well&lt;br /&gt;
    // oItem = the item which triggered the script&lt;br /&gt;
    // oPC = the character possessing oItem&lt;br /&gt;
    &lt;br /&gt;
    //Nothing else need to be added before this, check with FieryImp or Badger if you think you need something before the if.&lt;br /&gt;
    &lt;br /&gt;
    if(LAT_CanApplyAura())&lt;br /&gt;
    {&lt;br /&gt;
        //This where you set the VFX, the only function call you will ever need to make here is LAT_SetVFX(int iVfxId);&lt;br /&gt;
       LAT_SetVFX(0); //Call this as many time as needed to set a VFX where 0 can be replaced with teh vfx id of your choice.&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[Category:Builders Tools]]&lt;br /&gt;
{{DEFAULTSORT:Aura standardized script}}&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=242</id>
		<title>Standardized aura script</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=242"/>
		<updated>2023-12-12T15:45:14Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Aura standardized script}}&lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
Script name: &#039;&#039;&#039;lat_stand_vfx&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Associated variables&lt;br /&gt;
&lt;br /&gt;
* AURA1_ID&lt;br /&gt;
* AURA2_ID&lt;br /&gt;
* AURA3_ID&lt;br /&gt;
* AURA4_ID&lt;br /&gt;
* AURA5_ID&lt;br /&gt;
&lt;br /&gt;
=== How to use ===&lt;br /&gt;
[[File:Onusepowerselfonlyunlimuse.png|thumb|319x319px]]&lt;br /&gt;
Item needs the following property (see image on the right)&lt;br /&gt;
&lt;br /&gt;
The script name must be set in EVENT_USE according to the [[Variable Based Events|Variable based event system]].&lt;br /&gt;
&lt;br /&gt;
The script can support up to 5 VFX, to add a VFX, give the ID of desired VFX in the associated variable mentioned in the information section.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Its important to set all the AURA_ID variable to -1, otherwise they are set to 0 by default and you will get a blue glow VFX on the character.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Alternative ==&lt;br /&gt;
As an alternative, you can make your own aura script if needed with the help of the &#039;&#039;&#039;lat_inc_aura&#039;&#039;&#039; include script.&lt;br /&gt;
&lt;br /&gt;
Here is an example on how to use it. The resulting script must of course be applied the same as the standardized script described above.&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;lat_inc_aura&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//Standardized Aura Script to be applied on EVENT_USE&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    //These variable are available as well&lt;br /&gt;
    // oItem = the item which triggered the script&lt;br /&gt;
    // oPC = the character possessing oItem&lt;br /&gt;
    &lt;br /&gt;
    //Nothing else need to be added before this, check with FieryImp or Badger if you think you need something before the if.&lt;br /&gt;
    &lt;br /&gt;
    if(LAT_CanApplyAura())&lt;br /&gt;
    {&lt;br /&gt;
        //This where you set the VFX, the only function call you will ever need to make here is LAT_SetVFX(int iVfxId);&lt;br /&gt;
       LAT_SetVFX(0); //Call this as many time as needed to set a VFX where 0 can be replaced with teh vfx id of your choice.&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[Category:Builders Tools]]&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=241</id>
		<title>Standardized aura script</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=241"/>
		<updated>2023-12-12T15:43:56Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: Added category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information ==&lt;br /&gt;
Script name: &#039;&#039;&#039;lat_stand_vfx&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Associated variables&lt;br /&gt;
&lt;br /&gt;
* AURA1_ID&lt;br /&gt;
* AURA2_ID&lt;br /&gt;
* AURA3_ID&lt;br /&gt;
* AURA4_ID&lt;br /&gt;
* AURA5_ID&lt;br /&gt;
&lt;br /&gt;
=== How to use ===&lt;br /&gt;
[[File:Onusepowerselfonlyunlimuse.png|thumb|319x319px]]&lt;br /&gt;
Item needs the following property (see image on the right)&lt;br /&gt;
&lt;br /&gt;
The script name must be set in EVENT_USE according to the [[Variable Based Events|Variable based event system]].&lt;br /&gt;
&lt;br /&gt;
The script can support up to 5 VFX, to add a VFX, give the ID of desired VFX in the associated variable mentioned in the information section.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Its important to set all the AURA_ID variable to -1, otherwise they are set to 0 by default and you will get a blue glow VFX on the character.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Alternative ==&lt;br /&gt;
As an alternative, you can make your own aura script if needed with the help of the &#039;&#039;&#039;lat_inc_aura&#039;&#039;&#039; include script.&lt;br /&gt;
&lt;br /&gt;
Here is an example on how to use it. The resulting script must of course be applied the same as the standardized script described above.&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;lat_inc_aura&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//Standardized Aura Script to be applied on EVENT_USE&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    //These variable are available as well&lt;br /&gt;
    // oItem = the item which triggered the script&lt;br /&gt;
    // oPC = the character possessing oItem&lt;br /&gt;
    &lt;br /&gt;
    //Nothing else need to be added before this, check with FieryImp or Badger if you think you need something before the if.&lt;br /&gt;
    &lt;br /&gt;
    if(LAT_CanApplyAura())&lt;br /&gt;
    {&lt;br /&gt;
        //This where you set the VFX, the only function call you will ever need to make here is LAT_SetVFX(int iVfxId);&lt;br /&gt;
       LAT_SetVFX(0); //Call this as many time as needed to set a VFX where 0 can be replaced with teh vfx id of your choice.&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[Category:Builders Tools]]&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=User:Fiery_Imp&amp;diff=240</id>
		<title>User:Fiery Imp</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=User:Fiery_Imp&amp;diff=240"/>
		<updated>2023-12-12T15:42:02Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: Created page with &amp;quot;An imp.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An imp.&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=239</id>
		<title>Standardized aura script</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=239"/>
		<updated>2023-12-12T15:40:48Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: /* Alternative */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information ==&lt;br /&gt;
Script name: &#039;&#039;&#039;lat_stand_vfx&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Associated variables&lt;br /&gt;
&lt;br /&gt;
* AURA1_ID&lt;br /&gt;
* AURA2_ID&lt;br /&gt;
* AURA3_ID&lt;br /&gt;
* AURA4_ID&lt;br /&gt;
* AURA5_ID&lt;br /&gt;
&lt;br /&gt;
=== How to use ===&lt;br /&gt;
[[File:Onusepowerselfonlyunlimuse.png|thumb|319x319px]]&lt;br /&gt;
Item needs the following property (see image on the right)&lt;br /&gt;
&lt;br /&gt;
The script name must be set in EVENT_USE according to the [[Variable Based Events|Variable based event system]].&lt;br /&gt;
&lt;br /&gt;
The script can support up to 5 VFX, to add a VFX, give the ID of desired VFX in the associated variable mentioned in the information section.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Its important to set all the AURA_ID variable to -1, otherwise they are set to 0 by default and you will get a blue glow VFX on the character.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Alternative ==&lt;br /&gt;
As an alternative, you can make your own aura script if needed with the help of the &#039;&#039;&#039;lat_inc_aura&#039;&#039;&#039; include script.&lt;br /&gt;
&lt;br /&gt;
Here is an example on how to use it. The resulting script must of course be applied the same as the standardized script described above.&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;lat_inc_aura&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//Standardized Aura Script to be applied on EVENT_USE&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    //These variable are available as well&lt;br /&gt;
    // oItem = the item which triggered the script&lt;br /&gt;
    // oPC = the character possessing oItem&lt;br /&gt;
    &lt;br /&gt;
    //Nothing else need to be added before this, check with FieryImp or Badger if you think you need something before the if.&lt;br /&gt;
    &lt;br /&gt;
    if(LAT_CanApplyAura())&lt;br /&gt;
    {&lt;br /&gt;
        //This where you set the VFX, the only function call you will ever need to make here is LAT_SetVFX(int iVfxId);&lt;br /&gt;
       LAT_SetVFX(0); //Call this as many time as needed to set a VFX where 0 can be replaced with teh vfx id of your choice.&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=238</id>
		<title>Standardized aura script</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=238"/>
		<updated>2023-12-12T15:31:52Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information ==&lt;br /&gt;
Script name: &#039;&#039;&#039;lat_stand_vfx&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Associated variables&lt;br /&gt;
&lt;br /&gt;
* AURA1_ID&lt;br /&gt;
* AURA2_ID&lt;br /&gt;
* AURA3_ID&lt;br /&gt;
* AURA4_ID&lt;br /&gt;
* AURA5_ID&lt;br /&gt;
&lt;br /&gt;
=== How to use ===&lt;br /&gt;
[[File:Onusepowerselfonlyunlimuse.png|thumb|319x319px]]&lt;br /&gt;
Item needs the following property (see image on the right)&lt;br /&gt;
&lt;br /&gt;
The script name must be set in EVENT_USE according to the [[Variable Based Events|Variable based event system]].&lt;br /&gt;
&lt;br /&gt;
The script can support up to 5 VFX, to add a VFX, give the ID of desired VFX in the associated variable mentioned in the information section.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Its important to set all the AURA_ID variable to -1, otherwise they are set to 0 by default and you will get a blue glow VFX on the character.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Alternative ==&lt;br /&gt;
As an alternative, you can make your own aura script if needed with the help of the &#039;&#039;&#039;lat_inc_aura&#039;&#039;&#039; include script.&lt;br /&gt;
&lt;br /&gt;
Here is an example on how to use it.&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;lat_inc_aura&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//Standardized Aura Script to be applied on EVENT_USE&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    //These variable are available as well&lt;br /&gt;
    // oItem = the item which triggered the script&lt;br /&gt;
    // oPC = the character possessing oItem&lt;br /&gt;
    &lt;br /&gt;
    //Nothing else need to be added before this, check with FieryImp or Badger if you think you need something before the if.&lt;br /&gt;
    &lt;br /&gt;
    if(LAT_CanApplyAura())&lt;br /&gt;
    {&lt;br /&gt;
        //This where you set the VFX, the only function call you will ever need to make here is LAT_SetVFX(int iVfxId);&lt;br /&gt;
       LAT_SetVFX(0); //Call this as many time as needed to set a VFX where 0 can be replaced with teh vfx id of your choice.&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=237</id>
		<title>Standardized aura script</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=237"/>
		<updated>2023-12-12T15:29:26Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information ==&lt;br /&gt;
Script name: &#039;&#039;&#039;lat_stand_vfx&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Associated variables&lt;br /&gt;
&lt;br /&gt;
* AURA1_ID&lt;br /&gt;
* AURA2_ID&lt;br /&gt;
* AURA3_ID&lt;br /&gt;
* AURA4_ID&lt;br /&gt;
* AURA5_ID&lt;br /&gt;
&lt;br /&gt;
=== How to use ===&lt;br /&gt;
[[File:Onusepowerselfonlyunlimuse.png|thumb|319x319px]]&lt;br /&gt;
Item needs the following property (see image on the right)&lt;br /&gt;
&lt;br /&gt;
The script name must be set in EVENT_USE according to the [[Variable Based Events|Variable based event system]].&lt;br /&gt;
&lt;br /&gt;
The script can support up to 5 VFX, to add a VFX, give the ID of desired VFX in the associated variable mentioned in the information section.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Its important to set all the AURA_ID variable to -1, otherwise they are set to 0 by default and you will get a blue glow VFX on the character.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=236</id>
		<title>Standardized aura script</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=236"/>
		<updated>2023-12-12T15:27:53Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information ==&lt;br /&gt;
Script name : &#039;&#039;&#039;lat_stand_vfx&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Associated variables&lt;br /&gt;
&lt;br /&gt;
* AURA1_ID&lt;br /&gt;
* AURA2_ID&lt;br /&gt;
* AURA3_ID&lt;br /&gt;
* AURA4_ID&lt;br /&gt;
* AURA5_ID&lt;br /&gt;
&lt;br /&gt;
=== How to use ===&lt;br /&gt;
[[File:Onusepowerselfonlyunlimuse.png|thumb|319x319px]]&lt;br /&gt;
Item needs the following property (see image on the right)&lt;br /&gt;
&lt;br /&gt;
The script name must be set in EVENT_USE according to the [[Variable Based Events|Variable based event system]].&lt;br /&gt;
&lt;br /&gt;
The script can support up to 5 VFX, to add a VFX, give the ID of desired VFX in the associated variable mentioned in the information section.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Its important to set all the AURA_ID variable to -1, otherwise they are set to 0 by default and you will get a blue glow VFX on the character.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=235</id>
		<title>Standardized aura script</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=235"/>
		<updated>2023-12-12T02:24:23Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: /* How to use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information ==&lt;br /&gt;
Script name : &#039;&#039;&#039;lat_stand_vfx&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Associated variables&lt;br /&gt;
&lt;br /&gt;
* AURA1_ID&lt;br /&gt;
* AURA2_ID&lt;br /&gt;
* AURA3_ID&lt;br /&gt;
* AURA4_ID&lt;br /&gt;
* AURA5_ID&lt;br /&gt;
&lt;br /&gt;
=== How to use ===&lt;br /&gt;
[[File:Onusepowerselfonlyunlimuse.png|thumb|319x319px]]&lt;br /&gt;
Item needs the following property (see image on the right)&lt;br /&gt;
&lt;br /&gt;
The script name must be set in EVENT_USE according to the [[Variable Based Events|Variable based event system]].&lt;br /&gt;
&lt;br /&gt;
The script can support up to 5 VFX, to add a VFX, give the ID of desired VFX in the associated variable mentioned in the information section.&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=234</id>
		<title>Standardized aura script</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Standardized_aura_script&amp;diff=234"/>
		<updated>2023-12-12T02:22:12Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: Created page with &amp;quot;== Information == Script name : &amp;#039;&amp;#039;&amp;#039;lat_stand_vfx&amp;#039;&amp;#039;&amp;#039;  Association variables  * AURA1_ID * AURA2_ID * AURA3_ID * AURA4_ID * AURA5_ID  === How to use === 319x319px Item needs the following property (see image on the right)&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information ==&lt;br /&gt;
Script name : &#039;&#039;&#039;lat_stand_vfx&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Association variables&lt;br /&gt;
&lt;br /&gt;
* AURA1_ID&lt;br /&gt;
* AURA2_ID&lt;br /&gt;
* AURA3_ID&lt;br /&gt;
* AURA4_ID&lt;br /&gt;
* AURA5_ID&lt;br /&gt;
&lt;br /&gt;
=== How to use ===&lt;br /&gt;
[[File:Onusepowerselfonlyunlimuse.png|thumb|319x319px]]&lt;br /&gt;
Item needs the following property (see image on the right)&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=File:Onusepowerselfonlyunlimuse.png&amp;diff=233</id>
		<title>File:Onusepowerselfonlyunlimuse.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=File:Onusepowerselfonlyunlimuse.png&amp;diff=233"/>
		<updated>2023-12-12T02:21:32Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;d&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Variable_Based_Events&amp;diff=222</id>
		<title>Variable Based Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Variable_Based_Events&amp;diff=222"/>
		<updated>2023-12-11T15:20:05Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: Added list of  events&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Those events will run only run for a specific object so they are optimal and should be your preferred way to register an event.&lt;br /&gt;
&lt;br /&gt;
=== Registering / Unregistering a variable Event ===&lt;br /&gt;
As you can guess, it is using local variables, for example:&lt;br /&gt;
[[File:Variable based 20190311-000047.png]]&lt;br /&gt;
&lt;br /&gt;
Will cause the myerf_useitem script to be called when the item on which the variable is set is used.&lt;br /&gt;
&lt;br /&gt;
You can also register multiple script to the same event:&lt;br /&gt;
[[File:Variable based 20190311-001248.png]]&lt;br /&gt;
&lt;br /&gt;
With the variables above, all scripts (myerf_useitem, myerf_useitem2, myerf_useitem3 and myerf_useitem4) will run when the item is used.&lt;br /&gt;
&lt;br /&gt;
You can register / unregister a variable event dynamically with the following functions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void RegisterVariableEvent(object oObject, string sEvent, string sScript, int bNoByPass=FALSE);&lt;br /&gt;
void UnregisterVariableEvent(object oObject, string sEvent, string sScript);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accessing the Parameters ===&lt;br /&gt;
# The registered scripts will run in the same context as the calling script so for example: &amp;lt;code&amp;gt;EVENT_USE&amp;lt;/code&amp;gt; is called by [https://nwn.sinfar.net/res_nss_edit.php?name=pc_ev_useitem pc_ev_useitem] so you can still get the item with &amp;lt;code&amp;gt;GetEventParamObject(0)&amp;lt;/code&amp;gt;.&lt;br /&gt;
# A variable event can also have its own parameters, they can be accessed with the following functions: &amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
array GetCurrentVariableEventParams();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# You can get the object on which the variable event was registered (it may not be the caller) and the currently running variable event (in case that you decide to register the same script to many events) with the following functions: &amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;object GetCurrentVariableEventTarget();&lt;br /&gt;
string GetCurrentVariableEvent();&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Creating / Running a Variable Based Event ===&lt;br /&gt;
You can trigger a variable event on an object by calling one of those functions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int RunVariableEvent(object oObject, string sEvent);&lt;br /&gt;
int RunVariableEventWithParams(object oObject, string sEvent, array aParams);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
They will return TRUE if the &amp;lt;code&amp;gt;BypassVariableEvent()&amp;lt;/code&amp;gt; was calling during the execution of one of the registered scripts.&lt;br /&gt;
&lt;br /&gt;
=== List of events ===&lt;br /&gt;
More information here for now (to be merged here most likely): [[Event System]]&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
pc_ev_useitem -&amp;gt; item:EVENT_USE&lt;br /&gt;
self : user&lt;br /&gt;
p0: item&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: sub type&lt;br /&gt;
&lt;br /&gt;
pc_ev_examine -&amp;gt; player:EVENT_EXAMINE&lt;br /&gt;
self: player&lt;br /&gt;
p0: target object&lt;br /&gt;
&lt;br /&gt;
pc_ev_attack -&amp;gt; attacker:EVENT_ATTACK&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;br /&gt;
p1: attack type&lt;br /&gt;
&lt;br /&gt;
pc_ev_trap -&amp;gt; target:EVENT_TRAP&lt;br /&gt;
self: trapper&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_firetrap -&amp;gt; target:EVENT_FIRETRAP&lt;br /&gt;
self: trigger&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_useskill -&amp;gt; user:EVENT_USESKILL, user:EVENT_USESKILL_%skill%&lt;br /&gt;
self: user&lt;br /&gt;
p0: skill&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_usefeat -&amp;gt; user:EVENT_USEFEAT, user:EVENT_USEFEAT_%feat%&lt;br /&gt;
self: user&lt;br /&gt;
p0: feat&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_togglemode -&amp;gt; user:EVENT_TOGGLEMODE, user:EVENT_TOGGLEMODE_%mode%&lt;br /&gt;
self: user&lt;br /&gt;
p0: mode&lt;br /&gt;
&lt;br /&gt;
pc_ev_castspell -&amp;gt; caster:EVENT_CASTING, caster:EVENT_CASTING_%spell%&lt;br /&gt;
self: caster&lt;br /&gt;
p0: target&lt;br /&gt;
p1: target position&lt;br /&gt;
p2: spell&lt;br /&gt;
p3: meta magic&lt;br /&gt;
p4: class&lt;br /&gt;
p5: is instant&lt;br /&gt;
&lt;br /&gt;
ilr_canequip -&amp;gt; item:EVENT_CAN_EQUIP&lt;br /&gt;
self: equip by&lt;br /&gt;
p0: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_setlike setter:EVENT_SETLIKE&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_party&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_pickpocket&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[Category:Builders Tools]]&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Event_System&amp;diff=219</id>
		<title>Event System</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Event_System&amp;diff=219"/>
		<updated>2023-12-09T17:02:02Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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:&lt;br /&gt;
&lt;br /&gt;
They can be obtained all at once with the &#039;&#039;&#039;GetEventParams()&#039;&#039;&#039; function or one by one, here are all functions to deal with the new events system:&lt;br /&gt;
&lt;br /&gt;
Code: Select all&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
int GetEventParamInt(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
object GetEventParamObject(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
string GetEventParamString(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
float GetEventParamFloat(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
effect GetEventParamEffect(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
array GetEventParamArray(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
dictionary GetEventParamDictionary(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
location GetEventParamLocation(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
vector GetEventParamVector(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
array GetEventParams();&lt;br /&gt;
&lt;br /&gt;
int GetEventParamType(int nParam);&lt;br /&gt;
&lt;br /&gt;
int GetEventParamCount();&lt;br /&gt;
&lt;br /&gt;
void BypassEvent();&lt;br /&gt;
&lt;br /&gt;
void SetEventResultInt(int nResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultObject(object oResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultString(string sResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultFloat(float fResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultEffect(effect eResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultArray(array aResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultDictionary(dictionary dResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultVector(vector vResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultLocation(location lResult);&lt;br /&gt;
&lt;br /&gt;
void RunEvent(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
int RunEventInt(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
object RunEventObject(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
string RunEventString(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
float RunEventFloat(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
effect RunEventEffect(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
array RunEventArray(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
dictionary RunEventDictionary(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
vector RunEventVector(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
location RunEventLocation(string sScript, object oTarget, array aParams);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And the reference for most existing events:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
pc_ev_useitem -&amp;gt; item:EVENT_USE&lt;br /&gt;
self : user&lt;br /&gt;
p0: item&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: sub type&lt;br /&gt;
&lt;br /&gt;
pc_ev_examine -&amp;gt; player:EVENT_EXAMINE&lt;br /&gt;
self: player&lt;br /&gt;
p0: target object&lt;br /&gt;
&lt;br /&gt;
pc_ev_attack -&amp;gt; attacker:EVENT_ATTACK&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;br /&gt;
p1: attack type&lt;br /&gt;
&lt;br /&gt;
pc_ev_trap -&amp;gt; target:EVENT_TRAP&lt;br /&gt;
self: trapper&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_firetrap -&amp;gt; target:EVENT_FIRETRAP&lt;br /&gt;
self: trigger&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_useskill -&amp;gt; user:EVENT_USESKILL, user:EVENT_USESKILL_%skill%&lt;br /&gt;
self: user&lt;br /&gt;
p0: skill&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_usefeat -&amp;gt; user:EVENT_USEFEAT, user:EVENT_USEFEAT_%feat%&lt;br /&gt;
self: user&lt;br /&gt;
p0: feat&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_togglemode -&amp;gt; user:EVENT_TOGGLEMODE, user:EVENT_TOGGLEMODE_%mode%&lt;br /&gt;
self: user&lt;br /&gt;
p0: mode&lt;br /&gt;
&lt;br /&gt;
pc_ev_castspell -&amp;gt; caster:EVENT_CASTING, caster:EVENT_CASTING_%spell%&lt;br /&gt;
self: caster&lt;br /&gt;
p0: target&lt;br /&gt;
p1: target position&lt;br /&gt;
p2: spell&lt;br /&gt;
p3: meta magic&lt;br /&gt;
p4: class&lt;br /&gt;
p5: is instant&lt;br /&gt;
&lt;br /&gt;
ilr_canequip -&amp;gt; item:EVENT_CAN_EQUIP&lt;br /&gt;
self: equip by&lt;br /&gt;
p0: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_setlike setter:EVENT_SETLIKE&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_party&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_pickpocket&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Event_System&amp;diff=218</id>
		<title>Event System</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Event_System&amp;diff=218"/>
		<updated>2023-12-09T17:01:34Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
Code: Select all&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
int GetEventParamInt(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
object GetEventParamObject(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
string GetEventParamString(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
float GetEventParamFloat(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
effect GetEventParamEffect(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
array GetEventParamArray(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
dictionary GetEventParamDictionary(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
location GetEventParamLocation(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
vector GetEventParamVector(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
array GetEventParams();&lt;br /&gt;
&lt;br /&gt;
int GetEventParamType(int nParam);&lt;br /&gt;
&lt;br /&gt;
int GetEventParamCount();&lt;br /&gt;
&lt;br /&gt;
void BypassEvent();&lt;br /&gt;
&lt;br /&gt;
void SetEventResultInt(int nResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultObject(object oResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultString(string sResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultFloat(float fResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultEffect(effect eResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultArray(array aResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultDictionary(dictionary dResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultVector(vector vResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultLocation(location lResult);&lt;br /&gt;
&lt;br /&gt;
void RunEvent(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
int RunEventInt(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
object RunEventObject(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
string RunEventString(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
float RunEventFloat(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
effect RunEventEffect(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
array RunEventArray(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
dictionary RunEventDictionary(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
vector RunEventVector(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
location RunEventLocation(string sScript, object oTarget, array aParams);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And the reference for most existing events:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
pc_ev_useitem -&amp;gt; item:EVENT_USE&lt;br /&gt;
self : user&lt;br /&gt;
p0: item&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: sub type&lt;br /&gt;
&lt;br /&gt;
pc_ev_examine -&amp;gt; player:EVENT_EXAMINE&lt;br /&gt;
self: player&lt;br /&gt;
p0: target object&lt;br /&gt;
&lt;br /&gt;
pc_ev_attack -&amp;gt; attacker:EVENT_ATTACK&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;br /&gt;
p1: attack type&lt;br /&gt;
&lt;br /&gt;
pc_ev_trap -&amp;gt; target:EVENT_TRAP&lt;br /&gt;
self: trapper&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_firetrap -&amp;gt; target:EVENT_FIRETRAP&lt;br /&gt;
self: trigger&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_useskill -&amp;gt; user:EVENT_USESKILL, user:EVENT_USESKILL_%skill%&lt;br /&gt;
self: user&lt;br /&gt;
p0: skill&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_usefeat -&amp;gt; user:EVENT_USEFEAT, user:EVENT_USEFEAT_%feat%&lt;br /&gt;
self: user&lt;br /&gt;
p0: feat&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_togglemode -&amp;gt; user:EVENT_TOGGLEMODE, user:EVENT_TOGGLEMODE_%mode%&lt;br /&gt;
self: user&lt;br /&gt;
p0: mode&lt;br /&gt;
&lt;br /&gt;
pc_ev_castspell -&amp;gt; caster:EVENT_CASTING, caster:EVENT_CASTING_%spell%&lt;br /&gt;
self: caster&lt;br /&gt;
p0: target&lt;br /&gt;
p1: target position&lt;br /&gt;
p2: spell&lt;br /&gt;
p3: meta magic&lt;br /&gt;
p4: class&lt;br /&gt;
p5: is instant&lt;br /&gt;
&lt;br /&gt;
ilr_canequip -&amp;gt; item:EVENT_CAN_EQUIP&lt;br /&gt;
self: equip by&lt;br /&gt;
p0: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_setlike setter:EVENT_SETLIKE&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_party&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_pickpocket&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Event_System&amp;diff=217</id>
		<title>Event System</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Event_System&amp;diff=217"/>
		<updated>2023-12-09T17:00:31Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
Code: Select all&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
int GetEventParamInt(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
object GetEventParamObject(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
string GetEventParamString(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
float GetEventParamFloat(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
effect GetEventParamEffect(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
array GetEventParamArray(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
dictionary GetEventParamDictionary(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
location GetEventParamLocation(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
vector GetEventParamVector(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
array GetEventParams();&lt;br /&gt;
&lt;br /&gt;
int GetEventParamType(int nParam);&lt;br /&gt;
&lt;br /&gt;
int GetEventParamCount();&lt;br /&gt;
&lt;br /&gt;
void BypassEvent();&lt;br /&gt;
&lt;br /&gt;
void SetEventResultInt(int nResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultObject(object oResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultString(string sResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultFloat(float fResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultEffect(effect eResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultArray(array aResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultDictionary(dictionary dResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultVector(vector vResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultLocation(location lResult);&lt;br /&gt;
&lt;br /&gt;
void RunEvent(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
int RunEventInt(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
object RunEventObject(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
string RunEventString(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
float RunEventFloat(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
effect RunEventEffect(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
array RunEventArray(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
dictionary RunEventDictionary(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
vector RunEventVector(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
location RunEventLocation(string sScript, object oTarget, array aParams);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And the reference for most existing events:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
pc_ev_useitem -&amp;gt; item:EVENT_USE&lt;br /&gt;
self : user&lt;br /&gt;
p0: item&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: sub type&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;pc_ev_examine -&amp;gt; player:EVENT_EXAMINE&lt;br /&gt;
self: player&lt;br /&gt;
p0: target object&lt;br /&gt;
&lt;br /&gt;
pc_ev_attack -&amp;gt; attacker:EVENT_ATTACK&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;br /&gt;
p1: attack type&lt;br /&gt;
&lt;br /&gt;
pc_ev_trap -&amp;gt; target:EVENT_TRAP&lt;br /&gt;
self: trapper&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_firetrap -&amp;gt; target:EVENT_FIRETRAP&lt;br /&gt;
self: trigger&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_useskill -&amp;gt; user:EVENT_USESKILL, user:EVENT_USESKILL_%skill%&lt;br /&gt;
self: user&lt;br /&gt;
p0: skill&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_usefeat -&amp;gt; user:EVENT_USEFEAT, user:EVENT_USEFEAT_%feat%&lt;br /&gt;
self: user&lt;br /&gt;
p0: feat&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_togglemode -&amp;gt; user:EVENT_TOGGLEMODE, user:EVENT_TOGGLEMODE_%mode%&lt;br /&gt;
self: user&lt;br /&gt;
p0: mode&lt;br /&gt;
&lt;br /&gt;
pc_ev_castspell -&amp;gt; caster:EVENT_CASTING, caster:EVENT_CASTING_%spell%&lt;br /&gt;
self: caster&lt;br /&gt;
p0: target&lt;br /&gt;
p1: target position&lt;br /&gt;
p2: spell&lt;br /&gt;
p3: meta magic&lt;br /&gt;
p4: class&lt;br /&gt;
p5: is instant&lt;br /&gt;
&lt;br /&gt;
ilr_canequip -&amp;gt; item:EVENT_CAN_EQUIP&lt;br /&gt;
self: equip by&lt;br /&gt;
p0: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_setlike setter:EVENT_SETLIKE&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_party&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_pickpocket&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Event_System&amp;diff=216</id>
		<title>Event System</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Event_System&amp;diff=216"/>
		<updated>2023-12-09T16:58:00Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: added code block&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
Code: Select all&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
int GetEventParamInt(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
object GetEventParamObject(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
string GetEventParamString(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
float GetEventParamFloat(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
effect GetEventParamEffect(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
array GetEventParamArray(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
dictionary GetEventParamDictionary(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
location GetEventParamLocation(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
vector GetEventParamVector(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
array GetEventParams();&lt;br /&gt;
&lt;br /&gt;
int GetEventParamType(int nParam);&lt;br /&gt;
&lt;br /&gt;
int GetEventParamCount();&lt;br /&gt;
&lt;br /&gt;
void BypassEvent();&lt;br /&gt;
&lt;br /&gt;
void SetEventResultInt(int nResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultObject(object oResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultString(string sResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultFloat(float fResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultEffect(effect eResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultArray(array aResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultDictionary(dictionary dResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultVector(vector vResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultLocation(location lResult);&lt;br /&gt;
&lt;br /&gt;
void RunEvent(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
int RunEventInt(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
object RunEventObject(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
string RunEventString(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
float RunEventFloat(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
effect RunEventEffect(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
array RunEventArray(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
dictionary RunEventDictionary(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
vector RunEventVector(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
location RunEventLocation(string sScript, object oTarget, array aParams);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And the reference for most existing events:&lt;br /&gt;
pc_ev_useitem -&amp;gt; item:EVENT_USE&lt;br /&gt;
self : user&lt;br /&gt;
p0: item&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: sub type?&lt;br /&gt;
&lt;br /&gt;
pc_ev_examine -&amp;gt; player:EVENT_EXAMINE&lt;br /&gt;
self: player&lt;br /&gt;
p0: target object&lt;br /&gt;
&lt;br /&gt;
pc_ev_attack -&amp;gt; attacker:EVENT_ATTACK&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;br /&gt;
p1: attack type&lt;br /&gt;
&lt;br /&gt;
pc_ev_trap -&amp;gt; target:EVENT_TRAP&lt;br /&gt;
self: trapper&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_firetrap -&amp;gt; target:EVENT_FIRETRAP&lt;br /&gt;
self: trigger&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_useskill -&amp;gt; user:EVENT_USESKILL, user:EVENT_USESKILL_%skill%&lt;br /&gt;
self: user&lt;br /&gt;
p0: skill&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_usefeat -&amp;gt; user:EVENT_USEFEAT, user:EVENT_USEFEAT_%feat%&lt;br /&gt;
self: user&lt;br /&gt;
p0: feat&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_togglemode -&amp;gt; user:EVENT_TOGGLEMODE, user:EVENT_TOGGLEMODE_%mode%&lt;br /&gt;
self: user&lt;br /&gt;
p0: mode&lt;br /&gt;
&lt;br /&gt;
pc_ev_castspell -&amp;gt; caster:EVENT_CASTING, caster:EVENT_CASTING_%spell%&lt;br /&gt;
self: caster&lt;br /&gt;
p0: target&lt;br /&gt;
p1: target position&lt;br /&gt;
p2: spell&lt;br /&gt;
p3: meta magic&lt;br /&gt;
p4: class&lt;br /&gt;
p5: is instant&lt;br /&gt;
&lt;br /&gt;
ilr_canequip -&amp;gt; item:EVENT_CAN_EQUIP&lt;br /&gt;
self: equip by&lt;br /&gt;
p0: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_setlike setter:EVENT_SETLIKE&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_party&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_pickpocket&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Event_System&amp;diff=215</id>
		<title>Event System</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Event_System&amp;diff=215"/>
		<updated>2023-12-09T16:53:01Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: Created page with &amp;quot;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 Ge...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
Code: Select all&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int GetEventParamInt(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
object GetEventParamObject(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
string GetEventParamString(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
float GetEventParamFloat(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
effect GetEventParamEffect(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
array GetEventParamArray(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
dictionary GetEventParamDictionary(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
location GetEventParamLocation(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
vector GetEventParamVector(int nParamIndex);&lt;br /&gt;
&lt;br /&gt;
array GetEventParams();&lt;br /&gt;
&lt;br /&gt;
int GetEventParamType(int nParam);&lt;br /&gt;
&lt;br /&gt;
int GetEventParamCount();&lt;br /&gt;
&lt;br /&gt;
void BypassEvent();&lt;br /&gt;
&lt;br /&gt;
void SetEventResultInt(int nResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultObject(object oResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultString(string sResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultFloat(float fResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultEffect(effect eResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultArray(array aResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultDictionary(dictionary dResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultVector(vector vResult);&lt;br /&gt;
&lt;br /&gt;
void SetEventResultLocation(location lResult);&lt;br /&gt;
&lt;br /&gt;
void RunEvent(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
int RunEventInt(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
object RunEventObject(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
string RunEventString(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
float RunEventFloat(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
effect RunEventEffect(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
array RunEventArray(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
dictionary RunEventDictionary(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
vector RunEventVector(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
location RunEventLocation(string sScript, object oTarget, array aParams);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And the reference for most existing events:&lt;br /&gt;
pc_ev_useitem -&amp;gt; item:EVENT_USE&lt;br /&gt;
self : user&lt;br /&gt;
p0: item&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: sub type?&lt;br /&gt;
&lt;br /&gt;
pc_ev_examine -&amp;gt; player:EVENT_EXAMINE&lt;br /&gt;
self: player&lt;br /&gt;
p0: target object&lt;br /&gt;
&lt;br /&gt;
pc_ev_attack -&amp;gt; attacker:EVENT_ATTACK&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;br /&gt;
p1: attack type&lt;br /&gt;
&lt;br /&gt;
pc_ev_trap -&amp;gt; target:EVENT_TRAP&lt;br /&gt;
self: trapper&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target object&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_firetrap -&amp;gt; target:EVENT_FIRETRAP&lt;br /&gt;
self: trigger&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_useskill -&amp;gt; user:EVENT_USESKILL, user:EVENT_USESKILL_%skill%&lt;br /&gt;
self: user&lt;br /&gt;
p0: skill&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
p3: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_usefeat -&amp;gt; user:EVENT_USEFEAT, user:EVENT_USEFEAT_%feat%&lt;br /&gt;
self: user&lt;br /&gt;
p0: feat&lt;br /&gt;
p1: target&lt;br /&gt;
p2: target position&lt;br /&gt;
&lt;br /&gt;
pc_ev_togglemode -&amp;gt; user:EVENT_TOGGLEMODE, user:EVENT_TOGGLEMODE_%mode%&lt;br /&gt;
self: user&lt;br /&gt;
p0: mode&lt;br /&gt;
&lt;br /&gt;
pc_ev_castspell -&amp;gt; caster:EVENT_CASTING, caster:EVENT_CASTING_%spell%&lt;br /&gt;
self: caster&lt;br /&gt;
p0: target&lt;br /&gt;
p1: target position&lt;br /&gt;
p2: spell&lt;br /&gt;
p3: meta magic&lt;br /&gt;
p4: class&lt;br /&gt;
p5: is instant&lt;br /&gt;
&lt;br /&gt;
ilr_canequip -&amp;gt; item:EVENT_CAN_EQUIP&lt;br /&gt;
self: equip by&lt;br /&gt;
p0: item&lt;br /&gt;
&lt;br /&gt;
pc_ev_setlike setter:EVENT_SETLIKE&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_party&lt;br /&gt;
self: setter&lt;br /&gt;
p0: type&lt;br /&gt;
p1: target&lt;br /&gt;
&lt;br /&gt;
pc_ev_pickpocket&lt;br /&gt;
self: attacker&lt;br /&gt;
p0: target object&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Multi-pages_book_system&amp;diff=206</id>
		<title>Multi-pages book system</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Multi-pages_book_system&amp;diff=206"/>
		<updated>2023-12-04T01:03:48Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: Created page with &amp;quot; = What does it do? = Basically allows to create a book item that has many pages, to &amp;quot;flip&amp;quot; the pages, the player uses the book and it opens up a conversation with options. Upon clicking on an option the description of the book is changed in accordance with the selected option.  = How does it work? =  == Script == == Item == == 2DA ==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= What does it do? =&lt;br /&gt;
Basically allows to create a book item that has many pages, to &amp;quot;flip&amp;quot; the pages, the player uses the book and it opens up a conversation with options. Upon clicking on an option the description of the book is changed in accordance with the selected option.&lt;br /&gt;
&lt;br /&gt;
= How does it work? =&lt;br /&gt;
&lt;br /&gt;
== Script ==&lt;br /&gt;
== Item ==&lt;br /&gt;
== 2DA ==&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=File:T%C3%A9l%C3%A9chargement.png&amp;diff=3</id>
		<title>File:Téléchargement.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=File:T%C3%A9l%C3%A9chargement.png&amp;diff=3"/>
		<updated>2023-11-24T13:20:47Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: The Colonel Atlassian&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The Colonel Atlassian&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
	<entry>
		<id>https://wiki.sinfar.net/index.php?title=Main_Page&amp;diff=2</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.sinfar.net/index.php?title=Main_Page&amp;diff=2"/>
		<updated>2023-11-24T12:24:36Z</updated>

		<summary type="html">&lt;p&gt;Fiery Imp: /* Getting started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;MediaWiki has been installed.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fiery Imp was here. [ugly spray painted tag]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Fiery Imp</name></author>
	</entry>
</feed>