This is a read only copy without any forum functionality of the old Modcraft forum.
If there is anything that you would like to have removed, message me on Discord via Kaev#5208.
Big thanks to Alastor for making this copy!

Menu

Author Topic: [QUESTION] [C++]  ArcEmu  (Read 3326 times)

Serifaz

  • Contributors
  • Model Change Addict
  • *****
  • Posts: 293
    • View Profile
[QUESTION] [C++]  ArcEmu
« on: August 22, 2011, 04:32:09 am »
Got the core compiled just trying the new spec system now
« Last Edit: August 31, 2011, 03:57:52 am by Admin »

Steff

  • Administrator
  • Creator of Worlds
  • *****
  • Posts: 4551
    • View Profile
Re: Some questions about TalentTab.dbc
« Reply #1 on: August 22, 2011, 05:59:00 am »
Could be a bitmask.

1-1
2-2
3-4
4-8
5-16
6-32
7-64
8-128
9-256
10-512
11-1024
12-2048 etc

so 1024 could be 11.

Whats his for. You can store different references in ne colum

et say calss 8 and 11

1024 + 128 = 1152
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
Please mark as solved if solved.
Don't ask if you could ask a question... JUST ask the Question.
You can send me also offline messages. I will answer if I get online.
Skype: project.modcraft
Discord: steff#6954

schlumpf

  • Administrator
  • Creator of Worlds
  • *****
  • Posts: 2967
    • View Profile
Re: Some questions about TalentTab.dbc
« Reply #2 on: August 22, 2011, 09:53:22 am »
As written on the wiki, its indeed a bitmask, referencing ChrClasses.dbc.
http://wowdev.wiki/index.php?title=TalentTab.dbc
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Steff

  • Administrator
  • Creator of Worlds
  • *****
  • Posts: 4551
    • View Profile
Re: Some questions about TalentTab.dbc
« Reply #3 on: August 22, 2011, 10:08:04 am »
Oh i dont take a look at the wiki because i though he did it befor :)
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
Please mark as solved if solved.
Don't ask if you could ask a question... JUST ask the Question.
You can send me also offline messages. I will answer if I get online.
Skype: project.modcraft
Discord: steff#6954

Serifaz

  • Contributors
  • Model Change Addict
  • *****
  • Posts: 293
    • View Profile
Re: Some questions about TalentTab.dbc
« Reply #4 on: August 22, 2011, 10:46:45 am »
I did look at it before, but I don't know what bitmask means sorry, still learning X)

also, I think I wasn't clear on this, but how do I specify a new class number for the dbc?

basically I'm trying to work out the specs for the battlemage... I need to specify what class is getting the talents, how do I do that?

:Edit, sorry didn't notice that the numbers are x2 each time, so does that meen I can just double it over again and make the doubled number the class bitmask.?
so to make class 12 would be 1024x1024 =2048?
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Steff

  • Administrator
  • Creator of Worlds
  • *****
  • Posts: 4551
    • View Profile
Re: Some questions about TalentTab.dbc
« Reply #5 on: August 22, 2011, 11:05:04 am »
Just double it every step

1024
2048
4096
etc. And to set it for different classes you must sum them

1 = 1

4 = 8

12 = 2048

1 + 8 + 2048 = 2057 = 1 & 4 & 12 in one integer.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
Please mark as solved if solved.
Don't ask if you could ask a question... JUST ask the Question.
You can send me also offline messages. I will answer if I get online.
Skype: project.modcraft
Discord: steff#6954

Serifaz

  • Contributors
  • Model Change Addict
  • *****
  • Posts: 293
    • View Profile
Re: Some questions about TalentTab.dbc
« Reply #6 on: August 22, 2011, 05:41:38 pm »
O.k. I got the base for the talents setup, but for some reason when I try to make the class in game my world server crashes,
here is a screen shot of what the world server says when the world crashes.



I have the class setup in the database, dbc's,
and the core has been compiled to support the new classes / races.

could this result from not having the talents complete?
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Steff

  • Administrator
  • Creator of Worlds
  • *****
  • Posts: 4551
    • View Profile
Re: Some questions about TalentTab.dbc
« Reply #7 on: August 22, 2011, 08:04:36 pm »
What the log say. You call somewhere a class 13 that did not exist.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
Please mark as solved if solved.
Don't ask if you could ask a question... JUST ask the Question.
You can send me also offline messages. I will answer if I get online.
Skype: project.modcraft
Discord: steff#6954

Serifaz

  • Contributors
  • Model Change Addict
  • *****
  • Posts: 293
    • View Profile
Re: Some questions about TalentTab.dbc
« Reply #8 on: August 22, 2011, 10:47:28 pm »
sorry I'm a little confused,.. how is it that it doesn't exist, is it the core or the dbcs. or something else
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Laniax

  • Registred Member
  • Polygonshifter
  • *****
  • Posts: 62
    • View Profile
Re: [QUESTION] [C++]  ArcEmu
« Reply #9 on: August 25, 2011, 11:00:00 pm »
most likely the core.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
Current project: AIO Emulation solution.

Serifaz

  • Contributors
  • Model Change Addict
  • *****
  • Posts: 293
    • View Profile
Re: [QUESTION] [C++]  ArcEmu
« Reply #10 on: August 26, 2011, 02:34:18 pm »
O.k. I think I got the core mostly worked out, but when I try to make the character it tells me class 13 race 23 level info not found... is this dbc or a core problem?
maybe both?
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Steff

  • Administrator
  • Creator of Worlds
  • *****
  • Posts: 4551
    • View Profile
Re: [QUESTION] [C++]  ArcEmu
« Reply #11 on: August 26, 2011, 02:42:01 pm »
Search the error message inside the source. Then you will find the place where it is generated and can take a look what the problem is direct inside the code.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
Please mark as solved if solved.
Don't ask if you could ask a question... JUST ask the Question.
You can send me also offline messages. I will answer if I get online.
Skype: project.modcraft
Discord: steff#6954

Serifaz

  • Contributors
  • Model Change Addict
  • *****
  • Posts: 293
    • View Profile
Re: [QUESTION] [C++]  ArcEmu
« Reply #12 on: August 27, 2011, 01:40:18 am »
All I can find is the objectmgr.cpp and .h and I have no idea how they are assigning the levelinfo X)
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Steff

  • Administrator
  • Creator of Worlds
  • *****
  • Posts: 4551
    • View Profile
Re: [QUESTION] [C++]  ArcEmu
« Reply #13 on: August 27, 2011, 07:53:52 am »
The manager provide this function to check if ther is the combination of race and class

Code: [Select]
LevelInfo* ObjectMgr::GetLevelInfo(uint32 Race, uint32 Class, uint32 Level)
It will return NULL if the combination do not exist.

This Function search the Object mLevelInfo if ther is an entry for your race.

This gets filled in the function
Code: [Select]
void ObjectMgr::GenerateLevelUpInfo()
And there you see that the races are hardcoded so if you want to use naga(13) you need to change all parts.

Code: [Select]
for(uint32 Race = RACE_HUMAN; Race <= RACE_DRAENEI; ++Race )
Quote
RACE_HUMAN = 1
RACE_DRAENE =11

So 12 and 13 never get loaded even if they exist.

And at the bottom of the function you found:
Code: [Select]
// Now that our level map is full, let's create the class/race pair
pair<uint32, uint32> p;
p.first = Race;
p.second = Class;

// Insert back into the main map.
mLevelInfo.insert( LevelInfoMap::value_type( p, lMap ) );

This part will not fill in them into the object that hold the combinations.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
Please mark as solved if solved.
Don't ask if you could ask a question... JUST ask the Question.
You can send me also offline messages. I will answer if I get online.
Skype: project.modcraft
Discord: steff#6954

Serifaz

  • Contributors
  • Model Change Addict
  • *****
  • Posts: 293
    • View Profile
Re: [QUESTION] [C++]  ArcEmu
« Reply #14 on: August 29, 2011, 03:06:15 am »
O.k, I got the core compiled and the races and classes are both working, but how would I go about making it so I can add more identifiers in the talent section of player.h?

I have set up the talent tabs in the dbc's but I just need to add two lines in the TalentTreesPerClass section

this is what mine looks like.

[spoiler:2p34a6cd]/**
   TalentTree table

   mage - arcane - 81
   mage - fire - 41
   mage - frost - 61

   rogue - assassination - 182
   rogue - combat - 181
   rogue - subelty - 183

   warlock - affliction - 302
   warlock - demonology - 303
   warlock - destruction - 301

   warrior - arms - 161
   warrior - fury - 163
   warrior - protection - 164

   shaman - elemental - 261
   shaman - enchantment - 263
   shaman - restoration - 262

   paladin - holy - 382
   paladin - protection - 383
   paladin - retribution - 381

   death knight - blood - 398
   death knight - frost - 399
   death knight - unholy - 400

   priest - discipline - 201
   priest - holy - 202
   priest - shadow - 203

   hunter - beast - 361
   hunter - marksmanship - 363
   hunter - survival - 362

   druid - balance - 283
   druid - feral combat - 281
   druid - restoration - 282
   
   battleMage - illusion - 401
   battlemage - defense - 402
   battlemage - force - 403
   
   brewmaster - stability - 404
   brewmaster - recklessness -405
   brewmaster - potency - 406
*/

static const uint32 TalentTreesPerClass[DRUID + 1][3] =
{
   { 0, 0, 0 },        // NONE
   { 161, 163, 164 },  // WARRIOR
   { 382, 383, 381 },  // PALADIN
   { 361, 363, 362 },  // HUNTER
   { 182, 181, 183 },  // ROGUE
   { 201, 202, 203 },  // PRIEST
   { 398, 399, 400 },  // DEATH KNIGHT
   { 261, 263, 262 },  // SHAMAN
   { 81, 41, 61 },     // MAGE
   { 302, 303, 301 },  // WARLOCK
   { 0, 0, 0 },        // NONE
   { 283, 281, 282 },  // DRUID
   { 401, 402, 403 },  // BATTLEMAGE
   { 404, 405, 406 },  // BREWMASTER[/spoiler:2p34a6cd]

I am trying to make a tutorial on how to make custom class talents but I can't get the talent trees to compile
« Last Edit: January 01, 1970, 01:00:00 am by Admin »