Difference between revisions of "Page Design Test 1"

 
(36 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{PageHeaderChild|Content|Verify & Observe Live}}
+
{{PageHeaderChild|Admins|Content - Quest}}
Players familiar with Everquest II will expect to find their NPC's, objects, and ground spawns in their rightful places on our server because it is meant to mimick Live.
+
<br/>
 +
= LUA Functions: GetCurrentHP() =
 +
Returns the current '''current hit points''' of ''param''. The parameter can be either a player or the NPC currently being interacted with.
  
We need to observe and verify what is on the emulator server with that of the live server. This will allow us to recreate live the best that we can, and give the players the live like experience they are accustomed to.
+
[[LUA:GetFunctions|Back to LUA GetFunctions Index]]
  
  
'''''If you are a player/tester please report these with the /bug command using your chat window.'''''
+
==== Syntax ====
 +
var = GetCurrentHP(param)
  
 +
Must be a reference to a player or NPC.
  
{{Header|Verifying NPCs|BackgroundColor=000000|FontColor=ffffff}}
 
== Locations ==
 
Verifying the NPCs are in their proper place is a simple task, because 90% of the time, Collector found a static spawn standing where they belong. There is a very small percentage of spawns that are simply facing the wrong way due to a math glitch in the PacketParser being unable to determine heading. For these cases, we need to verify spawn locations.
 
  
 +
==== Parameters ====
 +
Required: ''param'' (int)
  
Example of NPC in wrong place:
+
''param'' must be one of the vars in the function params. In the example above, it would be either "NPC" or "Spawn"
  
[[File:VerifyLocation1.jpg|500px]]
 
  
In this example, I moved a spawn completely to the wrong place just to show you that a Formidable Sparring Partner should not be standing by the tent. This should not be an issue anymore due to how a zone is migrated to the database. It is possible that someone has accidentally placed a NPC in the wrong location.
+
==== Usage ====
 +
function hailed(NPC, Spawn)
 +
  Say(NPC, "Your current hit points are " .. GetCurrentHP(Spawn) .. "!")
 +
end
  
'''''For those that are testing please report this with the /bug command using your chat window.'''''
+
This makes the NPC respond to the player who hails it with the players current hit points.
  
For those who are developing, or fixing bugs here is how to fix this.
 
  
Since that guy is in the wrong place, you'll need to move him. Execute the command
+
== Notes ==
/spawn move
+
(optional) Additional notes or special instructions
while you have the NPC targeted, and move to where you think he should go (by the other sparring partners in this case). Using the mouse-wheel, you can spin his heading too, just like placing furniture in your house!
 
  
  
Example of NPC facing the wrong direction:
+
== Reference ==
 
+
(optional) Links to forum posts or other reference pertaining to this function
[[File:VerifyLocation2.jpg|500px]]
 
 
 
NPCs, and other spawn types can be facing the wrong way. This is more common then NPCs in the wrong location.
 
 
 
For those that are testing please report this with the /bug command using your chat window.
 
 
 
For those who are developing, or fixing bugs here is how to fix this.
 
 
 
Do not grab the spawn, twirl it around and set it in the right place. You could very easily have the NPC off its location even if it looks like it is in the right place. Instead edit the spawns Heading parameter in the DB Editor->Spawns menu.
 
 
 
[[File:VerifyLocation3.jpg|500px]]
 
 
 
Since you know the spawn is facing the wrong way, and you see his Heading is currently 0 (zero), simply type in 180 (for 180 degrees, 1/2 a circle) and save the row, then execute the
 
/reload spawns
 
command in-game and you'll see your sparring partner is now facing the right direction!
 
 
 
 
 
== Appearance ==
 
Recent changes to our Parsing process have resulted in much more dynamic Appearance options for our NPCs. Utilizing the EQ2Emulator's powerful ''randomize'' feature, we can spawn NPCs of many shapes and sizes '''and''' appearances (hair, beards, color of skin, shape of face/body, etc) all from a single spawn ID.
 
 
 
Check out the WIKI article on [[Database:Spawn#Randomize|Randomize]] for more information about this option. For the purpose of this discussion, we will assume all NPCs are spawned properly and their randomize options are '''not set'''.
 
 
 
 
 
[[File:VerifyAppearance1.jpg|500px]]
 
 
 
Take our poor naked Sparring Partner for example. In EQ2 Live, he is definitely dressed in armor! If you check his '''npc_appearance_equip''' page in the DBEditor->Spawns menu, you'll see he has no entries, when he should. You can either dress him yourself, or return to the raw data to see what went wrong.
 
 
 
 
 
A more familiar Appearance problem would be bald heads, mis-shapen faces, incorrect races (evil races in good city areas), or missing skin (ewww!)
 
 
 
By missing skin, of course I just mean the color is lost. Spawns without skin_color settings are given 0,0,0 - or Black. They are pretty obvious to see, because no spawn should be 0,0,0 color - that is just too dark to even make out features.
 
 
 
 
 
Fixing these is important to the player's experience and the accuracy of our database.
 
 
 
 
 
{{Header|Verifying Signs|BackgroundColor=000000|FontColor=ffffff}}
 
Signs have additional fields that are sometimes critical to their appearance in the world. Those are "include_heading" and "include_location". I am not 100% certain of the criteria in which these values must be set, only that if I do not see a Sign where I think it should be, chances are it's '''Heading''' or '''Location''' were incorrectly parsed.
 
 
 
 
 
An example are these 2 Mariner Bells on the dock in Beggar's Court:
 
 
 
[[File:SignMissing1.jpg|500px]]
 
 
 
Note the second bell is missing -- but in actuality, it is not missing, only it's "Location" information is not being used, so it is off somewhere in the zone, outside the bounds of the visible area. Try using /goto to see if you can find it :)
 
 
 
 
 
 
 
In our DB Editor, you can pull up this missing spawn/Sign, and edit it's "include_location" information:
 
 
 
[[File:SignMissing2.jpg|500px]]
 
 
 
 
 
Change the '''include_location''' setting from zero (0) to one (1) and Update. Then, if you are inside the zone, type '''/reload spawns''' to fetch the new values for the sign. You should now see the second Mariner Bell in the expected location!
 
 
 
[[File:SignMissing3.jpg|500px]]
 
 
 
 
 
Heading (what direction something is facing) and Location (what grid_id something can be seen on) are critical to seeing graphic representations of objects in the world of EQ2.
 
 
 
 
 
{{Header|Verifying Objects|BackgroundColor=000000|FontColor=ffffff}}
 
 
 
 
 
== Coming Soon ==
 
 
 
 
 
{{Header|Observing Groundspawns|BackgroundColor=000000|FontColor=ffffff}}
 
 
 
Groundspawns are a little bit different. Some of these things move around! Harvest nodes, and ?(shineys) are some that move around. Here is how to observe these groundspawns and will get you prepared to develop these on the emulator.
 
 
 
Log into EQ2 Live, find the same area you are working in, and compare the nodes in the Live area with the data you have present in the development environment. If there are nodes missing, you can easily create missing nodes using the '''/spawn create''' command. More than likely, you'll have plenty of spawned nodes to work with and should not need to create any.
 
 
 
You should study the area for 10-30 minutes as well, because we discovered that Harvest nodes, when untouched, seem to despawn after a period of time, stay missing for their specified respawn timer interval, then spawn again - sometimes as their partner node in the spawn location placement.
 
 
 
 
 
''Spending the time to observe EQ2 Live's full functionality will allow you to build the best possible emulation of EQ2 Live. This is a must for our Content Designers, so please, no guessing.''
 

Latest revision as of 21:28, 23 January 2017

Admins - Content - Quest

Return to: Admins | Tutorials | Portal | Forum | Project Manager | Bug Tracker


LUA Functions: GetCurrentHP()

Returns the current current hit points of param. The parameter can be either a player or the NPC currently being interacted with.

Back to LUA GetFunctions Index


Syntax

var = GetCurrentHP(param)

Must be a reference to a player or NPC.


Parameters

Required: param (int)

param must be one of the vars in the function params. In the example above, it would be either "NPC" or "Spawn"


Usage

function hailed(NPC, Spawn)
  Say(NPC, "Your current hit points are " .. GetCurrentHP(Spawn) .. "!")
end

This makes the NPC respond to the player who hails it with the players current hit points.


Notes

(optional) Additional notes or special instructions


Reference

(optional) Links to forum posts or other reference pertaining to this function