Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server > Metin2 PServer Guides & Strategies
You last visited: Today at 13:26

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

Advertisement



[Release] Leicht zu benutzende Petquest (Caching, Petnamen)

Discussion on [Release] Leicht zu benutzende Petquest (Caching, Petnamen) within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,751
[Release] Leicht zu benutzende Petquest (Caching, Petnamen)

Was kann diese Quest?:
Eigentlich nicht viel mehr als die bereits vorhandenen Quests, allerdings ist die Verwaltung und das erweitern bei meiner Variante deutlich einfacher.
Was genau macht die Verwaltung einfacher?:
Die Pets müssen nur in einen Table eingetragen werden, dort gibt man einfach die Siegelvnum, die Mobvnum (des Pets) und den Standardnamen sowie ob das Pet standardmäßig zum Spieler gelaufen kommen soll oder direkt neben dem Spieler spawnen soll. Ausserdem kann man angeben, ob beim rufen des Pets ein Spawneffekt erscheinen soll.

Um einzustellen, ob der Spieler beim Ersten rufen des Pets die Möglichkeit haben soll, sich einen Namen für das Pet auszusuchen und wie es spawnen soll, muss man auch nur jeweils einen kleinen Wert verändern. Weiteres dazu unten.

Neben den genannten Möglichkeiten zur Verwaltung hat man noch die Möglichkeit, die Zeitspanne zur Speicherung in der Datenbank einzustellen. Ich empfehle diesen Wert bei 300 Sekunden zu lassen.


Die Quest und alles Benötigte einfügen
1. petSQL.sql
Zum Einfügen der petSQL.sql müsst ihr zunächst Navicat öffnen und euch mit eurem Server verbinden. Anschließend wählt ihr die Datenbank "player" aus:


Dann klickt ihr im oberen Reiter auf "Query":


in der gewechselten Ansicht auf "New Query":


Im Queryfenster klickt ihr auf "Load" und wählt die petSQL.sql aus:


Und anschließend klickt ihr auf "Run":



Und schon ist der erste Teil abgeschlossen.
2. petFunctions.lua
Zum Einfügen der petFunctions.lua verbindet ihr euch via FileZilla oder WinSCP auf euren Server und Navigiert in den Questordner.
Der Questordner befindet sich unter folgendem Pfad:
Code:
/usr/home/game/locale/germany/share/quest
bzw.
Code:
/usr/home/game2/locale/germany/share/quest
dort zieht ihr einfach die petFunctions.lua rein. Die Datei benötigt keine besonderen Rechte.

Nachdem ihr die petFunctions.lua eingefügt habt, öffnet ihr im selben Verzeichnis die questlib.lua und fügt ganz unten folgendes ein:
Code:
dofile("/usr/home/game/locale/germany/share/quest/petFunctions.lua")
bzw.
Code:
dofile("/usr/home/game2/locale/germany/share/quest/petFunctions.lua")
(der Pfad muss zur zuvor eingefügten petFunctions.lua führen)

Damit ist auch die petFunctions.lua erfolgreich eingefügt worden.
3. petQuest.lua
Die petQuest.lua fügt ihr im gleichen Verzeichnis ein, wie die petFunctions.lua. Wiederholt dafür einfach die ersten Schritte von Teil2.
Nachdem die petQuest.lua eingefügt wurde öffnet ihr im selben Verzeichnis die locale_list oder quest_list (variiert je nach Files) und fügt in einer neuen Zeile folgendes ein:
Code:
petQuest.lua
Damit ist auch die petQuest.lua erfolgreich eingefügt.

Damit alles nach euren Wünschen funktioniert, müssen noch alle Schritte des nächsten Teils durchgeführt werden.

Die Quest verwalten
1. Neue Siegel definieren
Zum definieren eines neuen Siegels öffnet ihr zunächst die petQuest.lua und fügt in Zeile 7 die Vnum des Siegels mit einem ".use" ein.
Beispiel mit einem Siegel:


Beispiel mit mehreren Siegeln:



Anschließend öffnet ihr die petFunctions.lua und fügt innerhalb des Tables einen neuen Key hinzu. Hier ein Beispiel mit den Siegelvnums 123, 456 und 789:


Die Vnum des Pets muss jeweils hinter "mobVnum" eingetragen werden. Für das Siegel mit der Vnum 123 wird im Beispiel also das Monster mit der Vnum 1093 gerufen.


Wenn das Pet mit einem Effekt spawnen soll, muss der Pfad zum Effekt im Client angegeben werden (die Backslashes müssen escaped werden, das heisst für euch einfach, dass ihr sie doppelt schreibt):


Wenn es zu dem Pet kein Effekt geben soll dann einfach wie im ersten Beispiel (nil) einfügen.


Den Standardnamen gebt ihr hinter dem Feld "defaultName" an, zu sehen auch im ersten Beispiel (zur Siegelvnum 123 ist der Standardname "Sensenmann").


Das Feld "defaultSpawnFromFar" gibt an, ob das Pet standardmäßig zum Spieler gelaufen kommen soll, oder direkt neben dem Spieler erscheinen soll. Zulässige Werte sind dort: true bzw. false.
Das Feld affects wird einfach mit nil angegeben, es hat aktuell keine Funktion.
2. Einstellungsmöglichkeiten
Ab der zweiten Zeile der petFunctions.lua findet ihr 4 Einstellungsmöglichkeiten für die PetQuest.

PET_SETTINGS.MAX_SPAWN_COUNT: Die Anzahl an Pets, die von einem Spieler gleichzeitig gerufen werden können

PET_SETTINGS.ALLOW_NAMECHANGE: Ob ein Spieler beim ersten Rufen des Pets die Möglichkeit haben soll, den Namen des Pets zu ändern. Wenn false wird immer der defaultName verwendet. (true oder false)

PET_SETTINGS.ALLOW_SPAWNTYPECHANGE: Ob ein Spieler beim ersten Rufen des Pets die Möglichkeit haben soll, den Spawntyp des Pets zu ändern. Wenn false wird immer der defaultSpawnFromFar genutzt. (true oder false)

PET_SETTINGS.CACHE_SECONDS: Die Anzahl an Sekunden nach denen die eingestellen Namen und Spawntypen in die Datenbank geschrieben werden sollen. Empfohlen: 300 Sekunden.
3. Die Quest laden
Zum Laden der Quest führt ihr euer Questcompiling Script aus, dieses variiert von Files zu Files, meistens ist es etwas wie "sh make.sh" oder "py make.py".
Anschließend muss entweder Server neugestartet werden, oder Ingame folgender Command eingegeben werden:
Code:
/reload q
Hierbei sollte jedoch beachtet werden, dass dies NICHT gemacht werden sollte, während Spieler online sind.





So, jetzt habt ihr erstmal 2 Wochen ruhe von mir!
Attached Files
File Type: rar PetSystem.rar (3.4 KB, 369 views)
rollback is offline  
Thanks
29 Users
Old 10/15/2015, 00:33   #2
 
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,574
Super Release, wie immer

Achso, nochmal die Frage:
Nach meinem Wissen, nutzt kein Mensch, der irgendwas für Metin2 in Lua macht, OOP. Wieso?

MfG
Yiv is offline  
Thanks
5 Users
Old 10/15/2015, 00:35   #3
 
elite*gold: 2785
Join Date: Dec 2014
Posts: 404
Received Thanks: 1,353
Sehr NIce gemacht auch wenn du am verzweifeln warst
.K0rí is offline  
Thanks
5 Users
Old 10/15/2015, 00:36   #4
 
elite*gold: 0
Join Date: Feb 2015
Posts: 306
Received Thanks: 171
wie immer & kennt man nicht anderes
von dir Super Quest
Thx

schöne grüße

Kampfzwerg
Kampfzwerg! is offline  
Thanks
4 Users
Old 10/15/2015, 01:00   #5
 
elite*gold: 0
Join Date: Apr 2010
Posts: 95
Received Thanks: 24
Nice Nice
killernos is offline  
Thanks
1 User
Old 10/15/2015, 01:00   #6
 
elite*gold: 0
Join Date: Aug 2012
Posts: 974
Received Thanks: 89
Wie sieht das aus, wenn ich die Query erfolgreich eingefügt habe.. Da fehlt mir ein Screen, xD.
N1 Release!
thespeedyy is offline  
Thanks
2 Users
Old 10/15/2015, 01:00   #7
 
elite*gold: 0
Join Date: Jan 2015
Posts: 77
Received Thanks: 29
Sehr nice danke
GamePatrol is offline  
Thanks
1 User
Old 10/15/2015, 01:18   #8
 
elite*gold: 0
Join Date: Jun 2012
Posts: 232
Received Thanks: 104
Sehr Fett ^^
mcmst54321 is offline  
Thanks
1 User
Old 10/15/2015, 13:30   #9
 
elite*gold: 1
Join Date: Jul 2015
Posts: 342
Received Thanks: 225
Sehr geil danke !
MisteroI2I is offline  
Thanks
1 User
Old 10/15/2015, 15:30   #10
 
elite*gold: 30
Join Date: Mar 2012
Posts: 517
Received Thanks: 336
i dont know what is this , i will download it and see , btw
Code:
dofile("/usr/home/game/locale/germany/share/quest/petFunctions.lua")
u can write
Code:
dofile(get_locale_base_path().."/quest/petFunctions.lua")
MrLibya is offline  
Thanks
2 Users
Old 10/15/2015, 16:35   #11

 
elite*gold: 17
The Black Market: 233/0/0
Join Date: Sep 2015
Posts: 2,464
Received Thanks: 1,030
sehr geil!
MQTT. is offline  
Thanks
1 User
Old 10/15/2015, 18:50   #12
 
elite*gold: 0
Join Date: Oct 2015
Posts: 67
Received Thanks: 13
Super! Eine Frage habe ich dennoch.
Fehler:
mysql: ambiguous option '--e=CALL player.pet_AllPets();' (enable_cleartext_plugi n, execute)
[Flash] is offline  
Old 10/15/2015, 18:58   #13
 
elite*gold: 0
Join Date: May 2012
Posts: 300
Received Thanks: 34
Ich bekomme beim einfügen folgenden fehler.



Man kann sich ingame nicht einloggen

der fehler kommt beim server starten

sql ist eingefügt
quest sowie die quest erweiterung sind richtig drinne (eigentlich)

ideen?
abcdosentee is offline  
Old 10/16/2015, 14:31   #14

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,751
Bei Fehlern mit der mysql_query funktion bitte mal einen Blick hier rein werfen:
rollback is offline  
Old 10/16/2015, 20:18   #15
 
elite*gold: 1
Join Date: Jul 2015
Posts: 342
Received Thanks: 225
Problem gelöst funktioniert trdz nicht so wie es sollte....

danke trdz.
MisteroI2I is offline  
Reply


Similar Threads Similar Threads
Petquest Fehler
03/23/2014 - Metin2 - 1 Replies
#Edit Hat sich erledigt, hab ihn selber gefunden
KingsRoad Release Notes 1/29/14—“Flash Caching Edition”
01/30/2014 - Facebook - 2 Replies
http://i.hizliresim.com/w1dOkD.png KingsRoad Release Notes 1/29/14—“Flash Caching Edition” by Brett Bates | Jan 29, 2014 The latest KingsRoad update is now live. Among the highlights: You can now improve your game performance by caching some game art on your hard drive! //New Features and Updates: * Some players now have the option of caching some game on their hard drive. The amount of game art stored locally is variable, but doing so should improve overall game...
[Release]Neuartige Petquest
06/10/2013 - Metin2 PServer Guides & Strategies - 14 Replies
Habt Spaß damit. War nur schnell mal hingeklatscht und könnte kürzer, aber immerhin funzt alles. Es wird dazu die Dif aus dem Pet-Gui und die Functionen benötigt. pet.summon pet.unsommon pet.is_summon
mysql caching
11/25/2012 - C/C++ - 0 Replies
mich würde grad mal interessieren wie man mysql queries am besten cached, da mein server recht viele mysql zugriffe machen wird. ich würde da gerne einen lokalen cache verwenden, den ich alle 5 minuten mit dem mysql server syncen will. ich hätte da schon eine idee, indem ich jeden query in einer map mit timestamp und result zwischenspeicher (timestamp zum überprüfen und ggf. syncen) damit wäre dann denke ich die sache mit 'select' geregelt, jetzt stellt sich mir noch die frage ob das ein...
[PHP] Ungewolltes Caching
09/02/2011 - Web Development - 5 Replies
Heyho ihr super Coder :D Ich fange gleich an... Und zwar habe ich einen Mini CSS Editor gemacht ist ja nichts Großes nun habe ich komischer weise das Problem das er wenn ich das CSS per file_get_contents in die CSS Dateien rein tue den alten CSS kram im Cache speichert.. Ich habe keine Ahnung wieso ob ich einfach nur zu dumm bin oder was weiß ich. Das ist aber auch nur auf meinem PC so auf Windows Root geht es... Es wird halt im Cache gespeichert wenn ich per FTP die Datei öffne ist der...



All times are GMT +2. The time now is 13:26.


Powered by vBulletin®
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

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