ich habe grade das achievement-system eingebaut und nutze die verbesserte Quest von [SA]Jango
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, 5},
{ 10, 5},
{ 20, 5},
{ 30, 5},
{ 40, 5},
{ 50, 5},
{ 60, 5},
{ 70, 5},
{ 80, 5},
{ 90, 5},
{ 100, 5},
{ 110, 5},
{ 120, 5},
{ 130, 5},
{ 140, 5},
{ 150, 5}
}
--------------------------- Level --- Points ------------------------------------
--Wie viel Level Achievements insgesamt: ----------------------------------------
local LevelAchievementsCount = 16
---------------------------------------------------------------------------------
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(Achievement, new_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 = {{ 8027, 1, 1, "90er Metin"},
{ 8027, 20, 10, "90er Metin"},
{ 8027, 40, 10, "90er Metin"},
{ 8027, 60, 10, "90er Metin"},
{ 8027, 80, 10, "90er Metin"},
{ 8027, 100, 10, "90er Metin"},
{ 8027, 120, 10, "90er Metin"},
{ 8027, 140, 10, "90er Metin"},
{ 8027, 160, 10, "90er Metin"},
{ 8027, 180, 10, "90er Metin"},
{ 8027, 200, 10, "90er Metin"},
{ 8027, 500, 30, "90er Metin"},
{ 8027, 1000, 65, "90er Metin"},
}
---------------------------- MobId -- Count - Points ----- MobName --------------
--Wie viel Kill Achievements insgesamt: ----------------------------------------
local KillAchievementsCount = 13
---------------------------------------------------------------------------------
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][2] then
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(Achievement, new_points, check)
return
else
pc.setqf("KillAchievements_"..id.."", check)
end
end
end
end
end
end
end
Wie ihr sehen könnt ,habe ich nur die Metins "8027" eingetragen.
Das Problem liegt einfach da , dass wenn ich Wildhunde kille Punkte bekomme , diese aber nicht hochgezählt werden.
Dabei habe ich mehrer gekillt. Auch ist es so , dass diese ja gar nicht in der Tabelle stehen?
Allerdings bekomme ich von den Wildhunden 5 Punkte.
Kill ich nun einen Metin ( 8027 )
So wird auch dieser nicht hochgezählt ( es steht immer " Du hast 1 blabla gekillt " )
Auch bekomme ich keine Punkte sondern sie bleiben bei der Vorherigen Anzahl:
D.h vor dem Metin Kill 50 Punkte , nach dem Metin Kill 50 Punkte.
Das einzige was mir als Fehler ausgeschissen wird ist das hier :
hoffentlich könnt ihr mir helfen.
Lee






