--- # Contents [TOC] --- # Introduction Object instance: `game` --- ## Description The main object that handles setting zone & adding entities to game. --- # Methods --- ## game:add
game:add (obj)
game:add (obj, expire)
game:add (npc)
game:add (creature, x, y)
- Adds an object or entity instance to the current zone. - Parameters: - obj: _([RPObject])_ Object to add. - expire: _([bool][LuaBoolean])_ `true` if the item should expire according to its normal behavior, `false` otherwise. - npc: _([NPC])_ NPC to add. - creature: _([Creature])_ Creature to add. - x: _([int][LuaInteger])_ Horizontal position of where to add creature. - y: _([int][LuaInteger])_ Vertical position of where to add creature. - Returns: _([Creature]) `game:add(creature)` only_ --- ## game:addGameEvent
game:addGameEvent (source, event, params)
- Raises a new [game event][GameEvent]. Same function as [game:raiseEvent](#gameraiseevent). - Parameters: - source: _([string][LuaString])_ Source of the event, usually a character. - event: _([string][LuaString])_ Name of event. - params: _([List][java.util.List]<[String][java.lang.String]>)_ Event parameters. - See: [ScriptingSandbox.addGameEvent] --- ## game:createEvent
game:createEvent (source, event, param, ...)
game:createEvent (source, event, params)
- Creates a new game event. - Parameters: - source: _([`string`][LuaString])_ Source of the event, usually a character. - event: _([`string`][LuaString])_ Name of event. - param: _([`string`][LuaString])_ Event parameter. - params: _([`table`][LuaTable])_ List of event parameters. - Returns: New [GameEvent] instance. - See also: - [game:raiseEvent](#gameraiseevent) --- ## game:getCreature
game:getCreature (clazz)
- Retrieves a registered creature. - clazz: _([string][LuaString])_ Name of the creature. - Returns: [Creature] or [nil][LuaNil] if not registered. - See: [ScriptingSandbox.getCreature] --- ## game:getCreatures
game:getCreatures ()
- Retrieves all registered creatures. - Returns: _([Creature[]][java.util.Arrays])_ An array of all available creatures. - See: [ScriptingSandbox.getCreatures] - TODO: - __FIXME:__ should return Lua table --- ## game:getItem
game:getItem (name)
- Retrieves a registered item. - Parameters: - name: _([string][LuaString])_ Name of the item. - Returns: _([Item])_ - Item or [nil][LuaNil] if not registered. --- ## game:getItems
game:getItems ()
- Retrieves all registered items. - Returns: _([Item[]][java.util.Arrays])_ - An array of all available items. --- ## game:getMessage
game:getMessage ()
- Retrieves exception message set by script. - Returns: _([string][LuaString])_ --- ## game:getZone
game:getZone (name)
game:getZone (obj)
- Retrieves a registered zone. - Parameters: - name: _([string][LuaString])_ Retrieve zone by name. - obj: _([RPObject])_ Retreive zone where ___obj___ is located. - Returns: _([StendhalRPZone])_ - Zone or [nil][LuaNil] if not registered. --- ## game:modify
game:modify (entity)
- Notifies the [StendhalRPWorld] that this entity's attributes have changed. - Parameters: - entity: _([RPEntity])_ Entity being modified. --- ## game:playerIsInZone
game:playerIsInZone (player, zone)
- Checks if a player is in a specific zone. - Parameters: - player: _([Player])_ Player to check. - zone: _([string][LuaString])_ Name of zone. - Returns: _([bool][LuaBoolean])_ - `true` if player's zone matches ___zone___. --- ## game:privateText
game:privateText (player, text)
- Sends a private text to a player. - Parameters: - player: _([Player])_ Player to receive the message. - text: _([string][LuaString])_ Message text to send to player. --- ## game:raiseEvent
game:raiseEvent (source, event, param, ...)
game:raiseEvent (source, event, params)
- Raises a new [game event][GameEvent]. - Parameters: - source: _([`string`][LuaString])_ Source of the event, usually a character. - event: _([`string`][LuaString])_ Name of event. - param: _([`string`][LuaString])_ Event parameter. - params: _([`table`][LuaTable])_ List of event parameters. - See also: - [game:createEvent](#gamecreateevent) --- ## game:remove
game:remove (object)
game:remove (npc)
- Removes an object or entity from world. - Parameters: - object: _([RPObject])_ Object to remove. - npc: _([NPC])_ NPC to remove. --- ## game:runAfter
game:runAfter (turns, func)
- Executes a function after a specified number of turns. - Parameters: - turns: _([int][LuaInteger])_ Number of turns to wait. - func: _([function][LuaFunction])_ Function to be executed. - TODO: - __FIXME:__ how to invoke with parameters? --- ## game:setMusic
game:setMusic (filename)
game:setMusic (filename, args)
- Sets the background music for the current zone. - Parameters: - filename: _([string][LuaString])_ File basename excluding .ogg extension. - args: _([table][LuaTable])_ Table of key=value integer values. - Keys: - volume: Volume level (default: 100). - x: The X coordinate of the sound source (default: 1). - y: The Y coordinate of the sound source (default: 1). - radius: The radius from which the music can be heard (default: 10000). --- ## game:setZone
game:setZone (name)
game:setZone (zone)
- Selects the zone to be configured. - Parameters: - name: _([string][LuaString])_ String name identifier. - zone: _([StendhalRPZone])_ Zone instance. - Returns: _([bool][LuaBoolean])_ - `true` if zone was successfully set. [Creature]: /reference/java/games/stendhal/server/entity/creature/Creature.html [GameEvent]: /reference/java/games/stendhal/server/core/engine/GameEvent.html [Item]: /reference/java/games/stendhal/server/entity/item/Item.html [NPC]: /reference/java/games/stendhal/server/entity/npc/NPC.html [Player]: /reference/java/games/stendhal/server/entity/player/Player.html [RPEntity]: /reference/java/games/stendhal/server/entity/RPEntity.html [RPObject]: /reference/java/marauroa/common/game/RPObject.html [ScriptingSandbox.addGameEvent]: /reference/java/games/stendhal/server/core/scripting/ScriptingSandbox.html#addGameEvent(java.lang.String,java.lang.String,java.util.List) [ScriptingSandbox.getCreature]: /reference/java/games/stendhal/server/core/scripting/ScriptingSandbox.html#getCreature(java.lang.String) [ScriptingSandbox.getCreatures]: /reference/java/games/stendhal/server/core/scripting/ScriptingSandbox.html#getCreatures() [StendhalRPWorld]: /reference/java/games/stendhal/server/core/engine/StendhalRPWorld.html [StendhalRPZone]: /reference/java/games/stendhal/server/core/engine/StendhalRPZone.html [java.lang.String]: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html [java.util.Arrays]: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Arrays.html [java.util.List]: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html [LuaBoolean]: http://luaj.org/luaj/3.0/api/org/luaj/vm2/LuaBoolean.html [LuaFunction]: http://luaj.org/luaj/3.0/api/org/luaj/vm2/LuaFunction.html [LuaInteger]: http://luaj.org/luaj/3.0/api/org/luaj/vm2/LuaInteger.html [LuaNil]: http://luaj.org/luaj/3.0/api/org/luaj/vm2/LuaNil.html [LuaString]: http://luaj.org/luaj/3.0/api/org/luaj/vm2/LuaString.html [LuaTable]: http://luaj.org/luaj/3.0/api/org/luaj/vm2/LuaTable.html