Als aller erstes Downloadet euch FileZilla: ~>Klick mich<~
Installiert es und Öffnet es , nun geht oben auf
>Datei >Servermanager.. >Neuer Server
>Verbinden
- sollte er nun ein Problem anzeigen wegen Zeitüberschreitung geht oben auf >Bearbeiten >Einstellungen >Übertragungen >Dort wo Die 20 Steht tragt ihr eine 100 ein das müsste reichen.
>Wartet einen Mom nachdem ihr Verbunden habt und wolla seit ihr drinne auf der Rechten Seite seht ihr dann Ein wenig abgebildet um zu den Quest Ordner zu gelangen einfach
schon seht ihr eine Reihe von Ordnern die NPC Texte und Quests enhalten , z.B auch Belohnungen bei Quests könnt ihr dort umstellen , das z.B bei Hole 5 Rote Tränke man einen Ssp+9 als Belohnung bekommt geht alles ^^
Ihr wollt die Texte vom Teleporter ändern , geht normal in die quests dann unter der nummer 9012
öffnet die 2 Datei davon mit rechtsklick Ansehen/Bearbeiten
dort könnt ihr dann die Map namen und sogar andere Ports ändern so hab ich z.B jetzt das man sich bei mir zum SD2 Porten kann ^^
LvL 1 Quest:
Geht wie immer auf Quest aber diesmal net auf object und guckt unten sucht dort die Datei
main_quest_lvl1.quest
wie immer bearbeiten dort seht ihr dann alles könnt also euren eigenen Willkommentext entwerfen für euren Server.
1.Ihr öffnet virtual Pc 2.ihr bootet und loggt euch ein.(nach dem einloggen nich ./start machn) 3.jetzt öffnet ihr navicat. 4.loggt euch ein und öffnet die db player 5.Öffnet die tabelle refine_proto 6.und ihr setzt alles was in der spalte "vnum1" und "vnum 0" ist auf 0 7.strg+s druecken 8.db zumachen 9.virtual pc ./start eingeben 10.freuen
1. Geht auf diese Seite: ~>Klick mich!<~ 2. Oben bei Password gebt ihr das Passwort ein, dass ihr haben wollt. Mein Bsp.: abcdef123 3. Auf "Generate" klicken. 4. Guckt bei MySQL v5.x. In meinem Bsp.: ec942a0d18fe2f89ebd4064d0c5dd1ed47cca5fe 5. Diesen Code in Großbuchstaben ändern. Bsp.: EC942A0D18FE2F89EBD4064D0C5DD1ED47CCA5FE 6. Mit deiner DB in Navicat connecten. 7. In der Datenbank "account" die Tabelle "account" öffnen. 8. In der Spalte "password" kopiert ihr nun euren Code rein. Aber mit dem * davor Bsp.: *EC942A0D18FE2F89EBD4064D0C5DD1ED47CCA5FE 9. Die Tabelle wieder schließen. 10. Mit dem neuen Passwort einloggen.
1. Hamachi installieren logischerweise (ich hab die 2.bla bla bla version^^ sollte aber mit jeder denke ich funktionieren) 2. In Virtual Pc auf einstellungen gehen dann im fenster auf Netzwerk und bei Adapter Hamachi Network Interface auswählen 3. In freeBSD einloggen (ID=root Pw=mcncc.com) 4. szsinstall eintippen (z wird zum y im BSD also sysinstall wird da stehen) 5. auf Configure gehen 6. auf Networking gehen 7. auf Interfaces gehen 8. de0 auswählen (das oberste einfach) 9. No 10. No 11. bei IPv4 Gateway sollte eure Hamachi ip (als Beispiel 5.24.67.137) stehen und auch bleiben 12. bei IPv4 Address müsste man dann eintippen (laut meinem beispiel) 5.24.67.100) also die letzten 3 zahlen auf 100 stellen 13. bei Netmask müssen wir statt 255.255.255.0 255.0.0.0 hinschreiben den rest alles so lassen und auf OK 14. bei der darauf folgenden frage auf Yes 15. dann nur noch auf exit 2 mal und danach exit install 16. /etc/rc.d/netif restart eintippen und mit enter bestätigen 17. FreeBSD so stehen lassen dann suchen wir uns die mc.txt raus (die wahrscheinlich alle in ihrem Metin2 Clienten bereits drinne haben werden) und geben da die IPv4 Address ein also laut meinem Beispiel 5.24.67.100 18. dann wieder zurück zu FreeBSD ./start eintippen usw...
wenn wer auf den server connecten soll müsste man logischerweise seine richtige Hamachi ip beim kollegen in die mc.txt datei eintippen evtl er selber
Ein Backup der Festplatte oder der Datenbank machen! Server muss an sein bzw VPC. Der Gameserver braucht nicht gestartet sein! wir logen uns in die DB ein und gehen in die Tabelle player --> item_proto. Da scrollen wir runter bis Item 269, das ist das Baronenschwert+9. da tragen wir in die Tabellen folgendes ein: (nicht genannte Tabellen bleiben so wie sie sind bestehen!!!)
1.antiflag -> 288 2.limittype0 -> 1 3.limitvalue0 -> 80 <--das ist das mindest lvl um sie tragen zu können 4.applyvalue0 -> 30 5.applytype1 -> 17 <--standart bonus 6.applyvalue1 -> 15 <--wert des bonus in % 7.value1 -> 87 <--minimaler maw 8.value2 -> 109 <--maximaler maw 9.value3 -> 170 <--minimaler aw 10.value4 -> 210 <--maximaler aw 11.value5 -> 207 <-- steigerung des maw bzw. aw beim uppen 12.socket_pct -> 3 <--Steinslots
Der dmg wird mit den Values festgesetzt und muss immer gleich erhöht werden! Beispiel 20 dmg mehr:
Nachdem ihr die Sachen geändert habt, könnt ihr den GameServer starten und das Item mit /item 269 aufrufen und einen metin kloppen. Achtet aber darauf, das dies nur für das Baronenschwert+9 ist. Das +8 macht noch kein dmg und muss auch noch angepasst werden wie das +9 mit nur ein wenig weniger DMG. Was mir auch aufgefallen ist, das Sirius+0 macht den gleichen DMG wie eins +9. Dies könnt ihr dann auch gleich verbessern. Es sollte so auch mit den anderen Waffen gehen (Dolche,2Hand,Bögen, etc)
1. Schritt: Wir machen jetzt einfach mal die Frau die keine Funktion hat zu einer Händlerin dazu öffnen wir Navicat, gehen in die db player und dann auf die Tabelle "mob_proto" Wir scrollen runter bis wir bei vnum die Nummer 9010 finden dann merken wir uns die Zeile und gehen nach rechts bis wir zu on_click kommen
bei on click ändern wir die 2 die bei der Frau stehen müsste in 1
2. Schritt: jetzt müssen wir der Frau noch sagen was sie verkaufen soll dazu gehen wir wieder in der db player aber diesmal auf die Tabelle shop hier müssten sind jetzt die Verkaufskategorien aufgelistet z.b. all_sword bedeutet das der NPC alle Schwerter verkauft auf der rechten Seite seht ihr so Zahlen wie: 9001 oder 9002 die Zahlen stehen jeweils für die NPSs (des sind die Nummern dir ihr auch eingeben müsste wenn ihr sie per gm code herholen wollt) ihr tragt jetzt einfach hinter all_sword die Nummer 9010 ein dann verkauft die Frau jetzt alle Schwerter
3. Schritt (optional): ihr könnt auch eure eigenen kategorien machen dazu mach ihr bei der tabelle shop einfach eine neue zeile (unten auf des + klicken) ihr tragt einfach eine id ein z.b. 11 dann nennt ihr sie z.b. Tränke oder so, und macht bei der Zahl rechts wieder die Zahl 9010 (für die Frau) ihr müsste der kategorie jetzt noch sagen was sie verkaufen soll Dazu geht ihr auf die Tabelle "shop_item" und macht da auch eine neue Zeile gebt ihr ganz links die gleiche Nummer wie die Kategorie oben hat (in meinem Fall Nummer 11) Bei "item_vnum" gebt ihr jetzt die Zahl ein von dem Item das ihr verkaufen wollt, z.B. für Vollmondschwert Nummer 299 (auch wieder der Gm Code) Und rechts bei "count" kommt die Anzahl hin
Des könnt ihr mit allen NPCs und Items machen Schritt 3 gilt z.B auch wenn ihr der Gemi die Sachen ändern wollt
Hier die Ids (shop_vnum): 1: Waffenhändler 2: Fischer 3: Gemi 4: Rüstungshändler die Restlichen einfach raussuchen
man kann auch aus einem Monster einen laden machen
Hey, für alle die es noch nicht wussten und es nun auf dem eigenen Server ausprobieren wollen .
Also wie ihr wisst gab es auf manchen Servern wie WinGm nur Maxboni . Ihr wollt das auch? Ich zeige es euch .
Ihr öffnet Navicat geht auf player und anschließend auf item_attr . Anschließend öffnet sich nun eine Tabelle mit STR, CON usw .
Nehmen wir nun als Beispiel Str . Dort steht bei lvl 1 2 , lvl 2 4 , lvl 3 6 , lvl 4 und lvl 5 12 . Das sind die Werte für Str die ihr erreichen könnt , also 2,4,6,8,12str Wenn ihr nun nur MaxBoni wollt und ändert lvl1-lvl 5 auf 12 ( beliebig geht auch 50 ) .
Scrollt man nun weiter nach rechts kommt weapon , foots usw. Dort wo eine 5 steht kann man max das lvl5 von dem bestimmten Boni erreichen . Wollt ihr nun das auch Str auf eure Rüstung geht , gebt einfach bei Armour anstatt der 0 , die 5 ein .
Nun speichern und Server rebooten und ihr bekommt in dem Fall nurnoch 12str( oder halt mehr , könnt ihr entscheiden ) und auch 12str auf den Helm .
Kommen wir nun zu den 6/7ten Bonus. Dafür geht ihr auf item_attr_rare. Nun seht ihr wieder eine Tabelle mit den jeweiligen boni , z.b MAX_HP ( Max tp ) . Dort steht nun ebenfalls bei lvl1-lvl5 500 , d.h wenn ihr 6/7boni ändert kommt nur 500 tp drauf , nichtmehr und nich weniger . Wollt ihr nun 2000tp draufhaben , ändert lvl1-lvl5 zu je 2000.
Das Weapon und Armour wenn man weiter nach rechts scrollt ist unwichtig weil da überall 5 steht , d.h ihr bekommt auf z.B ein Stichschwert max den lvl 5 bonus , da aber lvl1-lvl 5 identisch ist . Unwichtig
Wie auch oben gesagt , speichern und Server rebooten.
1. Startet euren Server und öffnet die DB mit eurem Lieblings MySQL Programm (in den meisten Fällen dürfte das Navicat sein) 2. Öffnet die Datenbank "player". 3. Öffnet die Tabellen "item_proto" und "refine_proto" (<---braucht ihr nur, wenn ihr das Upp-Zeugs/Kosten/Warscheinlichkeit ändern wollt) 4. In der Tabelle "item_proto" sucht ihr euch nun die 66er+9 raus. Die Values: -->Krieger : 11299 -->Sura : 11699 -->Schamanen : 11899 -->Ninja : 11499 5. Scrollt solange nach rechts bis ihr den Tabellen Abschnitt "refine_set" gefunden habt. Dort steht normalerweise eine "0". In dieses Feld tragt ihr nun immer die Zahl "501" ein. 6. In dem Feld "refined_vnum", direkt neben "refine_set", tragt ihr noch die Value der Kingrüssi ein. Die Values: -->Krieger : 11971 -->Sura : 11973 -->Schamanen : 11974 -->Ninja : 11972
----->WOLLT IHR DIE UPP ITEMS/KOSTEN/WARSCHEINLICHKEITEN ÄNDERN WEITERLESEN<-----
6. Nun wechselt ihr in die Tabelle "refine_proto". 7. Scrollt solange nach rechts bis ihr die Spalten "vnum0" und "vnum1" seht. Das sind die beiden Items die man zum uppen benötigt. Wie ihr seht steht bei "vnum0" die Value für die Segenschriftrolle und bei "vnum1" die Value für die Gegenangriffstrategie. Jeweils hinter den "vnum" Feldern befinden sich die "count" Felder in denen ihr eintragen könnt wie oft man das vorher festgelegte Item benötigt. 8. scrollt noch weiter nach rechts bis ihr die Spalten "cost" und "prob" seht (ganz am Ende!). "cost" sind die Kosten fürs Uppen und "prob" ist die Warscheinlichkeit in %. Normalerweise steht bei der Warscheinlichkeit 100.
Am anfang geht ihr in eure Db rein und macht die db "player" auf in der db öffnet ihr die tabelle "player" dann sucht ihr die Account ID eines chars raus (am besten schreibt ihr die auf oder so). So als nächstes geht ihr in die tabelle "item" so und nun drückt ihr strg + f dann öffnet ihr die suchleiste da schreibt ihr jetzt eure Account ID rein dann müsst ihr nurnoch eure id finden und weiter nach rechts scrollen bis ihr zu "vnum" kommt da müsst ihr jetzt gucken ob es die richtige value (beim grolli die 3169) is,wenn nicht dann sucht die nächste id raus bis ihr die halt gefunden habt so dann weiter nach rechts scrollen bis ihr zu "attrvalue 0" kommt, da müsst ihr gucken welcher wert da steht zb 23 das bedeutet dann das euer grolli 23 dss hat ... den müsst ihr nurnoch ändern z.b in 2000 so dann 2 weiter zu "attrvalue 1" und das is der fks wert jetzt nurnoch den ändern in z.B 200 und strg + s drücken dann server rebooten und fertig is euer grolli mit 2k dss und 200 fks ^^
1. Loadet euch OpenOffice runter und installiert es. 2. Öffnet hongkong_list bis dort beim öffnen mit OpenOffice dort steht Zeichensatz, Grindschrift, Sprache und Absatzumbruch. 3. Zeichensatz: Chinesisch traditionell (Big5) Grindschrift: Times New Roman Sprache: Deutsch (Deutschland) Absatzumbruch: LF 4. Geht bis zum Ende der hongkong_list wenn ihr es geöffnet habt und drückt ENTER. 5. Schreibt dann euer Quest rein z.B. gmstuff.quest und speichert das quest ab und wenn dann so ne Frage kommt In welchen Format speichern dann drückt In diesen Format speichern oder so 6. Ladet die Datei wieder in /usr/rain/channel/share_data/locale/hongkong/quest 7. Löscht zur Sicherheit den /usr/rain/channel/share_data/locale/hongkong/quest/object Ordner. 8. Geh wieder in den Virtual PC wenn du nicht eingellogt bist logge dich ein. 9. Wenn du deine make.sh schon vorbereitet hast mache mit schritt 13 weiter 11. Gebe in Virtual PC ein cd[LEERZEICHEN]-..-usr-rain-channel-share?data-locale-hongkong-quest 12. Gib nun ein mv[LEERZEICHEN]make[LEERZEICHEN]make.sh und nun heißt die Datei make.sh 13. Gib jetzt ein chmod[LEERZEICHEN]u+x[LEERZEICHEN]make.sh 14. Jetzt eingeben: sh[LEERZEICHEN]make.sh 15. Einbischen warten es sollte nun arbeiten. wenn es aufhört weiter mit 16 16. cd[LEERZEICHEN]-..-root- eingeben 17. Nun könnt ihr wie gewohnt mit .-start den Server Starten. 18. Wenn der Server gestartet ist. Mit dem Client im Spiel einloggen. 19. Falls die Quest einen NPC ändert diesen NPC Spawnen oder einfach hingehen. 20. Wenn die neue Funktion da ist Glückwunsch es geht. Wenn NICHTweiter mit 21 21. Wenn ein Fehler bei der Installation aufgetreten ist oder wenn du einen NPC anklickst und nix passiert ist wahrscheinlich eine Quest datei fehlerhaft. Versuche eine Version ohne Fehler zufinden.
Benötigt: Notepad++ mit Lua Syntax Hilighting Eine Liste der Quest funktionen (Ist dabei^^) Geduld Ein Gehirn
Umlaute: * untested
à : \195\160 | ò : \195\178 | è : \195\168 | ì : \195\172 | ù : \195\185 á : \195\161 | ó : \195\179 | é : \195\169 | í : \195\173 | ú : \195\186 â : \195\162 | ô : \195\180 | ê : \195\170 | î : \195\174 | û : \195\187 ã : \195\163 | õ : \195\181 | ë : \195\171 | ï : \195\175 | ü : \195\188 ä : \195\164 | ö : \195\182 æ: \195\166 | ø : \195\184
ç : \195\167 ñ : \195\177
Ä : \195\132 Ö : \195\150 Ü : \195\156 ß : \195\159 Einfach statt dem Buchstaben schreiben.
Quest funktionen:
->Klick<-
Einleitung: Wir wolllen in diesem Tutorial eine kleine Quest schreiben. Aber das kommt später erstmal müssen wir ja wissen wie eine Quest Datei aufgebaut ist. Und das zeige ich euch jetzt.
Aufbau einer Quest Datei:
Kopf der Datei: Jede datei fängt so an.
Code:
quest questname begin
Das startet die Quest
Die States: Jede Quest file hat sogennante States sie beschreiben die einzelnen Teile einer Quest wie den anfang und das ende. Diese States funktionieren als Einhänge Punkte/Hooks
Code:
state Statename begin when waswirdgemacht with Bedingung begin // restlicher Code end end
Jede quest fängt mit dem State start an und wird dann erweitert Den State wechseln wir über
Code:
set_state( neuer state)
Die wichtigsten System eigenen States sind leter, info, button, login denn sie bestimmen wann welche funktion aufgerufen wird. Die When bereiche: Die when berreiche tauchen an verschiedenen Stellen auf. Sie stellen sicher das die Reihenfolge stimmt und sachen nur kommen wenn sie kommen sollen.
letter = Wenn die Briefe/Quest Briefe geladen werden. info = Wenn man auf eine Quest drückt button = fast wie info login = wenn man sich einloggt -> erklärt warum nach jedem login die Quests wierder auftauchen levelup = wenn ein neues level erreicht wird Beispiel:
Code:
when letter begin // einsatz bei letter funktion local v=find_npc_by_vnum(20354) // npc auswählen und gucken ob er existiert if 0==v then // sicherheits check damit keine fehler kommen. else target.vid("__TARGET__", v, "Suche NPC bla bla") // NPC mit der Nummer 20354 als Ziel makieren end end
Funktionen: Es gibt sogennante Funktionen die einem Helfen an Daten zukommen. Diese könnt ihr auch oben in der Funktions liste finden man setzt sie so ein funktionsname(argument1, arugment2) wie das mit den argumenten ist könnt ihr in anderen quest dateien rausfinden.
Los gehts
Also wir brauchen erstmal ne Story die wir Simpel halten. Sagen wir Die Gemi will Soon nach nem Date fragen. Und ihr sollt die Nachricht überbringen.
Fangen wir also an:
Code:
quest adateforgemi begin state run begin when login with pc.level<=5 begin set_state(information) end end state information begin --State Information when letter begin -- Wenn alle Quest Briefe aufgerufen werden. send_letter("Bitte hilf mir!") -- Sende neuen Quest Brief "Bittle helft mir!" end when button or info begin say_title("Bitte hilf mir!") -- Den Titel des Briefes sagen
----"12345678901234567890123456789012345678901234567890"| say("Ich habe mich in einen Jungen verliebt.") say("Sein Name ist Soon, ich traue mich nicht") say("ihn anzusprechen. Kommt bitte zu mir") say("ich werde euch auch reich belohnen.") set_state(gotogemi) -- Wechsele den State zu gotogemei end end state gotogemi begin when letter begin local v=find_npc_by_vnum(GEMIVNUM) -- mache v zu Gemi if 0==v then -- Wenn keine Gemi gefunden wurde dann mach nichts else target.vid("__TARGET__", v, "Geh zur Gemi") -- setze die Gemi als neues Ziel end end when letter begin send_letter("Komm zu mir!") end when button or info begin say_title("Kom zu mir!") say("Geh zur Gemi") say("") end when __TARGET__.target.click begin target.delete("__TARGET__") say("Gemi :")
----"12345678901234567890123456789012345678901234567890"| say("Ich habe mich in einen Jungen verliebt.") say("Sein Name ist Soon, ich traue mich nicht") say("ihn anzusprechen. Könntet ihr bitte zu Soon") say("gehen und ihn für mich nach eine Date fragen?") say("Ich würde euch reichlich belohnen.") say("Bitte helft mir!") say("") local s = select("Ich helfe doch gerne","Nein, keine Zeit") if s=1 then set_state(gotosoon) else say("Schade...") say("") clear_letter() q.done() end end end state gotosoon when letter begin local v=find_npc_by_vnum(SOONVNUM) if 0==v then else target.vid("__TARGET__", v, "Geh zu Soon") end end when letter begin send_letter("Komm zu mir!") end when button or info begin say_title("Geh zu Soon!") say("Beweg dich zz Soon") say("") end when __TARGET__.target.click begin target.delete("__TARGET__") say("Gemi :")
----"12345678901234567890123456789012345678901234567890"| say("Die Gemi will ein Date von mir?") say("Sag ihr nein ich bin schon verheiratet.") say("Bis dann...") say("") set_state(backtogemi) end end state backtogemi when letter begin local v=find_npc_by_vnum(SOONVNUM) if 0==v then else target.vid("__TARGET__", v, "Geh zur Gemi") end end when letter begin send_letter("Geh zur Gemi!") end when button or info begin say_title("Geh zur Gemi!") say("Berichte der Gemi") say("") end when __TARGET__.target.click begin target.delete("__TARGET__") say("Gemi :")
----"12345678901234567890123456789012345678901234567890"| say("Er ist verheiratet?") say("Schade aber ich hab dir eine belohnung versprochen.") say("") say_reward("Die Gemi gibt dir ein Schwert+9") pc_giveitem2(VNUM) clear_letter() set_state(__COMPLETE__) end end state __COMPLETE__ begin end end
1. Wie ihr überhaupt die Console öffnet 2. Welche Commands es gibt 3. Wie man sie benutzt
Dann wollen wir mal anfangen:
Metin2 Console öffnen (GM-Rechte erforderlich):
Ihr drückt ENTER, jetzt sollte die Chat-Leiste erscheinen. Dort tippt ihr ein: /c. Jetzt drückt ihr wieder ENTER, werdet feststellen, dass sich augenscheinlich nichts getan hat, und drückt nocheinmal ENTER. Immer noch nichts hat sich getan, wenn ihr nun aber "," (Komma) drückt, erscheint die Console im oberen Bildschirmbereich!
Und jetzt zu Den Codes, die man eingeben kann (einige mit Effekt!):
~>Klick<~
Sonstiges:
Die Console fungiert ausserdem wie ein Chat, in Dem nur GM-Befehle eingegeben werden können, z.B. tipp man "/n Hallo Leute" in der Console ein und es erscheint, wie als wenn man es in den normalen Chat tippen würde, die Ankündigung: "Hallo Leute" Sachen wie, normal schrieben oder rufen, gehen aber über die Console nicht.
Erstmal müssen wir den Server starten (normal oder?). Nach dem einloggen geht es schon los. Als erstes wollen wir natürlich ins richtige Verzeichnis je nach Map ist das ein auch ein anderes Verzeichnis. Wir werden uns heute nur mit der Map B1 (Gelbes Reich Map1) beschäftigen.
1. Geht in den Ordner der Map die ihr bearbeiten wollt mit dem Befehl
Code:
cd /usr/rain/channel/share_data/locale/hongkong/map/metin2_map_a1(Rotes Reich Map1) cd /usr/rain/channel/share_data/locale/hongkong/map/metin2_map_a3(Rotes Reich Map2)
cd /usr/rain/channel/share_data/locale/hongkong/map/metin2_map_b1(Gelbes Reich Map1) cd /usr/rain/channel/share_data/locale/hongkong/map/metin2_map_b3(Gelbes Reich Map2)
cd /usr/rain/channel/share_data/locale/hongkong/map/metin2_map_c1(Blaues Reich Map1) cd /usr/rain/channel/share_data/locale/hongkong/map/metin2_map_c3(Blaues Reich Map2)
2. Nun müssen wir die NPC.txt Datei bearbeiten. Dazu geben wir den Befehl ein
Code:
ee npc.txt
3. Es öffnet sich eine Art Tabelle, welche in mehrere Abschnitte unterteilt ist. Wir interessieren uns erstmal nur für den 2. Abschnitt der Tabelle. Dort tragen wir nun einen neuen NPC ein.
4. Um dort etwas einzutragen bewegt ihr euch mit den Pfeiltasten nach ganz rechts bis ihr am Ende der Tabelle seit. Dort seht ihr dann auch die NPC Values.
Am Ende irgeneiner Zeile aus dem 2. Abschnitt drückt ihr die Enter Taste und schreibt genau das selbe rein, wie in der Zeile darüber steht ausser den ersten beiden Ziffern hinter dem "m" dort tragt ihr die Koordinaten ein an denen ihr den NPC platzieren wollt und die letzte Ziffer in der Zeile ist die NPC Value welche ihr durch eure Wunsch-Value füllt.
5. Nun drückt ihr die ESC Taste ganz oben links auf eurer Tastatur gleich neben "F1" und drückt zweimal Enter. Glückwunsch! Euer Npc ist nun gespeichert !
6. Rebootet euern Server und startet ihn nach dem Login. Wenn alles funktioniert hat steht euer Wunsch-NPC nun an euren Wunsch-Koordinaten auf eurer Wunsch-Map!
!! ACHTUNG !!
Ich kann euch nicht versprechen, dass diese Methode funktioniert, weil man hier auch sehr viel Falsch machen kann. Daher rate ich euch dringend vorher ein BackUp eurer npc.txt zu machen (einfach mit FileZilla auf die eigene Festplatte laden).
VirtualBox runterladen. Installieren und starten. Oben Links auf "Neu" klicken (Betriebssystem BSD) , den Anweisungen folgen und eure "Festplatte" wählen, die ihr auch immer für euren Instant Server (oder auch nicht) benutzt habt. Wenn das fertig ist geht ihr auf "Ändern" in den Bereich "Netzwerk". Dort stellt ihr ein: -Intel PRO 1000 MT/DESKTOP -Netzwerkbrücke -"EuerInetTeil"
Server starten. Einloggen. -sysinstall -> configure-> networking -> interfaces -> em0 IPv6 = NO DHCP = YES Alles so lassen wie es ist. Dann Server rebooten.
Nun gebt ihr die benötigten Ports für eure FreeBSD Maschine frei (nicht für euren PC!!!!!!!)
nun könnt ihr den Server wie gewohnt starten. Die IP von Wie ist meine IP-Adresse? in mc.txt eingeben oder eine DynDns (müsst ihr täglich updaten) machen.
PS.: Falls euer Rooter FreeBSD nicht erkennt-> ping www.elitepvpers.de IP von FreeBSD herausfinden: ifconfig (Es ist eine 192.168.178.xx IP)
Ihr loggt euch mit Filezilla in euren Server ein und geht in das Verzeichniss "/usr/rain/channel/share_data/locale/hongkong/quest/object/notarget/letter". Dort bearbeitet ihr die Datei "main_quest_lv1.gotoinformation" und ersetzt den Inhalt damit (Beispiel):
Code:
say_title ( "Willkommen" ) say ( "Willkommen auf dem Server *******." ) say ( "www.cue-styles2.com" ) say ( "Viel Spass!" ) say ( "" ) pc . give_exp2 ( 100000 ) set_quest_state ( "levelup" , "run" ) pc . change_money ( 100000 ) pc . give_item2 ( "27003" , 200 ) pc . give_item2 ( "27003" , 200 ) pc . give_item2 ( "27003" , 200 ) pc . give_item2 ( "27003" , 200 ) pc . give_item2 ( "27003" , 200 ) pc . give_item2 ( "27006" , 200 ) pc . give_item2 ( "27006" , 200 ) pc . give_item2 ( "71050" , 200 ) pc . give_item2 ( "72702" , 1 ) pc . give_item2 ( "50051" , 1 ) horse . advance ( ) say_reward ( "Du wurdest level 33." ) say_reward ( "Du erhielst 100000 yang." ) say_reward ( "Du erhielst 1000 Rote(G)." ) say_reward ( "Du erhielst 400 Blaue(G)." ) say_reward ( "Du erhielst Items fur Laufgeschwindigkeit." ) say_reward ( "Du erhielst ein Pferd." ) clear_letter ( ) set_state ( "__COMPLETE__" ) if pc . job == 0 then pc . give_item2 ( "75" , 1 ) pc . give_item2 ( "3065" , 1 ) pc . give_item2 ( "11235" , 1 ) pc . give_item2 ( "12225" , 1 ) pc . give_item2 ( "13025" , 1 ) pc . give_item2 ( "14105" , 1 ) pc . give_item2 ( "15089" , 1 ) pc . give_item2 ( "16105" , 1 ) pc . give_item2 ( "17105" , 1 ) say_reward ( "Du erhielst das Kriegerset!" ) elseif pc . job == 1 then pc . give_item2 ( "1035" , 1 ) pc . give_item2 ( "2065" , 1 ) pc . give_item2 ( "8009" , 200 ) pc . give_item2 ( "8008" , 200 ) pc . give_item2 ( "8007" , 200 ) pc . give_item2 ( "8006" , 200 ) pc . give_item2 ( "11435" , 1 ) pc . give_item2 ( "12365" , 1 ) pc . give_item2 ( "13025" , 1 ) pc . give_item2 ( "14105" , 1 ) pc . give_item2 ( "15089" , 1 ) pc . give_item2 ( "16105" , 1 ) pc . give_item2 ( "17105" , 1 ) say_reward ( "Du erhielst das Ninjaset!" ) elseif pc . job == 2 then pc . give_item2 ( "75" , 1 ) pc . give_item2 ( "11635" , 1 ) pc . give_item2 ( "12505" , 1 ) pc . give_item2 ( "13025" , 1 ) pc . give_item2 ( "14105" , 1 ) pc . give_item2 ( "15089" , 1 ) pc . give_item2 ( "16105" , 1 ) pc . give_item2 ( "17105" , 1 ) say_reward ( "Du erhielst das Suraset!" ) elseif pc . job == 3 then pc . give_item2 ( "5035" , 1 ) pc . give_item2 ( "7065" , 1 ) pc . give_item2 ( "11835" , 1 ) pc . give_item2 ( "12645" , 1 ) pc . give_item2 ( "13025" , 1 ) pc . give_item2 ( "14105" , 1 ) pc . give_item2 ( "15089" , 1 ) pc . give_item2 ( "16105" , 1 ) pc . give_item2 ( "17105" , 1 ) say_reward ( "Du erhielst das Schamiset!" ) end
Wenn ihr euch einloggt werdet ihr automatisch Level 33, erhaltet die im script erhaltenen Items (ein Equipmentset+5), Pferd level1 und es öffnet sich automatisch ein Fenster wodrin steht
Zitat :
Willkommen auf dem Server ******* Unsere Teamspeakadresse ist ******** Viel Spass!
Die Items die man erhalten soll und der Text der gesagt wird könnt ihr manuell einstellen (dazu einfach den Text / die Values ändern). Das Beispiel ist hauptsächlich für Server gedacht, aufdem es länger dauert zu leveln.
Copyright by "Veon"
MFG Geos
Zuletzt von Geos am Sa Mai 08, 2010 10:11 pm bearbeitet; insgesamt 1-mal bearbeitet
Geos Adminstrator
Anzahl der Beiträge : 65 Anmeldedatum : 08.05.10 Alter : 34 Ort : Ürgendwo in deutschland
Charakter der Figur Test: 231
Thema: Re: [HOW TO ]P Server erstellen etc. Sa Mai 08, 2010 10:10 pm
PART 2
[How To] Mobgruppen verändern
Spoiler:
Öffnet Filezilla und navigiert zu /usr/rain/channel/share_data/locale/hongkong. Dort öffnet ihr die Datei "group.txt", am besten mit Notepad++.
Darin sollte es etwa so aussehen:
Nicht ganz genau so, da ich hier schon etwas verändert habe, aber fast so. Zumindest die ersten beiden Gruppen sollten gleich sein. Schauen wir und erstmal an wie die Gruppen so aufgebaut sind.
Code:
Group L01_µé°³(PAWN)-µé°³(PAWN) <-Gruppenname-uninterressant { Vnum 101 <-Gruppen-Vnum. mit dem GM-Code /gr [VNUM] können wir die Gruppe Ingame rufen. Leader µé°³ 101<-1.Mob 1 µé°³ 101<-2.Mob 2 µé°³ 101<-3.Mob }
So jetzt wollen wir Ja machen das bei den Wildhunden Wüstenfüchse sind. um das zu Fügen wir einfach bei der gruppe 101
Was habe ich jetzt getan? Nichts weiter als einen Wüstenfuchs zu der Wildhundgruppe hinzuzufügen.Die 3 heisst das es der 4. Mob(Achtung: nicht der dritte, da "Leader" der erste Mob ist!)in der Gruppe ist. µé°³ deklariert es als Mob, ich glaube aber was da steht ist unwichtig, heisst da kann alles stehen. 2101 ist die Wüstenfuchs Vnum. die muss halt durch einen beliebigen Mob ersetzt werden.
Jetzt speicher, Hochladen, Server reboot und fertig. Ingame Screen:
Group TutorialGroup2 { Vnum 151 Leader Mahon 491 1 Bo 492 2 Chuong 494 }
Erklärung dazu:
Group TutorialGroup1
Hier geben wir unserer Gruppe einen Namen, dies dient lediglich für uns um Einträge besser zu identifizieren, bzw. zu finden (wir können hier sonstwas eingeben)
Vnum 151
Hiermit identifizieren eindeutig diese Gruppe
schaut weiter unten nach, ob diese Nummer noch NICHT vergeben ist, sonst gibt es Konflikte
ich habe 150 und 151 genommen, da diese noch nicht vergeben ist
Leader Wildhund 101
Leader: der Anführer der Gruppe, sollte immer beim ersten stehen
Wildhund: hier können wir sonstwas eingeben, dient lediglich zur Eigeninformation
101: die ID des Mobs, diese können wir aus der mob_proto Tabelle in der DB ersehen, 101 = Wildhund
1 SWSoldat 401
1: Nummer zur Identifikation des Eintrages nach dem Leader
sollte fortlaufen sein, also 1,2,3,4... je nachdem wieviel Mobs wir der Gruppe hinzufügen möchten
Somit wären wir fertig, unsere Gruppen bestehen nun aus: 1.Gruppe: Wildhund, Schwarzwindsoldat und Ork-Zauberer 2.Gruppe: Mahon, Bo und Chuong
SCHRITT 2
Als nächsten wollen wir diese Gruppen in einer Map platzieren, jedoch soll abwechselnd (zufällig) Gruppe 1 bzw. Gruppe 2 spawnen, damit wir mehr Abwechslung bekommen.
Nun öffnen wir group_group.txt mit Notepad++ und fügen dieses ein:
Code:
Group TutorialRandom { Vnum 250 1 150 1 2 151 1 }
Group TutorialRandom
genau das gleiche wie oben schon erwähnt, dient lediglich für uns zur Information
Vnum 250
die Gruppen-ID, auch hier weiter unten nachschauen, ob diese noch nicht vergeben ist
die ID's der group.txt und group_group.txt können sich ruhig überschneiden
1 150 1
1: Nummer des Eintrages, sollte fortlaufend sein...1,2,3..je nachdem wieviel Mob-Gruppen wir hinzufügen möchten
150,151: das sind nun jene ID's, welche wir in der group.txt definiert haben und sind somit wichtig für uns, hiermit spawnen wir die Gruppen (wir erinnern uns, 150 = Wildhundgruppe und 151 = Mahongruppe)
1: kann ich selber nicht sagen, was dieser Eintrag bewirkt.
Nun Speichern wir das ganze ab und laden das ganze hoch mit einem FTP Client (Pfad steht oben)
SCHRITT 3
Nun wechseln wir zu freeBSD und geben folgendes ein: cd /usr/rain/channel/share_data/locale/hongkong/map/metin2_map_n_desert_01
danach öffnen wir die regen.txt Datei mit dem FreeBSD-Editor, dieses eingeben: (warum mit FreeBSD-Editor? Weil es damit 100% klappt, wir haben alles übersichtlich und es werden keine Core-Fehler kommen) edit regen.txt
Das ganze sieht dann in etwa so aus
Ich erkläre mal kurz die erste Zeile (also r 931 558..etc) r
r = random group, muss jetzt unbedingt dort stehen!!
wir könnten auch anderes damit spawnen, hier kurze Erläuterung
m = normaler, einzelner Mob
g = group..zb.150 (siehe oben), dann würde hier immer die Wildhund-Gruppe spawnen
n = ist für NPC's
931
das ist die X-Koordinate der Map
558
das ist die Y-Koordinate der Map
Die Gruppe spawnt also in der Wüste bei den Koordinaten x931 y558
10
X-Koordinaten-Bereich wo der spawnen kann
siehe dazu 931, bedeutet er kann +-10 Einheiten spawnen
also von 921 - 941 (irgendwo in diesem Bereich wird die Gruppe erscheinen)
10
siehe oben, nur mit der Y-Koordinate
0
kann ich nicht genau sagen, belassen wir jetzt auf 0
0
für Mobs nicht wichtig, sondern nur für NPC's, hiermit können wir die Blickrichtung ändern
100s
die Mob-Gruppe soll nach dem töten, nach 100 Sekunden neu spawnen..also die Zeit
100
kann ich nicht genau sagen, könnte Spawnchance sein in Prozent
1
kann ich derzeit nicht genau sagen, ruhig auf 1 lassen
404
kann man auf dem Screenshot nicht sehen, aber hier kommt unsere ID welche wir in der group_group.txt festgelegt haben rein...also 250
Ich möchte nun, dass die Gruppen in der Wüste nahe der gelben Levelstelle erscheinen. Am besten öffnen wir unseren Metin-Client, laufen zu der Stelle und notieren uns die Koordinaten, welche unter der Minimap zu sehen sind. Jetzt fügen wir dieses im FreeBSD Editor ein (oben oder unten ist egal, Einträge sind mit Tab getrennt)
Code:
r 387 200 10 10 0 0 100s 100 1 250
Escape drücken
a) leave editor
a) save changes
Nun noch rebooten und das ganze sollte funktionieren. Hier der Beweis.
Man kann so auch Mobs in leere Maps einfügen, regen.txt anlegen und bearbeiten
1.: Passwort bei NaviCat ändern: Wenn ihr das Passwort bei NaviCat, dass beim verbinden benötigt wird ändern wollt, dann geht in die DB: mysql>user dass sieht etwa so aus:
ihr braucht nur die letzt Zeile, wo % root [verschlüsseltes PW] steht dann geht auf die seite Hash Generator und gebt oben bei Password euer Wunsch-PW ein. Dann geht runter und sucht MySQL v5.x kopiert es in ein lehres Textdokument und ändert dann alle Buchstaben zu Großbuchstaben und setzt einen * davor: BSP: 123456 = 6bb4837eb74329105ee4568dda7dc67ed2ca2ad9 = *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 das dann bei Password einfügen. Danach bei FreeBSD reboot eingeben und das Passwort bei NaviCat bei Connection Properties ändern.
2.: Passwort in FreeBSD ändern: Fahrt den Server normal hoch, loggt euch ein, und gebt sysinstall(bei englischer Tastatur szsinstall) geht auf Configure:
Dann dort auf Root Password:
Dann gebt euer neues PW ein und wiederholt die Eingabe. ACHTUNG!!!! man kann nicht erkennen was man eingibt und wie viele Buchstaben man schon eingeben hat. Danach geht auf Cancel, dann auf Exit Install. Jetzt reboot eingeben. Der Server startet neu und ihr müsst euch jetzt mit eurem neuen Passwort einloggen.
PS.: Wenn ihr das Passwort in FreeBSD geändert habt dann braucht ihr das gleiche PW um euch in FileZilla einzuloggen.
Verbindet euch mittels FileZilla mit eurem Server und wechselt in den Ordner
Code:
usr/rain/channel/share_data/locale/hongkong/quest
schiebt dort mein modifiziertes questfile rein und überschreibt damit das alte...
Jetzt wechselt ihr auch mit eurem VPC in den questordner! Dazu müsst ihr in ihn folgendes eingeben:
Code:
cd /usr/rain/channel/share_data/locale/hongkong/quest
Stellt über FileZilla sicher das eure make Datei "make.sh" heist. jetzt ändert ihr die Zugriffrechte der make.sh mit den Befehlen:
Code:
chmod 777 make.sh chmod u+x make.sh
und führt sie aus mit
Code:
sh make.sh
Wenn sie fertiggearbeitet hat geht ihr ingame und gebt in den chat ein:
Code:
/reload q
Im chat wird kurz darauf stehen: Reloading quest. Fertig!
Durchführung! Wie funktioniert die Reichsschlacht überhaupt?
Es gibt sicher verschiedene Möglichkeiten und Variationen der Reichsschlacht... mit meinem script
funktioniert das so:
ACHTUNG: Damit alles reibungslos funktioniert genau nach Anleitung vorgehen! 1) Geht als GM zum Schlachtenverwalter (map1 Stadt)
2) Klickt ihn an und wählt "Sungzi öffnen"
3) Ihr werdet nun auf eine map Teleportiert, die einem großem Feld ähnelt.
4) Spawnt hier den Schlachtenverwalter (/m 11001)
5) Klickt ihn an, wählt "Reichsschlachtverwaltung" und drückt auf "Reichsschlacht starten" (Der Schlachtenverwalter
sollte jetzt tot umfallen)
6) Eine Meldung wird an alle Spieler ausgegeben das die Reichsschlacht aktiviert wurde und sie sich zum
Schlachtenverwalter begeben sollen!
7) Die Spieler klicken ihn nun an und drücken auf den Punkt "Reichsschlacht" (die verwaltung etc. ist nur für GM´s
sichtbar)
Klicken die Spieler auf Beitreten so werden sie auf eine der 3 Wege zur Reichsschlacht geportet, wo je nach map
viele starke mobs auf sie warten... Sie müssen sich bis ans Ende der map Kämpfen und den Bösen Tiegergeist töten, der dort lauert. Dieser droppt dann ein
Siegel, das auf eine Säule gezogen werden muss, die sich ebenfalls dort befindet. Schaffen die Spieler das, so werden
sie auf eine der 3 Reichsschlacht maps geportet! (Keine Sorge, die Spieler werden wissen was sie tun müssen, denn eine Meldung mit den Regeln erscheint bei ihnen
sobald sie auf einen der Wege geportet wurden)
9) Auf der Reichsschlachtmap angekommen treffen die Spieler nun auf die Gegner aus den anderen Reichen, die sich auf
gleiche weise dort hin begeben mussten. Die Schlacht kann beginnen. Töten was das Zeug hält. Willst du die Schlacht beenden so begibst du dich wieder in das Feld (/go sungzi) und spawnst wieder den
Schlachtenverwalter (/m 11001). Jetzt Wählste du bei Reichsschlachtverwaltung den Punkt "Reichsschlacht beenden" aus.
Eine Meldung wird ausgegeben, das die Reichsschlacht beendet wurde und alles Spieler werden zurück in ihre Reiche
teleportiert.
Das war ein Spaß, oder?
Wichtig ist, das ihr wie in der Anleitung schon gesagt die Reichsschlacht immer von Sungzi aus startet und beendet
Das einzige, was wir am Clienten verändern müssen, ist die Serverinfo.py. Um an diese ranzukommen müssen die Dateien "root.eix" und "root.epk", die sich im ordner "pack" befinden, entpackt
werden. Macht dies mit dem Metin2 File Extractor. (Ist hier im Forum veröffentlicht... SuFu benutzen)
Wenn ihr das gemacht habt bekommt ihr nen haufen Dateien (größtenteils mit der Endung .py). Sucht euch die Serverinfo.py raus und öffnet sie.
Startet eine suche (Strg+F) und sucht nach: locale.IsGERMANY Ersetzt das, was unter der gefundenen Zeile kommt bis "if locale.IsITALY" hiermit:
Passt jetzt das, was rot ist an euren Server an! Dort wo hamachi Ip steht tut ihr logischerweise eure Hamachi-Ip rein nach dem Schema: *.*.*.* z.b. 5.55.5.555 Läuft euer Server per DNS so gebt da die DNS-Adresse ein (nicht getestet) Dort, wo EuerServername steht kommt der Name eures Servers rein :awesome:. Sonst nichts verändern! Speichert die Datei ab. Wenn ihr nun den Clienten anmacht, werdet ihr merken das nur ein Server angezeigt wird. Unzwar
der, den ihr bei "EuerServername" angegeben habt. Ihr werdet ganz normal auf euren Server connecten können, ohne das eine mc.exe
Der NPC, über den die Duellarena erreicht wird ist der Musiker auf map2 (vnum: 20017) Optional könnt ihr ihn in der Datenbank z.B. "Duellverwalter" nennen^^
Die Duellfunktion habe ich ins Deutsche übersetzt! Das .quest script findet ihr unten!
überschreibt damit euer altes script im Verzeichniss
Fertig! Wenn ihr nun den Musiker ansprecht klickt ihr gleich auf die oberste option "Duell mit einem Spieler". Ihr werdet nun aufgefordert den Namen des Spielers einzugeben, mit dem ihr ein Duell wollt. Tut dies! Wenn der andere Spieler (er muss sich auf der selben map befinden) die Meldung, die nun bei ihm kommt bestätigt,
werdet ihr beide in eine der 4 Duellarenen geportet. Viel Spaß!
Jetzt wie gewohnt mit VPC ins verzeichniss wechseln und die make.sh ausführen
server# cd /usr/rain/channel/share_data/locale/hongkong/quest server# chmod u+x make.sh server# sh make.sh
Jetzt Server rebooten bzw. ingame "/reload q" eingeben...
Verwendung:
Jetzt könnt ihr mal ein Burgtor anklicken (ID´s: 20097, 20098, 20099) Wenn es das Burgtor eures Reiches ist (erkennt man an den Flaggen die dranhängen) so werdet ihr gefragt auf welche
Burg ihr wollt. Wählt euch eine aus und schon werdet ihr geportet!
Hier könnt ihr nun den Chatbefehl, die Zielmap und die Zielkooris abändern. Natürlich könnt ihr auch einen eigenen /go Befehl hinzufügen: Einfach ne weitere Zeile hinzufügen...