|
You last visited: Today at 16:26
Advertisement
[Release] Warpring-Quest (mit endlos vielen Kategorien, Itemabgabe, Levelbegrenzung)
Discussion on [Release] Warpring-Quest (mit endlos vielen Kategorien, Itemabgabe, Levelbegrenzung) within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
05/03/2015, 09:11
|
#16
|
elite*gold: 0
Join Date: Feb 2015
Posts: 306
Received Thanks: 171
|
das ist in der quest_funktion eingetragen.
PHP Code:
menu check_item search_tbl
das in der questlib.lua
PHP Code:
function search_tbl(tbl, searchfor) local maps = {} or maps local function _search_tbl(tbl) for k,v in pairs(tbl) do if string.find(k, searchfor) then maps[k] = v elseif type(v) == "table" then _search_tbl(v) end end end _search_tbl(tbl) return maps end
jetzt zeigt er mir diesen fehler an
PHP Code:
WHEN : 70007.use FUNCTION menu(s,warp) FUNCTION check_item(tbl) Calls undeclared function! : pairs warpring.search_tbl Error occured on compile warpring.quest
|
|
|
05/03/2015, 11:52
|
#17
|
elite*gold: 5
Join Date: Mar 2015
Posts: 499
Received Thanks: 376
|
Quote:
Originally Posted by Kampfzwerg!
das ist in der quest_funktion eingetragen.
PHP Code:
menu check_item search_tbl
das in der questlib.lua
PHP Code:
function search_tbl(tbl, searchfor) local maps = {} or maps local function _search_tbl(tbl) for k,v in pairs(tbl) do if string.find(k, searchfor) then maps[k] = v elseif type(v) == "table" then _search_tbl(v) end end end _search_tbl(tbl) return maps end
jetzt zeigt er mir diesen fehler an
PHP Code:
WHEN : 70007.use FUNCTION menu(s,warp) FUNCTION check_item(tbl) Calls undeclared function! : pairs warpring.search_tbl Error occured on compile warpring.quest
|
schreib pairs in die quest_functions datei.
|
|
|
05/03/2015, 11:55
|
#18
|
elite*gold: 0
Join Date: Feb 2010
Posts: 487
Received Thanks: 76
|
Quote:
Originally Posted by Kampfzwerg!
das ist in der quest_funktion eingetragen.
PHP Code:
menu check_item search_tbl
das in der questlib.lua
PHP Code:
function search_tbl(tbl, searchfor) local maps = {} or maps local function _search_tbl(tbl) for k,v in pairs(tbl) do if string.find(k, searchfor) then maps[k] = v elseif type(v) == "table" then _search_tbl(v) end end end _search_tbl(tbl) return maps end
jetzt zeigt er mir diesen fehler an
PHP Code:
WHEN : 70007.use FUNCTION menu(s,warp) FUNCTION check_item(tbl) Calls undeclared function! : pairs warpring.search_tbl Error occured on compile warpring.quest
|
Habe zwar kein compile Fehler, aber ich werde nicht teleportiert :P
|
|
|
05/03/2015, 12:23
|
#19
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Die Funktionen können auch in der Quest bleiben. Ihr müsst nur folgende Sachen in die quest_functions eintragen, damit der compiler nicht stoppt:
€:
wenn ihr wollt schicke ich euch die compilte quest, dann müsst ihr nur ingame reload q machen^^
|
|
|
05/03/2015, 12:43
|
#20
|
elite*gold: 0
Join Date: Feb 2015
Posts: 306
Received Thanks: 171
|
Quote:
Originally Posted by usr.setVnum(1093)
Die Funktionen können auch in der Quest bleiben. Ihr müsst nur folgende Sachen in die quest_functions eintragen, damit der compiler nicht stoppt:
€:
wenn ihr wollt schicke ich euch die compilte quest, dann müsst ihr nur ingame reload q machen^^
|
was so kleinigkeiten ausmachen
Quote:
Originally Posted by HighWave
Habe zwar kein compile Fehler, aber ich werde nicht teleportiert :P
|
das selbe Problem habe ich jetzt auch
|
|
|
05/03/2015, 13:14
|
#21
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Habt ihr was an der Koordinaten geändert?
|
|
|
05/03/2015, 13:15
|
#22
|
elite*gold: 0
Join Date: Feb 2015
Posts: 306
Received Thanks: 171
|
PHP Code:
["Map 1"] = { ["Rotes Reich"] = { ["koord"] = {474300, 954800},
zum test das eingetragen
|
|
|
05/03/2015, 13:25
|
#23
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
kompletten table bitte ^^
|
|
|
05/03/2015, 13:32
|
#24
|
elite*gold: 0
Join Date: Feb 2015
Posts: 306
Received Thanks: 171
|
PHP Code:
quest warpring begin state start begin when 70007.use begin local warp = {--koord Pflicht, rest optional! ["Map 1"] = { ["Rotes Reich"] = { ["koord"] = {474300, 954800}, }, ["Gelbes Reich"] = { ["koord"] = {63800, 166400}, }, ["Blaues Reich"] = { ["koord"] = {959900, 269200}, } }, ["Ab Lv.1"] = { ["Blubmap"] = { ["koord"] = {965784, 275242}, ["level"] = {50, 75}, ["item"] = {189, 1} } }, ["Ab Lv.50"] = { ["Heftige Map"] = { ["koord"] = {965784, 275242}, ["level"] = {50, 75}, ["item"] = {189, 1} } }, ["Dungeons"] = { ["niedrige"] = { ["Dämonenturm"] = { ["koord"] = {965784, 275242}, ["level"] = {50, 75}, ["item"] = {189, 1} } }, ["hohe"] = { ["Drachenraum"] = { ["koord"] = {965784, 275242}, ["level"] = {50, 105}, ["item"] = {189, 1} } } } } say("Warpring") local s = select("Map suchen", "Map-Liste", "Abbrechen") if s == 1 then repeat say("Gib den Namen der Map oder Kategorie ein, nach der") say("du suchen möchtest.") maps = warpring.search_tbl(warp, input()) if not maps then say("Die suche ergab keine Treffer") local s = select("Neue Eingabe", "Map-Liste", "Abbrechen") if s == 2 then warpring.menu(warp) return elseif s == 3 then return end end until maps warpring.menu(maps, warp) return elseif s == 2 then warpring.menu(warp) return else return end end function menu(s, warp) if not warp then warp = s end repeat repeat local s_names = {} for k,_ in pairs(s) do table.insert(s_names, k) end s = s[s_names[select3(s_names)]] or false if not s then return end until s["koord"] --chat("Levelcheck start") if s["level"] then if pc.get_level() < s["level"][1] or pc.get_level() > s["level"][2] then say("Mit deinem Level kannst du diese Map nicht betreten.") say("Min. Level: "..s["level"][1]) say("Max. Level: "..s["level"][2]) if select("Zum Hauptmenue", "Abbrechen") == 2 then return end warpring.menu(warp) return end end --chat("Itemcheck start") if s["item"] then if warpring.check_item(s["item"]) then say("Zum Teleportieren benötigst du folgendes Item:") say("") say(s["item"][2].."x "..item_name(s["item"][1])) local really = select("Teleportieren", "Zum Hauptmenue", "Abbrechen") if really == 3 then return elseif really == 2 then warpring.menu(warp) return end else return end end --chat("Can Warp start") while pc.can_warp() != true do say("Du kannst dich noch nicht teleportieren, da du in") say("den letzten 10 Sekunden gehandelt hast.") local retry = select("Erneut versuchen", "Zum Hauptmenue", "Abbrechen") if retry == 3 then return elseif retry == 2 then warpring.menu(warp) return end end --chat("Itemcheck 2 start") if warpring.check_item(s["item"]) then pc.remove_item(s["item"][1], s["item"][2]) else return end --chat("Warp start") pc.warp(s["koord"][1], s["koord"][2]) return until false end function check_item(tbl) if tbl then if pc.count_item(tbl[1]) >= tbl[2] then return true end say("Du hast das zum Teleportieren benötigte Item nicht") say("dabei. Du benötigst folgendes Item:") say("") say(tbl[2].."x "..item_name(tbl[1])) if select("Zum Hauptmenue", "Abbrechen") == 2 then return false end warpring.menu(warp) return false end end function search_tbl(tbl, searchfor) local maps = {} or maps local function _search_tbl(tbl) for k,v in pairs(tbl) do if string.find(k, searchfor) then maps[k] = v changed = true elseif type(v) == "table" then _search_tbl(v) end end end _search_tbl(tbl) return (changed and maps or false) end end end
|
|
|
05/03/2015, 14:03
|
#25
|
elite*gold: 0
Join Date: Feb 2010
Posts: 487
Received Thanks: 76
|
ich habe auch nur die koordinaten aus meinem alten warpring kopiert und nur vom blauen reich, der rest läuft aber auch nicht leider :P
|
|
|
05/03/2015, 14:03
|
#26
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Hab den Fehler gefunden ...
Hier müsst ihr unter dem end noch ein return false reinsetzen:
und hier:
das else return entfernen.
Die Koordinaten immer am besten so aufrufen:
(965601x275586)
|
|
|
05/03/2015, 14:55
|
#27
|
elite*gold: 0
Join Date: Feb 2015
Posts: 306
Received Thanks: 171
|
jetzt funktioniert alles so wie es sollte, danke super einfache zu bearbeitende warpring quest! freue mich auf weitere sachen von dir.
|
|
|
05/03/2015, 19:18
|
#28
|
elite*gold: 0
Join Date: Feb 2010
Posts: 487
Received Thanks: 76
|
Funktioniert auch hier, Vielen Dank !
|
|
|
05/04/2015, 18:05
|
#29
|
elite*gold: 0
Join Date: Feb 2015
Posts: 306
Received Thanks: 171
|
ist es irgendwie möglich das er das noch aufgelistet anzeigt so wie man es in der quest schreibt?
PHP Code:
quest warpring begin state start begin when 70007.use begin local warp = {--koord Pflicht, rest optional! ["Reiche"] = { ["Map 1"] = { ["Rotes Reich"] = { ["koord"] = {474300, 954800}, }, ["Gelbes Reich"] = { ["koord"] = {63800, 166400}, }, ["Blaues Reich"] = { ["koord"] = {959900, 269200}, } }, ["Map 2"] = { ["Rotes Reich"] = { ["koord"] = {353100, 882900}, }, ["Gelbes Reich"] = { ["koord"] = {145500, 240000}, }, ["Blaues Reich"] = { ["koord"] = {863900, 246000}, } } }, ["Orktal"] = { ["Mitte"] = { ["koord"] = {332309, 737407}, } }, ["Wüste"] = { ["Mitte"] = { ["koord"] = {965784, 275242}, } }, ["Eisland"] = { ["Mitte"] = { ["koord"] = {436500, 215400}, } }, ["Feuerland"] = { ["Mitte"] = { ["koord"] = {600800, 687100}, } }, }
|
|
|
05/04/2015, 19:32
|
#30
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by Kampfzwerg!
ist es irgendwie möglich das er das noch aufgelistet anzeigt so wie man es in der quest schreibt?
PHP Code:
quest warpring begin state start begin when 70007.use begin local warp = {--koord Pflicht, rest optional! ["Reiche"] = { ["Map 1"] = { ["Rotes Reich"] = { ["koord"] = {474300, 954800}, }, ["Gelbes Reich"] = { ["koord"] = {63800, 166400}, }, ["Blaues Reich"] = { ["koord"] = {959900, 269200}, } }, ["Map 2"] = { ["Rotes Reich"] = { ["koord"] = {353100, 882900}, }, ["Gelbes Reich"] = { ["koord"] = {145500, 240000}, }, ["Blaues Reich"] = { ["koord"] = {863900, 246000}, } } }, ["Orktal"] = { ["Mitte"] = { ["koord"] = {332309, 737407}, } }, ["Wüste"] = { ["Mitte"] = { ["koord"] = {965784, 275242}, } }, ["Eisland"] = { ["Mitte"] = { ["koord"] = {436500, 215400}, } }, ["Feuerland"] = { ["Mitte"] = { ["koord"] = {600800, 687100}, } }, }
|
Code:
repeat
local s_names = {}
for k,_ in pairs(s) do
table.insert(s_names, k)
end
s = s[s_names[select3(s_names)]] or false
if not s then return end
until s["koord"]
-->
Code:
repeat
local s_names = {}
for k,_ in pairs(s) do
table.insert(s_names, k)
end
table.sort(s_names)
s = s[s_names[select3(s_names)]] or false
if not s then return end
until s["koord"]
|
|
|
|
|
Similar Threads
|
[Release] kleine Warpring-Quest | leicht zu verwalten
03/22/2015 - Metin2 PServer Guides & Strategies - 17 Replies
Ich mal wieder, heute mal was sehr kleines - eine Warpring-Quest.
Ich weiss, dass es schon lange die Warpkarte gibt, allerdings finde ich die nicht so toll ... ist halt Geschmackssache. Ausserdem waren alle Warpring-Quests die ich so gefunden habe nicht so toll geschrieben um nicht #?@??<# zu sagen. Also, hier mal eine Warpring-Quest von mir - leicht zu verwalten und übersichtlich.
video: https://www.youtube.com/watch?v=xmSATCT-jjc
quest warpring begin
state start begin
when...
|
[Release] Warpring Quest
01/12/2015 - Metin2 PServer Guides & Strategies - 6 Replies
eine kleine vorlage
quest warpring begin
state start begin
when 70007.use begin
local data {
{"Map1 Rot", x, y},
{"Map2 Rot", x, y},
{"Map1 Gelb", x, y},
{"Map2 Gelb", x, y},
|
PvP-Quest mit Levelbegrenzung
08/31/2011 - Metin2 Private Server - 1 Replies
Hier diese Quest:
http://www.elitepvpers.com/forum/metin2-pserver-g uides-strategies/832727-release-funktionierende-pv p-quest.html
Kann man diese Quest auch mit Levelbegrenzung schreiben? . So , dass man nur Spieler 5 level unter und über dir dazu zählen?
€dit: Und kann man es so machen , dass die Kills nur in einer bestimmten Map zählen?
|
[Quest Release]Warpring *redesigned*
08/21/2010 - Metin2 PServer Guides & Strategies - 3 Replies
this quest is the normal warpring, but redesigned so that's easier to add maps and change maps.
if you like it, thank it =)
Features:
-enables players to warp to maps with an item.
Things that can be better:
|
All times are GMT +2. The time now is 16:26.
|
|