===== Events Reference =====
Here is a list of all the events currently supported by the world server.
===== Player Status Events =====
==== NewPlayer ====
^ Triggered by | A new player logging in to the world for the first time |
^ Event Parameter | None |
^ CancelTransaction | N/A |
//Example//
Event( "NewPlayer", "" )
{
*say Welcome %PLAYER% to our world!
}
==== PlayerLogin ====
^ Triggered by | A player logging in to the world |
^ Event Parameter | None |
^ CancelTransaction | N/A |
^ Notes | Called for all players, new or not. This event is triggered early in the login process - the player will probably still be on the loading/downloading screens. Use 'PlayerLoginComplete' if you want to trigger a script when you know the player is ready to interact.
//Example//
Event( "PlayerLogin", "" )
{
*say %PLAYER% has entered our world!
}
==== PlayerLoginComplete ====
^ Triggered by | A player completing the log-in process to the world |
^ Event Parameter | None |
^ CancelTransaction | N/A |
^ Notes | See above - This event (if present) is triggered after the 'PlayerLogin' event, when the user has completed all the main stages of hte login process
//Example//
Event( "PlayerLoginComplete", "" )
{
*say %PLAYER% has finished entering our world!
}
==== PlayerLogout ====
==== PlayerBirthday ====
==== PlayerChangeVehicle ====
==== PlayerDeath ====
==== PlayerKilled ====
==== RobocrowKilled ====
==== RobocrowKill ====
==== StartFishing ====
==== OnFish ====
==== PlayerRespawn ====
==== PlayerResurrect ====
===== Menus & UI Events =====
==== OSDSelect ====
^ Triggered by | Player clicking a scripted OSD item |
^ Event Parameter | OSDName:OSDButtonName |
^ CancelTransaction | N/A |
^ Notes | For details on created scripted UI, see the [[scripting:scriptedosd|Scripted OSD Overview]] |
\\
==== MenuOption ====
^ Triggered by | A player selecting a customisable menu or button in the main game UI |
^ Event Parameter | Menu number : |
^ | **1** = Custom main menu item linked to F9 (Set with ... ?? ) |
^ | **2** = Player list popup button 1|
^ | **3** = Player list popup button 2|
^ | **4** = Player list popup button 3|
^ | **5** = Player list popup button 4|
^ | **6** = Info screen custom button 1|
^ | **7** = Info screen custom button 2|
^ | **8** = Pub custom button 1|
^ | **9** = Pub custom button 2|
^ | **10** = Pub custom button 3|
^ | **11** = Pub custom button 4|
^ | **12** = Pub custom button 5|
^ CancelTransaction | N/A |
^ Notes | Most of these events won't appear until you've first set up the particular custom menu option or other settings. (e.g. You must use *scriptedoption 18,[BUTTON_TEXT] to activate the 'Info screen custom button 1'. See the [[scripting:reference:scriptingmainui|scripting main ui doc]] for a full list of configurable options and interfaces.) |
//Example//
Event( "MenuOption", "1" )
{
*notify %PLAYER% You selected a custom menu option
}
==== ItemDetails ====
^ Triggered by | Player clicking the custom 'Details' button on the inventory item popup |
^ Event Parameter | Item Name |
^ CancelTransaction | N/A |
^ Notes | This will only be triggered on items that have had a custom details button enabled using ***itemdetailstext ItemNum,ButtonText** |
//Example//
Event( "ItemDetails", "Bronze Sword" )
{
osdcreate(OSDLOWER,"SwordOSD", "- Bronze Sword -" )
osdadd(TEXT, 0, 0, 600, 80, "", "The Bronze Sword is a basic weapon, +4 dmg, occupies 1 inventory slot etc." )
osdactivate()
}
==== MapClick ====
^ Triggered by | The player clicking on a tile on the landscape when they're in a vehicle using **Control Mode** = 34. This is an experimental mode, probably requiring further development, that is intended to let you build scripted games using a different control methodology. |
^ Event Parameter | None |
^ CancelTransaction | N/A |
//Example//
Event( "MapClick", "" )
{
$mapX = $gClickX
$mapY = $gClickY
*msg %PLAYER% You clicked on tile $mapX, $mapY
}
==== ViewTournament ====
==== ActivateGuide ====
===== Inventory & Skill Events =====
==== UseItem ====
^ Triggered by | An item being used by the player |
^ Event Parameter | Item Name |
^ CancelTransaction | Cancels the normal 'Use' behaviour (the normal behaviour usually involves removing the item from the inventory). e.g. If a food item, the world server would normally remove the item from the player's inventory and update their hunger. |
^ Notes | Not all items will always have a 'Use' option. You can control which ones do or don't by changing their behaviour using *setitemuse or by setting the *settings -> World Rules -> Inventory Mode. (Inventory Mode 2 makes all items usable irrespective of their behaviour type) |
//Example//
Event( "UseItem", "Axe" )
{
*msg %PLAYER% You used the axe to chop down the nearest tree
*grantitem %PLAYER% 1 Wood
CancelTransaction() // Calling this means the player keeps the Axe
}
==== ItemAdded ====
^ Triggered by | A new item being added to the player's inventory |
^ Event Parameter | Item Name |
^ CancelTransaction | N/A |
^ Notes | |
//Example//
Event( "ItemAdded", "Bronze Sword" )
{
// Level up when the player first gets a bronze sword
if ( $gPlayerLevel < 1 )
{
*setlevel %PLAYER% 1
*notifylarge %PLAYER% Level up!
}
}
==== ItemRemoved ====
==== UseSkill ====
==== SkillAdded ====
==== SkillRemoved ====
==== BarterRequest ====
===== Weapon Events =====
==== FireWeapon ====
==== WeaponHitGround ====
==== WeaponHitPlayer ====
===== Task System Events =====
==== BuildingTaskStart ====
^ Triggered by | A player building task starting (See *dobuildingtask) |
^ Event Parameter | Building Type |
^ CancelTransaction | N/A |
^ Notes | $gTaskItem1 = 2. $gTaskItem2 = Building record num. |
//Example//
Event( "BuildingTaskStart", "10" )
{
*msg %PLAYER% You triggered a building task from a building of type 10
}
==== CustomTaskStart ====
==== CombiTaskStart ====
==== BuildingTaskComplete ====
==== CustomTaskComplete ====
==== CombiTaskComplete ====
==== TaskComplete ====
^ Triggered by | A player task completing |
^ Event Parameter | Task Type |
^ | 0 = Combination task (Triggered through the 'Combination Item' interface or via *docombitask command) |
^ | 1 = Custom task (Triggered through the *dotask command) |
^ | 2 = Building task (Triggered through the *dobuildingtask command) |
^ CancelTransaction | N/A |
^ Notes | TBD - $gTaskItem1 etc |
//Example//
Event( "TaskComplete", "1" )
{
if ( $gTaskItem1 == 100 )
{
*msg %PLAYER% You completed task 100
}
}
==== TaskStart ====
===== Building Events =====
==== NewBuilding ====
==== PreAccessBuilding ====
==== AccessBuilding ====
==== AccessConstruction ====
==== BuildingPurchase ====
==== BuildingDestroyed ====
==== BuildingTriggered ====
==== BuildingTriggerSequenceComplete ====
==== BuildingProductionRun ====
==== BuildingDemolished ====
==== BuildingOwnerDied ====
==== PlaceBuilding ====
==== PlaceAnyBuilding ====
==== BuildingCapture ====
==== BuildingIDProxEnter ====
==== BuildingIDProxLeave ====
==== BuildingProxEnter ====
==== BuildingProxLeave ====
==== PickupBuilding ====
==== BuildingDamaged ====
===== Minigame Events =====
==== ActivateRC ====
==== CrowFlagTouch ====
==== CrowFlagTouchAny ====
==== CrowExit ====
==== Subgame ====
==== SubgameDuelStart ====
==== SubgameDuelCountdownStart ====
==== RaceStart ====
==== RaceEnd ====
==== RaceWinner ====
==== FlagPickup ====
==== FlagCapture ====
==== HornballGoal ====
==== EnterGameZone ====
==== ExitGameZone ====
===== Timed Events =====
==== DayOfYear ====
==== OnTheHour ====
^ Triggered by | Realtime clock reaching the hour |
^ Event Parameter | None |
^ CancelTransaction | N/A |
//Example//
Event( "OnTheHour", "" )
{
$numBongs = sysRealTime("Hour")
if ( $numBongs > 12 )
{
$numBongs -= 12
}
$loop = 0
while ( $loop < $numBongs )
{
*customsoundall 1
Sleep(10)
$loop += 1
}
}
==== TenToTheHour ====
==== FiveToTheHour ====
==== WorldUpdate ====
^ Triggered by | Regular time interval specified in seconds in ***settings** -> **World** -> **Script Empty WorldUpdate Timer** or **Script WorldUpdate Timer** ; The 'Empty' value is used when there are no players on the world. If the settings value is 0 the timer is not called. |
^ Event Parameter | None |
^ CancelTransaction | N/A |
===== Special Server Events =====
==== Custom ====
==== ProductionRunStart ====
==== ProductionRunEnd ====
==== EndSequence ====
==== &command ====
==== Timer ====
==== ScriptReload ====
==== RangeLeave ====
==== SeaDepth ====
==== KillWildlife ====
^ Triggered by | A player killing wildlife |
^ Event Parameter | The type of the wildlife (Defaults to 0) |
^ CancelTransaction | N/A |
//Example//
Event( "KillWildlife", "0" )
{
*say %PLAYER% called a sheep
*grantitem %PLAYER% 1 Wool
}
==== BongoChant ====
===== Entity Events =====
==== EntityDestroyed ====
==== EntityDamaged ====
==== EntityUpdate ====
==== EntityPickup ====
===== Town Events =====
==== TownButton ====
==== TownDeclareWar ====
==== TownEndWar ====
===== Battle Events =====
==== InitChallenge ====
==== AcceptChallenge ====
==== BattleStart ====
==== BattleUpdate ====
==== BattleEnd ====
==== BattleSurrender ====
==== BattleLeave ====
==== BattleJoin ====
==== BattleAcceptSurrender ====
==== BattleComplete ====