da der Auftraggeber des Achievementsystems nicht mehr erreichbar ist, habe ich mich entschlossen - bevor es auf meiner Festplatte vergammelt -, das System zu releasen. Seht als Nach-Weihnachts / Silvester-Release
Download im Anhang! ()
Für alle, die eine Python Version unter 2.5 benutzen: Da in der uiachievement.py kurze if-Statements benutzt werden, müsst ihr die Version für unter 2.5 noch extra downloaden und diese statt der anderen nutzen. ()
Achievementsystem-Demonstration
Einbau - Serverside:
Zuerst ladet ihr die achievementsystem.lua und die achievementsystem_extension.lua in euer Questverzeichnis (ggf. Unterordner/whatever).
Nun tragt ihr in die questlib.lua unten folgendes ein (evtl. den Pfad anpassen):
Ihr seht hier, dass durch app.DIK_F6 die Taste F6 belegt wird, um das Achievement-Fenster zu öffnen/zu schließen. Falls diese Taste schon vergeben sein sollte, benutzt am besten einfach eine freie F-Taste oder irgendeine andere Taste, die eben noch nicht in Benutzung ist (bspw. X -> app.DIK_X).
Nun sucht ihr nach def __ServerCommand_Build(self): und fügt folgendes in das serverCommandList-Array ein:
Anpassen der Achievements & des Achievementshops:
Alle Anpassungen finden in der achievementsystem_extension.lua statt!
Ihr findet in Zeile 12 das Array der Items im Achievementshop:
Hier habe ich 4 Items (Schwert+4, Schwert+9, Mönchsplattenpanzer+9 und Eisenplattenpanzer+9) als Beispiele hinzugefügt. Ein Item-Eintrag ist folgendermaßen aufgebaut:
Code:
{VNUM, ANZAHL, PREIS}
Der Achievementshop ist 8 x 8 Slots groß (8 Zeilen zu je 8 Spalten) und dementsprechend ist auch das Array aufgebaut.
Für die Anpassung der Achievements findet ihr in der unbearbeiteten Datei in Zeile 29 die Definition der Mob-Achievements und in Zeile 41 die Definition der Level-Achievements.
Die Level-Achievements sollten eig. selbsterklärend sein, aber es ist zu beachten, dass sie der Reihe nach geordnet sein müssen, also das Level 20-Achievement folgt dem Level 10 Achievement und nicht umgekehrt.
Aufbau:
Code:
{LEVEL, ACHIEVEMENTPUNTKE}
Die Mob-Achievements sind ein wenig anders. Ich habe beispielsweise mal 4 Achievements angelegt.
Ein Mob kann mehrere Achievements haben, diese müssen einfach durch ein Komma getrennt angegeben werden. Der Wildhund hat aktuell beispielsweise 3 Achievements (10 Kills, 25 Kills und 50 Kills). Ein Achievement ist so aufgebaut:
Code:
{KILLS, ACHIEVEMENTPUNKTE}
Nun habt ihr schonmal für einen Mob die Achievements eingestellt, es ist aber noch nicht verfügbar. Der Mob muss erst in Zeile 30 für ausgewählte Maps "freigeschalten" werden.
Auf der Map mit Index 1 kann man also die Achievements für die Mobs mit den Vnums 101 & 102 erhalten, auf der Map mit dem Index 21 die Achievements für 101, 102 & 103 und auf der Map mit dem Index 41 die Achievements für 101, 102 & 104.
Achievement-Coupons Quest
Hier noch eine kleine Erweiterung: Diese Quest ermöglicht es euch, Achievement-Coupons hinzuzufügen. Einfach in die Quest-Liste (locale_list / quest_list / etc.) eintragen, die ID's und Werte anpassen und fertig.
Code:
quest achievement_coupons begin
state start begin
when 30093.use or 30094.use or 30095.use or 30096.use begin
local points = ({
[30093] = 25,
[30094] = 50,
[30095] = 100,
[30096] = 200
})[item.get_vnum()]
achievement.increasePoints(points)
item.remove()
end
end
end
Ich denke, das sollten nun die meisten hinbekommen, wer dennoch Fragen und/oder Probleme hat, kann natürlich hier im Thread Hilfe suchen.
Special Thanks:
Lee - Because of Brathering
Poccix - HA!
NyBu - Weil darum und Designs
DasSchwarzeT - Bischt du plöd?
JuleZ (aka. x"Kazuki) - Will auch mal in die Special Thanks
[Quest-Update] Achievementsystem 10/29/2013 - Metin2 PServer Guides & Strategies - 13 Replies Heyho,
da ich schon immer der Meinung war, dass die Achievementquest von DaRealFreak etwas unübersichtlich ist, wollte ich "Neulingen" es mal etwas leichter machen und habe sie so geschrieben, dass man leicht alles ersetzen kann.
Auch beim Shop muss man jetzt nicht alles sofort umschreiben.
Was ihr braucht:
- Questlib von Mijago
- Clientdateien vom Achievementsystem
Originalthread von DaRealFreak: Klick
[TrinityCore] Achievementsystem - Fertige SQL zum Download! 07/07/2013 - WoW Private Server - 2 Replies Hallo Community,
Ich stelle Euch von meinem Tool erstellte SQL von einem aufgelösten Projekt frei zur Verfügung.
Diese SQL kam auf einem Highrateserver zum Einsatz.
Was macht dieses?
Bei dem Erfolg X bekommt der Spieler ein Brief. Dort können Kisten, Mounts etc. enthalten sein. Was genau, müsst Ihr im Script schauen.
Bitte beachtet, dass eine Sicherung der alten Tabelle achievement_reward notwendig ist! Sollte es zu einem Crash beim Start des Servers kommen, sichert Ihr Euch damit...
Problem: Achievementsystem 09/01/2012 - Metin2 Private Server - 0 Replies Hallo,
ich hab das Problem, das beim Achievementsystem die Punkte nicht speichern. Das heißt es steht immer: Deine Achievementpoints steigen auf 53. Aber beim Achievementshop hab ich immer 0 Punkte...
Achievementsystem "erkennt" manche Mobs nicht? 12/04/2011 - Metin2 Private Server - 2 Replies Heyho,
ich war gerade dabei das Achievementsystem zu erweitern.
Also Shopquest mit Ownpoints abfrage und all so nem schnick schnack.
Dazu noch nen ordentlichen "Trophäenschrank" per Quest in welcher die gesammelten Achievements angeschaut werden können, sowie die der anderen.
Naja soweit auch okay, alles geschafft, nur harpert es an EINEM scheiss Punkt.
Das Achievement zählt nicht alle Mobs ....