Moin Community,
hier ein kleines Tutorial, wie man den 6. Skill implementiert. Es ist nicht wirklich schwer.
Was brauchen wir alles?
- Navicat für die Datenbankarbeit
- Clientdateien (skilldesc.txt/skilltable.txt/playersettingmodule.py)
- das anhängte Archiv
- einen Editor (Notepad++, Sublime etc.)
- Immer Backups machen!!!
Clientpart:
1 Schritt:
Ihr entpackt eure locale_de und geht in den Pfad: locale/de
2. Schritt:
Öffnet nun die skilldesc.txt mit Notepad++ und geht an das Ende dieser Datei.
3. Schritt:
Macht eine neue Zeile und fügt diese Sachen hier ein: (WICHTIG: sollten bei euch die Skillnummern 51, 36, 21, 6 schon vorhanden sein, überschreibt diese mit meinem Code)
- 51 ASSASSIN Wutausbruch Zorn Hass Schleudere deinen Gegner mit diesem heftigen Hieb zu Boden. Nahkampf-Angriff Wirft den Gegner zu Boden ATTACK_SKILL|STANDING_SKILL|WEAPON_LIMITATION BOW|DAGGER seomgwang 21 4 Angriffswert %.0f-%.0f (minatk + (1.6* minatk + 200 + dex*7 + str*7)*k) (maxatk + (1.6* maxatk + 300 + dex*7 + str*7)*k)
- 36 ASSASSIN Schnelle Offensive Dimensionsangriff Dimensionswechsel Mit einer enormen Geschwindigkeit wechselst du die Dimension und bist schneller beim Feind. Tarnungsbonus Teleportationsangriff ATTACK_SKILL|NEED_TARGET|WEAPON_LIMITATION DAGGER|DOUBLE_SWORD|SWORD seomjeon 6 4 Angriffswert %.0f-%.0f (minatk + (1.6* minatk + 200 + dex*7 + str*7)*k) (maxatk + (1.6* maxatk + 300 + dex*7 + str*7)*k)
- 21 WARRIOR Blitzschlag Donnerschlag Gewitterschlag Lasse mächtige Blitze auf deinen Gegner regnen. Mächtiger Durchschlag-Angriff ATTACK_SKILL|CAN_CHANGE_DIRECTION|WEAPON_LIMITATION SWORD|TWO_HANDED gihyeol 21 4 Angriffswert %.0f-%.0f 2.3*MinATK + (3*MinATK + 4*STR + 3*CON)*SkillPoint 2.3*MaxATK + (3*MaxATK + 4*STR + 3*CON)*SkillPoint
- 6 WARRIOR Zerschneiden Zerschlagen Zetrümmern Schneide deinen Gegner mit einem mächtigen Blitzangriff. Mächtiger Blitz-Angriff ATTACK_SKILL|CAN_CHANGE_DIRECTION|WEAPON_LIMITATION SWORD|TWO_HANDED noegeom 6 4 Angriffswert %.0f-%.0f 2.3*MinATK + (3*MinATK + 4*STR + 3*CON)*SkillPoint 2.3*MaxATK + (3*MaxATK + 4*STR + 3*CON)*SkillPoint
4. Schritt:
Ihr öffnet jetzt die skilltable.txt mit Notepad++ und geht an das Ende dieser Datei.
5. Schritt:
Erstellt nun wieder eine neue Zeile und fügt meinen Code ein: (WICHTIG: sollten bei euch die Skillnummern 51, 36, 21, 6 schon vorhanden sein, überschreibt diese mit meinem Code)
- 51 ImperiaNinjaSkill1 2 1 1 0 HP -(atk+(1.6*atk+number(200,300)+dex*7+str*7)*k) 40+160*k 60 ATTACK,USE_MELEE_DAMAGE NONE 0 0 MELEE 6 0.8 800 0
- 36 궁신탄영 2 1 1 0 HP -(atk+(1.6*atk+number(200,300)+dex*7+str*7)*k) 40+160*k 60 ATTACK,USE_MELEE_DAMAGE NONE 0 0 MELEE 6 0.8 800 0
- 21 격산타우 1 1 1 0 HP -(2.3*atk+(3*atk+str*4+con*3)*k) 60+150*k 60 ATTACK,USE_MELEE_DAMAGE NONE 0 0 MELEE 8 1 0 200
- 6 격산타우 1 1 1 0 HP -(2.3*atk+(3*atk+str*4+con*3)*k) 60+150*k 60 ATTACK,USE_MELEE_DAMAGE NONE 0 0 MELEE 8 1 0 400
6. Schritt:
In der locale_de wären wir nun fertig, ihr könnt sie wieder packen.
7. Schritt:
Ihr entpackt eure root.eix/.epk und öffnet die playersettingmodule.py
8. Schritt:
In dieser Datei nach dem hier suchen: def DefineSkillIndexDict():
9. Schritt:
Nun sucht ihr nach folgendem Eintrag:
"SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131, 141, 142,),
und ersetzt diesen mit:
"SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131),
Der obere Eintrag sollte 4x in der playersettingmodule.py vorkommen, ihr ersetzt also alle 4x gefundenen Einträge!
10. Schritt:
Playersettingmodule.py abspeichern, die root.eix/.epk wieder packen.
11. Schritt:
Ihr ladet ihr euch meine Datei runter und entpackt sie in den Pack Ordner.
12. Schritt:
Öffnet die Index Datei im Pack Ordner und erstellt unter: PACK folgenden Eintrag:
Hier ein Beispiel, wie es aussehen sollte:
Serverpart:
1. Schritt:
Ihr verbindet euch mit Navicat auf eure Datenbank und geht in die player table.
2. Schritt:
Ihr sucht dort nach der skillproto, diese Tabelle öffnet ihr dann.
3. Schritt:
Wenn die Skillproto Tabelle nun geöffnet ist, geht ihr oben bei Navicat auf Abfrage (Query) und führt dort folgende Befehle aus:
- INSERT INTO `skill_proto` VALUES ('21', 0xEFBFBDDDBBEFBFBDC5B8EFBFBDEFBFBD, '1', '1', '1', '0', 'HP', '-(3*atk + (atk + 1.5 * str)*k)*1.3', '300+180*k', '', '', '60', '-( 3*atk + (atk + 1.5 * str)*k)*1.07', '', 'ATTACK,USE_MELEE_DAMAGE', '', 'NONE', '', '', '', '', '', '', '60+150*k', '0', '0', 'MELEE', '5', '1', '0', '200');
- INSERT INTO `skill_proto` VALUES ('6', 0xEFBFBDEFBFBDEFBFBDEFBFBDEFBFBDEFBFBD, '1', '1', '1', '0', 'HP', '-(2*atk + (2*atk + 2*dex + 2*con + str*4)*k)*1.1', '300+180*k', '', '', '60', '-(2*atk + (2*atk + 2*dex + 2*con + str*4)*k)*1.1', '', 'ATTACK,USE_MELEE_DAMAGE', '', 'NONE', '100+k*1000/6', '2', '', '', '', '', '50+140*k', '0', '0', 'MELEE', '10', '1', '0', '400');
- INSERT INTO `skill_proto` VALUES ('51', 0xB4EBC1F8B0A2, '2', '1', '1', '0', 'HP', '-((lv*2+(atk + str*3 + dex*18)*k)*1.1)', '300+180*k', '', '', '60', '-((lv*2+(atk + str*3 + dex*18)*k)*1.1)', '', 'ATTACK,USE_MELEE_DAMAGE', '', 'NONE', '100+k*1000/6', '2', '', '', '', '', '50+140*k', '0', '0', 'MELEE', '6', '0.5', '800', '0');
- INSERT INTO `skill_proto` VALUES ('36', 0xB1C3BDC5C5BABFB5, '2', '1', '1', '0', 'HP', '-((lv*2+(atk + str*3 + dex*18)*k)*1.1)', '300+180*k', '', '', '60', '-((lv*2+(atk + str*3 + dex*18)*k)*1.1)', '', 'ATTACK,USE_MELEE_DAMAGE', '', 'NONE', '', '', '', '', '', '', '40+160*k', '0', '0', 'MELEE', '6', '0.8', '800', '0');
Diese Query speichert ihr unter dem Namen skill.
4. Schritt:
Server rebooten und die Skills sollten funktionieren.