|
You last visited: Today at 03:43
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
11/15/2017, 20:05
|
#12571
|
elite*gold: 21
Join Date: Mar 2015
Posts: 679
Received Thanks: 245
|
Quote:
Originally Posted by ZiriX
Veruschs mal noch 1 oder 2 ends am Ende dran zu hängen.
|
Da sind viel zu viele Fehler drin.
Liegt auch nicht nur an den ends.
Habe keine zeit sonst würd ich es fixxen
|
|
|
11/20/2017, 10:28
|
#12572
|
elite*gold: 0
Join Date: Sep 2012
Posts: 184
Received Thanks: 20
|
quest colosseum begin
state start begin
when 20401.chat."Colloseum" begin
say_title(mob_name(20401))
say("Hallo "..pc.get_name()..",")
say("Du hast also von dem Himmels Colloseum gehört.")
if pc . get_level ( ) < 80 then
say_reward("Mindestlevel ist 80!. Komme wieder, wenn du Level 80 bist!")
return
elseif pc . get_level ( ) > 150 then
say_reward("Max Level 150!")
return
end
say("Deine erste Aufgabe besteht darin")
say("die Heilige Truhe zu bezwingen!")
say("Aber seht euch vor! Es wird 5 Monster")
say("Wellen geben. Jede Welle wird stärker.")
say("Nur wenn du das Himmels Colloseum bezwingst")
say("bekommst du auch die Belohnung!")
local s = select("Ja", "Nein")
if s == 2 then return end
pc.setqf("warp", 1)
pc.warp(235300, 372300)
end
when login with pc.get_map_index()==306 begin
if pc.getqf("warp")==0 then
pc.warp(89900, 66700)
end
pc.setqf("warp", 0)
end
when 1093.kill with pc.get_map_index()==306 begin
timer("first_jump", 5)
end
when first_jump.timer begin
d.new_jump_all(306, 2353, 3723)
d.regen_file("data/dungeon/colosseum/colosseum1.txt")
d.setf("level", 1)
end
when login with pc.get_map_index()>=3500000 and pc.get_map_index()<3070000 begin
loop_timer("dont_die", 1)
pc.set_warp_location(343, 899, 667)
if d.select(pc.get_map_index()) and d.getf("timer_aktiv")==0 then
server_loop_timer("check_eliminated", 3, pc.get_map_index())
d.setf("timer_aktiv", 1)
end
end
when dont_die.timer begin
if pc.get_hp()<=0 then
notice("Du bist gestorben und wurdest deshalb hinaus teleportiert.")
pc.warp(89900, 66700)
end
end
when check_eliminated.server_timer begin
if d.select(get_server_timer_arg()) then
if d.count_monster()<=0 then
clear_server_timer("check_eliminated", get_server_timer_arg())
d.setf("level", d.getf("level")+1)
if d.getf("level")==6 then
d.notice("Geschafft! Sprich mit den Legendären Drachen.")
d.spawn_mob(30234, 203, 223)
return
end
d.notice("Alle tot! Gleicht gehts weiter.")
server_timer("continue", 5, get_server_timer_arg())
end
end
end
when continue.server_timer begin
if d.select(get_server_timer_arg()) then
d.regen_file("data/dungeon/colosseum/colosseum"..d.getf("level")..".txt")
d.notice("Los gehts.")
server_loop_timer("check_eliminated", 3, get_server_timer_arg())
end
end
when 20403.chat."Belohnung abholen" with pc.get_map_index()>=3500000 and pc.get_map_index()<3070000 begin
say_title("Legendärer Drache")
say("Du hast es also gepackt! Hier nimm diese Belohnung!")
pc.give_item2(59431, 1)
wait()
d.exit()
end
end
end
nach dem porten passiert garnichts weiter
|
|
|
11/21/2017, 12:39
|
#12573
|
elite*gold: 0
Join Date: Jun 2014
Posts: 46
Received Thanks: 8
|
Quote:
quest regenbogen begin
state start begin
function TimeToUse()
local timeleft = (pc.getqf("regiwait") - get_time())
timeleft = math.ceil(timeleft / 60)
if timeleft > 60 then
timeleft = math.ceil(timeleft / 60)
chat("Verbleibende Zeit: "..timeleft.." Stunden.")
else
chat("Verbleibende Zeit: "..timeleft.." Minuten.")
end
end
when 50512.use begin
if get_time() > pc.getqf("regiwait") then
say_title("Regenbogenstein:")
say("Du kannst den Regenbogenstein noch nicht benutzen!")
regenbogen.TimeToUse()
wait()
else
say_title("Regenbogenstein:")
say("Du möchtest also deine Skills ")
say("Perfektionieren?")
if pc.job ==0 then
say("Wähle deine Lehre aus")
local s=select("Körper","Mental")
if s==1 then
pc.set_skill_group(1)
pc.set_skill_level(1 ,59)
pc.set_skill_level(2 ,59)
pc.set_skill_level(3 ,59)
pc.set_skill_level(4 ,59)
pc.set_skill_level(5 ,59)
say("Alle deine Skills sind nun Perfekt!")
pc.setqf("regiwait", get_time() + 60*60*1)
else
pc.set_skill_group(2)
pc.set_skill_level(16 ,59)
pc.set_skill_level(17 ,59)
pc.set_skill_level(18 ,59)
pc.set_skill_level(19 ,59)
pc.set_skill_level(20 ,59)
say("Alle deine Skills sind nun Perfekt!")
pc.setqf("regiwait", get_time() + 60*60*1)
end
elseif pc.job ==1 then
say("Wähle deine Lehre aus")
local s=select("Nahkampf","Fernkampf")
if s==1 then
pc.set_skill_group(3)
pc.set_skill_level(31 ,59)
pc.set_skill_level(32 ,59)
pc.set_skill_level(33 ,59)
pc.set_skill_level(34 ,59)
pc.set_skill_level(35 ,59)
say("Alle deine Skills sind nun Perfekt!")
pc.setqf("regiwait", get_time() + 60*60*1)
else
pc.set_skill_group(4)
pc.set_skill_level(46 ,59)
pc.set_skill_level(47 ,59)
pc.set_skill_level(48 ,59)
pc.set_skill_level(49 ,59)
pc.set_skill_level(50 ,59)
say("Alle deine Skills sind nun Perfekt!")
pc.setqf("regiwait", get_time() + 60*60*1)
end
elseif pc.job ==2 then
say("Wähle deine Lehre aus")
local s=select("Magie","Waffe")
if s==1 then
pc.set_skill_group(5)
pc.set_skill_level(76 ,59)
pc.set_skill_level(77 ,59)
pc.set_skill_level(78 ,59)
pc.set_skill_level(79 ,59)
pc.set_skill_level(80 ,59)
pc.set_skill_level(81, 59)
say("Alle deine Skills sind nun Perfekt!")
pc.setqf("regiwait", get_time() + 60*60*1)
else
pc.set_skill_group(6)
pc.set_skill_level(61 ,59)
pc.set_skill_level(62 ,59)
pc.set_skill_level(63 ,59)
pc.set_skill_level(64 ,59)
pc.set_skill_level(65 ,59)
pc.set_skill_level(66 ,59)
say("Alle deine Skills sind nun Perfekt!")
pc.setqf("regiwait", get_time() + 60*60*1)
end
elseif pc.job ==3 then
say("Wähle deine Lehre aus")
local s=select("Heilung","Drache")
if s==1 then
pc.set_skill_group(7)
pc.set_skill_level(106 ,59)
pc.set_skill_level(107 ,59)
pc.set_skill_level(108 ,59)
pc.set_skill_level(109 ,59)
pc.set_skill_level(110 ,59)
pc.set_skill_level(111 ,59)
say("Alle deine Skills sind nun Perfekt!")
pc.setqf("regiwait", get_time() + 60*60*1)
else
pc.set_skill_group(8)
pc.set_skill_level(91 ,59)
pc.set_skill_level(92 ,59)
pc.set_skill_level(93 ,59)
pc.set_skill_level(94 ,59)
pc.set_skill_level(95 ,59)
pc.set_skill_level(96 ,59)
say("Alle deine Skills sind nun Perfekt!")
pc.setqf("regiwait", get_time() + 60*60*1)
end
end
end
end
end
end
|
Ich will regenbogenstein erst wieder nach 1 stunde benutzbar machen..
und es kommt noch -21412412412 stunden verbleiben.. obwohl ich es
nicht benutz habe und nach dem benutzen halt auch -241421412 stunden...
|
|
|
12/07/2017, 03:34
|
#12574
|
elite*gold: 0
Join Date: Apr 2010
Posts: 2,037
Received Thanks: 736
|
Schönen guten Morgen zusammen,
Ich habe eine Quest an der ich nicht mehr weiter komme.
PHP Code:
quest time_running begin state start begin when login or levelup with pc.get_level() >= 13 begin set_state(infor) end end state infor begin when letter begin local a = find_npc_by_vnum(20003) if a != 0 then target.vid("__TARGET__", a, "") end send_letter("Kampf gegen die Zeit! ") end when __TARGET__.target.click or 20003.chat."Kampf gegen die Zeit! " begin target.delete("__TARGET__") say_title("Ah-Yu") say("Hallo "..pc.get_name().." !") say("Ich habe auf 5 Regionen einen Sprint") say("gewagt und war dabei bisher immer der") say("Schnellste der je von A nach B wie der") say("Blitz ankam. Ich wette mit dir das du") say("meine Bestzeiten niemals schlägst! ") say("") wait() say_title("Ah-Yu") say("Meine Herausforderungen findest du in") say("diesen Regionen: ") say_reward("Orktal - 02:30Min ") say_reward("Yogbi-Wüste - 01:20Min ") say_reward("Feuerland - 02:30Min ") say_reward("Eisland - 02:00Min ") say_reward("Tempel - 03:40Min ") local a = select("Ja warum nicht", "Nein dafür habe ich keine Zeit") if a == 2 then return end if a == 1 then say_title("Ah-Yu") say("Also gut. In jeder Region wirst du") say("eine Markierung auf dem Boden finden.") say("Sobald du diesen erreichst, wirst") say("du das Ziel und deine vorgegebene") say("Zeit sehen. Schaffst du diese Ziele, ") say("so wirst du dafür belohnt werden ") set_state(sprint) pc.setqf("rennen", 0) pc.setqf("ork", 0) pc.setqf("feuer", 0) pc.setqf("tempel", 0) pc.setqf("eis", 0) pc.setqf("desert", 0) end end end state sprint begin when letter begin send_letter("Zeitrennen! ") q.set_clock("Zeit", pc.getqf("time")-get_time()) end when leave or logout begin pc.delqf("active_run") end when button or info begin if pc.getqf("active_run") == 1 then say_title("Zeitrennen! ") say("Du bist Momentan in einem ") say("aktiven Zeitrennen! ") else say_title("Zeitrennen! ") say("Du hast im Moment ") say(""..pc.getqf("rennen").."/5 Zeitrennen geschafft! ") say("Die Rennen findest du in:") say("Orktal, Wüste, Eisland, Feuerland und") say("im Tempel") target.pos("__TARGET1__", 140, 147, 64, "") target.pos("__TARGET2__", 941, 675, 200, "") target.pos("__TARGET3__", 1477, 95, 62, "") target.pos("__TARGET4__", 705, 197, 61, "") target.pos("__TARGET5__", 185, 905, 65, "") end end when __TARGET1__.target.arrive with pc.getqf("ork777") == 1 begin target.delete("__TARGET1__") say_title("Zeitrennen! ") say("Dieses Rennen hast du bereits ") say("absolviert. Versuche ein anderes") say("Rennen in einer anderen Region.") end when __TARGET1__.target.arrive with pc.getqf("ork777") == 0 begin target.delete("__TARGET1__") say_title("Zeitrennen!") say("Bist du für das Zeitrennen") say("bereit? Du darfst Reittiere") say("oder Pferd für diesen Wettlauf") say("benutzen. Möchtest du es versuchen?") say("") local a = select("Ja","Nein") if a == 2 then return end if a == 1 then say_title("Zeitrennen! ") say("Nun gut, dein Ziel:") say_reward("Orktal Süd-östl. Insel erreichen. ") say("Zeit: 02:30 Min") wait() pc.setqf("time", get_time()+150*1) pc.setqf("active_run", 1) target.pos("__TARGET11__", 1222, 1324, 64, "") if get_time() < pc.getqf("time") then say_title("Zeitrennen! ") say("Leider hast du es nicht geschafft innerhalb") say("der angegebenen Zeit das Ziel zu erreichen.") say("Du kannst es aber erneut versuchen in dem ") say("du zur Startposition zurückkehrst. ") target.pos("__TARGET1__", 140, 147, 64, "") target.delete("__TARGET11__") pc.delqf("active_run") end end end ---- when 1.timer begin ---- say_title("Zeitrennen! ") ---- say("Leider hast du es nicht geschafft innerhalb") -- say("der angegebenen Zeit das Ziel zu erreichen.") -- say("Du kannst es aber erneut versuchen in dem ") -- say("du zur Startposition zurückkehrst. ") -- target.pos("__TARGET1__", 140, 147, 64, "") -- end when __TARGET11__.target.arrive begin if pc.getqf("rennen")< 5 then pc.setqf("rennen",index) target.delete("__TARGET11__") say_title("Zeitrennen! ") say("Glückwunsch, Du hast nun") say("das "..1+pc.getqf("rennen").. ". Rennen geschafft! ") say("Es sind noch "..5-pc.getqf("rennen").." zu absolvieren. ") cleartimer() pc.setqf("ork", 1) pc.change_money(100000) pc.give_item2(25040) local index = pc.getqf("rennen")+1 end end when login with pc.getqf("rennen") == 5 and pc.getqf("ork") == 1 and pc.getqf("eis") == 1 and pc.getqf("feuer") == 1 and pc.getqf("tempel") == 1 and pc.getqf("desert") == 1 begin say_title("Zeitrennen! ") say("Glückwunsch, du hast nun alle Zeitrennen") say("gemeistert.") say("Du verdienst dafür eine Belohnung: ") say("") say_reward("Du erhälst 3x Magischen Stein") say_reward("Du erhälst 3x Seelenstein") say_reward("Du erhälst +5% Bewegungsgeschw. ") say_reward("Du erhälst 250.000 Yang ") affect.add_collect(apply.MOV_SPEED,5,60*60*24*365*20) pc.give_item2(25041) pc.give_item2(25041) pc.give_item2(25041) pc.give_item2(50513) pc.give_item2(50513) pc.give_item2(50513) end end end -- 1222 1324 # 02:30 -- 1444 1386 # 01:20 -- 1475 94 # 02:30 -- 1342 1316 # 02:00 -- 535 582 # 03:40
Die Testphase scheitert im Moment daran das keine Uhr zu sehen ist wie damals
bei der Militärgaul-Quest. Alles andere funktioniert und braucht evtl nur verbessert zu werden. Ich habe alles erdenkliche versucht um da ne ablaufende Zeit sichtbar zu machen mit q.set_clock usw.. ohne Erfolg.
Könnt ihr mir bitte helfen?
Mit freundlichen Grüßen, Endless
|
|
|
12/18/2017, 00:09
|
#12575
|
elite*gold: 0
Join Date: Aug 2011
Posts: 2,125
Received Thanks: 844
|
Code:
quest ogerd begin
state start begin
when 3891.kill begin
notice_all("Der Große Oger wurde von ".. pc.get_name() .." besiegt !")
notice("Gehe zum Krieger-Geist um deine Besondere Belohnung abzuholen!")
local reward_alchemist = {20074, 20075, 20076}
d.spawn_mob(reward_alchemist[number(1,3)], 192200, 760000);
d.setqf2("oger_zone","can_refine", 1)
server_timer("oger_end_jump", 60)
set_state(krieger)
end
when oger_end_jump.server_timer begin
if d.select (get_server_timer_arg()) then
d.clear_regen()
d.exit_all()
end
end
end
state krieger begin
when 30122.chat."Belohnung" begin
say_title("Krieger-Geist")
say("Wie ich sehe habt ihr Erfolgreich")
say("den Großen Oger besiegt.")
say("Nun gut hier hast du deine")
say("Belohung!")
say("Du wirst nun raus teleportiert!")
wait()
pc.give_item2(19, 1)
pc.warp(187600, 750400)
set_state(start)
end
end
end
Quest funz alles, bis darauf das man nicht raus teleportiert wird & die Schmiede nicht erscheinen..
Kann einer weiter helfen?
|
|
|
01/21/2018, 14:09
|
#12576
|
elite*gold: 12
Join Date: Feb 2014
Posts: 875
Received Thanks: 272
|
hallo ich lerne gerade questen. kann mir hierbei jemand bei meiner kleinen simplen pvp quest helfen?
PHP Code:
quest kill begin state start begin when login or levelup with pc.get_level() >= 15 and pc.getqf("qfset") == 0 begin set_state(killquest) end end state killquest begin when letter begin send_letter("Jäger und Sammler") end when button or info begin say_title("Jäger und Sammler") say("") say("Töte so viele dudes wie nur möglich. Töte einfach... 5!") say("") say("") say_reward("Du hast "..pc.getqf("kills").." von 5 getötet"); end when kill with npc.is_pc() begin pc.setqf("kills", pc.getqf("kills")+1) chat("Jäger und Sammler: Du hast "..pc.getqf("kills").." von 5 Leute getötet") if pc.getqf("kills") == 5 then pc.setqf("qfset", pc.getqf("qfset")+1) say("Du hast 5 Leute getötet, Glückwunsch!") say("Du erhältst jetzt etwas Gold") pc.give_gold(500) end end end end
ganz simpel. spieler soll 5 leute ins jenseits befördern. funktioniert leider auch nur halbwegs. die chat nachricht wird doppelt ausgegeben und der zähler bleibt bei 1 hängen. kann mir jemand mit einer erklärung helfen? danke
|
|
|
01/23/2018, 01:36
|
#12577
|
elite*gold: 200
Join Date: Mar 2011
Posts: 352
Received Thanks: 9
|
Guten Tag.
Hier ist eine Quest aber ich bekomme kein Yang. Alles andere Läuft super.
Code:
quest metinkill1 begin
state start begin
when login or levelup with pc.level >= 25 begin
set_state(information)
end
end
state information begin
when letter begin
send_letter("Metin-Auftrag 25")
end
when info or button begin
say_title("Metin-Auftrag")
say("Hallo Spieler von Servername!")
say("Überall spawnen die Metinsteine. Unsere")
say("Krieger sind alle beim versuch sie zu")
say("töten gefallen. Wir hoffen auf")
say("deine Hilfe. Bitte befreie uns von von diesem")
say("Unheil, damit wir wieder in Frieden leben können")
say("Bitte hilf uns:")
say_reward("Töte 10 x Metin der Schwärze.")
say_reward("Du findest sie auf Map2.")
say_reward("Wenn du es geschafft hast bekommst du eine Belohnung!")
say_reward("")
say_reward("")
say("")
pc.setqf("state", 1)
q.set_counter("Metin der Schwärze", 1)
end
when 8005.kill begin
local count = pc.getqf("state") - 1
if count <= 1 then
pc.setqf("state", count)
q.set_counter("Metin der Schwärze", count)
end
if count == 0 then
say_title("PvM Quest")
say("")
say("")
say("Gut du hast es geschafft.")
say("Hier deine Belohnung")
say_reward("1 22 55 50")
pc.give_item2(159, 1)
pc.give_item2(159, 1)
pc.give_item2(189, 1)
pc.give_item2(189, 1)
pc.give_exp2(500)
pc.get_money(50000)
clear_letter()
set_state(__COMPLETE__)
end
end
end
state __COMPLETE__ begin
end
end
|
|
|
01/23/2018, 13:09
|
#12578
|
elite*gold: 12
Join Date: Feb 2014
Posts: 875
Received Thanks: 272
|
Quote:
Originally Posted by Cc_Cc_Cc
Guten Tag.
Hier ist eine Quest aber ich bekomme kein Yang. Alles andere Läuft super.
Code:
quest metinkill1 begin
state start begin
when login or levelup with pc.level >= 25 begin
set_state(information)
end
end
state information begin
when letter begin
send_letter("Metin-Auftrag 25")
end
when info or button begin
say_title("Metin-Auftrag")
say("Hallo Spieler von Servername!")
say("Überall spawnen die Metinsteine. Unsere")
say("Krieger sind alle beim versuch sie zu")
say("töten gefallen. Wir hoffen auf")
say("deine Hilfe. Bitte befreie uns von von diesem")
say("Unheil, damit wir wieder in Frieden leben können")
say("Bitte hilf uns:")
say_reward("Töte 10 x Metin der Schwärze.")
say_reward("Du findest sie auf Map2.")
say_reward("Wenn du es geschafft hast bekommst du eine Belohnung!")
say_reward("")
say_reward("")
say("")
pc.setqf("state", 1)
q.set_counter("Metin der Schwärze", 1)
end
when 8005.kill begin
local count = pc.getqf("state") - 1
if count <= 1 then
pc.setqf("state", count)
q.set_counter("Metin der Schwärze", count)
end
if count == 0 then
say_title("PvM Quest")
say("")
say("")
say("Gut du hast es geschafft.")
say("Hier deine Belohnung")
say_reward("1 22 55 50")
pc.give_item2(159, 1)
pc.give_item2(159, 1)
pc.give_item2(189, 1)
pc.give_item2(189, 1)
pc.give_exp2(500)
pc.get_money(50000)
clear_letter()
set_state(__COMPLETE__)
end
end
end
state __COMPLETE__ begin
end
end
|
Der Befehl lautet pc.give_gold(amount).
|
|
|
01/28/2018, 19:10
|
#12579
|
elite*gold: 0
Join Date: Sep 2015
Posts: 684
Received Thanks: 551
|
Quote:
Originally Posted by Guron
hallo ich lerne gerade questen. kann mir hierbei jemand bei meiner kleinen simplen pvp quest helfen?
PHP Code:
quest kill begin state start begin when login or levelup with pc.get_level() >= 15 and pc.getqf("qfset") == 0 begin set_state(killquest) end end state killquest begin when letter begin send_letter("Jäger und Sammler") end when button or info begin say_title("Jäger und Sammler") say("") say("Töte so viele dudes wie nur möglich. Töte einfach... 5!") say("") say("") say_reward("Du hast "..pc.getqf("kills").." von 5 getötet"); end when kill with npc.is_pc() begin pc.setqf("kills", pc.getqf("kills")+1) chat("Jäger und Sammler: Du hast "..pc.getqf("kills").." von 5 Leute getötet") if pc.getqf("kills") == 5 then pc.setqf("qfset", pc.getqf("qfset")+1) say("Du hast 5 Leute getötet, Glückwunsch!") say("Du erhältst jetzt etwas Gold") pc.give_gold(500) end end end end
ganz simpel. spieler soll 5 leute ins jenseits befördern. funktioniert leider auch nur halbwegs. die chat nachricht wird doppelt ausgegeben und der zähler bleibt bei 1 hängen. kann mir jemand mit einer erklärung helfen? danke
|
Deine Quest ist korrekt, der Fehler kommt von dem Gamecore. Du musst die Kill funktion im Source anpassen, dann wird das nichtmehr doppelt gezählt.
|
|
|
02/04/2018, 04:46
|
#12580
|
elite*gold: 0
Join Date: Nov 2012
Posts: 35
Received Thanks: 4
|
Duplicated name Quest VIP
Code:
quest vip begin
state start begin
when 40003.use begin
if pc.count_item(40003)>=1 then
say_title("Inel [VIP]")
say("Vrei sa ai VIP in fata numelui")
local a = select("Da!", "Nu")
if a == 1 then
local name = pc.get_name()
local find_id = mysql_query("SELECT account_id from player.player WHERE name='"..name.."' LIMIT 1;")
local id = find_id[1][1]+1-1
mysql_query("UPDATE player.player SET name='[VIP]"..name.."' WHERE account_id='"..id.."' LIMIT 1;")
pc.remove_item(40003)
syschat("Votre demande à été envoyé au serveur. Votre")
syschat("changera dès que le serveur aura retourné l'information!")
else
return
end
else
say_title("Inel [VIP]")
say("Aveti Nevoie de")
say("Inelul VIP pentru a activa numele:")
say_item_vnum(40003)
say("Intoarcete cand ai.")
return
end
end
end
end
Duplicated name quest vip :
|
|
|
02/22/2018, 12:27
|
#12581
|
elite*gold: 0
Join Date: Jul 2016
Posts: 21
Received Thanks: 7
|
Hi guys, so.. Uh.. I have a little bit of problem with this quest, i mean, this quest gives the killer 1 random item from that list, what i want to do? Well, i want to give 2 items insead of one.. Can someone help me?
Code:
quest pvpkills begin
state start begin
when kill with npc.is_pc() and pc.get_level() >= 250 and pc.get_map_index() == "72" begin
local items = {--vnum, count
{44040, 1},
{44047, 1},
{4047, 1},
{4040, 1}
}
if number(1, 100) <= 100 then
local rand = number(2, table.getn(items))
pc.give_item2(items[rand][1], items[rand][2])
end
end
end
end
|
|
|
02/23/2018, 02:18
|
#12582
|
elite*gold: 0
Join Date: Nov 2011
Posts: 343
Received Thanks: 10
|
Hallo ich weis das es eine Falsche section dafür ist, aber ich bekomm meine alte Pferde quest nicht mehr hin.
Hat jemand eine wo alles inbegriffen ist?
Die quest soll:
lvl 0 auf 1 also horse buy quest
+
lvl 1-30 quest beinhalten.
Wäre mega wenn mir da einer eine lua/quest zukommen lassen kann
Mfg Valle
Er spuckt mir Error occured on compile aus, kann jemand mal bitte drüber schauen?
Code:
quest horse_upgrade2 begin
state start begin
when 20349.chat."Militär-Pferde Prüfung" with horse.get_grade()==2 and horse.get_level()==20 begin
if horse.is_dead() then
say("Dein Pferd ist Tod.")
say("Bitte belebe es erst")
say("wieder.")
elseif pc.level<=49 then
say("Dein Level ist zu gering.")
say("Du musst erst Level 50 erreichen.")
elseif horse.get_level()<=19 then
say("Dein Pferd ist zu klein.")
say("Dein Pferd muss erst")
say("Level 20 erreichen.")
elseif pc.countitem("50050")<1 then
say("Du besitzt keine")
say("Pferdemedaille.")
say("Bitte besorge erst")
say("eine.")
say("")
say("")
setstate(need_item50050)
elseif pc.countitem("50052")<1 then
say("Du hast kein Kampf-Pferdebild.")
say("Bitte kauf erst eins.")
elseif horse.get_level()==20 and not horse.is_dead() and pc.countitem("50050")>=1 and pc.level>=50 then
say("Dein Pferd ist nun")
say("groß genug für die")
say("Militär Pferde Prüfung.")
say("Du musst 300 Dämonenbogenschützen")
say("in 30 Minuten töten.")
say("Möchtest du den Test beginnen?")
say("")
local b=select("Test beginnen", "Nein, noch nicht.")
if 1==b then
if pc.countitem("50050")>=1 then
pc.removeitem("50050", 1)
setstate(test)
end
elseif 2==b then
say("Komm später wieder.")
else
say("UNKNOWN BUTTON ["..b.."]")
end
else
say("Viel erfolg.")
say("")
say("")
end
end
end
state need_item50050 begin
when letter begin
setskin(NOWINDOW)
makequestbutton("Pferdemedaille")
q.set_title("Pferdemedaille")
q.start()
end
when button begin
say(locale.NOTICE_COLOR.."Pferdemedaille"..locale.NORMAL_COLOR)
say("Gehe ins Affendungeon")
say("und besorge eine Pferdemedaille.")
setstate(start)
q.done()
end
when info begin
say(locale.NOTICE_COLOR.."Pferdemedaille"..locale.NORMAL_COLOR)
say("Gehe ins Affendungeon")
say("und besorge eine Pferdemedaille.")
setstate(start)
q.done()
end
end
state test begin
when letter begin
q.set_counter("³Ñ¾l¤`ÆF¤}½b¤â", 300-pc.getqf("kill_count"))
end
when 1002.party_kill begin
pc.setqf("kill_count", pc.getqf("kill_count")+1)
q.set_counter("³Ñ¾l¤`ÆF¤}½b¤â", 300-pc.getqf("kill_count"))
if get_time()>=pc.getqf("limit_time") then
setstate(failure)
q.done()
end
end
when letter begin
q.set_clock("³Ñ¾l®É¶¡", pc.getqf("limit_time")-get_time())
end
when enter begin
pc.setqf("limit_time", get_time()+30*60)
pc.setqf("kill_count", 0)
end
when leave begin
q.done()
end
when letter begin
setskin(NOWINDOW)
makequestbutton("Militär-Pferde Prüfung")
q.set_title("Militär-Pferde Prüfung")
q.start()
end
when button begin
say(locale.NOTICE_COLOR.."Militär-Pferde Prüfung"..locale.NORMAL_COLOR)
say("Töte 300 Dämonenbogenschützen")
say("in 30 Minuten.")
say("")
say("Deine Gruppe kann dir helfen.")
end
when info begin
say(locale.NOTICE_COLOR.."Militär-Pferde Prüfungç"..locale.NORMAL_COLOR)
say("Töte 300 Dämonenbogenschützen")
say("in 30 Minuten.")
say("")
say("Deine Gruppe kann dir helfen.")
end
when 1002.party_kill with pc.getf("horse_upgrade2","kill_count") >= 300 and pc.getqf("limit_time")>=get_time() begin
setstate(report)
end
when 20349.chat."¬d¬Ý¥Ø«eª¬ªp" begin
say("30¤ÀÄÁ¤º®ø·À300¥u¤`ÆF¤}½b¤â")
say("")
say("¤¹³\²Õ¶¤§¹¦¨¡A¦ý*n¨D±z¬°²Õ¶¤¶¤ªø")
local b=select("±µ¨ü", "©ñ±ó")
if 1==b then
elseif 2==b then
say("¯uªº*n¤¤³~©ñ±ó¦¹¦¸¾÷·|¶Ü¡H")
local b=select("¬Oªº", "¶}ª±¯º")
if 1==b then
say("¯¬§A¤U¦¸¦³¦n¹B")
setstate(start)
q.done()
elseif 2==b then
say("²{¦b¨S¦³®É¶¡¦b³oùض¢²á")
say("§Ö¥h®ø·À¤`ÆF¤}½b¤â")
else
say("UNKNOWN BUTTON ["..b.."]")
end
else
say("UNKNOWN BUTTON ["..b.."]")
end
end
end
state report begin
when letter begin
setskin(NOWINDOW)
makequestbutton("Rückkehr zum Stallburschen")
q.set_title("Rückkehr zum Stallburschen")
q.start()
end
when button begin
say(locale.NOTICE_COLOR.."Rückkehr zum Stallburschen"..locale.NORMAL_COLOR)
say("Sage dem Stallburschen")
say("das du es Geschafft hast.")
end
when info begin
say(locale.NOTICE_COLOR.."Rückkehr zum Stallburschen"..locale.NORMAL_COLOR)
say("Sage dem Stallburschen")
say("das du es Geschafft hast.")
end
when 20349.chat."HORSE2 QUEST STATE REPAIR" with horse.get_grade()!=2 begin
setstate(start)
q.done()
end
when 20349.chat."Ich hab es Geschafft!" with horse.get_grade()==2 begin
say("Na dann")
say("Herzlichen Glückwunsch.")
say("Ich stelle dir nun dein")
say("Militär-Pferdebuch her.")
say("Es dauert 24 Stunden.")
if is_test_server() then
pc.setqf("make_time", get_time()+0)
else
pc.setqf("make_time", get_time()+0*60*60)
end
setstate(wait)
end
end
state wait begin
when letter begin
setskin(NOWINDOW)
makequestbutton("Warten auf das Militär-Pferdebuch")
q.set_title("Warten auf das Militär-Pferdebuch")
q.start()
end
when button begin
say(locale.NOTICE_COLOR.."Warten auf das Militär-Pferdebuch"..locale.NORMAL_COLOR)
say("Warte bis der Stallbursche")
say("das Militär-Pferdebuch fertig hat.")
end
when info begin
say(locale.NOTICE_COLOR.."Warten auf das Militär-Pferdebuch"..locale.NORMAL_COLOR)
say("Warte bis der Stallbursche")
say("das Militär-Pferdebuch fertig hat.")
end
when login with get_time()>=pc.getf("horse_upgrade2","make_time") begin
setstate(buy)
end
when 20349.chat."HORSE2 UPGRADE QUEST STATE REPAIR" with horse.get_grade()!=2 begin
setstate(start)
q.done()
end
when 20349.chat."Militär-Pferdebuch?" with horse.get_grade()==2 begin
say("Es tut mir leid aber")
say("das Militär-Pferdebuch")
say("ist noch nicht fertig.")
say("")
end
end
state buy begin
when letter begin
setskin(NOWINDOW)
makequestbutton("Dein Pferdebuch ist Fertig!")
q.set_title("Dein Pferdebuch ist Fertig!")
q.start()
end
when button begin
say(locale.NOTICE_COLOR.."Dein Pferdebuch ist Fertig!"..locale.NORMAL_COLOR)
say("Geh zum Stallburschen und hole")
say("dein Militär-Pferdebuch ab.")
say("Es kostet 1.000.000 Yang.")
say("")
end
when info begin
say(locale.NOTICE_COLOR.."Dein Pferdebuch ist Fertig!"..locale.NORMAL_COLOR)
say("Geh zum Stallburschen und hole")
say("dein Militär-Pferdebuch ab.")
say("Es kostet 1.000.000 Yang.")
say("")
end
when 20349.chat."HORSE2 UPGRADE QUEST STATE REPAIR" with horse.get_grade()!=2 begin
setstate(start)
q.done()
end
when 20349.chat."HORSE2 UPGRADE QUEST STATE REPAIR" with horse.get_grade()==2 and horse.get_level()!=20 begin
setstate(start)
q.done()
end
when 20349.chat."Mein Militär-Pferdebuch!" with horse.get_grade()==2 and horse.get_level()==20 begin
say("Dein Militär-Pferdebuch ist fertig.")
say("Es kostet dich 1.000.000 Yang.")
say("Möchtest du das Militär-Pferdebuch")
say("nun kaufen?")
say("")
say("")
local b=select("Kaufen", "Später", "Quest beenden")
if 1==b then
if pc.money>=1000000 then
if pc.countitem("50052")>=1 then
char_log(0, "HORSE_UPGRADE2", "BEGIN")
pc.changemoney(-1000000)
char_log(0, "HORSE_UPGRADE2", "DEC money 1000000")
pc.removeitem("50052", 1)
char_log(0, "HORSE_UPGRADE2", "DEC 50052 1")
horse.unride()
horse.advance()
horse.ride()
char_log(0, "HORSE_UPGRADE2", "INC horse_advance 1")
pc.give_item2("50053", 1)
char_log(0, "HORSE_UPGRADE2", "INC 50053 1")
pc.give_item2("50060", 1)
char_log(0, "HORSE_UPGRADE2", "INC 50060 1")
char_log(0, "HORSE_UPGRADE2", "END")
say("Herzlichen Glückwunsch.")
say("Du besitzt nun ein Militär Pferd")
say("Bitte Fütter es Regelmässig.")
say("")
say("")
say("")
setstate(start)
q.done()
else
say("")
end
else
say("")
end
elseif 2==b then
say("Bis Später.")
elseif 3==b then
say("Möctest du wirklich die")
say("Quest abbrechen?")
local b=select("Ja", "Nein")
if 1==b then
setstate(start)
elseif 2==b then
else
say("UNKNOWN BUTTON ["..b.."]")
end
else
say("UNKNOWN BUTTON ["..b.."]")
end
end
end
state failure begin
when letter begin
setskin(NOWINDOW)
makequestbutton("Prüfung misslungen!")
q.set_title("Prüfung misslungen!")
q.start()
end
when button begin
say(locale.NOTICE_COLOR.."Prüfung misslungen!"..locale.NORMAL_COLOR)
say("Du hast es leider nicht geschafft")
say("300 Dämonenbogenschützen in")
say("30 minuten zu töten.")
say("Gehe zum Stallburschen um es noch")
say("einmal zu versuchen.")
setstate(start)
q.done()
end
when info begin
say(locale.NOTICE_COLOR.."Prüfung misslungen!"..locale.NORMAL_COLOR)
say("Du hast es leider nicht geschafft")
say("300 Dämonenbogenschützen in")
say("30 minuten zu töten.")
say("Gehe zum Stallburschen um es noch")
say("einmal zu versuchen.")
setstate(start)
q.done()
end
end
state __COMPLETE__ begin
when enter begin
q.done()
end
end
end
Keine eine Idee?
Echt schade.
Jede Quest die ich getestet habe war ein Fehltritt <.<
Wäre echt nice wenn da mal einer sich mal melden könnte.
|
|
|
03/13/2018, 17:06
|
#12583
|
elite*gold: 0
Join Date: Aug 2014
Posts: 86
Received Thanks: 25
|
Servus, ich hab mich n bissel seit Gerauerzeit wieder ans Questen ran gemacht, doch irgend wie will diese Quest ab "Nein", "Ja" nicht
denn nach dem man Ja oder nein gedrückt hat, passiert nix mehr...
Der State geht nicht weiter und man wird auch nicht raus geportet (Kein Error oder sonstiges)
hier ist der Abschnitt:
PHP Code:
state krieger1 begin when letter begin send_letter("Naricht von Amarok") local v=find_npc_by_vnum(20403) if 0==v then else target.vid("__TARGET__", v, "Naricht von Amarok") end end when button or info begin say_title("Naricht vom Amarok") say("Naricht vom Amarok:") say("Komm zu mir Neuling hab keine Angst") say("Ich warte hier auf dich ".. pc.get_name() .."") say("") end when __TARGET__.target.click begin target.delete("__TARGET__") say_title("Überspringe das Tutorial") say("") say("Du kennst das Tutorial schon?") local v = select("Nein", "Ja") if v == 1 then set_state( krieger2 ) elseif v == 2 then pc.warp (3330, 7450) end end end
|
|
|
03/24/2018, 12:22
|
#12584
|
elite*gold: 10
Join Date: Apr 2014
Posts: 490
Received Thanks: 75
|
Bekomme da immer "when doesnt have begin-end"
PHP Code:
quest cube begin state start begin when 20018.chat.gameforge[get_lang()].cube_text._010 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20383.chat.gameforge[get_lang()].cube_text._020 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20016.chat.gameforge[get_lang()].cube_text._030 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20413.chat.gameforge[get_lang()].cube_text._040 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20091.chat.gameforge[get_lang()].cube_text._050 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20001.chat.gameforge[get_lang()].cube_text._060 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 60003.chat.gameforge[get_lang()].cube_text._080 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20022.chat.gameforge[get_lang()].cube_text._090 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20421.chat.gameforge[get_lang()].cube_text._110 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20369.chat.gameforge[get_lang()].cube_text._130 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20416.chat.gameforge[get_lang()].cube_text._120 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end end end
|
|
|
04/29/2018, 15:50
|
#12585
|
elite*gold: 313
Join Date: Apr 2013
Posts: 585
Received Thanks: 122
|
Quote:
Originally Posted by Timau
Servus, ich hab mich n bissel seit Gerauerzeit wieder ans Questen ran gemacht, doch irgend wie will diese Quest ab "Nein", "Ja" nicht
denn nach dem man Ja oder nein gedrückt hat, passiert nix mehr...
Der State geht nicht weiter und man wird auch nicht raus geportet (Kein Error oder sonstiges)
hier ist der Abschnitt:
PHP Code:
state krieger1 begin when letter begin send_letter("Naricht von Amarok") local v=find_npc_by_vnum(20403) if 0==v then else target.vid("__TARGET__", v, "Naricht von Amarok") end end when button or info begin say_title("Naricht vom Amarok") say("Naricht vom Amarok:") say("Komm zu mir Neuling hab keine Angst") say("Ich warte hier auf dich ".. pc.get_name() .."") say("") end when __TARGET__.target.click begin target.delete("__TARGET__") say_title("Überspringe das Tutorial") say("") say("Du kennst das Tutorial schon?") local v = select("Nein", "Ja") if v == 1 then set_state( krieger2 ) elseif v == 2 then pc.warp (3330, 7450) end end end
|
Kannst du die ganze Quest posten?
Quote:
Originally Posted by Crushiero
Bekomme da immer "when doesnt have begin-end"
PHP Code:
quest cube begin state start begin when 20018.chat.gameforge[get_lang()].cube_text._010 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20383.chat.gameforge[get_lang()].cube_text._020 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20016.chat.gameforge[get_lang()].cube_text._030 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20413.chat.gameforge[get_lang()].cube_text._040 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20091.chat.gameforge[get_lang()].cube_text._050 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20001.chat.gameforge[get_lang()].cube_text._060 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 60003.chat.gameforge[get_lang()].cube_text._080 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20022.chat.gameforge[get_lang()].cube_text._090 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20421.chat.gameforge[get_lang()].cube_text._110 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20369.chat.gameforge[get_lang()].cube_text._130 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end when 20416.chat.gameforge[get_lang()].cube_text._120 with pc.level >=1 begin setskin(NOWINDOW) command("cube open") end end end
|
Probiers mal so
PHP Code:
quest cube begin state start begin when 20018.chat.gameforge[get_lang()].cube_text._010 with pc.get_level() >= 1 begin setskin(NOWINDOW) command("cube open") end when 20383.chat.gameforge[get_lang()].cube_text._020 with pc.get_level() >= 1 begin setskin(NOWINDOW) command("cube open") end when 20016.chat.gameforge[get_lang()].cube_text._030 with pc.get_level() >= 1 begin setskin(NOWINDOW) command("cube open") end when 20413.chat.gameforge[get_lang()].cube_text._040 with pc.get_level() >= 1 begin setskin(NOWINDOW) command("cube open") end when 20091.chat.gameforge[get_lang()].cube_text._050 with pc.get_level() >= 1 begin setskin(NOWINDOW) command("cube open") end when 20001.chat.gameforge[get_lang()].cube_text._060 with pc.get_level() >= 1 begin setskin(NOWINDOW) command("cube open") end when 60003.chat.gameforge[get_lang()].cube_text._080 with pc.get_level() >= 1 begin setskin(NOWINDOW) command("cube open") end when 20022.chat.gameforge[get_lang()].cube_text._090 with pc.get_level() >= 1 begin setskin(NOWINDOW) command("cube open") end when 20421.chat.gameforge[get_lang()].cube_text._110 with pc.get_level() >= 1 begin setskin(NOWINDOW) command("cube open") end when 20369.chat.gameforge[get_lang()].cube_text._130 with pc.get_level() >= 1 begin setskin(NOWINDOW) command("cube open") end when 20416.chat.gameforge[get_lang()].cube_text._120 with pc.get_level() >= 1 begin setskin(NOWINDOW) command("cube open") end end end
|
|
|
All times are GMT +2. The time now is 03:43.
|
|