Implementing: Tradeskills
Moderator: Team Members
- 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
Updated Tradeskills progress
How about Quest dings for completing tradeskill tasks? Are those just part of the existing Quest system, or something we need to consider in the Tradeskill system effort? I'm almost thinking it'd be the same as "pick up 10 sticks" type quests, when something appears in the player inventory, ding. Yes?
How about Quest dings for completing tradeskill tasks? Are those just part of the existing Quest system, or something we need to consider in the Tradeskill system effort? I'm almost thinking it'd be the same as "pick up 10 sticks" type quests, when something appears in the player inventory, ding. Yes?
-
Jabantiz
- Lead Developer
- Posts: 2912
- Joined: Wed Jul 25, 2007 2:52 pm
- Location: California
Re: Implementing: Tradeskills
It should all be handled in the current system. I am almost posotive there is even tradeskill xp stuff in the code for quests but would have to dig through to make sure.
- xinux
- Team Member
- Posts: 680
- Joined: Wed Mar 10, 2010 11:10 am
- Location: Destroyer of Servers
Re: Implementing: Tradeskills
I dropped a consignment collect under design which has me doing a collect on two accounts and doing a consignment both ways.
EQ II - Build=1360 (Orig) - Build=1360 (DoF) - Build=2654 (KoS) - Build=3375 (Classic) - Build=3554 (EoF)
EQ II - Build=4412 (RoK) - Build=5122 (TSO) - Build=6118 (SF) - Build=7628 (DoV) - Build=8295 (Aod)
EQ II - Build=4412 (RoK) - Build=5122 (TSO) - Build=6118 (SF) - Build=7628 (DoV) - Build=8295 (Aod)
-
Jabantiz
- Lead Developer
- Posts: 2912
- Joined: Wed Jul 25, 2007 2:52 pm
- Location: California
Re: Implementing: Tradeskills
I commited code to Dev SVN for gaining tradeskill xp and tradeskill levels. Most of the work left to do for leveling tradeskills is now in client::ChangeTSLevel()
- alfa
- Team Member
- Posts: 550
- Joined: Fri Jul 27, 2007 6:24 pm
- Location: France
- Contact:
Re: Implementing: Tradeskills
Question about this, at start of code you do a check on AdventureXPEnabled.Jabantiz wrote:I commited code to Dev SVN for gaining tradeskill xp and tradeskill levels. Most of the work left to do for leveling tradeskills is now in client::ChangeTSLevel()
Code: Select all
if(AdventureXPEnabled() == false)Fight with me... Or die, like the rest.
J.A. say: "I think Xinux tried to tell me this, but I ignore most things he suggests."
J.A. say: "I think Xinux tried to tell me this, but I ignore most things he suggests."
-
Jabantiz
- Lead Developer
- Posts: 2912
- Joined: Wed Jul 25, 2007 2:52 pm
- Location: California
Re: Implementing: Tradeskills
That would be a result of copy and paste kicking my ass. Thanks for spotting that and already commited a fix. That being said the flag to toggle tradeskill xp hasn't been identified yet (as far as I can tell from the code) so tradeskill xp will always be on.
- 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
I implemented the other toggles a while ago, in fact. Trouble is, it seems to keep breaking. I even have default bitwise values set in character_details.flags/flags2 fields, but the code may be overwriting them in some instances (never went back to figure it out)Jabantiz wrote:That being said the flag to toggle tradeskill xp hasn't been identified yet (as far as I can tell from the code) so tradeskill xp will always be on.
CF_COMBAT_EXPERIENCE_ENABLED
Code: Select all
void Commands::Command_Toggle_CombatXP(Client* client)
{
Player* player = client->GetPlayer();
player->toggle_character_flag(CF_COMBAT_EXPERIENCE_ENABLED);
player->SetCharSheetChanged(true);
}
Code: Select all
void Commands::Command_Toggle_QuestXP(Client* client)
{
Player* player = client->GetPlayer();
player->toggle_character_flag(CF_QUEST_EXPERIENCE_ENABLED);
player->SetCharSheetChanged(true);
}
You do not have the required permissions to view the files attached to this post.
-
Jabantiz
- Lead Developer
- Posts: 2912
- Joined: Wed Jul 25, 2007 2:52 pm
- Location: California
Re: Implementing: Tradeskills
The options in that right click menu changes based on what xp bar is showing, however checking again there is still no option to disable tradeskill xp, I could have sworn that was an option on live but maybe not. Will check live later tonight to see if that is a post DoV feature.
- 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
Knowing you would break all land speed records to prove me wrong, you don't think I checked that first?Jabantiz wrote:The options in that right click menu changes based on what xp bar is showing, however checking again there is still no option to disable tradeskill xp
I have never seen it, but I do not play EQ2 Live. I think alfa's original concern is that disabling AdventureXP (regardless if it works or not) may no longer award TS XP, which is brand new.
fwiw, the ONLY disable XP I see in my client is when the Adventure XP bar is showing.
-
Jabantiz
- Lead Developer
- Posts: 2912
- Joined: Wed Jul 25, 2007 2:52 pm
- Location: California
Re: Implementing: Tradeskills
And you are right, no way to disable tradeskill xp on live, no clue where I got that from but will remove that code next time I work on tradeskills, unless we want to support that on the emu but no clue why any one would want to stop tradeskill xp.
- alfa
- Team Member
- Posts: 550
- Joined: Fri Jul 27, 2007 6:24 pm
- Location: France
- Contact:
Re: Implementing: Tradeskills
Me too, sorry, my bad so :p (Ok ok on live I'm a lvl 3 craftman or other thing like that)Jabantiz wrote:I could have sworn that was an option on live but maybe not.
Fight with me... Or die, like the rest.
J.A. say: "I think Xinux tried to tell me this, but I ignore most things he suggests."
J.A. say: "I think Xinux tried to tell me this, but I ignore most things he suggests."
- 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
I think there needs to be a parade or something.Jabantiz wrote:And you are right
- alfa
- Team Member
- Posts: 550
- Joined: Fri Jul 27, 2007 6:24 pm
- Location: France
- Contact:
Re: Implementing: Tradeskills
Clap Clap !the only parade I can do :pJohn Adams wrote:I think there needs to be a parade or something.Jabantiz wrote:And you are right
Fight with me... Or die, like the rest.
J.A. say: "I think Xinux tried to tell me this, but I ignore most things he suggests."
J.A. say: "I think Xinux tried to tell me this, but I ignore most things he suggests."
- Zcoretri
- Team Member
- Posts: 1642
- Joined: Fri Jul 27, 2007 12:55 pm
- Location: SoCal
Re: Implementing: Tradeskills
New Tradeskill packet was found tonight...
I created a struct based off the opcode of 623 in data version 955, log file tradeskill_level_10.log
I created a struct based off the opcode of 623 in data version 955, log file tradeskill_level_10.log
Code: Select all
<Struct Name="WS_SelectTradeskill" ClientVersion="955" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_SelectTradeskillCmd">
<Data ElementName="unknown1" Type="int32" Size="1" />
<Data ElementName="title_text" Type="EQ2_16Bit_String" />
<Data ElementName="num_selections" Type="int8" Size="1" />
<Data ElementName="selections" Type="Array" ArrayVariableSize="num_selections">
<Data ElementName="tradeskill_name" Type="EQ2_16Bit_String" />
<Data ElementName="tradeskill_description" Type="EQ2_16Bit_String" />
<Data ElementName="icon_id" Type="int16" Size="1" />
<Data ElementName="unknown2" Type="int16" Size="1" />
<Data ElementName="unknown3" Type="int32" Size="1" />
<Data ElementName="command_text" Type="EQ2_16Bit_String" />
<Data ElementName="unknown4" Type="int8" Size="6" />
</Data>
<Data ElementName="command_text_cancel" Type="EQ2_16Bit_String" />
<Data ElementName="unknown5" Type="int8" Size="1" />
</Struct>-
Jabantiz
- Lead Developer
- Posts: 2912
- Joined: Wed Jul 25, 2007 2:52 pm
- Location: California
Re: Implementing: Tradeskills
First of all HUGE thanks to Zcoretri for making the initial struct, was going nuts after looking at hex for so long.
Here is an updated struct for 1096
I changed the opcode to OP_TradeskillList as that is what we have in the DB for the 1096 value, lower versions don't have an entry for this opcode however. This window looks like it is designed to be reusable as you can change the icon sheets it uses to display icons. The values are as follows.
Both of these structs are on dev svn now.
Also if any one knows if this window is used for anything else please let me know, might help figure out some of the unknowns in the struct.
Here is an updated struct for 1096
Code: Select all
<Struct Name="WS_SelectTradeskill" ClientVersion="1096" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_TradeskillList">
<Data ElementName="unknown1" Type="int32" Size="1" />
<Data ElementName="title_text" Type="EQ2_16Bit_String" />
<Data ElementName="num_selections" Type="int8" Size="1" />
<Data ElementName="selections" Type="Array" ArrayVariableSize="num_selections">
<Data ElementName="tradeskill_name" Type="EQ2_16Bit_String" />
<Data ElementName="tradeskill_description" Type="EQ2_16Bit_String" />
<Data ElementName="icon_id" Type="int16" Size="1" />
<Data ElementName="unknown3" Type="int16" Size="1" />
<Data ElementName="icon_sheet" Type="int32" Size="1" />
<Data ElementName="command_text" Type="EQ2_16Bit_String" />
<Data ElementName="confirm_window_title" Type="EQ2_16Bit_String" />
<Data ElementName="unknown4" Type="int8" Size="12" />
</Data>
<Data ElementName="command_text_cancel" Type="EQ2_16Bit_String" />
<Data ElementName="unknown5a" Type="int16" Size="1" />
<Data ElementName="unknown5" Type="int8" Size="1" />
</Struct>
Code: Select all
0 - item icons icon_is#.dds
1 - spell icons icon_ss#.dds
2 - menu icons icon_ms#.dds
3 - HO icons icon_os#.dds
4 - map icons icon_map#.dds
5 - AA icons icon_as#.dds
6 - ??? icon_sw.dds
Also if any one knows if this window is used for anything else please let me know, might help figure out some of the unknowns in the struct.
Who is online
Users browsing this forum: No registered users and 0 guests