Beiträge von Aze

    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)



    C
    1. 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)
    2. 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)
    3. 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
    4. 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)


    C
    1. 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
    2. 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
    3. 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
    4. 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:

    C
    1. *
    2. skills

    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:

    C
    1. 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');
    2. 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');
    3. 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');
    4. 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.


    Ich habe hier jetzt mal ein wenig aufgeräumt. Seid dankbar, dass er die gezipte Version zur Verfügung gestellt hat. Mit Nichtigkeiten muss man nun keinen Thread füllen.
    Wäre es so einfach, die neuen EPK's zu entpacken, müsste sowas hier nicht veröffentlicht werden, das sei an eine bestimmte Person gerichtet.

    Aber in welcher Datei im "Sh index.sh" steht keine weitere Ip or sonstiges.

    In die Configs der einzelnen Channels muss das hier eingetragen werden: BIND_IP: 127.0.0.1


    Die 127.0.0.1 natürlich mit deiner Serverip ersetzen.

    Warum entschuldigst du dich für die Ausdrucksweise? Auf Epvp ist es ersichtlich, wie hohl die Community überhaupt sein kann. Hast du ein geiles Design, rennen sie dir schon die Tür ein, egal wie scheiße der Server ist.


    Was letztendlich dem Interesse der Community entspricht, kann man nicht so leicht festlegen. Ich tendiere persönlich mehr zu Middle- bis Newschool, wobei Newschool auch viele Leute abschreckt. Mit einem Middleschoolserver geht man schon einen sicheren Weg, außer man will das Geld und erstellt sich einen Oldschoolserver.

    "INSERT INTO account.account(login,password,real_name,email,social_id,question1,answer1,create_time,status,coins,autoloot_expire,safebox_expire,web_aktiviert)


    Überprüf deine Accounttable mal, ob diese Spalten alle bei dir vorhanden sind. Ansonsten leg sie an, dann sollte es funktionieren

    Hör auf Mit Metin2 PServer zu erstellen dich braucht Keiner.

    Schwarze Schafe gibt es überall.


    @TE:


    Viel muss man dabei nicht beachten. Du musst unter den Virtual Box Einstellungen deinen Netzwerkadapter einstellen: Ändern --> Netzwerk --> Netzwerkbrücke und dort deinen Adapter auswählen. Dann speicherst du die Einstellungen, startest deinen Server und loggst dich ein. Danach gibst du ifconfig in deine VM Console ein und siehst dort eine IP. Als Beispiel: 192.168.2.105. Diese IP trägst du in den Client ein. Danach Server starten und du solltest connecten können.