Register for your free account! | Forgot your password?

You last visited: Today at 19:27

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

Advertisement



[Release]Verbesserte Achievement Quest

Discussion on [Release]Verbesserte Achievement Quest within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
[SGA]Jango's Avatar
 
elite*gold: 3
Join Date: Oct 2010
Posts: 390
Received Thanks: 463
[Release]Verbesserte Achievement Quest

Nix großes! Hab sie grad geschrieben für mich und hab gedacht das könnten vieleicht ein paar gebrauchen.

Das Hauptrelease:
ihr müst erst das machen was dort ist um diese Quest nutzen zu können!

Was ist daran "besser":
Ihr könnt in diesem Bereich:
PHP Code:
            ----Alle Level Achievements müssen in die Liste eingetragen werden!--------------
            ----Die 
Level Achievemt Anzahl muss danach bearbeitet werden!--------------------
            --------------------------- 
Level --- Points ------------------------------------
            
local LevelAchievements = { {  5,        1},
                                        { 
30,        2},
                                        { 
50,        3},
                                        { 
60,        4},
                                        { 
70,        5},
                                        { 
75,        5},
                                        { 
80,        6},
                                        { 
85,        6},
                                        { 
90,        7},
                                        { 
92,        7},
                                        { 
94,        7},
                                        { 
96,        8},
                                        { 
98,        9},
                                        {
100,      100}
                                        }
            --------------------------- 
Level --- Points ------------------------------------ 
ganz einfach neue Level Achievments hinzufügen!
das ganze geht auch für Kill Achievements also wenn ihr ein Monster getötet habt:
PHP Code:
            ----Alle Kill Achievements müssen in die Liste eingetragen werden!---------------
            ----Die 
Kill Achievemt Anzahl muss danach bearbeitet werden!---------------------
            ---------------------------- 
MobId -- Count Points ----- MobName --------------
            
local KillAchievements = { {   101,        10,        1,         "Wildhund"},
                                       {   
115,        30,        1,         "Weißer Tieger"},
                                       {   
502,        30,        1,         "Wilder Ergebener"}
                                        }
            ---------------------------- 
MobId -- Count Points ----- MobName -------------- 
Das hier sind jetzt nur beispiele ihr könnt beliebig viele adden!
Die Quest an sich ist auskommentiert sodas das bearbeiten ganz ganz einfach ist!

HowTo:

ihr geht in euren Quest ordner (home/game/share_data/locale/hongkong/quest - je nach dem)
ladet euch die quest_functions und die questlib.lua runter!
in der quest_function addet ihr ganz unten das:
Code:
SendAchievement
und in der questlib.lua addet ihr das ganz unten:
Code:
function SendAchievement(Achievement, new_points, count)
	local Achievement = string.gsub(Achievement, " ", "_")
	if count != nil then
		if count != 1 then
			Achievement = Achievement.."#"..count
		end
	end
	cmdchat("achievement "..Achievement.."%"..new_points.."")
end
abspeichern und hochladen

Das ist die Quest (wie ne normale quest einfügen! eventuel die alte ersetzen)
PHP Code:
---------------------------------------------------------------------------------------------
---> 
Script by Jango <-----------------------------------------------------------------------
---------------------------------------------------------------------------------------------
quest achievement_system begin
    state start begin
        when login 
or levelup begin
            
----Alle Level Achievements müssen in die Liste eingetragen werden!--------------
            ----Die 
Level Achievemt Anzahl muss danach bearbeitet werden!--------------------
            --------------------------- 
Level --- Points ------------------------------------
            
local LevelAchievements = { {  5,        1},
                                        { 
30,        2},
                                        { 
50,        3},
                                        { 
60,        4},
                                        { 
70,        5},
                                        { 
75,        5},
                                        { 
80,        6},
                                        { 
85,        6},
                                        { 
90,        7},
                                        { 
92,        7},
                                        { 
94,        7},
                                        { 
96,        8},
                                        { 
98,        9},
                                        {
100,      100}
                                        }
            --------------------------- 
Level --- Points ------------------------------------
            --
Wie viel Level Achievements insgesamt: ----------------------------------------
            
local LevelAchievementsCount 14
            
---------------------------------------------------------------------------------
            
local CurrentLevel pc.get_level()
            
local checkAchievments 0
            
while LevelAchievementsCount checkAchievments do
                
checkAchievments checkAchievments 1
                local level 
LevelAchievements[checkAchievments][1]
                if 
level == CurrentLevel then
                    local check 
pc.getqf("LevelAchievements_"..level.."")
                    if 
check == 0 then
                        local points 
pc.getqf("AchievementPoints")
                        
local new_points LevelAchievements[checkAchievments][2] + points
                        pc
.setqf("LevelAchievements_"..level..""1)
                        
pc.setqf("AchievementPoints"new_points)
                        
local Achievement "Level "..level.." ereicht"
                        
SendAchievement(Achievementnew_points)
                        return
                    
end
                end
            end
        end
        when kill begin
            
----Alle Kill Achievements müssen in die Liste eingetragen werden!---------------
            ----Die 
Kill Achievemt Anzahl muss danach bearbeitet werden!---------------------
            ---------------------------- 
MobId -- Count Points ----- MobName --------------
            
local KillAchievements = { {   101,        10,        1,         "Wildhund"},
                                       {   
115,        30,        1,         "Weißer Tieger"},
                                       {   
502,        30,        1,         "Wilder Ergebener"}
                                        }
            ---------------------------- 
MobId -- Count Points ----- MobName --------------
            --
Wie viel Kill Achievements insgesamt: ----------------------------------------
            
local KillAchievementsCount 3
            
---------------------------------------------------------------------------------
            
local CurrentKillID npc.race
            local checkAchievments 
0
            
while KillAchievementsCount checkAchievments do
                
checkAchievments checkAchievments 1
                local id 
KillAchievements[checkAchievments][1]
                if 
id == CurrentKillID then
                    local check 
pc.getqf("KillAchievements_"..id.."")
                    if 
check KillAchievements[checkAchievments][2]  then
                        check 
check 1
                        
if check == KillAchievements[checkAchievments][2then
                            local points 
pc.getqf("AchievementPoints")
                            
local new_points KillAchievements[checkAchievments][3] + points
                            pc
.setqf("AchievementPoints"new_points)
                            
pc.setqf("KillAchievements_"..id..""KillAchievements[checkAchievments][2])
                            
local Achievement KillAchievements[checkAchievments][4].." getötet"
                            
SendAchievement(Achievementnew_pointscheck)
                            return
                        else
                            
pc.setqf("KillAchievements_"..id..""check)
                        
end
                    end
                end
            end
        end
    end
end 
MfG Jango
[SGA]Jango is offline  
Thanks
30 Users
Old 09/28/2011, 08:46   #2

 
LxR'EsoZiaL's Avatar
 
elite*gold: 15
Join Date: Mar 2010
Posts: 4,269
Received Thanks: 2,499
nice work
LxR'EsoZiaL is offline  
Old 09/28/2011, 11:01   #3
 
elite*gold: 0
Join Date: Jul 2011
Posts: 121
Received Thanks: 39
Nice, was auch mal cool währe das man mal was mit denn Punkten machen kann..
mfg
lukasio1 is offline  
Old 09/28/2011, 11:04   #4
 
elite*gold: 0
Join Date: May 2011
Posts: 1,739
Received Thanks: 362
Was bringt das eigenlich?
Nexo24255 is offline  
Old 09/28/2011, 11:05   #5
 
yekta59's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 30
Received Thanks: 45
Very nice !
yekta59 is offline  
Old 09/28/2011, 11:08   #6
 
.Risan.'s Avatar
 
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
Ich weiss es nun nicht 100% genau aber, blockt das nicht andere Quests bzw. andere kill-Quests?
Ansonsten nice gescriptet. Muss ich zugeben

Zur erklärung an andere:
Ihr könnt soviele Monster hinzufügen wie ihr wollt.
Ihr müsst ledeglich die locale tabele dort oben Mob id usw eintragen.
Das erspart das when ***.kill or xx.kill ...


@Jango
Dank dirweiss ich nun wie man Monster id´s in Quest abrufen kann.. npc.race() Wusste garnicht das es dafür gut ist... Thx

Shopsystem entfernt.
.Risan. is offline  
Old 09/28/2011, 14:54   #7
 
elite*gold: 0
Join Date: Aug 2009
Posts: 962
Received Thanks: 96
dumme frage aber was bringt das Achievement hab das nie verstanden^^
lautlosertot is offline  
Old 09/28/2011, 15:10   #8
 
elite*gold: 50
Join Date: May 2011
Posts: 269
Received Thanks: 990
Cool! Thanks.
xP3NG3Rx is offline  
Old 09/28/2011, 15:23   #9


 
ZyoX's Avatar
 
elite*gold: 83
Join Date: Apr 2010
Posts: 1,665
Received Thanks: 685
Quote:
Originally Posted by lautlosertot View Post
dumme frage aber was bringt das Achievement hab das nie verstanden^^
Achievement = Errungenschaften, d.h. das ist ein kleines System, bei dem bestimmte Ereignisse (Errungenschaften) gesammelt werden. In dem Fall bekommt man dafür Punkte, mit denen man was anstellen kann.
ZyoX is offline  
Old 09/28/2011, 15:38   #10
 
xxglaubichauchxx's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 593
Received Thanks: 204
Danke für die Quest!

Ich glaub das ist die erste pub Achievement-Quest oder?

LG
xxglaubichauchxx is offline  
Old 09/28/2011, 15:44   #11
 
elite*gold: 32
Join Date: Dec 2010
Posts: 1,294
Received Thanks: 862
Dann schau mal in den Thread von denjenigen, der dass Achivementsystem erstellt hat
√π. is offline  
Thanks
1 User
Old 09/28/2011, 16:25   #12
 
[SGA]Jango's Avatar
 
elite*gold: 3
Join Date: Oct 2010
Posts: 390
Received Thanks: 463
Quote:
Originally Posted by Risan View Post
Ich weiss es nun nicht 100% genau aber, blockt das nicht andere Quests bzw. andere kill-Quests?
Ansonsten nice gescriptet. Muss ich zugeben

Zur erklärung an andere:
Ihr könnt soviele Monster hinzufügen wie ihr wollt.
Ihr müsst ledeglich die locale tabele dort oben Mob id usw eintragen.
Das erspart das when xxx.kill or xx.kill ...


@Jango
Dank dirweiss ich nun wie man Monster id´s in Quest abrufen kann.. npc.race() Wusste garnicht das es dafür gut ist... Thx

Shopsystem entfernt.
Nicht mit
npc.race()
sonder nur mit
npc.race
also die () weglassen! oder du schreibst:
npc.get_race()
->Hab ich zufällig aus ner alten quest gefunden die schon standart drin ist! Aber wenn man gekuckt hätte der befehl steht auch so zur hälfte in der questlib.lua
da werden alle npc/pc/item indexe aufgezählt bzw fast alle! da steht das auch dabei. Schade ist immernoch das man den Namen nicht herausfinden kann von einem npc (wer für pvp quest sehr intresant!)




Was man mit den Achievementpoints macht ist jedem selbst überlassen! ihr bekommt die punkte mit: pc.getqf("AchievementPoints")
Aber achtung für die nicht so erfahrernen Questschreiber: pc.getqf und pc.setqf (auch pc.delqf) sind nur gültig in dieser quest oder in anderen quest's mit dem selben namen(der name wird ganz oben festgelegt(quest achievement_system begin)


Was die Achievements brigen:
Sie bringen Achievement Points! Macht einfach ein eintauschschop oder sowas könnt ich ja auch noch machen nacher.
[SGA]Jango is offline  
Old 09/28/2011, 21:41   #13

 
elite*gold: 0
Join Date: Dec 2008
Posts: 2,825
Received Thanks: 1,538
Allso ich finds echt super das du das released und eine art eintauschquest wäre auch nett, wenn du so etwas machen kannst...
freu mich schon =)
.Colossus. is offline  
Old 09/28/2011, 21:43   #14
 
.Risan.'s Avatar
 
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
Quote:
Originally Posted by .Colossus. View Post
Allso ich finds echt super das du das released und eine art eintauschquest wäre auch nett, wenn du so etwas machen kannst...
freu mich schon =)
Wird er und ich nicht tun.. Wir haben unsere Gründe..
.Risan. is offline  
Old 08/26/2012, 15:02   #15
 
elite*gold: 0
Join Date: Jun 2012
Posts: 21
Received Thanks: 0
also bei mir geht das mit den level achievements echt super kann auch soviel hinzufügen wie ich will.. jedoch geht das mit den mobs nicht also habe da mobs hinzugefügt und genau so gelassen wies ist aber kriege keine achievment poinits wenn ich die dann ingame kille... ka woran das liegt.. habe diesen befehl npc.race nicht in der questfunction oder questlib aber daran dürfte es doch eigt. nicht liegen? zeigt auch keinen fehelr an beim quest laden... jeder der hilft kriegt THX
InViNCiBLE<-- is offline  
Reply


Similar Threads Similar Threads
[RELEASE]FreeBSD 7.1 mit 8GB Swap + verbesserte Serverfiles
07/31/2011 - Metin2 PServer Guides & Strategies - 40 Replies
Eins vorweg, da ich selber mich mit diesem Thema nicht sogut auskenne, übernehme ich einfach das, was andere geschrieben haben.(Klingt jetzt ziemlich nach Klauen) Num zum Thema Ich biete hier ein FreeBSD System mit 8 GB Swap Speicher und den verbesserten Serverfiles. Vorteile:
[Release]Verbesserte Portmap
03/01/2011 - Metin2 PServer Guides & Strategies - 87 Replies
Hallo Elitepvpers, ich stelle euch jetzt mal eine neue Portmap von unserem Techniker ( Lircht ) v. 1.0 vor. Die Portmap verbessert die Sicherheit vor DoS Angriffen, indem Sie zu viele Connections auf den Server innerhalb von einer Minute einfach blockt. Sprich: Die Angriff IP wird geblockt und erst nach dem nächsten Neustart der Portmap wieder freigegeben. Ich habe es mal mit dem API Tool von .Infinity ausprobiert, indem ich Blitzen auf 20 gesetzt habe. Es hat genau 10 mal geblitzt,...
[RELEASE] Metin2 Der verbesserte MultiBot von TheMan!!
11/29/2009 - Metin2 Hacks, Bots, Cheats, Exploits & Macros - 48 Replies
Da der Multibot nicht mehr funktioniert, habe ich die dazu gehörigen Datein gelöscht.



All times are GMT +2. The time now is 19:27.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.