Register for your free account! | Forgot your password?

You last visited: Today at 16:23

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



dbo.skills

Discussion on dbo.skills within the Shaiya Private Server forum part of the Shaiya category.

Reply
 
Old 03/15/2011, 03:03   #16
 
castor4878's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 717
Received Thanks: 3,367
Quote:
Originally Posted by EarthCrush View Post
What debugger are you planning on using?
VS one ... not because it's great (it's actually poor & stupid to trace code w/o sources) just because I know it.

But there is also the good option to throw away a whole set of skills - let's say the ranger ones - one renum the 10-20 I want working.

I have just make a new run, all skills are finely loaded into ps_game mem data; also a "reskill" command for a skill with ID>1000 does display its right name; so no obvious reason to think that they are badly loaded (that does not mean that are finely used neither).

I also browse all topic there and re-compare my ps_game with the , no differences but the upper level limit (70 in his code).

So again maybe it's the client game that messes up the thing ... yet tried several clients; i can also check exchanges with a Ethereal-like tool, but I'm quite tired to spend tens of hours to may be to invent warm water.
all distro do contains skills with id>1000 (edit: or not...) all publicly available clients/servers do manage them, there is no learning curve involved in wasting time with this fxxxx issue.
castor4878 is offline  
Old 03/15/2011, 03:39   #17
 
[GM]Father's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 136
Received Thanks: 343
Quote:
Originally Posted by castor4878 View Post
VS one ... not because it's great (it's actually poor & stupid to trace code w/o sources) just because I know it.

But there is also the good option to throw away a whole set of skills - let's say the ranger ones - one renum the 10-20 I want working.

I have just make a new run, all skills are finely loaded into ps_game mem data; also a "reskill" command for a skill with ID>1000 does display its right name; so no obvious reason to think that they are badly loaded (that does not mean that are finely used neither).

I also browse all topic there and re-compare my ps_game with the , no differences but the upper level limit (70 in his code).

So again maybe it's the client game that messes up the thing ... yet tried several clients; i can also check exchanges with a Ethereal-like tool, but I'm quite tired to spend tens of hours to may be to invent warm water.
all distro do contains skills with id>1000 all publicly available clients/servers do manage them, there is no learning curve involved in wasting time with this fxxxx issue.
VS kind of sucks at debugging without source. Even c++ it sucks (imo), it has better debugging support for managed code

Olly is better at reverse engineering.

I tried using WinDbg but it isn't super great RE either. Better to debug c++ than VS but it has a pretty high learning curve. (More so than Olly)

What exactly are you trying to do? It sounds like you were trying to modify the skills with your tool. Do you have a server that is working correctly to test against?
[GM]Father is offline  
Old 03/15/2011, 04:28   #18
 
castor4878's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 717
Received Thanks: 3,367
I'm (just) trying to be able to learn (not spell) skills on a fully (except that point) 5.2 working server.

And meaning that means being able to build a fully working skill.sdata so that the tool that is supposed to edit them does not generate ****.

after dozens of failed attempts (edit: I no longer have my first 5.2 config but a few 5.0+ skills failed to work since the first config), I'm working with an OS skill.sdata where skills are numbered from 1 to 255 and from 1001 to 1084 - it appears that in this case the icon associated to a skill is the Nth icon of icon_skill.tga if skillID is in range 1..255 and the (SkillID - 1000)th icon of icon_skill2.dds is skillID is > than 1000.

of course that rule is not unique, the korean 5.3 client uses skills numbered from 1 to 380 [incorrect, see edit below] (how icon indexes are computed in that case ?!... may be id - 256 ... to be checked)

so either I choose to not understand and let my tool works according some limited assumptions, or I go a bit further.

since 3 days we are dealing with these skillID greater than 1000 ... nobody answers that they shall not exist and that the AGE file that contains them is inevitably a bugged, temp, working file ...

EDIT:
ok, it's a bit more opaque and meaningless actually ...

all client skill.sdata (AGE of all p-svr i checked) define skill in range 1..255 and 1001..1xxx; and client side that 'ID' ("unique identifier" as it's supposed to be) seems to be used to only define the used icon.

on other side, the server skills table define the ""same"" skills with ID ranging 1 up to the number of defined skills (380 for all found distro).

yet another sonov mess !!

so now, which trustable, reliable, determinist rule is used to match the skill 1027 with a record defining a value 284 (and a pure useless rowID inherited from the inability of these people to understand the purpose and role of an unique key) ?...

one conclusion for now, as of today, my tool generates an invalid skill.sql script.
castor4878 is offline  
Old 03/15/2011, 05:32   #19
 
[GM]Father's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 136
Received Thanks: 343
Quote:
Originally Posted by castor4878 View Post
I'm (just) trying to be able to learn (not spell) skills on a fully (except that point) 5.2 working server.

And meaning that means being able to build a fully working skill.sdata so that the tool that is supposed to edit them does not generate crap.

after dozens of failed attempts (edit: I no longer have my first 5.2 config but a few 5.0+ skills failed to work since the first config), I'm working with an OS skill.sdata where skills are numbered from 1 to 255 and from 1001 to 1084 - it appears that in this case the icon associated to a skill is the Nth icon of icon_skill.tga if skillID is in range 1..255 and the (SkillID - 1000)th icon of icon_skill2.dds is skillID is > than 1000.

of course that rule is not unique, the korean 5.3 client uses skills numbered from 1 to 380 (how icon indexes are computed in that case ?!... may be id - 256 ... to be checked)

so either I choose to not understand and let my tool works according some limited assumptions, or I go a bit further.

since 3 days we are dealing with these skillID greater than 1000 ... nobody answers that they shall not exist and that the AGE file that contains them is inevitably a bugged, temp, working file ...
Ahh, I see. well, my skills are working atm so I am hesitant to play around with them. But, I am pretty interested in what is going on here, so I will try to set aside some time to look into this also.



Quote:
Originally Posted by castor4878 View Post

yet another sonov mess !!

so now, which trustable, reliable, determinist rule is used to match the skill 1027 with a record defining a value 284 (and a pure useless rowID inherited from the inability of these people to understand the purpose and role of an unique key) ?...
haha. Yes. Agreed.

How important is it to modify the skills with your tool?
I understand that it would be useful, but I would think once you have the skills in place you dont want to modify them. But, you will most likely be adding armors/weapons more often.

I also see a lot of value in combining your shop and the editing tool together.

And if you could combine that with lilpro's tool to create an in-place editor without having to extract any files and pipe it to an update, i see value in that also.

[Edit]
Hey, I had a thought.
Why don't you take a look at what zerosignal did in his scripts?
It looks like he combines correct for the DB and for the sdata.
[GM]Father is offline  
Old 03/15/2011, 05:57   #20
 
castor4878's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 717
Received Thanks: 3,367
Quote:
Originally Posted by EarthCrush View Post
How important is it to modify the skills with your tool?
what is important is to understand all assumptions of both game.exe and ps_game.exe; cosnidering that skills are identified by the order in which the wind pushes them is somewhat unsatisfactory.

so in short, my tool is valid to edit caption, description, effect (damage or cure), pre-defined action and costs.
it should not be sure to alter the value labelled 'SkillID' (which is actually 'icon') nor the 'icon' which is an uknown field. and generated SQL script shall not be used, edition is valid for the client only.

Quote:
Originally Posted by EarthCrush View Post
[...]But, you will most likely be adding armors/weapons more often.
[...]
And if you could combine that with lilpro's tool to create an in-place editor without having to extract any files and pipe it to an update, i see value in that also.
Weapon editor is almost finished.
The direct use of a data.saf file is planned for a while and won't require a lot of work but I need some time to implement some basic (boring) services (including stupid sonov checksums on sdata and low level file services), time ... i haven't find so far.

Meantime I still hesitated between a link to a data.saf and to a "workspace directory" (for safety reasons mainly), thank for the notice about your preferences.
castor4878 is offline  
Old 03/15/2011, 15:25   #21
 
nevak's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 69
Received Thanks: 49
I found some time and checked what I suggested. It doesnt seem to exist a limitation for SkillIDs above 1000 in ps_game.exe (at least when casting).
Another funny thing I have found out (dont know if you already did) is that for some skills the ID doesn't match between Skill.Sdata and dbo.Skills. For example Town Portal has an ID = 1006 in my .Sdata and ID = 192 in the dbo.Skills and this is skill is working like a charm...so I don't really know how the server identifies the skill that you are casting/learning...

Will look further into this as soon as I get more time.
nevak is offline  
Old 03/15/2011, 18:58   #22
 
castor4878's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 717
Received Thanks: 3,367
Quote:
Originally Posted by nevak View Post
I found some time and checked what I suggested. It doesnt seem to exist a limitation for SkillIDs above 1000 in ps_game.exe (at least when casting).
ok, good to know.

Quote:
Originally Posted by nevak View Post
Another funny thing I have found out (dont know if you already did) is that for some skills the ID doesn't match between Skill.Sdata and dbo.Skills.
yea, it's the point that puzzles me.

Quote:
Originally Posted by nevak View Post
For example Town Portal has an ID = 1006 in my .Sdata and ID = 192 in the dbo.Skills and this is skill is working like a charm...so I don't really know how the server identifies the skill that you are casting/learning...
for Town Portal, it uses ... 125 (!) the 'TypeDetail' value that defines such function (move to respawn) -- one can for instance create a new ice cream with TypeDetail=125 and ReadyTime of 0 to allow immediate escape in PvP...
(ReadyTime is in 1/4 of seconds to allow delay lower than 1 sec).

For the match, the skill.sdata defines skills 1 up to 185 in quite natural order (1077 is between 123 & 125 and 1001 between 156 & 158), after that, the big mess begins.
we found: 140, 124, 1002, 1003, 1004, 1005 & 1006 (7 blocks)
(and it's worst again after that: 90, 0, 0, 98, 98 (again), 90 (again too), 0, 186, etc).

so since the 185 first packets are the skills 1 to 185 (except 1001 & 1077), the Town Portal is the 185 + 7 = 192; nice coincidence and very poor way to identify a spell.
castor4878 is offline  
Old 03/15/2011, 19:53   #23
 
elite*gold: 0
Join Date: Sep 2009
Posts: 34
Received Thanks: 57
well... the SkillID is not the real SkillID.... SkillID is the order of the skills... 1-Strength Training;1-Body Training..etc or in other work 9 and 9 row..
SkillID in sdata is the iconID.. Town Portal has an ID = 1006 so if u gone check the icon_skill2.dds the 6 is the icon for town portal.. so for icon_skill3.dds is 2000-2256..
betalfa is offline  
Old 03/15/2011, 21:24   #24
 
castor4878's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 717
Received Thanks: 3,367
Quote:
Originally Posted by betalfa View Post
well... the SkillID is not the real SkillID.... SkillID is the order of the skills.
ru dealing with the SkillID or the SkillID ?

Quote:
.. 1-Strength Training;1-Body Training..etc or in other work 9 and 9 row..
blocks can have any size actually.

Quote:
SkillID in sdata is the iconID.. Town Portal has an ID = 1006 so if u gone check the icon_skill2.dds the 6 is the icon for town portal.. so for icon_skill3.dds is 2000-2256..
I indicated that at least 3 times in the previous posts ... do i miss your point ?
castor4878 is offline  
Old 03/15/2011, 22:31   #25
 
elite*gold: 0
Join Date: Sep 2009
Posts: 34
Received Thanks: 57
im just say.. if u convert ur skills.sdata to csv.. and u open the file u will see the SkillIcon all with value "0"... and the SkillID in csv is the real SkillIcon..
and they know what is SkillID by.. add +1 in 9 in 9 row.. -- 1-9 SkillID 1... 10-19 SkillID 2...etc .. and only now i read the page 2.. bc my net only let me now change the page ... lol.
betalfa is offline  
Thanks
1 User
Old 03/16/2011, 10:36   #26
 
nevak's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 69
Received Thanks: 49
Quote:
Originally Posted by betalfa View Post
and they know what is SkillID by.. add +1 in 9 in 9 row.. -- 1-9 SkillID 1... 10-19 SkillID 2...etc .. and only now i read the page 2.. bc my net only let me now change the page ... lol.
I think you are right, good point!

So castor, when you generate the sdata again you have to take into account the order of the rows inside it so Town portal should be in row 1720 (would be 1719 if you start counting rows from 0) which corresponds to SkillID -> 192.
Since each skill takes nine rows as betalfa said, this is the way the game gets the skillID (I suppose):
Code:
SkillID = ((RowNumber - (RowNumber % 9)) / 9) + 1
Note also that:
Code:
SkillLevel = (RowNumber % 9)+1
This formula only works if rows start at 0. If they start at 1 it should be the same but subtracting 1 to RowNumber first.

PS: just in case someone doesn't know '%' symbol means 'reminder of'
nevak is offline  
Old 03/17/2011, 09:40   #27
 
shinru2004's Avatar
 
elite*gold: 260
Join Date: Oct 2009
Posts: 258
Received Thanks: 267
i have a skill table of all EP5 skills that have correct values if you would like me to post it and clear up this big mess

P.S. the only skill im missing is dance of death.... im unsure of the values for this skill
shinru2004 is offline  
Old 03/17/2011, 18:27   #28
 
castor4878's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 717
Received Thanks: 3,367
The list of 'TypeDetail' can be usefull to double-check some noos and cures.
Thank if u can post it.
castor4878 is offline  
Reply


Similar Threads Similar Threads
Cabal Files, Sword Skills, Magic Skills, Buffs, and Weapons
01/31/2016 - Cabal Guides & Templates - 65 Replies
New Discovered Files ^_^ These Files which i discovered came from other people but sword skill files are my works cause im a melee type character Sword skills ^_^ For Force Bladders And Force Shileders FB /FS skil_1h_001.efx - FlashDraw skil_1h_002.efx - Impact Stab skil_1h_005.efx - Force Stab (FB, FS)
[HowTo+Erklärung]Skills einfügen mit Icon+Korea Skills
02/15/2012 - Metin2 PServer Guides & Strategies - 195 Replies
ACHTUNG: 23878 Buchstaben, die ihr hier lest xD Nachdem ich gesehen habe, dass es bereits ein paar Tutorials gibt, aber keinerlei Erklärungen, habe ich mich mal entschlossen euch es kurz zu erklären und eben nebenbei das HowTo zu machen^^ Btw die Erklärung+HowTo für die Korea Skills+Icons kommt am Ende^^ Und hier gibts ein paar neue Skills, Vorschau: http://www.youtube.com/watch?v=icuQLlUXBGM Download Da ich diese Dateien selber geschrieben habe und sie nicht von Ymir rechtlich...



All times are GMT +1. The time now is 16:26.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.