Silkroad Skills (easy way?)

  • Hallo stagetwo,


    wollte fragen , ob es eine einfache Methode gibt alle Skillpackete raus zu finden ?
    Bis jetzt habe ich mich mit dem edxloader eingeloggt und geschaut welcher Skill welches Packet ist. (sehr umständlich)
    Gibt es da nicht eine einfache Methode ?
    Das Packet verändert sich ja auch, wenn es geupt wird.

  • Danke erstmal.
    Nur leider weiß ich z.B. jetzt nicht was Cleric recovery division ist ^^
    Da alle skills in der skilldata_x.txt total die komischen Namen haben.


    Könnte es sein, dass das Recovery division level 4 ist ?

    Code
    1. 1 11723 778 SKILL_EU_CLERIC_HEALA_DIVIDE_B_04 ???:?? ??? SKILL_EU_CLERIC_HEALA_DIVIDE_B 0 4 2 0 99999999 0 0 1166 3000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 518 0 88 0 0 0 772 777 0 14 8 0 5338 1 0 0 15 255 0 1900 0 0 0 2 1 4 4 skill\europe\cleric_heala_divide_b.ddj SN_SKILL_EU_CLERIC_HEALA_DIVIDE_B xxx SN_SKILL_EU_CLERIC_HEALA_DIVIDE_B_TT_DESC SN_SKILL_EU_CLERIC_HEALA_DIVIDE_B_STUDY 0 72 0 6645362 1 6 300 3 35 5 1702062192 1751474540 3325 0 0 0 1836542056 150 1734702198 1212961365 1734702198 1212960068 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


    In C# sende ich das Packet so:

    Code
    1. Packet p8 = new Packet(0x7074);
    2. p8.WriteUInt8(1);
    3. p8.WriteUInt8(4);
    4. p8.WriteUInt32(0x2E0B);
    5. p8.WriteUInt8(0);
    6. Agent.Send(p8);
  • Die Namen aller Skills stehen in der textdata_equip&skill.txt. Um den Namen zur passenden ID zu finden, musst du in der Datei nach dem zweiten "Namen" suchen, also: SKILL_EU_CLERIC_HEALA_DIVIDE_B. Das müsste glaube ich Healing Favor sein(rSRO).

  • Die Namen stehen in einer anderen Datei drin. Mein Projekt bzgl. Silkroad-Bot hast du dir auch noch nie angeguckt?
    Schade...


  • Twice : Sowas verstehe ich halt noch nicht und taste mich nach und nach dran.


    Habe nun den Skill dank der textdata_equip&skill.txt gefunden


    Code
    1. 1 11784 784 SKILL_EU_CLERIC_RECOVERYA_GROUP_A_01 ???:???? ??? SKILL_EU_CLERIC_RECOVERYA_GROUP_A 0 1 2 0 99999999 500 1334 1166 20000 0 0 0 1493172284 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 518 0 40 0 0 0 772 0 0 6 0 0 280 1 0 0 15 255 0 1272 0 0 0 2 1 5 2 skill\europe\cleric_recoverya_group_a.ddj SN_SKILL_EU_CLERIC_RECOVERYA_GROUP_A xxx SN_SKILL_EU_CLERIC_RECOVERYA_GROUP_A_TT_DESC SN_SKILL_EU_CLERIC_RECOVERYA_GROUP_A_STUDY 0 72 3 1701213281 1685418593 300000 1886743667 5000 6645362 2 1 250 1 0 5 1702062192 1751474540 445 0 0 0 1836542056 105 1734702198 1212961365 1734702198 1212960068 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


    Nur leider weiß ich immernoch nicht, woran ich nun da das Packet entnehmen soll.
    bzw. den aufbau ^^


    Wenn ich dies mit meinem gesendet Packet vergleiche stimmt da keine zahl überein.

  • So, wie du das Packet oben schon erwähnt hast, müsste es eigentlich richtig sein. Recovery Division lv4 hat dann ja die ID 11787 bzw. 0x2E0B.
    Wenn du dann einen Skill benutzen willst, kommt als erstes ein Byte das glaube ich immer 0x1 ist.
    Dann kommt ein Byte das für das Benutzen eines Skills 0x4 ist.
    Als nächstes kommt dann die Skill ID als Dword.
    Als letztes kommt ein Byte das angibt, ob du den Skill einfach so benutzt oder an einem Player, Mob etc.
    Wenn du den Skill einfach so benutzt ist es 0x0 und wenn nicht 0x1 und dann kommt nochmal ein dword mit der unique ID auf wen du den Skill anwenden willst.

    Code
    1. Byte -> 0x1
    2. Byte -> 0x4
    3. Dword -> Skill ID
    4. Byte(flag) -> 0x0
    5. If flag == 0x1
    6. Dword -> unique ID
  • Oh ich meinte irgend einanderen Bot der mit K anfängt :D
    Habe an kdBot garnicht nach gedacht, werde mir da mal die files anschauen.


    Update:
    Bei dem kdBot sind die richtigen IDs drin.
    Nur jetzt überlege ich grade, wie die funktion aussehen könnte um diese reihe aus der textdatei zu verarbeiten.


    Reicht erstmal , dass der 0B2E0000 umschreibt in 0x2E0B


    Code
    1. 0B2E0000,SKILL_EU_CLERIC_RECOVERYA_GROUP_A_04,Recovery Division,58,0,1334,1166,20000,1685418593,784,772,4,518,2,0,0,2512