|
|
| (27 intermediate revisions by the same user not shown) |
| Line 1: |
Line 1: |
| − | {{PageHeaderChild|ContentDesigner:SpawnScripts|Calling Quests}} | + | {{PageHeaderChild|Admins|Content - Quest}} |
| − | | |
| − | A content designer's task involve spawning signs, objects, widgets, ground spawns, and NPCs in that order. This is achieved by using a combination of the web database editor, commonly known as DB Editor, and the client itself. Below is information to help turn a unpopulated zone into one filled with everything from harvest nodes to monsters.
| |
| − | | |
| − | | |
| − | {{Header|assign quest to a local variable|BackgroundColor=3d78b4|FontColor=ffffff}}
| |
| − | The very first thing that has to be done is to assign the quest ID to a local variable. This will be inserted just below the comments section. For this guide I am using Verex N'Za spawnscript so everyone can refer to that script if needed.
| |
| − | {|style="table-layout:fixed; width: 100%;"
| |
| − | |{{TextBox
| |
| − | |Comments Section with quest variable
| |
| − | |--[[<br/>
| |
| − | Script Name : <script-name><br/>
| |
| − | Script Purpose : <purpose><br/>
| |
| − | Script Author : <author-name><br/>
| |
| − | Script Date : 9/7/2015<br/>
| |
| − | Script Notes : <special-instructions><br/>
| |
| − | --]]<br/>
| |
| | <br/> | | <br/> |
| − | local ASolidifiedFront <nowiki>=</nowiki> 120
| + | = LUA Functions: GetCurrentHP() = |
| − | |BackgroundColor=ffffff
| + | Returns the current '''current hit points''' of ''param''. The parameter can be either a player or the NPC currently being interacted with. |
| − | |FontColor=000000}}
| |
| − | |}
| |
| − | A breakdown of the new line ''local ASolidifiedFront <nowiki>=</nowiki> 120''.
| |
| | | | |
| − | Starting off we use the word ''local'' to let the script know that this variable is to be used in this script only, and no where else.
| + | [[LUA:GetFunctions|Back to LUA GetFunctions Index]] |
| | | | |
| − | Next I gave the variable the name ''ASolidifiedFront''. This can be anything you want, but to make the script easier to understand later it is our requirement to name the variable after the quest. As you can see here it is easy to tell that the quest here is A Solidified Front.
| |
| | | | |
| − | The variable ''ASolidifiedFront'' has to be assigned to the quest ID. This way when the function sees the variabl ''ASolidifiedFront'' in the code it will know what quest to look for. Here it is set to ''120'' and is the quest ID of A Solidified Front.
| + | ==== Syntax ==== |
| | + | var = GetCurrentHP(param) |
| | | | |
| − | To get the quest ID you can log on to the web database editor and find it under the quest section. If you are working on a local, or private, server you will need to look in your database.
| + | Must be a reference to a player or NPC. |
| | | | |
| | | | |
| − | {{Header|Quest Function|BackgroundColor=3d78b4|FontColor=ffffff}}
| + | ==== Parameters ==== |
| − | Objects are things like Statues, Rocks, Fences, generally objects in the zone that are not interacted with. Along with verifying most of the same information as with NPCs regarding placement and appearance:
| + | Required: ''param'' (int) |
| − | {|style="table-layout:fixed; width: 100%;"
| |
| − | |{{TextBox
| |
| − | |Developer Task
| |
| − | |*Verify position, '''size''', heading of all Zone objects
| |
| − | *Delete duplicates of static Objects, like tents, sign posts, statues, etc.
| |
| − | *When object placement/correction is done, disable name, attack, targeting, level, etc.
| |
| − | |BackgroundColor=ffffff
| |
| − | |FontColor=000000}}
| |
| − | |}
| |
| | | | |
| | + | ''param'' must be one of the vars in the function params. In the example above, it would be either "NPC" or "Spawn" |
| | | | |
| − | {{Header|Widgets|BackgroundColor=3d78b4|FontColor=ffffff}}
| |
| − | Widgets are interactive objects in the world, such as Doors or clickable objects for quests/triggers, etc. The biggest issue with doors is the open/close coordinates are off, or backwards. Due to a math flaw in the parser/population routines, 50% of our doors are wrong and must be fixed.
| |
| − | {|style="table-layout:fixed; width: 100%;"
| |
| − | |{{TextBox
| |
| − | |Developer Task
| |
| − | |*Verify open and close heading of doors.
| |
| − | *Elevators/Lifts are not parsed properly, and must be setup.
| |
| − | *Verify coordinates (x,y,z), location and heading settings of all doors/clickables
| |
| − | *Build functionality of levers and switches
| |
| − | |BackgroundColor=ffffff
| |
| − | |FontColor=000000}}
| |
| − | |}
| |
| | | | |
| | + | ==== Usage ==== |
| | + | function hailed(NPC, Spawn) |
| | + | Say(NPC, "Your current hit points are " .. GetCurrentHP(Spawn) .. "!") |
| | + | end |
| | | | |
| − | {{Header|Groundspawns|BackgroundColor=3d78b4|FontColor=ffffff}}
| + | This makes the NPC respond to the player who hails it with the players current hit points. |
| − | Ground spawns are harvestable items usually picked up by Gathering. These items are made up of things like harvest nodes, ? or shiny, ! or pages, and quest items on the ground.
| |
| − | {|style="table-layout:fixed; width: 100%;"
| |
| − | |{{TextBox
| |
| − | |Developer Task
| |
| − | |*[[ContentDesigner:Groundspawns#EQ2_Live|Observe Live]] - Observe the same area in EQ2Live's version of this zone and identify the Ground Spawn placements
| |
| − | *[[ContentDesigner:Groundspawns#RAW_Data|Pop Raw Data]] and observe areas to clean up
| |
| − | *[[ContentDesigner:Groundspawns#Building_Your_First_Node|First Node]] - decide where you want your "main" node to spawn
| |
| − | *[[ContentDesigner:Groundspawns#Combining_Nodes|Combine Nodes]] - Combine all nodes in the surrounding area to build an ''estimated'' '''spawn percentage''' value
| |
| − | *[[ContentDesigner:Groundspawns#Cleanup_Remaining_Junk|Remove excess nodes]]
| |
| − | *[[ContentDesigner:Groundspawns#Designing_Offsets|Offsets]] - Create valid Offsets for spawn location placements to emulate seemingly random spawn locations
| |
| − | *[[ContentDesigner:Groundspawns#Respawn/Expire_Timers|Pop/Depop]] - Determine depop/repop rates for a node.
| |
| − | *[[ContentDesigner:Groundspawns#Assigning_Rewards|Groundspawn Items]] - Build the Ground Spawn '''Items''' lists
| |
| − | *[[ContentDesigner:Groundspawns#Advanced_Groundspawns|Advanced Groundspawns]] - Advanced Groundspawn "grouping" options
| |
| − | |BackgroundColor=ffffff
| |
| − | |FontColor=000000}}
| |
| − | |}
| |
| | | | |
| | | | |
| − | {{Header|NPC|BackgroundColor=3d78b4|FontColor=ffffff}}
| + | == Notes == |
| − | NPCs are the humanoid, interactive spawns in a zone that players communicate, accept quests from, and engage in combat with.
| + | (optional) Additional notes or special instructions |
| − | {|style="table-layout:fixed; width: 100%;"
| |
| − | |{{TextBox
| |
| − | |Developer Task
| |
| − | |*[[ContentDesigner:NPCs#Verify_Locations|Verify Spawn Locations]] - spawns are in their proper positions (static spawns, x,y,z,heading)
| |
| − | *[[ContentDesigner:NPCs#Verify_Appearances|Verify Spawn Appearances]] - that their colors/equipment are reasonable to what is in EQ2 Live
| |
| − | *[[ContentDesigner:NPCs#Wanderers|Wandering Dupes]] - starting point and paths, plus remove duplicates
| |
| − | *[[ContentDesigner:NPCs#Consolidation|Consolidate Spawns]] - that have level, size, or appearance differences only (see note)
| |
| − | *[[ContentDesigner:NPCs#Linked_Spawn_Groups|Linked Spawn Groups]] - (multi-spawn parties) of 2-6 NPCs and/or Boss encounters
| |
| − | *[[ContentDesigner:NPCs#Entity_Commands|Entity Commands]] - the right-click menus for each spawn
| |
| − | *[[ContentDesigner:NPCs#Spawn_Customization|Special Setups]] - special Equipment, Skills and Spells so they behave accordingly
| |
| − | *[[ContentDesigner:NPCs#Spawn_Scripts|Spawn Scripts]] - Design, develop and assign spawn scripts
| |
| − | |BackgroundColor=ffffff
| |
| − | |FontColor=000000}}
| |
| − | |}
| |
| | | | |
| | | | |
| − | {{Header|Links|BackgroundColor=3d78b4|FontColor=ffffff}}
| + | == Reference == |
| − | [[ContentDesigner:Verify_&_Observe|Verify & Observe]]
| + | (optional) Links to forum posts or other reference pertaining to this function |