MoInSeLcHeN
Wieder komme ich, mit einem Problem zu Euch, wo Ich mir die Zähne ausbeiße.
Es handelt Sich um eine Quest, die auf meinem FTP-Server liegt.
Mithilfe dieser Quest, kann man seinem Pferd, einen neuen Namen geben. Allerdings benötigt man dafür nicht das Item "Pferdezucker"
Wenn ich aber, das Item Pferdezucker in meinem Inventar habe, und mein Pferd umbennene, verschwindet das Item. So solls ja auch sein!
Aber wie gesagt, ich Kann meinem Gaul beliebig oft, neue Namen geben, unabhängig davon, ob Ich nun Pferdezucker habe oder nicht.
Hier die Quest
Der teil, der Interessant ist, und mit dem Namen des Pferdes zu tun hat, ist Makiert.
quest horse_menu begin
state start begin
function horse_menu()
if horse.is_mine() then
say_title("Pferdehandbuch")
say("Das Handbuch für das Pferd")
say("")
local s = 6
if horse.is_dead() then
s = select( "Zurückholen des Pferde", "Das Pferd zurück geben", "Schließen")
if s == 1 then s = 0
elseif s == 2 then s = 3
elseif s == 3 then return
end
else
s = select(
"Pferd füttern", "Pferd reiten", "Das Pferd zurückgeben", "Status des Pferdes anzeigen",
"Pferd einen Namen geben", "Schließen")
end
if s == 0 then
horse.revive()
elseif s == 1 then
local food = horse.get_grade() + 50054 - 1
if pc.countitem(food) > 0 then
pc.removeitem(food, 1)
horse.feed()
else
say("Das Item "..item_name(food).." wird benötiogt.")
say("")
end
elseif s == 2 then
horse.ride()
elseif s == 3 then
horse.unsummon()
elseif s == 4 then
say_title("Pferdestatus")
say("Momentane Lebenspunkte des Pferdes: "..horse.get_health_pct().."%")
say("Momentane Ausdauer des Pferdes: "..horse.get_stamina_pct().."%")
say("") elseif s == 5 then
local old_horse_name = horse.get_name() ;
say_title("Pferdename")
say("Du kannst du deinem Pferd einen neuen")
say("Namen geben. Somit wird es einzigartig")
say("und bietet dir besseren Schutz.")
if string.len(old_horse_name) == 0 then
say_reward("Dein Pferd besitzt noch keinen Namen.")
else
say_reward("Der momentane Name deines Pferdes lautet "..old_horse_name..".")
end
say("Gib den neuen Pferdenamen ein.")
local horse_name = input()
if string.len(horse_name) < 2 then
say_title("Pferdename")
say("Der Name ist zu kurz.")
say("")
return
elseif string.len(horse_name) > 12 then
say_title("Pferdename")
say("Der Name ist zu lang.")
say("")
return
end
local ret = horse.set_name(horse_name)
say_title("Pferdename")
if ret == 0 then
say_reward("Du hast momentan kein Pferd!")
say("")
elseif ret == 1 then
say_reward("Du kannst diesen Namen nicht benutzen!")
say("")
elseif ret == 2 then
pc.remove_item("71110")
say("Du hast deinem Pferd einen neuen Namen gegeben!")
say("")
end
end
end
end
when 20030.click begin horse_menu.horse_menu() end
when 20101.click begin horse_menu.horse_menu() end
when 20102.click begin horse_menu.horse_menu() end
when 20103.click begin horse_menu.horse_menu() end
when 20104.click begin horse_menu.horse_menu() end
when 20105.click begin horse_menu.horse_menu() end
when 20106.click begin horse_menu.horse_menu() end
when 20107.click begin horse_menu.horse_menu() end
when 20108.click begin horse_menu.horse_menu() end
when 20109.click begin horse_menu.horse_menu() end
end
end
Jetzt stellt sich mir natülich die Frage. Was genau muss Ich an dieser quest verändern, damit man wirklich das Item benötigt?
villeicht können mir hier ein paar Questwriter weiter helfen. Ich kriegs nich aufn Schirm. -,-
Und hier Gleich noch ein Problem an dem Ihr euch wahrscheinlich auch die Zähne ausbeissen werdet! (Glaube ich zumindest)
Wenn Ich meinen Gaul rufe, ist alles okay, schicke ich meinen Gaul aber weg und Porte mich, ist mein Gaul, ohne das Ich das Item also mein Millitärpferdebuch benutzt habe, wieder da!
Ich kriegs einfach nicht aufn Schirm, wie ich diesen Bug behoben kriege. Der Gault taucht auch auf, wenn Ich ihn weg schicke, mich auslogge, und wieder einlogge, BUM isser wieder da, ohne das ich mein Buch benutzt habe.
Wenn es euch bei der problemlösung, beider Probleme hilft, ich benutze folgende Serverfiles.
Ich hoffe Ihr könnt mir helfen!
Bis jeztt wurde mir hier Immer geholfen, und ich denke mal, auch hier, wird Eure Intiligenz, und euer wissen, euch nicht im stich lassen!
Ich freue Mich auf jede Antwort.
Mit freundlichen Grüßen
quest horse_menu begin state start begin function horse_menu() if horse.is_mine() then say_title("Pferdehandbuch") say("Das Handbuch für das Pferd") say("") local s = 6 if horse.is_dead() then s = select( "Zurückholen des Pferde", "Das Pferd zurück geben", "Schließen") if s == 1 then s = 0 elseif s == 2 then s = 3 elseif s == 3 then return end else s = select( "Pferd füttern", "Pferd reiten", "Das Pferd zurückgeben", "Status des Pferdes anzeigen", "Pferd einen Namen geben", "Schließen") end if s == 0 then horse.revive() elseif s == 1 then local food = horse.get_grade() + 50054 - 1 if pc.countitem(food) > 0 then pc.removeitem(food, 1) horse.feed() else say("Das Item "..item_name(food).." wird benötiogt.") say("") end elseif s == 2 then horse.ride() elseif s == 3 then horse.unsummon() elseif s == 4 then say_title("Pferdestatus") say("Momentane Lebenspunkte des Pferdes: "..horse.get_health_pct().."%") say("Momentane Ausdauer des Pferdes: "..horse.get_stamina_pct().."%") say("") elseif s == 5 then local old_horse_name = horse.get_name() ; if pc.count_item(71110) >= 1 then say_title("Pferdename") say("Du kannst du deinem Pferd einen neuen") say("Namen geben. Somit wird es einzigartig") say("und bietet dir besseren Schutz.") if string.len(old_horse_name) == 0 then say_reward("Dein Pferd besitzt noch keinen Namen.") else say_reward("Der momentane Name deines Pferdes lautet "..old_horse_name..".") end say("Gib den neuen Pferdenamen ein.") local horse_name = input() if string.len(horse_name) < 2 then say_title("Pferdename") say("Der Name ist zu kurz.") say("") return elseif string.len(horse_name) > 12 then say_title("Pferdename") say("Der Name ist zu lang.") say("") return end local ret = horse.set_name(horse_name) say_title("Pferdename") if ret == 0 then say_reward("Du hast momentan kein Pferd!") say("") elseif ret == 1 then say_reward("Du kannst diesen Namen nicht benutzen!") say("") elseif ret == 2 then pc.remove_item("71110") say("Du hast deinem Pferd einen neuen Namen gegeben!") say("") else say_title("Pferdezucker") say("Du benötigst ein Pferdezucker") end end end end end
when 20030.click begin horse_menu.horse_menu() end when 20101.click begin horse_menu.horse_menu() end when 20102.click begin horse_menu.horse_menu() end when 20103.click begin horse_menu.horse_menu() end when 20104.click begin horse_menu.horse_menu() end when 20105.click begin horse_menu.horse_menu() end when 20106.click begin horse_menu.horse_menu() end when 20107.click begin horse_menu.horse_menu() end when 20108.click begin horse_menu.horse_menu() end when 20109.click begin horse_menu.horse_menu() end end end
Du hast keine Abfrage ob die Person ein Pferdezucker im Inventar hat!
PHP Code:
if pc.count_item(71110) >= 1 then
Das ist die Abfrage und muss vor:
PHP Code:
elseif s == 5 then local old_horse_name = horse.get_name() ; say_title("Pferdename") say("Du kannst du deinem Pferd einen neuen") say("Namen geben. Somit wird es einzigartig") say("und bietet dir besseren Schutz.") if string.len(old_horse_name) == 0 then say_reward("Dein Pferd besitzt noch keinen Namen.") else say_reward("Der momentane Name deines Pferdes lautet "..old_horse_name..".") end say("Gib den neuen Pferdenamen ein.") local horse_name = input() if string.len(horse_name) < 2 then say_title("Pferdename") say("Der Name ist zu kurz.") say("") return elseif string.len(horse_name) > 12 then say_title("Pferdename") say("Der Name ist zu lang.") say("") return end local ret = horse.set_name(horse_name) say_title("Pferdename") if ret == 0 then say_reward("Du hast momentan kein Pferd!") say("") elseif ret == 1 then say_reward("Du kannst diesen Namen nicht benutzen!") say("") elseif ret == 2 then pc.remove_item("71110") say("Du hast deinem Pferd einen neuen Namen gegeben!") say("") end end end end
quest horse_menu begin state start begin function horse_menu() if horse.is_mine() then say_title("Pferdehandbuch") say("Das Handbuch für das Pferd") say("") local s = 6 if horse.is_dead() then s = select( "Zurückholen des Pferde", "Das Pferd zurück geben", "Schließen") if s == 1 then s = 0 elseif s == 2 then s = 3 elseif s == 3 then return end else s = select( "Pferd füttern", "Pferd reiten", "Das Pferd zurückgeben", "Status des Pferdes anzeigen", "Pferd einen Namen geben", "Schließen") end if s == 0 then horse.revive() elseif s == 1 then local food = horse.get_grade() + 50054 - 1 if pc.countitem(food) > 0 then pc.removeitem(food, 1) horse.feed() else say("Das Item "..item_name(food).." wird benötiogt.") say("") end elseif s == 2 then horse.ride() elseif s == 3 then horse.unsummon() elseif s == 4 then say_title("Pferdestatus") say("Momentane Lebenspunkte des Pferdes: "..horse.get_health_pct().."%") say("Momentane Ausdauer des Pferdes: "..horse.get_stamina_pct().."%") say("") elseif s == 5 then if pc.count_item(71110) >= 1 then local old_horse_name = horse.get_name() ; say_title("Pferdename") say("Du kannst du deinem Pferd einen neuen") say("Namen geben. Somit wird es einzigartig") say("und bietet dir besseren Schutz.") if string.len(old_horse_name) == 0 then say_reward("Dein Pferd besitzt noch keinen Namen.") else say_reward("Der momentane Name deines Pferdes lautet "..old_horse_name..".") end say("Gib den neuen Pferdenamen ein.") local horse_name = input() if string.len(horse_name) < 2 then say_title("Pferdename") say("Der Name ist zu kurz.") say("") return elseif string.len(horse_name) > 12 then say_title("Pferdename") say("Der Name ist zu lang.") say("") return end local ret = horse.set_name(horse_name) say_title("Pferdename") if ret == 0 then say_reward("Du hast momentan kein Pferd!") say("") elseif ret == 1 then say_reward("Du kannst diesen Namen nicht benutzen!") say("") elseif ret == 2 then pc.remove_item(71110, 1) say("Du hast deinem Pferd einen neuen Namen gegeben!") say("") end end end else say_title("Pferdezucker") say("Du benötigst Pferdezucker") end end
when 20030.click begin horse_menu.horse_menu() end when 20101.click begin horse_menu.horse_menu() end when 20102.click begin horse_menu.horse_menu() end when 20103.click begin horse_menu.horse_menu() end when 20104.click begin horse_menu.horse_menu() end when 20105.click begin horse_menu.horse_menu() end when 20106.click begin horse_menu.horse_menu() end when 20107.click begin horse_menu.horse_menu() end when 20108.click begin horse_menu.horse_menu() end when 20109.click begin horse_menu.horse_menu() end end end
Das fenster kommt nur wenn du KEINEN pferdezucker im inventar hast
Ja, eben nicht :/ Ich gebe es so ein wie es bei dir steht! es funktioniert auch top!
Wirklich es funtzt!
Einzigstes problem. WENN ich kein Pferdezucker habe, mein Gaul anklicke, und auf Pferdename klicke, öffnet sich KEIN fenster wo steht: Du benötigst Pferdezucker.
Es sieht nur kurz so aus als würde sich ein fenster öffnen, und dann gehen die Schwarzen balken oben wieder weg, und nichts is passirt.
local old_horse_name = horse.get_name() ;
if pc.count_item(71110) >= 1 then
say_title("Pferdename")
say("Du kannst du deinem Pferd einen neuen")
say("Namen geben. Somit wird es einzigartig")
say("und bietet dir besseren Schutz.")
if string.len(old_horse_name) == 0 then
say_reward("Dein Pferd besitzt noch keinen Namen.")
Das sagt der Quest, glaube ich zumindest, wenn ich Keinen pferdezucker in meinem Inventar habe, Dann lässt sich das Fenster also die Menüauswahl "Pferdezucker" garnicht erst öffnen, alle andere Menüpunkte aber doch.
say("Gib den neuen Pferdenamen ein.")
local horse_name = input()
if string.len(horse_name) < 2 then
if pc.count_item(71110) >= 1 then
say_title("Pferdename")
say("Der Name ist zu kurz.")
say("")
return
quest horse_menu begin state start begin function horse_menu() if horse.is_mine() then say_title("Pferdehandbuch") say("Das Handbuch für das Pferd") say("") local s = 6 if horse.is_dead() then s = select( "Zurückholen des Pferde", "Das Pferd zurück geben", "Schließen") if s == 1 then s = 0 elseif s == 2 then s = 3 elseif s == 3 then return end else s = select( "Pferd füttern", "Pferd reiten", "Das Pferd zurückgeben", "Status des Pferdes anzeigen", "Pferd einen Namen geben", "Schließen") end if s == 0 then horse.revive() elseif s == 1 then local food = horse.get_grade() + 50054 - 1 if pc.countitem(food) > 0 then pc.removeitem(food, 1) horse.feed() else say("Das Item "..item_name(food).." wird benötiogt.") say("") end elseif s == 2 then horse.ride() elseif s == 3 then horse.unsummon() elseif s == 4 then say_title("Pferdestatus") say("Momentane Lebenspunkte des Pferdes: "..horse.get_health_pct().."%") say("Momentane Ausdauer des Pferdes: "..horse.get_stamina_pct().."%") say("") elseif s == 5 then if pc.count_item(71110) >= 1 then local old_horse_name = horse.get_name() ; say_title("Pferdename") say("Du kannst du deinem Pferd einen neuen") say("Namen geben. Somit wird es einzigartig") say("und bietet dir besseren Schutz.") if string.len(old_horse_name) == 0 then say_reward("Dein Pferd besitzt noch keinen Namen.") else say_reward("Der momentane Name deines Pferdes lautet "..old_horse_name..".") end say("Gib den neuen Pferdenamen ein.") local horse_name = input() if string.len(horse_name) < 2 then say_title("Pferdename") say("Der Name ist zu kurz.") say("") return elseif string.len(horse_name) > 12 then say_title("Pferdename") say("Der Name ist zu lang.") say("") return end local ret = horse.set_name(horse_name) say_title("Pferdename") if ret == 0 then say_reward("Du hast momentan kein Pferd!") say("") elseif ret == 1 then say_reward("Du kannst diesen Namen nicht benutzen!") say("") elseif ret == 2 then pc.remove_item(71110, 1) say("Du hast deinem Pferd einen neuen Namen gegeben!") say("") end else say_title("Pferdezucker") say("Du benötigst Pferdezucker") end end end
end end
when 20030.click begin horse_menu.horse_menu() end when 20101.click begin horse_menu.horse_menu() end when 20102.click begin horse_menu.horse_menu() end when 20103.click begin horse_menu.horse_menu() end when 20104.click begin horse_menu.horse_menu() end when 20105.click begin horse_menu.horse_menu() end when 20106.click begin horse_menu.horse_menu() end when 20107.click begin horse_menu.horse_menu() end when 20108.click begin horse_menu.horse_menu() end when 20109.click begin horse_menu.horse_menu() end end end
Pferdequest 08/08/2011 - Metin2 Private Server - 5 Replies Hallo,
Ich suche eine quest um den Pferde level zu steigern.
Man sollte 1kk bei den Stallburschen abgeben und dann
soll das Pferd 1 Level steigen.
Kann mir es vielleicht hochladen ?
Wäre echt nett.
Danke
Pferdequest wtf?! 10/05/2010 - Metin2 - 2 Replies Bin ich jetzt dumm oder geht das net???
ich geh zum stallburschen map1 mit ner pm, und der einzige button ist information...irgendwas ...
hab ich da in meiner ein jährigen pause was vergessen was net im wiki steht?!
//EDIT: ich meine die zwischenquests
PFERDEQUEST!!! 11/03/2009 - Metin2 Private Server - 7 Replies Moin Leute,
hab folgendes Problem wenn ich die 1.te Pferdequest mache dannmuss ich 50 wilde bogis killn und ohne zeitbegrenzung trotzdem klappt die nicht is das ein bug?
Pferdequest 09/07/2009 - Metin2 Private Server - 1 Replies hi,
gibt es ihrgend eine möglichkeit mehrere Pferdequests hintereinander zu machen? ohne immer 12h zu warten? oder ihrgendein bug?
Pferdequest 10/13/2008 - Metin2 Private Server - 4 Replies Ich kann iwe mein Pony nicht trainieren :(
Hat jmd ne Lösung damit ich es trainieren kann?
(ja ich hab ne PM)