what tools do we have for this

Discussions of the design and development of in-game content.

Moderator: Team Members

Post Reply
User avatar
Ememjr
Team Member
Posts: 975
Joined: Wed Mar 15, 2017 9:41 am
EQ2Emu Server: Perseverance

what tools do we have for this

Post by Ememjr » Wed Aug 23, 2017 4:54 am

ok so i have been doing alot of fixes etc, and need a small break on that side of the house and decided to work on some content
so this will be my first attempt at adding missing content to a zone
in the following picture there is a mender,anvil, and table that is missing from oakmyst forest that is present on live

i would like to be as close to live as possible,

so do i have to guess and try to figure out a spawn to put there for those 3 things, or
is there a way we can

collect (yup done that)
parse ( found a parser but not sure it works)
import our selfs
or this small stuff

User avatar
Ememjr
Team Member
Posts: 975
Joined: Wed Mar 15, 2017 9:41 am
EQ2Emu Server: Perseverance

Re: what tools do we have for this

Post by Ememjr » Wed Aug 23, 2017 7:10 am

i forgot to post the picture
oakmyst.JPG
You do not have the required permissions to view the files attached to this post.

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Re: what tools do we have for this

Post by Zcoretri » Wed Aug 23, 2017 2:39 pm

The parser kind of works in its current state. I am currently working on the parser to get it to a more stable state. Right now it will do spawns for the most part, just not 100%. It currently does not parse items.
You can add in stuff yourself, but I think there would be some trial and error to get the right model numbers, etc.

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: what tools do we have for this

Post by Jabantiz » Wed Aug 23, 2017 4:02 pm

If you collected it from live you could use the packet analyzer to get all the info you need to manually create.

However as this is Oakmyst is possible that this mender was moved into this zone from one of the suburbs. When live closed off the suburbs they moved NPC's for quests outside to the city or the combat zones, so it is possible if you search for this NPC in the other zones you will find a copy of him and can just spawn him in Oakmyst.

User avatar
Ememjr
Team Member
Posts: 975
Joined: Wed Mar 15, 2017 9:41 am
EQ2Emu Server: Perseverance

Re: what tools do we have for this

Post by Ememjr » Wed Aug 23, 2017 5:52 pm

i collected from live but the PA does not match up on some of the spawn i the mender anvil that is there
and i looked in the spawn table and Henk Newfield does not exist

User avatar
Ememjr
Team Member
Posts: 975
Joined: Wed Mar 15, 2017 9:41 am
EQ2Emu Server: Perseverance

Re: what tools do we have for this

Post by Ememjr » Wed Aug 23, 2017 6:10 pm

so i decided to try it by looking at the packet and the spawn packet wasn't correct for the anvil
here is what concerns me
i was under the impression that there could only be one primary command but multiple secondary commands
i think i confirmed this by look through many createghostcmd(spawns) and found that this line 111111 below never was more than one
so unless we can find somewhere in some packet it is 2 or higher then we can most likely remove it as an array

all it appears that in every packet i have ever collected that THIS LINE 22222 below is actualy an int16 and not a string
on my system i changed this line 2222 to <Data ElementName="command_list_error" Type="int16" Size="1" />

and i am able to see all createghostcmd packets perfectly now, also everyplace i looked the value of that int16 is 255

I logged in and had no issues with any spawns i looked at and have noissues with changes i on my side

if i am wrong on any of this plese let me know which spawn uses more that 1 primary command so i can see what else to change

Code: Select all

<Struct Name="WS_SpawnStruct_Header" ClientVersion="57080">
<Data ElementName="index" Type="int16" Size="1" OversizedValue="255" />
<Data ElementName="spawn_id" Type="int32" Size="1" />
<Data ElementName="unknown" Type="int32" Size="1" />
<Data ElementName="unknown2" Type="int32" Size="1" />
<Data ElementName="crc" Type="int32" Size="1" />
<Data ElementName="command_list" Type="int8" Size="1" /> THIS LINE THIS LINE 11111111
<Data ElementName="command_list_array" Type="Array" ArraySizeVariable="command_list">
	<Data ElementName="command_list_name" Type="EQ2_16Bit_String" />
	<Data ElementName="command_list_max_distance" Type="float" Size="1" />
	<Data ElementName="command_list_error" Type="EQ2_16Bit_String" Size="1" /> THIS LINE 22222
	<Data ElementName="command_list_command" Type="EQ2_16Bit_String" />
</Data>
<Data ElementName="default_command" Type="EQ2_16Bit_String" Size="1" />
<Data ElementName="max_distance" Type="float" Size="1" />
<Data ElementName="group_size" Type="int8" Size="1" />
<Data ElementName="group_array" Type="Array" ArraySizeVariable="group_size">
	<Data ElementName="group_spawn_id" Type="int32" />
</Data>
<Data ElementName="time_stamp" Type="int32" Size="1" />
</Struct>

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: what tools do we have for this

Post by Jabantiz » Wed Aug 23, 2017 7:35 pm

It looks like they may have changed that portion of the struct then. Spawns can have multiple primary commands, in the past it was mostly merchants where when you clicked on them it did both "buy from" and "hail".

The fact that command_list is still 1 in packets seems to indicate it is still an array (other wise that element would be removed completely) and it would be best to leave the array in to prevent confusion and to allow us to use it if we want to.

I wonder if they removed the string and are using ids for the errors now, with the errors being hardcoded in the client or some how connected to another packet. As most are 255 I bet that just means don't print out an error to the client.

User avatar
Ememjr
Team Member
Posts: 975
Joined: Wed Mar 15, 2017 9:41 am
EQ2Emu Server: Perseverance

Re: what tools do we have for this

Post by Ememjr » Thu Aug 24, 2017 4:05 am

what would be an awesome addition to the PA is an export option that would export an xml or csv or what ever type file
so we could easily import a single new spawn in a server whether it be a custom local server or tool or emu via web editor
so i could work lik this highlight a createghostcmd , like what you see, push a button the exports that 1 spawn to a file basically all it should need is element name and the data output value for that element, that would be a n easliey readable in human form and easy to parse and the import would just rea in the values and add them, of course this would be for small imports 1 at a time but good for those misc places that got missed,

i would write one my self but as i see it since PA is already breaking down the packet with all the info we need why reinvent that portion of the wheel

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests