Difference between revisions of "Server:Boats"
Jump to navigation
Jump to search
Line 26: | Line 26: | ||
Implementing a boat is achieved via entries to the database and the LUA scripting engine. Boat ID's are stored in the player profile packet (pp.boatname and pp.boatid). | Implementing a boat is achieved via entries to the database and the LUA scripting engine. Boat ID's are stored in the player profile packet (pp.boatname and pp.boatid). | ||
== Database Settings == | |||
The following database tables are used: | The following database tables are used: | ||
* spawn2 | * spawn2 | ||
Line 34: | Line 35: | ||
* npc_types.boatid | * npc_types.boatid | ||
LUA | == LUA Scripting == | ||
=== Events === | |||
* event_spawn | * event_spawn | ||
* event_waypoint_arrive | * event_waypoint_arrive | ||
== Example | === Example Scripts === | ||
* https://github.com/EQMacEmu/quests/blob/main/oasis/Barrel_Barge.lua | * https://github.com/EQMacEmu/quests/blob/main/oasis/Barrel_Barge.lua | ||
* https://github.com/EQMacEmu/quests/blob/main/oasis/Muckskimmer.lua | * https://github.com/EQMacEmu/quests/blob/main/oasis/Muckskimmer.lua |
Revision as of 18:27, 29 December 2023
For TAKP server, the boats use spawn conditions and are timed with grids. If a grid is timed too short or too long, players will either get dropped off in the water or players will end up at the safe spot in the destination zone. Boat zones need to be static.
Server Source
The following boats and their ID's are described in the server source code: https://github.com/EQMacEmu/Server/blob/main/common/eq_constants.h#L685
//These are NPCIDs in the database. All of these boats send a BoardBoat opcode when boarded. enum Boats { Stormbreaker = 770, //freporte-oot-butcherblock SirensBane = 771, Sea_King = 772, //erudext-erudsxing-qeynos Golden_Maiden = 773, Maidens_Voyage = 838, //timorous-firiona Bloated_Belly = 839, //timorous-overthere Barrel_Barge = 840, //Shuttle timorous-oasis Muckskimmer = 841, Sabrina = 24056, //Shuttle in Erud Island_Shuttle = 96075, //Shuttle to Elf docks in timorous Captains_Skiff = 842, //Shuttle timorous-butcherblock Icebreaker = 110083, //iceclad pirate_runners_skiff = 843 //Shuttle iceclad-nro };
Implementing a boat is achieved via entries to the database and the LUA scripting engine. Boat ID's are stored in the player profile packet (pp.boatname and pp.boatid).
Database Settings
The following database tables are used:
- spawn2
- spawngroup
- spawn_conditions
- grid_entries
- grid
- npc_types.boatid
LUA Scripting
Events
- event_spawn
- event_waypoint_arrive
Example Scripts
- https://github.com/EQMacEmu/quests/blob/main/oasis/Barrel_Barge.lua
- https://github.com/EQMacEmu/quests/blob/main/oasis/Muckskimmer.lua
- https://github.com/EQMacEmu/quests/blob/main/firiona/Maidens_Voyage.lua
- https://github.com/EQMacEmu/quests/blob/main/overthere/Bloated_Belly.lua
- https://github.com/EQMacEmu/quests/blob/main/timorous/Barrel_Barge.lua
- https://github.com/EQMacEmu/quests/blob/main/timorous/Bloated_Belly.lua
- https://github.com/EQMacEmu/quests/blob/main/timorous/Captains_Skiff.lua
- https://github.com/EQMacEmu/quests/blob/main/timorous/Island_Shuttle.lua
- https://github.com/EQMacEmu/quests/blob/main/timorous/Maidens_Voyage.lua
- https://github.com/EQMacEmu/quests/blob/main/timorous/Muckskimmer.lua