|
You last visited: Today at 19:57
Advertisement
Achivement
Discussion on Achivement within the Metin2 Private Server forum part of the Metin2 category.
11/16/2014, 23:48
|
#1
|
elite*gold: 0
Join Date: Jun 2012
Posts: 844
Received Thanks: 112
|
Achivement
Problem: Egal welches Monster ich kille, es kommt unten rechts
"Achivement erreicht". Zwar werden mir keine Punkte dafür gutgeschrieben, aber es nervt, da es bei jedem Monster kommt.
Wenn ich dann einen Sensi kille, bekomm ich bspw überhaupt keine Punkte.
Das hier habe ich eingefügt:
PHP Code:
quest achievement begin
state start begin
function get_points()
return tonumber(mysql_query("select achievement from player.player where id = ".. pc.get_player_id() ..";")[1][1]) or 0
end
function GetInput(value)
cmdchat("GetInputStart")
local ret = input(cmdchat(value))
cmdchat("GetInputStop")
return ret
end
function set_points(p)
mysql_query("update player.player set achievement = ".. p .." where id = ".. pc.get_player_id() ..";")
end
when 20095.chat."Achievementshop" begin
cmdchat("SetIsNpc")
npc.open_shop(49)
setskin(NOWINDOW)
cmdchat("SetPrice 100|100|100|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0")
end
when login begin
cmdchat("SetQuestIndex "..q.getcurrentquestindex())
cmdchat("setPP "..pc.getqf("achievement"))
loop_timer("update", 4)
if pc.getqf("first") == 0 then
pc.setqf("achievement", pc.getqf("achievement")+10)
cmdchat("achievement Dein_erster_Login%".. pc.getqf("achievement"))
pc.setqf("first",1)
end
end
when update.timer begin
cmdchat("setPP "..pc.getqf("achievement"))
end
when button or info begin
local items = {
[1]={19, 1, 100},
[2]={29, 1, 100},
[3]={39, 1, 100},
}
local slot = tonumber(achievement.GetInput("GetInput"))+1
if pc.getqf("achievement") >= items[slot][3] then
pc.setqf("achievement", pc.getqf("achievement")-items[slot][3])
cmdchat("setPP "..pc.getqf("achievement"))
pc.give_item2(items[slot][1], items[slot][2])
else
cmdchat("NieMamPP")
end
end
when kill with not npc.is_pc() and pc.getqf(npc.get_race()) == 0 begin
local data = {
[1093] = 3,
[591] = 1,
[691] = 1,
[2191] = 2,
[1304] = 2,
[2206] = 2,
[1901] = 2,
[2091] = 2,
[1191] = 3,
[2307] = 2,
[2493] = 4,
[2598] = 4,
[8027] = 1,
[8051] = 1,
[8052] = 1,
[8053] = 1,
}
local v = npc.get_race()
local killcount = pc.getqf(v .."_kill")
local p = data[v] or 1000
cmdchat("setachieve ".. pc.getqf("achievement") + p)
cmdchat("achievement ".. mob_name(v) .."_getötet#".. killcount + 1 .."%".. pc.getqf("achievement") + p .."")
pc.setqf("achievement", pc.getqf("achievement") + data[v])
end
end
end
E:
Syserr:
Code:
1124 15:00:23420 :: Unknown Server Command setachieve 1026 | setachieve
1124 15:00:31823 :: GRANNY: r:/granny/rt/granny_file_info.cpp(145): File has run-time type tag of 0x8000000f, which doesn't match this version of Granny (0x80000010). Automatic conversion will be attempted.
1124 15:01:46532 :: Unknown Server Command setachieve 27 | setachieve
1124 15:01:52848 :: ResourceManager::GetResourcePointer: NOT SUPPORT FILE d:\project\metin2\main\assets\npc\lion\lion.psd
1124 15:01:52907 :: CInstanceBase::PushTCPState Ç÷¹À̾î Àڽſ¡°Ô À̵¿ÆÐŶÀº ¿À¸é ¾ÈµÈ´Ù!
1124 15:01:26099 :: Unknown Server Command setachieve 1027 | setachieve
1124 15:01:27155 :: Unknown Server Command setachieve 1027 | setachieve
1124 15:01:27188 :: Unknown Server Command setachieve 1027 | setachieve
1124 15:01:27485 :: Unknown Server Command setachieve 1027 | setachieve
1124 15:01:27584 :: Unknown Server Command setachieve 1027 | setachieve
1124 15:01:27617 :: Unknown Server Command setachieve 1027 | setachieve
1124 15:01:27931 :: Unknown Server Command setachieve 1027 | setachieve
1124 15:01:27997 :: Unknown Server Command setachieve 1027 | setachieve
1124 15:01:28195 :: Unknown Server Command setachieve 1027 | setachieve
1124 15:01:37898 :: Unknown Server Command setachieve 1027 | setachieve
1124 15:01:40736 :: Unknown Server Command setachieve 1027 | setachieve
1124 15:01:41824 :: Unknown Server Command setachieve 1027 | setachieve
1124 15:01:41923 :: Unknown Server Command setachieve 1027 | setachieve
1124 15:01:41989 :: Unknown Server Command setachieve 1027 | setachieve
Heute spuckt die Syserr (endlich) was aus.
Trz weiß ich nicht, wie ich das fixxe.
Bitte Post Nr. 12 beachten!
|
|
|
11/18/2014, 22:20
|
#2
|
elite*gold: 0
Join Date: Jun 2012
Posts: 844
Received Thanks: 112
|
Weiß jemand, woran der Fehler liegt/liegen kann?
Bin für jede Antwort dankbar!
|
|
|
11/24/2014, 15:11
|
#3
|
elite*gold: 0
Join Date: Jun 2012
Posts: 844
Received Thanks: 112
|
up
|
|
|
11/24/2014, 16:13
|
#4
|
elite*gold: 40
Join Date: Nov 2009
Posts: 1,159
Received Thanks: 442
|
cmdchat("achievement ".. mob_name(v) .."_getötet#".. killcount + 1 .."%".. pc.getqf("achievement") + p .."")
Ist die Zeile nicht dafür ausschlaggebend, dass es jedes Mal angezeigt wird?
Warum es beim Sensi so ist, kann ich mir gerade nicht erklären. Du tötest den nicht immer nur im DT oder? Könnte eine eventuelle Fehlerquelle sein.
|
|
|
11/25/2014, 09:39
|
#5
|
elite*gold: 0
Join Date: Jun 2012
Posts: 844
Received Thanks: 112
|
Hm, dachte die Zeile bezieht sich auf die unten angeführten Mobs.
Nein, nein.
Den Sensi kille ich immer nur Map1 - dafür lasse ich ihn spawnen.
Danke
|
|
|
11/25/2014, 12:41
|
#6
|
elite*gold: 0
Join Date: Oct 2014
Posts: 408
Received Thanks: 208
|
PHP Code:
Unknown Server Command setachieve 1027 | setachieve
Das ist dein Fehler.
setachieve wird nirgends in deinem Client definiert.
Mach mal in deiner Quest aus "setachieve" "setachievment"
Wenn es immer noch nicht geht machst du drauß "achievment"
Mit freundlichen Grüßen
€: Sehe gerade du hast hier
PHP Code:
when kill with not npc.is_pc() and pc.getqf(npc.get_race()) == 0 begin
local data = {
[1093] = 3,
[591] = 1,
[691] = 1,
[2191] = 2,
[1304] = 2,
[2206] = 2,
[1901] = 2,
[2091] = 2,
[1191] = 3,
[2307] = 2,
[2493] = 4,
[2598] = 4,
[8027] = 1,
[8051] = 1,
[8052] = 1,
[8053] = 1,
1027 eingetragen..Ob es daran liegt weiss ich nicht bin kein Quester
|
|
|
11/25/2014, 15:35
|
#7
|
elite*gold: 0
Join Date: Jun 2012
Posts: 844
Received Thanks: 112
|
Danke, werde ich später gleich mal versuchen.
Wo siehst du die Vnum 1027? Bin ich blind, oder ?
E:
Alle drei Möglichkeiten bringen leider nichts.
Bin weiterhin ratlos.
|
|
|
11/26/2014, 19:27
|
#8
|
elite*gold: 0
Join Date: Jun 2012
Posts: 844
Received Thanks: 112
|
up
|
|
|
11/26/2014, 19:32
|
#9
|
elite*gold: 75
Join Date: Mar 2012
Posts: 2,655
Received Thanks: 742
|
Hast du auch das Achievment gui usw von real freak eingefügt nur client reicht schon server musste nichts machen
|
|
|
11/26/2014, 20:27
|
#10
|
elite*gold: 0
Join Date: Jun 2012
Posts: 844
Received Thanks: 112
|
Ich habe das HowTo befolgt:
Code:
Zitat von xP3NG3Rx Beitrag anzeigen
Little instructions
1. Download the files.
2. Unpack the archive.
3. Unpack the client root.eix/.epk and ETC.eix/.epk and uiscript.eis/.epk files.
4. Open the game.py & search for this:
Code:
def __ServerCommand_Build(self):5. Write there these:
Code:
"achievement" : self.__AchievementTest,
"achievementpoints" : self.__ShowAchievementPoints,
Spoiler
5,1. The original is:
Code:
def __ServerCommand_Build(self):
serverCommandList={
"ConsoleEnable" : self.__Console_Enable,
"DayMode" : self.__DayMode_Update,
"PRESERVE_DayMode" : self.__PRESERVE_DayMode_Update,
"CloseRestartWindow" : self.__RestartDialog_Close,
"OpenPrivateShop" : self.__PrivateShop_Open,
"PartyHealReady" : self.PartyHealReady,
"ShowMeSafeboxPassword" : self.AskSafeboxPassword,
"CloseSafebox" : self.CommandCloseSafebox,
# ITEM_MALL
"CloseMall" : self.CommandCloseMall,
"ShowMeMallPassword" : self.AskMallPassword,
"item_mall" : self.__ItemMall_Open,
# END_OF_ITEM_MALL5,2. And the modified:
Code:
def __ServerCommand_Build(self):
serverCommandList={
"ConsoleEnable" : self.__Console_Enable,
"DayMode" : self.__DayMode_Update,
"PRESERVE_DayMode" : self.__PRESERVE_DayMode_Update,
"CloseRestartWindow" : self.__RestartDialog_Close,
"OpenPrivateShop" : self.__PrivateShop_Open,
"PartyHealReady" : self.PartyHealReady,
"ShowMeSafeboxPassword" : self.AskSafeboxPassword,
"CloseSafebox" : self.CommandCloseSafebox,
# Achievement System START
"achievement" : self.__AchievementTest,
"achievementpoints" : self.__ShowAchievementPoints,
# Achievement System END
# ITEM_MALL
"CloseMall" : self.CommandCloseMall,
"ShowMeMallPassword" : self.AskMallPassword,
"item_mall" : self.__ItemMall_Open,
# END_OF_ITEM_MALL
6. Now write to the random space for these (I wrote the end of game.py ):
Code:
# Achievement System START
def __ShowAchievementPoints(self, points):
import uiAchievement
import uiTaskbar
self.uiAchievement = uiAchievement.AchievementDialog()
uiAchievement.AchievementPoints = int(points)
def __AchievementTest(self, archivement):
import uiAchievement
self.uiAchievement = uiAchievement.AchievementDialog()
self.uiAchievement.Show(1, str(archivement))
self.uiAchievement.SetTop()
# Achievement System END7. Save and close.
8. Drop the uiachievement.py to the root folder and write in the root_pack.xml this:
Code:
<File archivedPath="uiachievement.py" type="2"><![CDATA[Source\uiachievement.py]]></File>9. Put the achievement_small.sub file in the "\ymir work\ui\public\" folder.
10. Put the achievement_small.dds file in the "\ymir work\ui\" folder.
11. Open the etc_pack.xml, and complete with two lines:
Code:
<File archivedPath="d:/ymir work/ui/public/achievement_small.sub" type="0"><![CDATA[Source\ymir work\ui\public\achievement_small.sub]]></File>
<File archivedPath="d:/ymir work/ui/achievement_small.dds" type="0"><![CDATA[Source\ymir work\ui\achievement_small.dds]]></File>12. Now put the achievementboard.py in the uiscript folder, and open the uiscript_pack.xml, and complete with this:
Code:
<File archivedPath="uiscript/achievementboard.py" type="2"><![CDATA[Source\uiscript\achievementboard.py]]></File>
Spoiler
13. Pack the client files, and change encryption type, if protected client.
14. Open the FileZilla, and connect up your server, go in the quest folder, download the quest_list file.
15. Open the quest_list and write into:
achieve_test.quest
[and one empty line for last]
Save and close.
16. Upload the quest_list and the achieve_test.quest in the quest folder, and run the sh make.sh or ./qc achieve_test.quest
17. Launch the game, and logging in, run the /reload q command, and enjoy.
Sorry for my bad English
I hope you succeed.
|
|
|
11/26/2014, 20:38
|
#11
|
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
|
Code:
quest achievement begin
state start begin
function get_points()
return tonumber(mysql_query("select achievement from player.player where id = ".. pc.get_player_id() ..";")[1][1]) or 0
end
function GetInput(value)
cmdchat("GetInputStart")
local ret = input(cmdchat(value))
cmdchat("GetInputStop")
return ret
end
function set_points(p)
mysql_query("update player.player set achievement = ".. p .." where id = ".. pc.get_player_id() ..";")
end
when 20095.chat."Achievementshop" begin
cmdchat("SetIsNpc")
npc.open_shop(49)
setskin(NOWINDOW)
cmdchat("SetPrice 100|100|100|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0")
end
when login begin
cmdchat("SetQuestIndex "..q.getcurrentquestindex())
cmdchat("setPP "..pc.getqf("achievement"))
loop_timer("update", 4)
if pc.getqf("first") == 0 then
pc.setqf("achievement", pc.getqf("achievement")+10)
cmdchat("achievement Dein_erster_Login%".. pc.getqf("achievement"))
pc.setqf("first",1)
end
end
when update.timer begin
cmdchat("setPP "..pc.getqf("achievement"))
end
when button or info begin
local items = {
[1]={19, 1, 100},
[2]={29, 1, 100},
[3]={39, 1, 100},
}
local slot = tonumber(achievement.GetInput("GetInput"))+1
if pc.getqf("achievement") >= items[slot][3] then
pc.setqf("achievement", pc.getqf("achievement")-items[slot][3])
cmdchat("setPP "..pc.getqf("achievement"))
pc.give_item2(items[slot][1], items[slot][2])
else
cmdchat("NieMamPP")
end
end
when kill with not npc.is_pc() and pc.getqf(npc.get_race()) == 0 begin
local data = {
[1093] = 3,
[591] = 1,
[691] = 1,
[2191] = 2,
[1304] = 2,
[2206] = 2,
[1901] = 2,
[2091] = 2,
[1191] = 3,
[2307] = 2,
[2493] = 4,
[2598] = 4,
[8027] = 1,
[8051] = 1,
[8052] = 1,
[8053] = 1,
}
local v = npc.get_race()
local killcount = pc.getqf(v .."_kill")
local p = data[v] or 0
if p == 0 then return end
cmdchat("achievement ".. mob_name(v) .."_getötet#".. killcount + 1 .."%".. pc.getqf("achievement") + p .."")
pc.setqf("achievement", pc.getqf("achievement") + p)
end
end
end
|
|
|
11/26/2014, 22:13
|
#12
|
elite*gold: 0
Join Date: Jun 2012
Posts: 844
Received Thanks: 112
|
Quote:
Originally Posted by Kilroy.
Code:
quest achievement begin
state start begin
function get_points()
return tonumber(mysql_query("select achievement from player.player where id = ".. pc.get_player_id() ..";")[1][1]) or 0
end
function GetInput(value)
cmdchat("GetInputStart")
local ret = input(cmdchat(value))
cmdchat("GetInputStop")
return ret
end
function set_points(p)
mysql_query("update player.player set achievement = ".. p .." where id = ".. pc.get_player_id() ..";")
end
when 20095.chat."Achievementshop" begin
cmdchat("SetIsNpc")
npc.open_shop(49)
setskin(NOWINDOW)
cmdchat("SetPrice 100|100|100|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0")
end
when login begin
cmdchat("SetQuestIndex "..q.getcurrentquestindex())
cmdchat("setPP "..pc.getqf("achievement"))
loop_timer("update", 4)
if pc.getqf("first") == 0 then
pc.setqf("achievement", pc.getqf("achievement")+10)
cmdchat("achievement Dein_erster_Login%".. pc.getqf("achievement"))
pc.setqf("first",1)
end
end
when update.timer begin
cmdchat("setPP "..pc.getqf("achievement"))
end
when button or info begin
local items = {
[1]={19, 1, 100},
[2]={29, 1, 100},
[3]={39, 1, 100},
}
local slot = tonumber(achievement.GetInput("GetInput"))+1
if pc.getqf("achievement") >= items[slot][3] then
pc.setqf("achievement", pc.getqf("achievement")-items[slot][3])
cmdchat("setPP "..pc.getqf("achievement"))
pc.give_item2(items[slot][1], items[slot][2])
else
cmdchat("NieMamPP")
end
end
when kill with not npc.is_pc() and pc.getqf(npc.get_race()) == 0 begin
local data = {
[1093] = 3,
[591] = 1,
[691] = 1,
[2191] = 2,
[1304] = 2,
[2206] = 2,
[1901] = 2,
[2091] = 2,
[1191] = 3,
[2307] = 2,
[2493] = 4,
[2598] = 4,
[8027] = 1,
[8051] = 1,
[8052] = 1,
[8053] = 1,
}
local v = npc.get_race()
local killcount = pc.getqf(v .."_kill")
local p = data[v] or 0
if p == 0 then return end
cmdchat("achievement ".. mob_name(v) .."_getötet#".. killcount + 1 .."%".. pc.getqf("achievement") + p .."")
pc.setqf("achievement", pc.getqf("achievement") + p)
end
end
end
|
Hast du was an der Quest geändert, oder?
Bin grad am Handy online, weshalb ich die zwei Quest's nicht miteinander vergleichen kann.
Könntest du vielleicht dazuschreiben, was du geändert hast?
Möchte es nämlich selbst wissen bzw. aus Fehlern lernen
Danke
E:
Funktioniert jetzt in Großen und Ganzen!
Danke für die (neue) Quest.
Allerdings bekomme ich gar keine AP, wenn ich den Sensi kille (VNUM 1093).
Bei den restlichen Mobs gehts - auch spinnt der AP Counter ein wenig - im Invi werden die AP richtig dazugezählt bzw. angezeigt, beim Counter allerdings nicht.
Hier ein Bild:
|
|
|
11/27/2014, 22:51
|
#13
|
elite*gold: 0
Join Date: Jun 2012
Posts: 844
Received Thanks: 112
|
Up
Vielleicht weiß jemand die Lösung auf die letzte Frage!
|
|
|
11/28/2014, 06:26
|
#14
|
elite*gold: 17
Join Date: May 2014
Posts: 2,103
Received Thanks: 1,292
|
Welche binary bzw welchen client nutzt du? Mich würds interessieren wie das mit den AP Punkten unter dem Yang geht im Invi xD
|
|
|
11/28/2014, 11:02
|
#15
|
elite*gold: 0
Join Date: Jun 2012
Posts: 844
Received Thanks: 112
|
Quote:
Originally Posted by xSaito
Welche binary bzw welchen client nutzt du? Mich würds interessieren wie das mit den AP Punkten unter dem Yang geht im Invi xD
|
Nutze den 2013er v2 Clienten von Invoice.
|
|
|
 |
|
Similar Threads
|
[Selling] Achivement Service
10/19/2014 - S4 League Trading - 9 Replies
So Leute da ich auch mal was machen will, mache ich für euch den netten Achievement bug. Und wie? Ganz einfach.
Ihr gebt mir eure Daten (Natürliche nehme ich auch Voucher an ^-^ aber nur mehr als 50 Positiven bewertungen :P) Da spielt vertrauen
eine wichtige Rolle.
Ihr gebt mir dann 1-3h Zeit jenachdem wie die Server grade mit machen und was ihr gewählt habt.
Wenn ihr euch mitten drin einloggt, WÄHREND ich am Farmen bin ohne das ich euch bescheid gegeben habe das ich fertig bin dann, mache...
|
Achivement-System Problem
09/15/2012 - Metin2 Private Server - 4 Replies
Hallo epvp,
Ich hab ein problem mit meinem Achivementsystem und zwar wenn ich was kill bekomm ich den Count aber danach steht nich dran wie viel achivpoints man insgesamt hat.
Ich benutze diese quest
quest achievement begin
state start begin
--LOGIN
when login begin
if pc.getqf("firstlogin") != 1 then
local Reward = 1
|
Achivement Punkte...
08/30/2012 - Metin2 Private Server - 4 Replies
Hallo Com,
ich habe eine frage ich spiele seit kurzem auf nem p server(left4metin2) und will wissen, wie funktioniert das achivement system .. also ab welchen lvl bekommt man die und von welchen metins bekommt man die überhaupt oder bosse ... ?!
mfg andre
|
MMOXE's Achivement Title Service
04/18/2012 - World of Warcraft Trading - 0 Replies
Hi all,
we provide Achivement Title service for you!
Leading the Cavalry 103.91 Euro
100000 Honorable Kills 158.34 Euro
Netherdrake Mount achievement 64.82 Euro
King Slayer (10 player) 79.13 Euro
.
.
.
|
Achivement-SHOP [ERROR]
10/30/2011 - Metin2 Private Server - 13 Replies
Hallo Leute!
Heute wollte ich mal einen Achivement-Shop machen.. Jedoch ging das ziemlich in die Hose.
Mein Problem ist: Wenn ich die Punkte abfrage, bekomm ich als Antwort immer 0 Punkte, egal wie viel Punkte ich hab!
Ausschnitt aus der Shop Quest:
-------------------
--BY KILLERMEN123--
-------------------
|
All times are GMT +1. The time now is 19:57.
|
|