|
You last visited: Today at 08:21
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
07/28/2012, 19:07
|
#6391
|
elite*gold: 0
Join Date: Dec 2010
Posts: 137
Received Thanks: 16
|
ja wen man auf der catacomb map ist
Kriegergeist habs raus trostem danke
|
|
|
07/28/2012, 19:32
|
#6392
|
elite*gold: 0
Join Date: Nov 2011
Posts: 211
Received Thanks: 15
|
PHP Code:
quest vip begin state vip begin when 20095.chat."Willst du ein VIP sein?" begin say_title("Hey Jo!") say("") say("Du gut aussehender mit starken Armen und") say("einem knackigem Po willst doch bestimmt") say("einen Premium Status erwerben oder?") say_reward("Es Kostet dich:") say_reward("5x Weiße Perlen") say_reward("5x Blaue Perlen") say_reward("5x Rote Perlen") say("") say_title("Bist du dir sicher?") local s = select("Ja", "Nein") if s == 1 then pc.remove_item(27994, 5) pc.remove_item(27993, 5) pc.remove_item(27992, 5) pc.give_item2(70017, 1) else return end end end end
--------------------------------------------------------------------
MEIN PROBLEM IST sobald ich den NPC anklicke Passiert nichts ! muss ich was in der DB ändern?? On_klick ist auf 1(DB)
|
|
|
07/28/2012, 19:50
|
#6393
|
elite*gold: 0
Join Date: Dec 2010
Posts: 137
Received Thanks: 16
|
problem gelöst
sero du musst den npc auf on_click 0 stellen
|
|
|
07/28/2012, 21:46
|
#6394
|
elite*gold: 5
Join Date: Aug 2011
Posts: 1,130
Received Thanks: 512
|
@sero61 , nimm die hier, hab sie verbessert bei dir konnte man auch ohne die Perlen den VIP-Status erlangen.
PHP Code:
quest vip begin state vip begin when 20095.chat."Willst du ein VIP sein?" begin say_title("Hey Jo!") say("") say("Du gut aussehender mit starken Armen und") say("einem knackigem Po willst doch bestimmt") say("einen Premium Status erwerben oder?") say_reward("Es Kostet dich:") say_reward("5x Weiße Perlen") say_reward("5x Blaue Perlen") say_reward("5x Rote Perlen") say("") say_title("Bist du dir sicher?") local s = select("Ja", "Nein") if s == 1 then if pc.count_item(27994) == 5 and pc.count_item(27993) == 5 and pc.count_item(27992) == 5 then pc.remove_item(27994, 5) pc.remove_item(27993, 5) pc.remove_item(27992, 5) pc.give_item2(70017, 1) else chat("Du hast nicht alle Items!") end else return end end end end
|
|
|
07/28/2012, 22:10
|
#6395
|
elite*gold: 901
Join Date: Jun 2012
Posts: 128
Received Thanks: 99
|
PHP Code:
quest vip begin state start begin when 20095.chat."Willst du ein VIP sein?" begin say_title("Hey Jo!") say("") say("Du gut aussehender mit starken Armen und") say("einem knackigem Po willst doch bestimmt") say("einen Premium Status erwerben oder?") say_reward("Es Kostet dich:") say_reward("5x Weiße Perlen") say_reward("5x Blaue Perlen") say_reward("5x Rote Perlen") say("") say_title("Bist du dir sicher?") local s = select("Ja", "Nein") if s == 1 then if pc.count_item(27994) == 5 and pc.count_item(27993) == 5 and pc.count_item(27992) == 5 then pc.remove_item(27994, 5) pc.remove_item(27993, 5) pc.remove_item(27992, 5) pc.give_item2(70017, 1) else chat("Du hast nicht alle Items!") end else return end end end end
1. state muss "start" heißen.
|
|
|
07/28/2012, 22:17
|
#6396
|
elite*gold: 105
Join Date: Aug 2010
Posts: 1,031
Received Thanks: 2,560
|
Okey, i fixed the error, but timer doesn't work.
Thanks for answer.
Code:
quest lo2olympiada begin
state start begin
when 20002.take with item.vnum == 50153 begin
say_title("Ah-Yu")
say("Ahoj bojovníku,")
say("našla jsem cestu do")
say("dávno ztraceného města.")
say("V tomot krásném městě můžeš ")
say("vyhrát spoustu Yangů.")
say("Chceš tam tedy vstoupit?")
say("")
local s=select("První mapa", "Druhá mapa", "Třetí mapa", "Ne")
if s==1 then
pc.warp(2401000,1613900)
if pc.count_item (22010) >= 1 then
pc.remove_item(22010, 200)
timer("plechito_konec", 900)
end
elseif s==2 then
pc.warp(2401000,1613900)
if pc.count_item (22010) >= 1 then
pc.remove_item(22010, 200)
timer("plechito_konec", 900)
end
elseif s==3 then
pc.warp(2401000,1613900)
if pc.count_item (22010) >= 1 then
pc.remove_item(22010, 200)
timer("plechito_konec", 900)
end
end
end
when plechito_konec.timer begin
pc.warp(1805000, 905000)
end
when logout with pc.get_map_index() == 91 begin
pc.warp(1805000, 905000)
end
end
end
|
|
|
07/28/2012, 22:23
|
#6397
|
elite*gold: 60
Join Date: Jul 2010
Posts: 771
Received Thanks: 439
|
müsste so gehen.
HTML Code:
quest lo2olympiada begin
state start begin
when 20002.take with item.vnum == 50153 begin
say_title("Ah-Yu")
say("Ahoj bojovníku,")
say("našla jsem cestu do")
say("dávno ztraceného města.")
say("V tomot krásném městě můžeš ")
say("vyhrát spoustu Yangů.")
say("Chceš tam tedy vstoupit?")
say("")
local s=select("První mapa", "Druhá mapa", "Třetí mapa", "Ne")
if s==1 then
pc.warp(2401000,1613900)
if pc.count_item (22010) >= 1 then
pc.remove_item(22010, 200)
end
elseif s==2 then
pc.warp(2401000,1613900)
if pc.count_item (22010) >= 1 then
pc.remove_item(22010, 200)
end
elseif s==3 then
pc.warp(2401000,1613900)
if pc.count_item (22010) >= 1 then
pc.remove_item(22010, 200)
end
end
end
when plechito_konec.timer begin
pc.warp(1805000, 905000)
end
when login with pc.get_map_index() == 91 begin
timer("plechito_konec", 900)
end
when logout with pc.get_map_index() == 91 begin
pc.warp(1805000, 905000)
end
end
end
MfG
Kriegergeist^^
|
|
|
07/28/2012, 23:09
|
#6398
|
elite*gold: 187
Join Date: Aug 2010
Posts: 121
Received Thanks: 96
|
Was ist hier dran Falsch 
bei VPC bekomme ich die Nachricht:
PHP Code:
hallenrun.quest:26:Abort trap (core dumped)
PHP Code:
quest hallenrun begin
state start begin
when 30101.use begin
pc.warp(999900,999900)
end
when 8026.kill with pc.get_map_index() == INDEX
d.new_jump_all(184, 1012003 , 1015915)
d.notice("Willkommen in der Halle der Hexe!")
d.notice("zerstört alle Metin Ma-An's!")
d.regen_file("data/dungeon/hallenrun_regen.txt")
end
when 8027.kill with pc.get_map_index() == INDEX
local a =d.getf("count") + 1
d.setf("count", a)
if a == 15 then
d.notice("Killt nun den Anführer!")
d.spawn_mob(1192, 121, 134)
end
end
when 1192.kill with pc.get_map_index() == INDEX
d.notice("Ihr habt die Herausforderungen der Halle der Hexe erfolgreich beendet!")
d.notice("Ihr könnt euch nun eine Belohnung bei Seon-Hae abhohlen!")
d.kill_all()
d.spawn_mob(20095, 121, 134)
end
when 20095.chat."Belohnung" with pc.in_dungeon begin
say_title("Seon-Hae:")
say("Du hast es geschafft:")
say("Du hast den Wasserdrachen,:")
say("den Roten Drachen und:")
say("Die Eishexe besiegt.:")
say("Du bekommst folgendes:")
say("50.000.000Yang")
say("5.000 Rangpunkte")
pc.change_money(50000000)
pc.change_alignment(5000)
wait()
warp_to_village()
end
end
end
Danke im Voraus
|
|
|
07/28/2012, 23:39
|
#6399
|
elite*gold: 60
Join Date: Jul 2010
Posts: 771
Received Thanks: 439
|
müsste eigentlich jetzt richtig sein
HTML Code:
quest hallenrun begin
state start begin
when 30101.use begin
pc.warp(999900,999900)
end
when 8026.kill with pc.get_map_index() == INDEX begin
d.new_jump_all(184, 1012003 , 1015915)
d.notice("Willkommen in der Halle der Hexe!")
d.notice("zerstört alle Metin Ma-An's!")
d.regen_file("data/dungeon/hallenrun_regen.txt")
end
when 8027.kill with pc.get_map_index() == INDEX begin
local a = d.getf("count") + 1
local b = d.getf("count")
d.setf("count", a)
if b == 15 then
d.notice("Killt nun den Anführer!")
d.spawn_mob(1192, 121, 134)
end
end
when 1192.kill with pc.get_map_index() == INDEX begin
d.notice("Ihr habt die Herausforderungen der Halle der Hexe erfolgreich beendet!")
d.notice("Ihr könnt euch nun eine Belohnung bei Seon-Hae abhohlen!")
d.kill_all()
d.spawn_mob(20095, 121, 134)
end
when 20095.chat."Belohnung" with pc.in_dungeon begin
say_title("Seon-Hae:")
say("Du hast es geschafft:")
say("Du hast den Wasserdrachen,:")
say("den Roten Drachen und:")
say("Die Eishexe besiegt.:")
say("Du bekommst folgendes:")
say("50.000.000Yang")
say("5.000 Rangpunkte")
pc.change_money(50000000)
pc.change_alignment(5000)
wait()
warp_to_village()
end
end
end
Finde sonst keine Fehler
MfG
Kriegergeist^^
|
|
|
07/29/2012, 00:11
|
#6400
|
elite*gold: 351
Join Date: Apr 2011
Posts: 2,062
Received Thanks: 1,526
|
Quote:
Originally Posted by Kevke1996
Was ist hier dran Falsch 
bei VPC bekomme ich die Nachricht:
PHP Code:
hallenrun.quest:26:Abort trap (core dumped)
PHP Code:
quest hallenrun begin
state start begin
when 30101.use begin
pc.warp(999900,999900)
end
when 8026.kill with pc.get_map_index() == INDEX
d.new_jump_all(184, 1012003 , 1015915)
d.notice("Willkommen in der Halle der Hexe!")
d.notice("zerstört alle Metin Ma-An's!")
d.regen_file("data/dungeon/hallenrun_regen.txt")
end
when 8027.kill with pc.get_map_index() == INDEX
local a =d.getf("count") + 1
d.setf("count", a)
if a == 15 then
d.notice("Killt nun den Anführer!")
d.spawn_mob(1192, 121, 134)
end
end
when 1192.kill with pc.get_map_index() == INDEX
d.notice("Ihr habt die Herausforderungen der Halle der Hexe erfolgreich beendet!")
d.notice("Ihr könnt euch nun eine Belohnung bei Seon-Hae abhohlen!")
d.kill_all()
d.spawn_mob(20095, 121, 134)
end
when 20095.chat."Belohnung" with pc.in_dungeon begin
say_title("Seon-Hae:")
say("Du hast es geschafft:")
say("Du hast den Wasserdrachen,:")
say("den Roten Drachen und:")
say("Die Eishexe besiegt.:")
say("Du bekommst folgendes:")
say("50.000.000Yang")
say("5.000 Rangpunkte")
pc.change_money(50000000)
pc.change_alignment(5000)
wait()
warp_to_village()
end
end
end
Danke im Voraus
|
Hab jetzt nur einen groben Fehler gefunden, da du auch nur den unnötigsten Teil der Fehlermeldung gepostest hast, aber versuchs mal so:
PHP Code:
quest hallenrun begin
state start begin
when 30101.use begin
pc.warp(999900,999900)
end
when 8026.kill with pc.get_map_index() == INDEX begin
d.new_jump_all(184, 1012003 , 1015915)
d.notice("Willkommen in der Halle der Hexe!")
d.notice("zerstört alle Metin Ma-An's!")
d.regen_file("data/dungeon/hallenrun_regen.txt")
end
when 8027.kill with pc.get_map_index() == INDEX begin
local a =d.getf("count") + 1
d.setf("count", a)
if a == 15 then
d.notice("Killt nun den Anführer!")
d.spawn_mob(1192, 121, 134)
end
end
when 1192.kill with pc.get_map_index() == INDEX begin
d.notice("Ihr habt die Herausforderungen der Halle der Hexe erfolgreich beendet!")
d.notice("Ihr könnt euch nun eine Belohnung bei Seon-Hae abhohlen!")
d.kill_all()
d.spawn_mob(20095, 121, 134)
end
when 20095.chat."Belohnung" with pc.in_dungeon begin
say_title("Seon-Hae:")
say("Du hast es geschafft:")
say("Du hast den Wasserdrachen,:")
say("den Roten Drachen und:")
say("Die Eishexe besiegt.:")
say("Du bekommst folgendes:")
say("50.000.000Yang")
say("5.000 Rangpunkte")
pc.change_money(50000000)
pc.change_alignment(5000)
wait()
warp_to_village()
end
end
end
Falls der Fehler immer noch besteht, schreib bitte die vollständige Fehlermeldung.
|
|
|
07/29/2012, 01:04
|
#6401
|
elite*gold: 187
Join Date: Aug 2010
Posts: 121
Received Thanks: 96
|
erstmal Danke das ihr mir noch so spät zurückschreibt.
Ich habe die Quest jetzt geändert und bekomme auch keine fehlermeldung aber sie funktioniert trotzdem noch nicht
Ich möchte das wenn ich das item 30101 benutze (ist ein Ring) auf die map
(gm_guild_build 83200 0) (heisst glaube ich so) teleportiert werde.
Das funktioniert alles super
Auf der map steht 1 roter drache (2291)
Ich möchte das wenn ich diesen drachen getötet habe das alle auf dieser Map
in die nächste mal teleportiert werden (Halle der krieger in den SV:gm_guild_castle 999900 999900 ) das funktioniert leider nicht.
also kurz: Ich werde auf die Map gm_guild_build teleportiert ##Klappt
Ich töte den drachen und alle werden auf die nächste map teleportiert ## Klappt nicht
hier die quest
PHP Code:
quest hallenrun begin
state start begin
when 30101.use begin
pc.warp(83200,0)
end
when 2291.kill with pc.get_map_index() == 200 begin
d.new_jump_all(191, 999900 , 999900)
d.notice("Willkommen in der Halle der Hexe!")
d.notice("zerstört alle Metin Ma-An's!")
d.regen_file("data/dungeon/hallenrun_regen.txt")
end
when 8027.kill with pc.get_map_index() == 191 begin
local a =d.getf("count") + 1
d.setf("count", a)
if a == 15 then
d.notice("Killt nun den Anführer!")
d.spawn_mob(1192, 121, 134)
end
end
when 1192.kill with pc.get_map_index() == 191 begin
d.notice("Ihr habt die Herausforderungen der Halle der Hexe erfolgreich beendet!")
d.notice("Ihr könnt euch nun eine Belohnung bei Seon-Hae abhohlen!")
d.kill_all()
d.spawn_mob(20095, 121, 134)
end
when 20095.chat."Belohnung" with pc.in_dungeon begin
say_title("Seon-Hae:")
say("Du hast es geschafft:")
say("Du hast den Wasserdrachen,:")
say("den Roten Drachen und:")
say("Die Eishexe besiegt.:")
say("Du bekommst folgendes:")
say("50.000.000Yang")
say("5.000 Rangpunkte")
pc.change_money(50000000)
pc.change_alignment(5000)
wait()
warp_to_village()
end
end
end
ich hoffe ihr könnt mir helfen sitze schon etwas länger da drann
und sry wenn ich rechtschreibfehler eingebaut habe ich werde langsam müde
|
|
|
07/29/2012, 02:26
|
#6402
|
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
|
- Stimmt MID 200?
- versuche statt
when 2291.kill with pc.get_map_index() == 200 begin
das:
when kill with npc.get_race() == 2291 and pc.get_map_index() == 200 begin
|
|
|
07/29/2012, 02:35
|
#6403
|
elite*gold: 24
Join Date: Jun 2011
Posts: 667
Received Thanks: 782
|
Quote:
Originally Posted by 554
Eigendlich sollte dir ein Tipp helfen, da du ja anscheinend halbwegs questen kannst:
-Spielerbezogene Timer brechen bei Logouts ab, und da Teleporte von der Quest ähnlich (bzw. in manchen Teilen exakt) wie ein Logout behandelt wird, bricht der 60 Sekunden-Timer ab.
Daraus ergibt sich natürlich ein "Bug":
-> Man ist auf der Farmmap, loggt aus, loggt ein -> Timer weg, unbegrenztes farmen
Weiße was, ich schreib dir die Quest eben, editiere sie dann rein...
EDIT: hier, sollte klappen... hoffe ich x'D
PHP Code:
quest vipmap begin state start begin when 60001.use begin say_title("VIP-Farmmap Zutritt (1 Stunde)") say("VIP-Farmmap zutritt") say("Diese Karte ist sehr selten sie bringt dich") say("auf die VIP farmmap aber nur für 1 Stunde") say("Willst du wirklich dorthin?") local s = select("Ja!", "..Nein") if s == 1 then pc.setqf("timeleft", 60) -- hier die Stunde/Wert eintragen pc.warp(8483300, 10000) else return end end when login begin if pc.get_map_index() == FARMMAPINDEX then pc.setqf("time", get_time()) timer("checktime", pc.getqf("timeleft")) else pc.setqf("timeleft", 60) -- hier selben(!) Wert wie oben eintragen end end when checktime.timer begin warp_to_village() end when logout with pc.get_map_index() == FARMMAPINDEX begin pc.setqf("timeleft", 60 - (get_time() - pc.getqf("time"))) -- hier selben(!) Wert wie oben eintragen, also die 60 editieren end end end
|
die quest funktioniert immer noch nicht
in Virtual box beim ausführen der make.py
keine fehler
aber wenn ich das item use teleportiert das item mich hin
aber nichtmehr zurück nach angegebener zeit
bitte helft mir -.-
Quote:
Originally Posted by Kevke1996
erstmal Danke das ihr mir noch so spät zurückschreibt.
Ich habe die Quest jetzt geändert und bekomme auch keine fehlermeldung aber sie funktioniert trotzdem noch nicht
Ich möchte das wenn ich das item 30101 benutze (ist ein Ring) auf die map
(gm_guild_build 83200 0) (heisst glaube ich so) teleportiert werde.
Das funktioniert alles super
Auf der map steht 1 roter drache (2291)
Ich möchte das wenn ich diesen drachen getötet habe das alle auf dieser Map
in die nächste mal teleportiert werden (Halle der krieger in den SV:gm_guild_castle 999900 999900 ) das funktioniert leider nicht.
also kurz: Ich werde auf die Map gm_guild_build teleportiert ##Klappt
Ich töte den drachen und alle werden auf die nächste map teleportiert ## Klappt nicht
hier die quest
when 8027.kill with pc.get_map_index() == 191 begin
local a =d.getf("count") + 1
d.setf("count", a)
if a == 15 then
d.notice("Killt nun den Anführer!")
d.spawn_mob(1192, 121, 134)
end
end
when 1192.kill with pc.get_map_index() == 191 begin
d.notice("Ihr habt die Herausforderungen der Halle der Hexe erfolgreich beendet!")
d.notice("Ihr könnt euch nun eine Belohnung bei Seon-Hae abhohlen!")
d.kill_all()
d.spawn_mob(20095, 121, 134)
end
|
ROT MAKIERT ist da nicht ein end zuviel?
|
|
|
07/29/2012, 02:39
|
#6404
|
elite*gold: 187
Join Date: Aug 2010
Posts: 121
Received Thanks: 96
|
die 200 stimmt
ich habe das mal geändert
PHP Code:
versuche statt when 2291.kill with pc.get_map_index() == 200 begin das: when kill with npc.get_race() == 2291 and pc.get_map_index() == 200 begin
hatt aber auch nicht geklappt ich werde immer noch nicht nach dem ich den drachen getötet habe aus der map teleportiert
@ Stamm1994
wenn ich das end wegmache bekomme ich wieder eine fehlermeldung in vpc wenn ich es da lasse aber nicht also denke ich mal das es dahin muss^^
hier noch die quest
PHP Code:
quest hallenrun begin state start begin when 30101.use begin pc.warp(83200,0) end when 2291.kill with pc.get_map_index() == 200 begin d.new_jump_all(191, 999900 , 999900) d.notice("Willkommen in der Halle der Hexe!") d.notice("zerstört alle Metin Ma-An's!") d.regen_file("data/dungeon/hallenrun_regen.txt") end when 8027.kill with pc.get_map_index() == 191 begin local a =d.getf("count") + 1 d.setf("count", a) if a == 4 then d.notice("Killt nun den Anführer!") d.spawn_mob(1192, 121, 134) end end when 1192.kill with pc.get_map_index() == 191 begin d.notice("Ihr habt die Herausforderungen der Halle der Hexe erfolgreich beendet!") d.notice("Ihr könnt euch nun eine Belohnung bei Seon-Hae abhohlen!") d.kill_all() d.spawn_mob(20095, 121, 134) end when 20095.chat."Belohnung" with pc.in_dungeon begin say_title("Seon-Hae:") say("Du hast es geschafft:") say("Du hast den Wasserdrachen,:") say("den Roten Drachen und:") say("Die Eishexe besiegt.:") say("Du bekommst folgendes:") say("50.000.000Yang") say("5.000 Rangpunkte") pc.change_money(50000000) pc.change_alignment(5000) wait() warp_to_village() end end end
|
|
|
07/29/2012, 09:04
|
#6405
|
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
|
Lösche mal die Nullen hinter 9999 9999
d.new_jump_all Funktioniert nach folgendem Schema:
PHP Code:
d.new_jump_all(MID, X,Y)
wobei X sich so zusammensetzt:
Kooridinate der Map (bei DT zB 2048) plus den lokalen X-Wert . (Und das OHNE die doppelnullen!)
Bei y Das selbe, nur mit den Y-Werten.
lg Mijago
Wenn die Kooridinaten nicht stimmen, will der Metin2 Core oft auch nicht porten
|
|
|
All times are GMT +1. The time now is 08:23.
|
|