Implementing: Tradeskills

EQ2Emulator Development forum.

Moderator: Team Members

Post Reply
User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Implementing Tradeskills

Post by John Adams » Sun Feb 27, 2011 10:04 pm

FYI, DB Minor Version 249 adds the `tradeskill_class` field to the `characters` table, and should be set on dev svn now.

DB Minor Version 250 adds the TS XP fields, and a host of other toggles for the Persona page to `character_details`, whenever we're ready for that update.

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

Re: Implementing Tradeskills

Post by Zcoretri » Thu Mar 03, 2011 7:56 pm

Here is what I know in the way of opcodes for tradeskills.

Code: Select all

Opcodes:						             Struct:					 Status:
   OP_ShowRecipeBookMsg				    WS_ShowRecipeBook		Done
   OP_DisplayTSEventReactionMsg		  WS_TSEventReaction	  Done
   OP_UpdateItemCreationProcessUIMsg	WS_UpdateCreateItem	 Done
   OP_ShowItemCreationProcessUIMsg	  WS_ShowItemCreation	 Done
   OP_StopItemCreationMsg			     Not needed?			   -------
   OP_BeginItemCreationMsg			    WS_BeginItemCreation	Done
   OP_CancelCreateFromRecipeMsg		  Not needed?			   -------
   OP_ShowCreateFromRecipeUIMsg	     WS_CreateFromRecipe	 Done
   OP_UpdateRecipeBookMsg		        WS_UpdateRecipeBook	 Done
   OP_RequestRecipeDetailsMsg		    Not needed?		      ------
   OP_RecipeDetailsMsg			        WS_RecipeDetails		 Done
   OP_RecipeList				           WS_RecipeList		    Done
EDIT: 3/9/2011 - OP_UpdateRecipeBookMsg

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

Re: Implementing Tradeskills

Post by Zcoretri » Fri Mar 04, 2011 12:28 am

Just jotting down packet data flow between client and server...

Code: Select all

-- OP_EntityVerbsVerbMsg --
4/5/2009 15:27:44
192.168.1.100 -> 199.108.12.50
0000:	00 09 00 A9 A4 63 21 0B 00 06 00 63 72 65 61 74 .....c!....creat
0010:	65 01                                           e.

Code: Select all

-- OP_RemoteCmdMsg --
4/5/2009 15:27:44
192.168.1.100 -> 199.108.12.50
0000	00 09 00 AA 28 50 01 00 00                      ....(P...

Code: Select all

-- OP_ShowRecipeBookMsg --
4/5/2009 15:27:44
199.108.12.50 -> 192.168.1.100
0000:	00 CE 57 6F 6F 64 77 6F 72 6B 69 6E 67 20 54 61 ..Woodworking Ta
0010:	62 6C 65 00 00 00 00 00 00 00 00 00 00 00 00 00 ble.............
0020:	00 00 00 00 00 00 00 00 00 00 00 00 01 07 00 00 ................
0030	00 20 00 00 00                                  . ...
Don't know if this is significant, so including it...

Code: Select all

-- OP_ClientCmdMsg::OP_EqDisplayTextCmd --
4/5/2009 15:27:44
192.168.1.100 -> 199.108.12.50
0000	00 09 00 AB FF FA 01 FF FF FF FF                ...........

Code: Select all

-- OP_ClientCmdMsg::OP_Unknown --
4/5/2009 15:27:44
199.108.12.50 -> 192.168.1.100
0000:	01 37 47 FA 00 00 FF 7E 02 00 06 03 CE 8A 23 00 .7G....~......#.
0010:	01 05 71 08 D8 66 9B 6D 00 00 00 00 12 1A 58 B7 ..q..f.m......X.
0020:	50 64 00 64 05 00 00 00 0A 00 61 6C 64 65 72 20 Pd.d......alder 
0030:	77 61 6E 64 19 00 41 64 76 61 6E 63 65 64 20 41 wand..Advanced A
0040:	72 74 69 73 61 6E 20 56 6F 6C 75 6D 65 20 35 00 rtisan Volume 5.
0050:	58 5B 2D 00 01 01 AB 08 10 00 00 00 00 00 00 00 X[-.............
0060:	D6 9A 72 98 39 AF F2 A7 00 00 00 00 23 00 45 73 ..r.9.......#.Es
0070:	73 65 6E 63 65 20 6F 66 20 46 6F 63 75 73 20 41 sence of Focus A
0080:	6E 67 65 72 20 28 41 70 70 72 65 6E 74 69 63 65 nger (Apprentice
0090:	29 1B 00 61 72 74 69 73 61 6E 20 65 73 73 65 6E )..artisan essen
00A0:	74 69 61 6C 73 20 76 6F 6C 75 6D 65 20 33 00 04 tials volume 3..
continues...big packet...

Code: Select all

-- OP_ExamineInfoRequestMsg --
4/5/2009 15:37:52
192.168.1.100 -> 199.108.12.50
0000	00 09 01 FE EB 05 55 4A 0A 9A 00 00             ......UJ....

Code: Select all

-- OP_ClientCmdMsg::OP_EqUpdateLootCmd --
4/5/2009 15:37:52
199.108.12.50 -> 192.168.1.100
0000:	00 09 05 77 01 37 48 01 00 00 FF 2B 02 00 00 00 ...w.7H....+....
0010:	00 FE 26 02 55 4A 0A 9A 03 0A 2D 25 4F 9D 32 00 ..&.UJ....-%O.2.
0020:	CD 16 FB 3D 11 57 6F 6F 64 77 6F 72 6B 69 6E 67 ...=.Woodworking
0030:	20 54 61 62 6C 65 01 FF 02 64 00 D8 66 9B 6D B6  Table...d..f.m.
0040:	FB 7F 00 00 0B 00 00 00 00 FF FF FF FF 00 00 00 ................
0050:	00 0B 00 00 00 00 FF FF FF FF 00 00 00 00 0B 00 ................
0060:	00 00 00 FF FF FF FF 00 00 00 00 0B 00 00 00 00 ................
0070:	FF FF FF FF 00 00 00 00 0B 00 00 00 00 FF FF FF ................
0080:	FF 00 00 00 00 0B 00 00 00 00 FF FF FF FF 00 00 ................
0090:	00 00 6F 01 1D 61 20 70 72 69 73 74 69 6E 65 20 ..o..a pristine 
00A0:	74 61 6C 6C 20 68 61 6C 66 6C 69 6E 67 20 64 72 tall halfling dr
00B0:	75 6D 01 00 10 03 47 06 99 EA 8F 4B 0B 00 00 00 um....G....K....
00C0:	00 FF FF FF FF 00 00 00 00 09 52 61 77 20 4D 61 ..........Raw Ma
00D0:	70 6C 65 62 00 03 09 52 61 77 20 4D 61 70 6C 65 pleb...Raw Maple
00E0:	01 61 00 10 52 61 77 20 54 75 62 65 72 20 53 74 .a..Raw Tuber St
00F0:	72 61 6E 64 01 05 00 08 52 61 77 20 49 72 6F 6E rand....Raw Iron
0100:	01 03 00 12 61 62 72 61 73 69 76 65 20 73 61 6E ....abrasive san
0110:	64 70 61 70 65 72 02 C8 00 04 01 00 01 01 00 00 dpaper..........
0120:	12 54 61 6C 6C 20 48 61 6C 66 6C 69 6E 67 20 44 .Tall Halfling D
0130:	72 75 6D 1D 00 43 72 61 66 74 69 6E 67 20 61 20 rum..Crafting a 
0140:	74 61 6C 6C 20 68 61 6C 66 69 6E 67 20 64 72 75 tall halfing dru
0150	6D 2E                                           m.

Code: Select all

-- OP_RemoteCmdMsg --
4/5/2009 15:37:54
192.168.1.100 -> 199.108.12.50
0000:	00 09 01 FF 28 87 01 0A 00 32 35 38 34 33 36 35 ....(....2584365
0010	36 35 33                                        653

Code: Select all

-- OP_ShowCreateFromRecipeUIMsg --
4/5/2009 15:37:54
199.108.12.50 -> 192.168.1.100
0000:	00 09 05 7F 01 C7 11 00 57 6F 6F 64 77 6F 72 6B ........Woodwork
0010:	69 6E 67 20 54 61 62 6C 65 55 4A 0A 9A 12 00 54 ing TableUJ....T
0020:	61 6C 6C 20 48 61 6C 66 6C 69 6E 67 20 44 72 75 all Halfling Dru
0030:	6D 03 CD 00 00 00 1D 00 61 20 70 72 69 73 74 69 m.......a pristi
0040:	6E 65 20 74 61 6C 6C 20 68 61 6C 66 6C 69 6E 67 ne tall halfling
0050:	20 64 72 75 6D 6F 01 01 00 00 0B 00 00 09 00 52  drumo.........R
0060:	61 77 20 4D 61 70 6C 65 01 0D 00 73 65 76 65 72 aw Maple...sever
0070:	65 64 20 6D 61 70 6C 65 20 AC 0B 00 61 03 62 00 ed maple ...a.b.
0080:	00 20 AC 0B 00 00 00 00 00 03 00 00 00 00 09 00 . ..............
0090:	52 61 77 20 4D 61 70 6C 65 01 00 00 00 00 01 0D Raw Maple.......
00A0:	00 73 65 76 65 72 65 64 20 6D 61 70 6C 65 20 AC .severed maple .
00B0:	0B 00 61 03 62 00 00 01 20 AC 0B 00 01 01 00 00 ..a.b... .......
00C0:	00 10 00 52 61 77 20 54 75 62 65 72 20 53 74 72 ...Raw Tuber Str
00D0:	61 6E 64 01 00 00 00 00 01 0C 00 74 75 62 65 72 and........tuber
00E0:	20 73 74 72 61 6E 64 81 A6 0B 00 C2 00 05 00 00  strand.........
00F0:	01 81 A6 0B 00 01 02 00 00 00 08 00 52 61 77 20 ............Raw 
0100:	49 72 6F 6E 01 00 00 00 00 01 0C 00 69 72 6F 6E Iron........iron
0110:	20 63 6C 75 73 74 65 72 7C A6 0B 00 6D 01 03 00  cluster|...m...
0120:	00 01 7C A6 0B 00 01 12 00 61 62 72 61 73 69 76 ..|......abrasiv
0130:	65 20 73 61 6E 64 70 61 70 65 72 02 01 12 00 61 e sandpaper....a
0140:	62 72 61 73 69 76 65 20 73 61 6E 64 70 61 70 65 brasive sandpape
0150:	72 8F BD 0B 00 83 00 C8 00 00 01 8F BD 0B 00 02 r...............

Code: Select all

-- OP_BeginItemCreationMsg --
4/5/2009 15:37:58
192.168.1.100 -> 199.108.12.50
0000:	00 09 02 00 C9 55 4A 0A 9A 20 AC 0B 00 03 00 00 .....UJ.. ......
0010:	00 00 01 20 AC 0B 00 01 01 00 00 00 01 81 A6 0B ... ............
0020:	00 01 02 00 00 00 01 7C A6 0B 00 01 01 8F BD 0B .......|........
0030	00 02                                           ..

Code: Select all

-- OP_ShowItemCreationProcessUIMsg --
4/5/2009 15:37:58
199.108.12.50 -> 192.168.1.100
0000:	01 CB E8 03 00 00 E8 03 00 00 CD CC 4C 3E CD CC ............L>..
0010:	4C 3F 00 04 00 00 00 00 00 00 0D 00 73 65 76 65 L?..........seve
0020:	72 65 64 20 6D 61 70 6C 65 61 03 01 00 FE 26 00 red maplea....&.
0030:	00 00 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 ................
0040:	00 00 AB BE 0B 00 FF FF FF FF FF FF FF FF 76 50 ..............vP
0050:	74 AB 61 03 02 40 00 00 00 00 00 00 00 00 00 00 t.a..@..........
0060:	00 00 00 00 00 00 00 00 00 00 00 00 64 00 00 00 ............d...
0070:	00 FF FF FF FF FF FF FF FF 00 00 00 03 00 00 00 ................
0080:	00 00 D8 66 9B 6D B6 FB 7F 00 0A 00 C8 00 00 00 ...f.m..........
0090:	00 00 00 00 00 00 01 00 0D 73 65 76 65 72 65 64 .........severed
00A0:	20 6D 61 70 6C 65 00 00 00 00 00 00 00 00 FE 26  maple.........&
00B0:	FF 90 01 00 00 12 00 61 62 72 61 73 69 76 65 20 .......abrasive 
00C0:	73 61 6E 64 70 61 70 65 72 83 00 02 00 FE 26 00 sandpaper.....&.
00D0:	00 00 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 ................
00E0:	00 00 A5 62 00 00 FF FF FF FF FF FF FF FF 0E D5 ...b............
00F0:	43 38 83 00 03 00 40 00 00 00 00 00 00 00 00 00 C8....@.........
0100:	00 00 00 00 00 00 00 00 00 00 00 00 64 00 00 00 ............d...
0110:	00 FF FF FF FF FF FF FF FF 00 00 00 03 00 00 00 ................
0120:	00 00 D8 66 9B 6D B6 FB 7F 00 0A 00 C8 00 00 00 ...f.m..........
0130:	00 00 00 00 00 00 00 00 12 61 62 72 61 73 69 76 .........abrasiv
0140:	65 20 73 61 6E 64 70 61 70 65 72 2D 00 41 62 72 e sandpaper-.Abr
0150:	61 73 69 76 65 20 73 61 6E 64 70 61 70 65 72 20 asive sandpaper 
0160:	69 73 20 75 73 65 64 20 69 6E 20 74 69 65 72 20 is used in tier 
0170:	32 20 72 65 63 69 70 65 73 2E 00 00 00 00 00 00 2 recipes.......
0180:	FE 26 FF 58 02 00 00 12 00 61 62 72 61 73 69 76 .&.X.....abrasiv
0190:	65 20 73 61 6E 64 70 61 70 65 72 83 00 02 00 FE e sandpaper.....
01A0:	26 00 00 00 00 00 FF FF FF FF FF FF FF FF 00 00 &...............
01B0:	00 00 00 00 A5 62 00 00 FF FF FF FF FF FF FF FF .....b..........
01C0:	0E D5 43 38 83 00 03 00 40 00 00 00 00 00 00 00 ..C8....@.......
01D0:	00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 00 ..............d.
01E0:	00 00 00 FF FF FF FF FF FF FF FF 00 00 00 03 00 ................
01F0:	00 00 00 00 D8 66 9B 6D B6 FB 7F 00 0A 00 C8 00 .....f.m........
0200:	00 00 00 00 00 00 00 00 00 00 12 61 62 72 61 73 ...........abras
0210:	69 76 65 20 73 61 6E 64 70 61 70 65 72 2D 00 41 ive sandpaper-.A
0220:	62 72 61 73 69 76 65 20 73 61 6E 64 70 61 70 65 brasive sandpape
0230:	72 20 69 73 20 75 73 65 64 20 69 6E 20 74 69 65 r is used in tie
0240:	72 20 32 20 72 65 63 69 70 65 73 2E 00 00 00 00 r 2 recipes.....
0250:	00 00 FE 26 FF 20 03 00 00 12 00 61 62 72 61 73 ...&. .....abras
0260:	69 76 65 20 73 61 6E 64 70 61 70 65 72 83 00 02 ive sandpaper...
0270:	00 FE 26 00 00 00 00 00 FF FF FF FF FF FF FF FF ..&.............
0280:	00 00 00 00 00 00 A5 62 00 00 FF FF FF FF FF FF .......b........
0290:	FF FF 0E D5 43 38 83 00 03 00 40 00 00 00 00 00 ....C8....@.....
02A0:	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02B0:	64 00 00 00 00 FF FF FF FF FF FF FF FF 00 00 00 d...............
02C0:	03 00 00 00 00 00 D8 66 9B 6D B6 FB 7F 00 0A 00 .......f.m......
02D0:	C8 00 00 00 00 00 00 00 00 00 00 00 12 61 62 72 .............abr
02E0:	61 73 69 76 65 20 73 61 6E 64 70 61 70 65 72 2D asive sandpaper-
02F0:	00 41 62 72 61 73 69 76 65 20 73 61 6E 64 70 61 .Abrasive sandpa
0300:	70 65 72 20 69 73 20 75 73 65 64 20 69 6E 20 74 per is used in t
0310:	69 65 72 20 32 20 72 65 63 69 70 65 73 2E 0D 00 ier 2 recipes...
0320:	73 65 76 65 72 65 64 20 6D 61 70 6C 65 61 03 01 severed maplea..
0330:	00 FE 26 FF E8 03 00 00 1D 00 61 20 70 72 69 73 ..&.......a pris
0340:	74 69 6E 65 20 74 61 6C 6C 20 68 61 6C 66 6C 69 tine tall halfli
0350:	6E 67 20 64 72 75 6D 6F 01 01 00 FE 26 00 00 00 ng drumo....&...
0360:	00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 ................
0370:	74 67 07 00 FF FF FF FF FF FF FF FF 10 03 47 06 tg............G.
0380:	6F 01 03 00 02 00 00 00 00 00 00 00 00 00 00 00 o...............
0390:	00 00 00 00 00 00 00 00 00 00 64 00 00 00 00 FF ..........d.....
03A0:	FF FF FF FF FF FF FF 00 00 00 03 00 00 00 0A 19 ................
03B0:	00 00 00 00 00 00 00 00 00 D8 66 9B 6D B6 FB 7F ..........f.m...
03C0:	00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 1D ................
03D0:	61 20 70 72 69 73 74 69 6E 65 20 74 61 6C 6C 20 a pristine tall 
03E0:	68 61 6C 66 6C 69 6E 67 20 64 72 75 6D 00 00 00 halfling drum...
03F0:	00 00 00 00 00 FE 26 FF C7 1B 51 92 D5 3E A0 B9 ......&...Q..>..
0400:	6C B3 F3 94 7D 4A 58 0B 6F 6F A9 20 D6 E2 FA 0D l...}JX.oo. ....

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Implementing Tradeskills

Post by John Adams » Sat Mar 19, 2011 1:19 am

A little fun for those bored senseless. Log into Tess (or your own world) and try the /animtest on any of the id's you get from this query ;)

On your EQ2DB, run:

Code: Select all

SELECT * FROM visual_states WHERE NAME RLIKE 'artsn' OR NAME RLIKE 'trdskl' OR NAME RLIKE 'tradeart';
Thought I'd go see what sounds/effects there were related to tradeskilling. There's probably more, but I'm sleeeeepy.

User avatar
Sylva1n
Posts: 271
Joined: Tue Mar 24, 2009 3:03 pm
Location: Quebec, Canada

Re: Implementing Tradeskills

Post by Sylva1n » Sun Mar 20, 2011 9:59 am

Just leting you know I come take a look from time to time, I'll jump in when I feel I can contribute... right now it's pretty much out of my league.

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Implementing Tradeskills

Post by John Adams » Sun Mar 20, 2011 3:11 pm

Cool Sylva1n, good to know. I will be pushing some content out to our Dev server soon(tm) as we get a few more core systems worked out, including some bugs that are causing crashes that make content development a little complicated. I'll post to the Content Team when I have some zones pushed out.

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

Re: Implementing Tradeskills

Post by Zcoretri » Tue Jun 21, 2011 8:32 pm

OK...screen shot from my test from scats code :mrgreen:
Tradeskill2.png
You do not have the required permissions to view the files attached to this post.

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: Implementing Tradeskills

Post by Scatman » Tue Jun 21, 2011 9:18 pm

And still nothing for me.. :shock:

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

Re: Implementing Tradeskills

Post by Zcoretri » Tue Jun 21, 2011 9:42 pm

After fixing another one of my structs that were off... :mrgreen:
Tradeskill3.png
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: Implementing Tradeskills

Post by Zcoretri » Fri Jul 01, 2011 10:14 am

Loading player recipes from DB :mrgreen:
Tradeskill5.png
Seems when you properly add recipes to your book the filter sections for Knowledge, Technique and Recipe auto fill
Tradeskill4.png
You do not have the required permissions to view the files attached to this post.

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: Implementing: Tradeskills

Post by Scatman » Fri Jul 01, 2011 1:49 pm

nice! :)

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Implementing: Tradeskills

Post by John Adams » Thu Feb 02, 2012 8:55 am

Tradeskills.

Where we at with this? Anyone remember where we left off, what are the issues? Please reply.

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

Re: Implementing: Tradeskills

Post by Zcoretri » Thu Feb 02, 2012 7:26 pm

John Adams wrote:Tradeskills.

Where we at with this? Anyone remember where we left off, what are the issues? Please reply.
Still in the learning stages, I could only get the windows to show in 1 client, and I can't remember which one it was, lol.
When I get some time I will determine which client I got it to work in.

So basically where we are at was creating structs and identifying opcodes.

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Implementing: Tradeskills

Post by John Adams » Fri Feb 03, 2012 7:18 am

Zcoretri wrote:When I get some time I will determine which client I got it to work in.

So basically where we are at was creating structs and identifying opcodes.
No need to jump on it right away, I was just curious so we know if it is something we can attack in 0.7.1, or save it for later releases. I know a lot of players have asked for this (and Pets) but we have our learning curve to consider too. Maybe with more hands on this, we can push through it faster.

If you want, Z... let's just drop whatever we were working on and do this in 1096. There will be no reason to support Tradeskills in RoK/TSO, and once we figure out DoV, reverting to SF might be easier.

User avatar
Trahelion
Posts: 69
Joined: Tue Jul 05, 2011 5:28 pm
Location: The Moon.

Re: Implementing: Tradeskills

Post by Trahelion » Fri Feb 03, 2012 3:20 pm

Tradeskills are one of my favorite things about eq2. I'll gladly contribute to testing them once they are available on the official server.
From the moon, With love.

The Whole of My EQ2 Emu Experience

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests