|
You last visited: Today at 20:54
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
12/16/2010, 00:20
|
#1081
|
elite*gold: 0
Join Date: Feb 2010
Posts: 714
Received Thanks: 842
|
Quote:
Originally Posted by killer2904
PHP Code:
quest money begin state start begin when 111103.use begin say_title("Geldschein:") say("") say("Möchtest du Geldschein gegen") say("1kkk tauschen?") local s=select("Ja klar","Ne lass ma") if s==1 then say_title("Geldschein:") say("") pc.remove_item("1111003", 1) pc.give_gold(1000000000) say("") say("Du hast 1kkk bekommen") say("Wenn etwas verbuggt ist,schreibe") say("Bitte einen SA an") say("") elseif s==2 then return end end end end
versuchs mal damit
weil du hast bei pc.removeitem die "" vergessen
und nen kleinen fehler bei s==
|
seit wann setzt man "" bei values?
@vorposter
Quote:
|
Das geht soweit ich weiß nicht über eine Quest.
|
klar kann man sachen aus ner tabbelle ingame per quest abrufen
|
|
|
12/16/2010, 15:38
|
#1082
|
elite*gold: 0
Join Date: Jun 2010
Posts: 866
Received Thanks: 834
|
Reittier Quest für Höllenhund
Guten Tag liebe Epvp Community,
Hab heute mal an dem Höllenhund Siegel bei mir auf dem Server etwas ändern wollen, komme nun aber nicht weiter...
Das Problem scheint an den "game-get_event_flag" zu liegen. Vorher hat er einfach wenn ich ingame drauf gedrückt habe mich auf den Höllenhund gesetzt und das war es. Hatte auch soweit funktioniert.
Aber wollte es nun so machen, dass wenn man das Siegel aktiviert, dieses dort hin kommt wo auch Windschuhe usw. sind wenn man sie aktiviert hat und man das Siegel sozusagen auch wieder ausziehen kann. Das läuft auch. Das Siegel selber geht in das Kästchen neben den Schuhen und wieder zurück in das Inventar (ist über die item_proto festgelegt).
Hier nun meine Quest dazu (bzw. der Ausschnitt vom Höllenhund), welche leider nicht funktioniert wie sie sollte. Eigentlich sollte wenn man auf das Siegel drückt und sich dieses im Inventar befindet (event_flag Status 0) kommen, dass man aufsitzen kann usw. Dies geht auch.
Aber wenn das Siegel ein mal aktiviert wurde sollte eigentlich der event_flag Status auf 1 umspringen und somit wenn sich das Siegel neben den Schuhen im Equipment befindet dazu bringen, den letzten Punkt der Quest mit dem Ausziehen abzurufen. Dies tut die Quest aber nicht, stattdessen kommt einfach nur das normale, so als ob man es nie angezogen hätte. Sprich der event_flag Status wird nicht geändert...
Außerdem bräuchte ich befehle zum absitzen für die Quest. Aber da könnte ich eigentlich auch selber nachschauen .
Wenn ihr diese gerade wisst währe trotzdem super wenn ihr diese gleich ergänzen könntet.
Nicht wundern dass Anfang und Ende der Quest fehlen, dort sind lediglich die anderen Reittiere drinnen nach meinem bisherigen Prinzip (ohne "game.get_event_flag") welches auch Funktioniert.
PHP Code:
when 71125.use begin
if horse.get_level() >= 11 and game.get_event_flag("reittiere")== 0 then
say_title("Höllenhund Siegel +")
say("")
say("Hiermit kannst du einen Höllenhund als")
say("Reittier bekommen. Du kannst solange")
say("auf dem Höllenhund reiten bis du das")
say("Siegel abnimmst.")
say("")
say_reward("Willst du einen Höllenhund haben?")
local main_set = select("Ich will!","Abbrechen")
if main_set == 1 then
chat("Du hast nun einen Höllenhund als Reittier")
horse.summon()
horse.ride()
pc.mount(20120)
pc.removeitem(71125, 1)
game.set_event_flag("reittiere", 1)
end
if main_set == 2 then
chat("Du trägst nun das Höllenhundsiegel +, aber")
chat("Reitest auf keinem Höllenhund.")
game.set_event_flag("reittiere", 1)
return
end
end
if horse.get_level() < 11 and game.get_event_flag("reittiere")== 0 then
say_title("Reittier")
say("")
say("Du kannst dieses Siegel zwar tragen,")
say("Dein Reittier hört aber erst auf dich,")
say("wenn du mindestens ein Kampfpferd besitzt")
game.set_event_flag("reittiere", 1)
end
if horse.get_level() < 11 and game.get_event_flag("reittiere")== 1 then
say_title("Höllenhund Siegel +")
say("")
chat("Du hast das Hollenhund Siegel ausgezogen...")
game.set_event_flag("reittiere", 0)
end
end
Danke schon mal für eure Hilfe.
mfg. jackdown
|
|
|
12/16/2010, 16:20
|
#1083
|
elite*gold: 0
Join Date: Oct 2008
Posts: 324
Received Thanks: 123
|
Quote:
Originally Posted by Flasher2
seit wann setzt man "" bei values?
|
bei item id´s benötogt man ""
ansonsten funktioniert es nicht oO
(is zumindest bei mir so oO)
|
|
|
12/16/2010, 18:30
|
#1084
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
@jackdown9
ich glaube du hast die folgende option vergessen:
PHP Code:
if horse.get_level() >= 11 and game.get_event_flag("reittiere")== 1 then
|
|
|
12/16/2010, 18:47
|
#1085
|
elite*gold: 0
Join Date: Jun 2010
Posts: 866
Received Thanks: 834
|
Quote:
Originally Posted by Delta619
@jackdown9
ich glaube du hast die folgende Option vergessen:
PHP Code:
if horse.get_level() >= 11 and game.get_event_flag("reittiere")== 1 then
|
und an welcher Stelle? weil oben hab ich das ja mit ner 0 drinnen und müsste auch ne 0 sein eig. an der stelle :S
Kannst du mal die Quest komplett posten mit dem was du verändern würdest?
Danke schonmal
mfg. jackdown
|
|
|
12/17/2010, 10:39
|
#1086
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
PHP Code:
when 71125.use begin
if horse.get_level() >= 11 and game.get_event_flag("reittiere")== 0 then
say_title("Höllenhund Siegel +")
say("")
say("Hiermit kannst du einen Höllenhund als")
say("Reittier bekommen. Du kannst solange")
say("auf dem Höllenhund reiten bis du das")
say("Siegel abnimmst.")
say("")
say_reward("Willst du einen Höllenhund haben?")
local main_set = select("Ich will!","Abbrechen")
if main_set == 1 then
chat("Du hast nun einen Höllenhund als Reittier")
horse.summon()
horse.ride()
pc.mount(20120)
pc.removeitem(71125, 1)
game.set_event_flag("reittiere", 1)
end
if main_set == 2 then
chat("Du trägst nun das Höllenhundsiegel +, aber")
chat("Reitest auf keinem Höllenhund.")
game.set_event_flag("reittiere", 1)
return
end
end
if horse.get_level() < 11 and game.get_event_flag("reittiere")== 0 then
say_title("Reittier")
say("")
say("Du kannst dieses Siegel zwar tragen,")
say("Dein Reittier hört aber erst auf dich,")
say("wenn du mindestens ein Kampfpferd besitzt")
game.set_event_flag("reittiere", 1)
end
if horse.get_level() < 11 and game.get_event_flag("reittiere")== 1 then
say_title("Höllenhund Siegel +")
say("")
chat("Du hast das Hollenhund Siegel ausgezogen...")
game.set_event_flag("reittiere", 0)
end
if horse.get_level() >= 11 and game.get_event_flag("reittiere")== 1 then
say_title("Höllenhund Siegel +")
say("")
chat("Du hast das Hollenhund Siegel ausgezogen...")
game.set_event_flag("reittiere", 0)
end
so mein ich das, kannst ja mal probieren.
|
|
|
12/17/2010, 11:24
|
#1087
|
elite*gold: 0
Join Date: Jun 2010
Posts: 866
Received Thanks: 834
|
Quote:
Originally Posted by Delta619
PHP Code:
when 71125.use begin if horse.get_level() >= 11 and game.get_event_flag("reittiere")== 0 then say_title("Höllenhund Siegel +") say("") say("Hiermit kannst du einen Höllenhund als") say("Reittier bekommen. Du kannst solange") say("auf dem Höllenhund reiten bis du das") say("Siegel abnimmst.") say("") say_reward("Willst du einen Höllenhund haben?") local main_set = select("Ich will!","Abbrechen") if main_set == 1 then chat("Du hast nun einen Höllenhund als Reittier") horse.summon() horse.ride() pc.mount(20120) pc.removeitem(71125, 1) game.set_event_flag("reittiere", 1) end if main_set == 2 then chat("Du trägst nun das Höllenhundsiegel +, aber") chat("Reitest auf keinem Höllenhund.") game.set_event_flag("reittiere", 1) return end end if horse.get_level() < 11 and game.get_event_flag("reittiere")== 0 then say_title("Reittier") say("") say("Du kannst dieses Siegel zwar tragen,") say("Dein Reittier hört aber erst auf dich,") say("wenn du mindestens ein Kampfpferd besitzt") game.set_event_flag("reittiere", 1) end if horse.get_level() < 11 and game.get_event_flag("reittiere")== 1 then say_title("Höllenhund Siegel +") say("") chat("Du hast das Hollenhund Siegel ausgezogen...") game.set_event_flag("reittiere", 0) end if horse.get_level() >= 11 and game.get_event_flag("reittiere")== 1 then say_title("Höllenhund Siegel +") say("") chat("Du hast das Hollenhund Siegel ausgezogen...") game.set_event_flag("reittiere", 0) end
so mein ich das, kannst ja mal probieren.
|
ja mache ich jetzt
Edit:
I-wie geht das nicht so ganz :S
Werd jetzt selber nochmal drüber schauen, kann gerade nicht genau sagen wodrann das liegt....
|
|
|
12/18/2010, 14:23
|
#1088
|
elite*gold: 50
Join Date: Dec 2009
Posts: 497
Received Thanks: 121
|
hey Com, hab Problem mit ner Quest.. Fehlermeldung kommt keine.
PHP Code:
---------------------------------------------- -- Reittier Menü Quest -- copyright by Casi ---------------------------------------------- quest Reittier begin state start begin when 70045.use begin say_title("Hey ".. pc.get_name() ..".") say("Welches Reittier Willst du Benutzen") local s = select("Löwe","Keiler","Feuer Tiger","Wolf","Runnentiere") if s == 1 then say_reward("Du Hast Dein Löwen gerufen") pc.mount(39912) end if s == 2 then say_reward("Du Hast Dein Keiler gerufen") pc.mount(39913) end if s == 3 then say_reward("Du Hast Dein Feuer Tiger gerufen") pc.mount(39914) end if s == 4 then say_reward("Du Hast Dein Wolf gerufen") pc.mount(39915) end if s == 5 then say_title("Hey kleine(r) ".. pc.get_name() ..".") say("Suche dir ein Reittier aus") local s = select("Runnenlöwe", "Runnenkeiler", "Runnentiger", "Runnenwolf", "Beenden") if s == 1 then say_reward("Du hast deinen Runnenlöwen gerufen") horse.ride() pc.mount(20120) end if s == 2 then say_reward("Du hast deinen Runnenkeiler gerufen") horse.ride() pc.mount(20121) end if s == 3 then say_reward("Du hast deinen Runnentiger gerufen") horse.ride() pc.mount(20118) end if s == 4 then say_reward("Du hast deinen Runnenwolf gerufen") horse.ride() pc.mount(20122) end end end end
|
|
|
12/18/2010, 14:36
|
#1089
|
elite*gold: 6
Join Date: May 2010
Posts: 1,227
Received Thanks: 1,628
|
Quote:
Originally Posted by beat'brot
hey Com, hab Problem mit ner Quest.. Fehlermeldung kommt keine.
PHP Code:
---------------------------------------------- -- Reittier Menü Quest -- copyright by Casi ---------------------------------------------- quest Reittier begin state start begin when 70045.use begin say_title("Hey ".. pc.get_name() ..".") say("Welches Reittier Willst du Benutzen") local s = select("Löwe","Keiler","Feuer Tiger","Wolf","Runnentiere") if s == 1 then say_reward("Du Hast Dein Löwen gerufen") pc.mount(39912) end if s == 2 then say_reward("Du Hast Dein Keiler gerufen") pc.mount(39913) end if s == 3 then say_reward("Du Hast Dein Feuer Tiger gerufen") pc.mount(39914) end if s == 4 then say_reward("Du Hast Dein Wolf gerufen") pc.mount(39915) end if s == 5 then say_title("Hey kleine(r) ".. pc.get_name() ..".") say("Suche dir ein Reittier aus") local s = select("Runnenlöwe", "Runnenkeiler", "Runnentiger", "Runnenwolf", "Beenden") if s == 1 then say_reward("Du hast deinen Runnenlöwen gerufen") horse.ride() pc.mount(20120) end if s == 2 then say_reward("Du hast deinen Runnenkeiler gerufen") horse.ride() pc.mount(20121) end if s == 3 then say_reward("Du hast deinen Runnentiger gerufen") horse.ride() pc.mount(20118) end if s == 4 then say_reward("Du hast deinen Runnenwolf gerufen") horse.ride() pc.mount(20122) end end end end
|
der quest von casi ist vollkommen in Ordnung, den hatte ich anfangs ebenfalls drinnen, dein Problem wird sein, dass du in der Datenbank den type auf 18 stellen musst(für questfenster)
MfG RealFreak
Meine Probs:
PHP Code:
quest labyrinthwarp begin state start begin when 20364.click begin begin say_title("Nakajima:") say("Soll es losgehen?") local s=select("Ja!", "Nein Danke!") if s == 2 then return end say_title("Nakajima:") say("Halt dich gut fest!") pc.warp(60, 60) end end end end
Joa, will mich nur AUF der Map bewegen zum Punkt 60,60....
und:
PHP Code:
quest pferderuf begin state start begin when 30182.use begin command("horse.summon") end end end
Jops Pferd rufen zu 100%, aber wie OHNE Rechte, also für die ganz normalen User?
|
|
|
12/18/2010, 15:10
|
#1090
|
elite*gold: 680
Join Date: Apr 2010
Posts: 1,187
Received Thanks: 891
|
PHP Code:
quest socken begin state start begin when kill with game.get_event_flag("socken") == 1 and not npc.is_pc() begin local s=number(1, 200) if 5 == s then game.drop_item(50010,1) end end end
Fehler meldung:
with game . get_event_flag ( "socken" ) == 1 and not npc . is_pc ( )
assertion failure : nested==0
socken.quest:9:Abort trap (core dumped)
|
|
|
12/18/2010, 18:43
|
#1091
|
elite*gold: 0
Join Date: Mar 2008
Posts: 135
Received Thanks: 31
|
PHP Code:
uest m begin state start begin when 11000.klick begin say_title("Hallo wir haben eine neue Map ") say("entdeckt.Wenn du willst kann ich dich") say("dort hinbringen,aber sei auf der Hut,") say("denn es ist sehr gefährlich.") say_reward("Willst du wirklich dorthin?") local s = select("Ja", "Nein") if 1 == s then pc.warp(90000, 10000) else return end end end end
so ich hoffe das klappt soweit ,aber etwas weis ich nicht ich möchte das das quest nur verfügbar ist wenn ich es per gm code starte wie z.b. /e...... Also das man das quest nur beim Wächter des Dorfplatztes sieht wenn ich es gestartet habe
ich hoffe ihr könnt mir helfen thx
|
|
|
12/18/2010, 19:07
|
#1092
|
elite*gold: 0
Join Date: Nov 2010
Posts: 309
Received Thanks: 90
|
Quote:
Originally Posted by atoml
PHP Code:
uest m begin
state start begin
when 11000.klick begin
say_title("Hallo wir haben eine neue Map ")
say("entdeckt.Wenn du willst kann ich dich")
say("dort hinbringen,aber sei auf der Hut,")
say("denn es ist sehr gefährlich.")
say_reward("Willst du wirklich dorthin?")
local s = select("Ja", "Nein")
if 1 == s then
pc.warp(90000, 10000)
else
return
end
end
end
end
so ich hoffe das klappt soweit ,aber etwas weis ich nicht ich möchte das das quest nur verfügbar ist wenn ich es per gm code starte wie z.b. /e...... Also das man das quest nur beim Wächter des Dorfplatztes sieht wenn ich es gestartet habe
ich hoffe ihr könnt mir helfen thx
|
Da der Threadersteller wohl nicht mehr so richtig anwesend ist, hier die Quest.
PHP Code:
quest m begin
state start begin
when guild_man1.chat. "Das was steht" or
guild_man2.chat. "das was steht" or
guild_man3.chat "das was steht" with pc.is_gm() begin
say_title("Hallo wir haben eine neue Map ")
say("entdeckt.Wenn du willst kann ich dich")
say("dort hinbringen,aber sei auf der Hut,")
say("denn es ist sehr gefährlich.")
say_reward("Willst du wirklich dorthin?")
local z = select("Ja", "Nein")
if z == 1 then
pc.warp(90000, 10000)
else
return
end
end
end
end
also bei meinem beispiel "was da steht"
sollte beim Wächter eingestellt werden das, dass auch steht
Hoffe du weisst was ich meine..
MFG CauTaRt
|
|
|
12/18/2010, 19:31
|
#1093
|
elite*gold: 0
Join Date: Mar 2008
Posts: 135
Received Thanks: 31
|
danke ich werds versuchen frage wie kann ich das quest starten über den wächter?
|
|
|
12/18/2010, 19:39
|
#1094
|
elite*gold: 0
Join Date: Nov 2010
Posts: 309
Received Thanks: 90
|
Auch wenns wohl nicht hier rein gehört erklär ich es dir gerne.
Du suchst im Quest Verzeichnis unter /hongkong/quest/object
die 3 Ordner mit der NPC nummer aus, und fügst ne neue hinzu.
Wenn du willst kann ich es dir machen.
Sende dafür eine Pn und lass ein Thx hier^^
MFG CauTaRt
|
|
|
12/18/2010, 20:26
|
#1095
|
elite*gold: 10
Join Date: Jul 2009
Posts: 1,786
Received Thanks: 1,090
|
@ RealFreak:
Probiers mal mit dem Befehl horse.ride()
|
|
|
All times are GMT +1. The time now is 20:57.
|
|