Page 1 of 1

Bonekeeper spell problem

PostPosted: Thu Jun 28, 2012 7:40 pm
by Raz0rShark
On the server im working on, the spell Bone Keeper doesn't allow you to summon its minions. Do you guys know why? ive looked in the petcommander script didn't seem like much help. Were using the latest svn and the public database. thanks!

Re: Bonekeeper spell problem

PostPosted: Fri Jun 29, 2012 1:02 pm
by HunabKu
Hum wait a sec i've corrected this a long time ago ...

Okai founded a sql save with it.
I've extracted for you the bonedancer entries.
But watch my files are partially translated into french.
Bonedancer.zip
(22.25 KiB) Downloaded 17 times
And don't forget to :
  • - Save your DB first !
    - replace in files you use "INSERT IGNORE INTO" by "REPLACE INTO" !

Re: Bonekeeper spell problem

PostPosted: Thu Jul 26, 2012 9:01 pm
by Shadexx
Hello,

I got the same problem. I used your files on a second dol-test-database and it didnt change nothing. What I mean is ..

1. When I use the last DOL Public DB-Release the npc-template (ID# 213) is firstly missing, means you will have to create it, so I done it and I could cast him. However, onced the Bone Keeper (lvl 40 commander, suppression) was casted, I couldnt cast any other pets anymore. I thought I just had to add the class DOL.GS.CommanderPet and the CommanderBrain but it didnt change nothing. I saw in the code that there's this code thing:
Code: Select all
: base(npcTemplate)
{
if (Name.ToLower() == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameObjects.CommanderPet.ReturnedCommander"))
{
InitControlledBrainArray(0);
}

if (Name.ToLower() == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameObjects.CommanderPet.DecayedCommander") ||
Name.ToLower() == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameObjects.CommanderPet.SkeletalCommander"))
{
InitControlledBrainArray(1);
}

if (Name.ToLower() == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameObjects.CommanderPet.BoneCommander"))
{
InitControlledBrainArray(2);
}

if (Name.ToLower() == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameObjects.CommanderPet.DreadCommander") ||
Name.ToLower() == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameObjects.CommanderPet.DreadGuardian") ||
Name.ToLower() == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameObjects.CommanderPet.DreadLich") ||
Name.ToLower() == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameObjects.CommanderPet.DreadArcher"))
{
InitControlledBrainArray(3);
}
}
Has it do something with this issue? What I mean is do I have to automatically let the source "associate" a brain to the npc template of the commander?

2. Same thing with the official dol db release (not the public db release), however the weird thing there is that when you summon a Bone Keeper a Dread Commander appears instead of a Bone Keeper, even with the .SQL-Files that HunabKu has posted

3. Where in DOL can I find the NPC-Template-ID's specified for the certain commanders? For instance, with the Bone Keeper, his ID is 213 where can I take influence of that? I mean where can I see the ID and could change it? (I am not about to change it, I am just asking)

Do somebody know how to fix that? If yes it'd be highly appreciated, thanks in advance,
Shadexx

Re: Bonekeeper spell problem

PostPosted: Thu Jul 26, 2012 10:44 pm
by Ephemeral
For #3 the ID's are specified in either spell or npc table I don't remember.

Re: Bonekeeper spell problem

PostPosted: Thu Jul 26, 2012 11:12 pm
by Shadexx
Hi,

you can change npctemplate-ID's in the npctemplate-table, yes, but this wasnt what I meant. For instance, before I added the bone keeper it told me ingame "npctemplate id 213 was not found!" so the ID must be set anywhere already and I am looking for exactly that part

Re: Bonekeeper spell problem

PostPosted: Thu Jul 26, 2012 11:14 pm
by Ephemeral
Then its in spell, check one of the spell fields for that specific spell for 213.

Re: Bonekeeper spell problem

PostPosted: Thu Jul 26, 2012 11:52 pm
by Shadexx
Ok, yeah true for that case, now I changed the value "LifeDrainReturn" of the spell "Summon Bone Keeper" to "213 (its the field for the npctemplate), it lemme cast a bone keeper but now just like on the public release, you cannot cast any more pets. Is it all about the code with the arrays that I sent? Any advice would be highly appreciated, thanks in advance!

Shadexx

Re: Bonekeeper spell problem

PostPosted: Sat Jul 28, 2012 3:02 am
by Shadexx
Okay, very unexpected, dumb solution, but there we go.

1. Open CommanderPet.cs
2. Get for the this code:
Code: Select all
if (Name.ToLower() == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameObjects.CommanderPet.DreadCommander") ||
Name.ToLower() == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameObjects.CommanderPet.DreadGuardian") ||
Name.ToLower() == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameObjects.CommanderPet.DreadLich") ||
Name.ToLower() == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameObjects.CommanderPet.DreadArcher"))

{
InitControlledBrainArray(3);
}

}
Add after:
Code: Select all
Name.ToLower() == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameObjects.CommanderPet.DreadArcher"))
This:
Code: Select all
Name.ToLower() == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameObjects.CommanderPet.BoneKeeper") ||
Name.ToLower() == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameObjects.CommanderPet.BoneCaptian") ||
Name.ToLower() == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameObjects.CommanderPet.BoneMagus"))
Its for all three missing spec commanders

3. Get to languages/GameObjects/CommanderPet.txt
Find
Code: Select all
GameObjects.CommanderPet.DreadLich: dread lich
Add after
Code: Select all
GameObjects.CommanderPet.BoneKeeper: bone keeper
GameObjects.CommanderPet.BoneCaptain: bone captain
GameObjects.CommanderPet.BoneMagus: bone magus
Dont forget to create the NPC templates of course, ID's are 211 and 212
Enjoy

Re: Bonekeeper spell problem

PostPosted: Sat Jul 28, 2012 8:23 am
by Graveen
TY Shadexx. You know if it is working on Storm ? Can you quicktest this ?

Re: Bonekeeper spell problem

PostPosted: Sat Jul 28, 2012 1:02 pm
by Shadexx
I will test it, when I get at home.