Can't set class level for pick lock
As the title says can't seem to set the rogue or bard class level for the skill pick lock. I have been through the code and my tables and they all are fine. Although the skill was defaulted to 66 in the class_skill table. This is the only skill that can't be set anyone have a clue as to why? Thanks.
Actually this is happening with a few skills. Most are working as they should but sense traps is another as is disarm traps that will not set. |
Just to make sure i wasn't doing anything wrong here is the output of how my tables are setup... trying to set pick lock to 40. Only thing I can find in the code so far is maxskill.h. The three skills that seem to have the problem are grouped. But I doubt thats it.
Also removing the 0's from skill_caps table has no effect. mysql> SELECT skill_35, name FROM class_skill WHERE name = 'Bard'; +----------+------+ | skill_35 | name | +----------+------+ | 40 | Bard | +----------+------+ 1 row in set (0.00 sec) mysql> SELECT * FROM skill_caps WHERE class = 8 AND skillid = 35; +---------+-------+-------+-----+--------+ | skillID | class | level | cap | class_ | +---------+-------+-------+-----+--------+ | 35 | 8 | 1 | 0 | 8 | | 35 | 8 | 2 | 0 | 8 | | 35 | 8 | 3 | 0 | 8 | | 35 | 8 | 4 | 0 | 8 | | 35 | 8 | 5 | 0 | 8 | | 35 | 8 | 6 | 0 | 8 | | 35 | 8 | 7 | 0 | 8 | | 35 | 8 | 8 | 0 | 8 | | 35 | 8 | 9 | 0 | 8 | | 35 | 8 | 10 | 0 | 8 | | 35 | 8 | 11 | 0 | 8 | | 35 | 8 | 12 | 0 | 8 | | 35 | 8 | 13 | 0 | 8 | | 35 | 8 | 14 | 0 | 8 | | 35 | 8 | 15 | 0 | 8 | | 35 | 8 | 16 | 0 | 8 | | 35 | 8 | 17 | 0 | 8 | | 35 | 8 | 18 | 0 | 8 | | 35 | 8 | 19 | 0 | 8 | | 35 | 8 | 20 | 0 | 8 | | 35 | 8 | 21 | 0 | 8 | | 35 | 8 | 22 | 0 | 8 | | 35 | 8 | 23 | 0 | 8 | | 35 | 8 | 24 | 0 | 8 | | 35 | 8 | 25 | 0 | 8 | | 35 | 8 | 26 | 0 | 8 | | 35 | 8 | 27 | 0 | 8 | | 35 | 8 | 28 | 0 | 8 | | 35 | 8 | 29 | 0 | 8 | | 35 | 8 | 30 | 0 | 8 | | 35 | 8 | 31 | 0 | 8 | | 35 | 8 | 32 | 0 | 8 | | 35 | 8 | 33 | 0 | 8 | | 35 | 8 | 34 | 0 | 8 | | 35 | 8 | 35 | 0 | 8 | | 35 | 8 | 36 | 0 | 8 | | 35 | 8 | 37 | 0 | 8 | | 35 | 8 | 38 | 0 | 8 | | 35 | 8 | 39 | 0 | 8 | | 35 | 8 | 40 | 100 | 8 | | 35 | 8 | 41 | 100 | 8 | | 35 | 8 | 42 | 100 | 8 | | 35 | 8 | 43 | 100 | 8 | | 35 | 8 | 44 | 100 | 8 | | 35 | 8 | 45 | 100 | 8 | | 35 | 8 | 46 | 100 | 8 | | 35 | 8 | 47 | 100 | 8 | | 35 | 8 | 48 | 100 | 8 | | 35 | 8 | 49 | 100 | 8 | | 35 | 8 | 50 | 100 | 8 | | 35 | 8 | 51 | 100 | 8 | | 35 | 8 | 52 | 100 | 8 | | 35 | 8 | 53 | 100 | 8 | | 35 | 8 | 54 | 100 | 8 | | 35 | 8 | 55 | 100 | 8 | | 35 | 8 | 56 | 100 | 8 | | 35 | 8 | 57 | 100 | 8 | | 35 | 8 | 58 | 100 | 8 | | 35 | 8 | 59 | 100 | 8 | | 35 | 8 | 60 | 100 | 8 | | 35 | 8 | 61 | 248 | 8 | | 35 | 8 | 62 | 251 | 8 | | 35 | 8 | 63 | 254 | 8 | | 35 | 8 | 64 | 257 | 8 | | 35 | 8 | 65 | 260 | 8 | | 35 | 8 | 66 | 263 | 8 | | 35 | 8 | 67 | 266 | 8 | | 35 | 8 | 68 | 269 | 8 | | 35 | 8 | 69 | 272 | 8 | | 35 | 8 | 70 | 275 | 8 | | 35 | 8 | 71 | 278 | 8 | | 35 | 8 | 72 | 281 | 8 | | 35 | 8 | 73 | 284 | 8 | | 35 | 8 | 74 | 287 | 8 | | 35 | 8 | 75 | 290 | 8 | | 35 | 8 | 76 | 293 | 8 | | 35 | 8 | 77 | 296 | 8 | | 35 | 8 | 78 | 299 | 8 | | 35 | 8 | 79 | 302 | 8 | | 35 | 8 | 80 | 305 | 8 | | 35 | 8 | 81 | 308 | 8 | | 35 | 8 | 82 | 311 | 8 | | 35 | 8 | 83 | 314 | 8 | | 35 | 8 | 84 | 317 | 8 | | 35 | 8 | 85 | 320 | 8 | +---------+-------+-------+-----+--------+ 85 rows in set (0.00 sec) |
Your table says that class 8 gets skill 35 but can not raise it until level 40. You need to set the cap values for levels 1-39.
|
Also 'class_skill' may be one of a few tables which are not currently used by EQEmu. I can find no references to it in my older code.
|
Right i dont want it trained until level 40 at the trainer but the trainer is offering it at level 10. My stats shows cap values. I'm assuming these are being read from maxskill.h. Cap 0 appears from what I can see to not allow the skill to be trained until X level that it has a value other than zero.
Even removing the lines with the 0's till 40 the skill can still be trained at level 10. Which is what I'm trying to move to 40. All other skills move fine. Except for these three 17 disarm traps, 35 pick lock, 62 sense traps. Those skills don't want to move. Is maxskills.h still in use because the coding in there looks to be the problem. Edit: #mystats shows the right values but and even doing #maxskills it wont train the skill so it is reading it right from the table in skill_caps. But it has its own values from that aren't set anywhere from 10 to 39. But if you goto the trainer or do #setskill 35 at level 10 you can add points to it and it looks like "Pick Lock 40" in #mystats, now at level 40 it looks like "Pick Lock 100/100" in #mystats. |
In my experience, when you alter the Skill_Caps table the SkillCaps.txt file in your resource folder must also match as well. SkillCaps.txt seems to be the equivalent to something like dbstr or eqstr files in checking and displaying the correct values for the client.
Example: My Knight class can DW at level 1 (originally the paladin which cant DW). The Skill_Caps table needed the correct additions as well as the SkillCaps.txt file to actually allow me to see the correct skills from the guild master to train and at the correct level. |
This is on titanium no skillcaps.txt. Every other skill moves with no problem. Except the the three I mentioned. Ideally either looking for a way to hard code it. Or a fix. I'd rather it read from the table like all the other skills.
|
Titanium? I can't really help :( Also maxskills.h is not used at all iirc, it just left over code that is still hanging around.
|
In the skill_caps table it's this.
Code:
skillID | class | level | cap | class_ | Code:
class | skillID | level | cap | class_ | |
Its just weird every other skill will set from the skill_caps table except for those three. Just wondering if its something client side or server side at this point. Unless someone has a fix. Actually the caps are working the trainer is just offering to train it at the wrong level which is the weird part.
|
Then try setting the skill to one upon first login in global_player.pl under a sub EVENT_CONNECT, maybe?
Code:
sub EVENT_CONNECT |
Actually your on to something with that bit of perl there.... anyway to mod that so it would make it trainable for bards at 40 and rogues at 6?
|
Looking through the quest commands doesn't seem like there is a way to set it at the trainer. :(
|
Yeah. If you mean by train it to them at said level, yes. But actually making it trainable on their Guildmaster, I don't believe that's possible, here's my interpretation of what you're saying.
Code:
sub EVENT_LEVEL_UP |
Yeah its not a bad workaround though.... bards are getting the skill at level 10 no matter what. Thats the problem I dont even see how they are getting that data. Its kinda got me ready to smash my head into the wall, only thing I can figure is it must be on the client side cause server side code works for all other skills and there is nothing that overrides the skill.
It just weird every other skill can be set at any level. But for some reason those three have skill caps other than whats defined in skill_caps. |
All times are GMT -4. The time now is 07:29 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.