Da ich ProfiFighter eigt. garnichts mehr mit Metin2 zu tun haben möchte, mache ich eine Quest von mir public.
Info: Item-ID: 80009 & Sprache: Englisch & Was kann dieser Ring: Event-Statuse anzeigen, im GM-Chat schreiben, Teleportieren usw.
PS1: Der Questname steht im Thread-Titel .
PS2: Die Quest wurde sehr im komplexen Style geschrieben(Wenn ihr mal nicht wisst, was das in der Quest ist, dann ist es nicht so schlimm).
PS3: Der Fehler in der Quest wurde gefunden und beseitigt. Er war nicht am Ende, was die Sache erschwert hat(Nichts ist besser und auch dämlicher als der Mensch wdf). Also, bitte die neue Version benutzen, falls noch jemand die Alte benutzt!
1.) Das da in den Questordner als Datei "multi_ring.quest" abspeichern:
Code:
----------------------------------------------------
--Created by ProfiFighter.
----------------------------------------------------
quest multi_ring begin
state start begin
when 80009.use begin
say_item_name(80009)
say("Hi, I'm the multi ring. How can I help you?[ENTER]")
local s = select("Teleport Me", "Let Me", "List Me", "Setting Up", "Close You")
if s != 5 then
say_item_name(80009)
if s == 1 then
if pc.get_level() <= 10 then
say("Hm... With your current level you're too weak to[ENTER]"..
"travel through time and space. Abuse me back when[ENTER]"..
"you're higher than level 10.[ENTER]")
else
say("Pick a location, go wherever you want and press[ENTER]"..
"on top of him. Otherwise, if you go nowhere else[ENTER]"..
"press on top of 'Close'.[ENTER]")
local empire = pc.get_empire()
local warp1 = empire
local warp2 = 1
local warp3 = 3
if empire == 1 then
warp2 = 2
elseif empire == 3 then
warp3 = 2
elseif empire != 2 then
warp2 = 2
end
local new_warp1 = pc.getqf("new_warp1")
local new_warp2 = pc.getqf("new_warp2")
local new_warp3 = pc.getqf("new_warp3")
if new_warp1 != 0 and new_warp2 != 0 and new_warp3 != 0 then
if new_warp1 != new_warp2 and new_warp1 != new_warp3 and new_warp2 != new_warp1 and new_warp2 != new_warp3 and new_warp3 != new_warp1 and new_warp3 != new_warp2 then
if new_warp1 != warp1 then
warp1 = new_warp1
end
if new_warp2 != warp2 then
warp2 = new_warp2
end
if new_warp3 != warp3 then
warp3 = new_warp3
end
end
else
if new_warp1 != 0 then
pc.setqf("new_warp1", 0)
end
if new_warp2 != 0 then
pc.setqf("new_warp2", 0)
end
if new_warp3 != 0 then
pc.setqf("new_warp3", 0)
end
end
local warp = {
{
{"Argos", 474300, 954800},
{"Netha", 63800, 166400},
{"London", 959900, 269200},
},
{
{"Maadi", 353100, 882900},
{"Aswan", 145500, 240000},
{"Cornith", 863900, 246000},
},
}
local warp_list = 1
s = select(warp[warp_list][warp1][1], warp[warp_list][warp2][1], warp[warp_list][warp3][1], "Other Locations", "Close")
if s == 4 then
say_item_name(80009)
say("Pick a location, go wherever you want and press[ENTER]"..
"on top of him. Otherwise, if you go nowhere else[ENTER]"..
"press on top of 'Close'.[ENTER]")
warp_list = 2
s = select(warp[warp_list][warp1][1], warp[warp_list][warp2][1], warp[warp_list][warp3][1], "Back", "Close")
if s == 4 then
say_item_name(80009)
say("Pick a location, go wherever you want and press[ENTER]"..
"on top of him. Otherwise, if you go nowhere else[ENTER]"..
"press on top of 'Close'.[ENTER]")
warp_list = 1
s = select(warp[warp_list][warp1][1], warp[warp_list][warp2][1], warp[warp_list][warp3][1], "Other Locations", "Close")
if s == 4 then
say_item_name(80009)
say("Pick a location, go wherever you want and press[ENTER]"..
"on top of him. Otherwise, if you go nowhere else[ENTER]"..
"press on top of 'Close'.[ENTER]")
warp_list = 2
s = select(warp[warp_list][warp1][1], warp[warp_list][warp2][1], warp[warp_list][warp3][1], "Close")
if s == 4 then
return
end
end
end
end
if s != 5 then
local warp_coordinate = 0
if s == 1 then
warp_coordinate = warp1
elseif s == 2 then
warp_coordinate = warp2
elseif s == 3 then
warp_coordinate = warp3
end
test_chat(warp[warp_list][warp_coordinate][2]..warp[warp_list][warp_coordinate][3])
say_item_name(80009)
say("I teleport you there.[ENTER]")
wait()
pc.warp(warp[warp_list][warp_coordinate][2], warp[warp_list][warp_coordinate][3])
end
end
elseif s == 2 then
say("Please choose what you want to make.[ENTER]"..
"Otherwise, if you go nowhere else press[ENTER]"..
"on top of 'Close'.[ENTER]")
s = select("Write In", "Close")
if s == 1 then
say_item_name(80009)
say("Please choose where you want to write in.[ENTER]"..
"Otherwise, if you go nowhere else press[ENTER]"..
"on top of 'Close'.[ENTER]")
s = select("The Global Chat", "Close")
if s == 1 then
say_item_name(80009)
if pc.get_level() <= 30 then
say("Hm... With your current level you're too weak to[ENTER]"..
"travel through time and space. Abuse me back when[ENTER]"..
"you're higher than level 30.[ENTER]")
return
elseif get_time() < pc.getqf("next_time_chat") then
if pc.is_gm() then
pc.setqf("next_time_chat", 0)
else
say("You're only allowed every 15 minutes to send[ENTER]"..
"something here, not for the chat to be View active![ENTER]")
return
end
end
say("Please write your text in the column down there.[ENTER]"..
"For safety, your name will stand before the sentence![ENTER]")
say_reward("Note that you can only send every 15 minutes[ENTER]"..
"a message![ENTER]")
local notice_text = input()
say_item_name(80009)
if notice_text == "" then
say("You have not been writing in the column, so no[ENTER]"..
"message could be sent.[ENTER]")
else
say("'"..notice_text.."'[ENTER]"..
"was sent successful as a global notice.[ENTER]")
notice_all(pc.get_name().." : "..notice_text)
if not pc.is_gm() then
pc.setqf("next_time_chat", get_time() + 900)
end
end
end
end
elseif s == 3 then
say("Please choose what you want to see.[ENTER]"..
"Otherwise, if you go nowhere else press[ENTER]"..
"on top of 'Close'.[ENTER]")
s = select("The Events", "Close")
if s == 1 then
say_item_name(80009)
local oxevent_status = game.get_event_flag("oxevent_status")
local oxevent_status1 = 2
local oxevent_status2 = 1
if oxevent_status == 0 then
oxevent_status1 = 1
elseif oxevent_status == 1 then
oxevent_status2 = 2
else
oxevent_status2 = 3
end
local lotto_chance_of_winning = game.get_event_flag("lotto_chance_of_winning")
local lotto_status1 = 0
if lotto_chance_of_winning == 0 then
lotto_status1 = 1
else
lotto_status1 = 2
end
local status = {
{"Offline", "Online"},
{"None", "Play & Watch", "Watch"},
}
say("Here see you the status of the events.[ENTER]"..
"OX: "..status[1][oxevent_status1].." ("..status[2][oxevent_status2]..").[ENTER]"..
"Lotto: "..status[1][lotto_status1].." ("..lotto_chance_of_winning.."%).[ENTER]")
end
elseif s == 4 then
say("Please choose what you want to change.[ENTER]"..
"Otherwise, if you go nowhere else press[ENTER]"..
"on top of 'Close'.[ENTER]")
s = select("The Teleportation", "Close")
if s == 1 then
say_item_name(80009)
say("Please choose what you want to make[ENTER]"..
"by the teleportation. Otherwise, if you[ENTER]"..
"go nowhere else press on top of 'Close'.[ENTER]")
local new_warp1 = pc.getqf("new_warp1")
local new_warp2 = pc.getqf("new_warp2")
local new_warp3 = pc.getqf("new_warp3")
local mode1 = 0
if new_warp1 != 0 and new_warp2 != 0 and new_warp3 != 0 then
mode1 = 2
else
mode1 = 1
if new_warp1 != 0 then
pc.setqf("new_warp1", 0)
end
if new_warp2 != 0 then
pc.setqf("new_warp2", 0)
end
if new_warp3 != 0 then
pc.setqf("new_warp3", 0)
end
end
local mode = {"Set", "Reset"}
s = select(mode[mode1], "Close")
if s == 1 then
say_item_name(80009)
if mode1 == 1 then
say("Pick a location and press on top of him,[ENTER]"..
"which should be in first place. Otherwise,[ENTER]"..
"if you go nowhere else press on top of[ENTER]"..
"'Close'.[ENTER]")
local nation = {"Milgard Nation (Red)", "Listhmos Nation (Yellow)", "Dendera Nation (Blue)"}
s = select(nation[1], nation[2], nation[3], "Close")
if s != 4 then
say_item_name(80009)
say("Pick a location and press on top of him,[ENTER]"..
"which should be in second place. Otherwise,[ENTER]"..
"if you go nowhere else press on top of[ENTER]"..
"'Close'.[ENTER]")
local new_warp1 = s
local warp1 = 1
local warp2 = 3
if new_warp1 == 1 then
warp1 = 2
elseif new_warp1 == 3 then
warp2 = 2
end
s = select(nation[warp1], nation[warp2], "Close")
if s != 3 then
local new_warp2 = 0
if s == 1 then
new_warp2 = warp1
elseif s == 2 then
new_warp2 = warp2
end
local new_warp3 = 0
if new_warp1 == 1 then
if new_warp2 == 2 then
new_warp3 = 3
elseif new_warp2 == 3 then
new_warp3 = 2
end
elseif new_warp1 == 2 then
if new_warp2 == 1 then
new_warp3 = 3
elseif new_warp2 == 3 then
new_warp3 = 1
end
elseif new_warp1 == 3 then
if new_warp2 == 1 then
new_warp3 = 2
elseif new_warp2 == 2 then
new_warp3 = 1
end
end
say_item_name(80009)
say("First: "..nation[new_warp1]..".[ENTER]"..
"Second: "..nation[new_warp2]..".[ENTER]"..
"Third: "..nation[new_warp3]..".[ENTER]"..
"Is this right?[ENTER]")
s = select(locale.yes, locale.no)
if s == 1 then
say_item_name(80009)
say("Settings are applied.[ENTER]")
pc.setqf("new_warp1", new_warp1)
pc.setqf("new_warp2", new_warp2)
pc.setqf("new_warp3", new_warp3)
end
end
end
elseif mode1 == 2 then
say("The teleportation procedure has been reset to[ENTER]"..
"their default.[ENTER]")
if pc.getqf("new_warp1") != 0 then
pc.setqf("new_warp1", 0)
end
if pc.getqf("new_warp2") != 0 then
pc.setqf("new_warp2", 0)
end
if pc.getqf("new_warp3") != 0 then
pc.setqf("new_warp3", 0)
end
end
end
end
end
end
end
end
end
2.) In die "[locale]_list"-Datei "multi_ring.quest" einfügen.
3.) In der "[locale]_list"-Datei "move_ring.quest" entfernen.
4.) In die "questlib.lua"-Datei "function say_item_name(vnum) say_title(item_name(vnum)..":") end" einfügen.
5.) In die "quest_functions"-Datei "say_item_name" einfügen.
6.) Mir ein Thanks geben !
Die Anleitung richtig durchgelesen und ausgeführt? Also dieser Ring müsste bei den 2006/ 2007 & 2010er SF funktionieren, komisch...
Guck mal, ob sie mit dem Tipp von blade007 funktioniert(Bin in Lua eingerostet).
PS: Bitte keine Fragen zur Quest an mich senden, ich progammiere nur noch in C++ und ich will auch, dass es so bleibt.
habe mich mal eingeloggt bei mir ist das item 80009 der zurück zur stadt ring sollt ich mal ne andere vnum vergeben?wenn ich diesen ring anklicke kommt nur kurz auf chinesich und ich werde geportet in die stadt
MFG
Einfach "move_ring.quest" entfernen, im Multi Ring ist das schon drin, ich editier das mal... Dachte das wär selbstverständlich... Naja, nur für extreme SF Pros xD.
Ich werde nachher gucken, wie dieses "end" verschwunden ist... Diese Quest ist eigt. alt und früher gings auch immer... Naja, mach ich nachher xD.
Edit: Hat mal jemand die Quest einfach so eingefügt, ohne extra "end" oder so und es ging? Wenn ja, dann sagt es bitte, wenn es nämlich so ist, dann war das ein C&P Fehler von einem EPvP-User.
Wie schon geschrieben,ich habe habe diesen fehler gehabt,und habe deinen Tip versucht mit der move_ring quest ging auch nich gleiche fehlermeldung,dann habe ich den tip angewendet mit dem end und es ging,keine fehler.Habe sogar die Move_ring quest wieder mit rein genommen
Ich meinte einen anderen User xD.
Ähm, das war eigt. kein Tipp. Der Multi Ring ersetzt den Move Ring... Wenn du beide Quests im Server hast ist das nicht sehr ratsam, da ich deshalb ja den Multi Ring geschrieben habe... Dann wär sozusagen alles für die Katz xD.
Funktioniert aber gut,habe die move_ring wieder raus,steige nur nich so ganz durch wie das mit dem "lass mich" , "höre zu" und "setting up" gemeint ist,muss dazu sagen habe noch nich soviel ahnung über questaufbauten.wenn ich zum beispiel auf lss mich drücke steht oben NONAME : und wenn ich weiter klicke schliesste sich das fenster,in die reiche telen geht ohne probleme,um ehrlich zusein versteh ich nur ein viertel von der quest.könntest du diese einbisschen näher erklären wie sie voll nutzbar ist?würde ja nich nur mir helfen sondern auch anderen die deine quest interresannt finden
Oben steht NONAME, da dein Ring in der DB NONAME heißt, musste nur umändern.
Das mit dem Erklären wird etwas schwierig, bis ich dort alles erklärt habe bin ich ein alter Mann xD. Bei "Setting Up" kannst du einstellen, in welcher Reihenfolge die Teleorte aufgelistet werden. Bei "Liste Me" kannste den OX-Event Status erfahren usw.. Naja, ich werd nochmal gucken, ob die Quest ganz in ordnung ist, sieht ürgendwie nicht dannach aus.
[GM] Ring {release} 01/09/2013 - Dekaron Private Server - 43 Replies Ok it's not much but I was bored and did some switching around, and these files allow the drop of Devil of Darkness. Just make a backup of old files and put these files in your server files, then go in game and spawn monster 3401, and the ring will drop. Like I said its raw but fun to be attacking for almost 1 million with just a regular hit. Oh and it is a ring but looks like armor.
http://www.megaupload.com/?d=36XS50EY
http://www.megaupload.com/?d=SLK8UKWF
Ok I have uploaded...
[QUEST Release] Teleportation ring 01/17/2012 - Metin2 PServer Guides & Strategies - 12 Replies this quest will teleport a player to another player.
if you like it, thank me =)
Features:
-You only can teleport once every hour.
-You can set some names witch are forbidden to teleport to.(like gm's)
Things that can be better:
-the quest does not check if the player is online
WTS Barom Ring / Guardimesh Neck / Blode Ring / Pargon Ring 06/18/2009 - Archlord Trading - 9 Replies Im thinking about selling my Barom/Blode/Pargon Ring and my Guardimesh Neck.
Please leave your offers here or write me a PM.
All on Evengarda