Page 2 of 10

Re: Implementing Tradeskills

Posted: Sun Feb 27, 2011 10:04 pm
by John Adams
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.

Re: Implementing Tradeskills

Posted: Thu Mar 03, 2011 7:56 pm
by Zcoretri
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

Re: Implementing Tradeskills

Posted: Fri Mar 04, 2011 12:28 am
by Zcoretri
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. ....

Re: Implementing Tradeskills

Posted: Sat Mar 19, 2011 1:19 am
by John Adams
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.

Re: Implementing Tradeskills

Posted: Sun Mar 20, 2011 9:59 am
by Sylva1n
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.

Re: Implementing Tradeskills

Posted: Sun Mar 20, 2011 3:11 pm
by John Adams
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.

Re: Implementing Tradeskills

Posted: Tue Jun 21, 2011 8:32 pm
by Zcoretri
OK...screen shot from my test from scats code :mrgreen:
Tradeskill2.png

Re: Implementing Tradeskills

Posted: Tue Jun 21, 2011 9:18 pm
by Scatman
And still nothing for me.. :shock:

Re: Implementing Tradeskills

Posted: Tue Jun 21, 2011 9:42 pm
by Zcoretri
After fixing another one of my structs that were off... :mrgreen:
Tradeskill3.png

Re: Implementing Tradeskills

Posted: Fri Jul 01, 2011 10:14 am
by Zcoretri
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

Re: Implementing: Tradeskills

Posted: Fri Jul 01, 2011 1:49 pm
by Scatman
nice! :)

Re: Implementing: Tradeskills

Posted: Thu Feb 02, 2012 8:55 am
by John Adams
Tradeskills.

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

Re: Implementing: Tradeskills

Posted: Thu Feb 02, 2012 7:26 pm
by Zcoretri
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.

Re: Implementing: Tradeskills

Posted: Fri Feb 03, 2012 7:18 am
by John Adams
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.

Re: Implementing: Tradeskills

Posted: Fri Feb 03, 2012 3:20 pm
by Trahelion
Tradeskills are one of my favorite things about eq2. I'll gladly contribute to testing them once they are available on the official server.