quest event_ramadan begin state start begin function is_running() return (game.get_event_flag("ramadan_drop") > 0) --npc spawn end function reward_period() return (game.get_event_flag("ramadan_reward") > 0) --reward menu appear end function setting() return { ["bread"] = 30315, ["candy"] = 50183, ["plate"] = 30316, ["iftar"] = 30317, ["fruit"] = 30318, ["box"] = 50182, ["horse1"] = 71131, ["horse2"] = 71132, ["horse3"] = 71133, ["horse4"] = 71134, ["historian"] = 33002, ["beggar1"] = 33003, ["beggar2"] = 33004, ["beggar3"] = 33005, ["beggar4"] = 33006, ["beggar5"] = 33007 } end when login or enter with event_ramadan.is_running() begin local setting = event_ramadan.setting() local mapIndex = pc.get_map_index() if mapIndex == 1 or mapIndex == 21 or mapIndex == 41 then if find_npc_by_vnum(setting.historian) == 0 then if mapIndex == 1 then mob.spawn(setting.historian, 608, 617, 1, 1, 1) elseif mapIndex == 21 then mob.spawn(setting.historian, 596, 610, 1, 1, 1) elseif mapIndex == 41 then mob.spawn(setting.historian, 357, 743, 1, 1, 1) end end if find_npc_by_vnum(setting.beggar1) == 0 then if mapIndex == 1 then mob.spawn(setting.beggar1, 619, 701, 1, 1, 1) elseif mapIndex == 21 then mob.spawn(setting.beggar1, 564, 613, 1, 1, 1) elseif mapIndex == 41 then mob.spawn(setting.beggar1, 344, 723, 1, 1, 1) end end if find_npc_by_vnum(setting.beggar2) == 0 then if mapIndex == 1 then mob.spawn(setting.beggar2, 697, 580, 1, 1, 1) elseif mapIndex == 21 then mob.spawn(setting.beggar2, 699, 658, 1, 1, 1) elseif mapIndex == 41 then mob.spawn(setting.beggar2, 443, 733, 1, 1, 1) end end if find_npc_by_vnum(setting.beggar3) == 0 then if mapIndex == 1 then mob.spawn(setting.beggar3, 646, 515, 1, 1, 1) elseif mapIndex == 21 then mob.spawn(setting.beggar3, 613, 715, 1, 1, 1) elseif mapIndex == 41 then mob.spawn(setting.beggar3, 428, 651, 1, 1, 1) end end if find_npc_by_vnum(setting.beggar4) == 0 then if mapIndex == 1 then mob.spawn(setting.beggar4, 554, 550, 1, 1, 1) elseif mapIndex == 21 then mob.spawn(setting.beggar4, 635, 539, 1, 1, 1) elseif mapIndex == 41 then mob.spawn(setting.beggar4, 303, 587, 1, 1, 1) end end if find_npc_by_vnum(setting.beggar5) == 0 then if mapIndex == 1 then mob.spawn(setting.beggar5, 702, 629, 1, 1, 1) elseif mapIndex == 21 then mob.spawn(setting.beggar5, 529, 547, 1, 1, 1) elseif mapIndex == 41 then mob.spawn(setting.beggar5, 456, 673, 1, 1, 1) end end end --if end --when --gameforge.event_ramadan._010_npcChat Historiker? -- (Referenz 33002 Mob) when 33002.chat.gameforge.event_ramadan._010_npcChat with pc.getf("event_ramadan","first_notice")==0 begin local setting = event_ramadan.setting() --gameforge.event_ramadan._020_sayTitle Historiker: (referenz auf mob: 33002) say_title(gameforge.event_ramadan._020_sayTitle) -- gameforge.event_ramadan._030_say review the old and learn the new! why do you find me ? say("") say(gameforge.event_ramadan._030_say) wait() say_pc_name() -- gameforge.event_ramadan._040_say Tut mir leid, kennen wir uns? say(gameforge.event_ramadan._040_say) wait() say_title(gameforge.event_ramadan._020_sayTitle) --gameforge.event_ramadan._050_say Entschuldige, ich vergaß mich vorzustellen. Ich bin der viel gereiste Historiker. -- Wenn du Fragen zur Geschichte hast scheue dich nicht mich zu fragen. say(gameforge.event_ramadan._050_say) wait() say_pc_name() -- gameforge.event_ramadan._060_say Es ehrt mich dich kennen zu lernen. Ich sollte dich öfter aufsuchen say(gameforge.event_ramadan._060_say) pc.setqf("first_notice",1) end -- Brot: Brotkringel -- Süßigkeit: Haloa, baklawa, irgendwas süßes (ihr wisst bescheid) -- gameforge.event_ramadan._070_npcChat Was Süßes when 33002.chat.gameforge.event_ramadan._070_npcChat with pc.getf("event_ramadan","first_notice")==1 begin local setting = event_ramadan.setting() if pc.count_item(setting.bread) == 0 then say_title(gameforge.event_ramadan._020_sayTitle) -- gameforge.event_ramadan._80_say Kennst du dich mit Süßigkeiten aus? Es wird Baklava (bitte absprechen und referenz auf item: 50183) genannt. say(gameforge.event_ramadan._80_say) -- gameforge.event_ramadan._90_select_1 Ja, das kenne ich -- gameforge.event_ramadan._90_select_2 Nein, tut mir leid local s=select(gameforge.event_ramadan._90_select_1 ,gameforge.event_ramadan._90_select_2) if 2==s then --gameforge.event_ramadan._020_sayTitle Historiker: say_title(gameforge.event_ramadan._020_sayTitle) --gameforge.event_ramadan._100_say Schade, bis zum nächsten mal. say(gameforge.event_ramadan._100_say) return end say_title(gameforge.event_ramadan._020_sayTitle) --gameforge.event_ramadan._110_say Dann weißt du ja was ich meine. Wenn ein solches erhalten willst bringe mir bitte ein Brot (bitte abspreche und referenz auf item: 30315). say(gameforge.event_ramadan._110_say) wait() say_title(gameforge.event_ramadan._020_sayTitle) -- gameforge.event_ramadan._120_say Ich würde dir gerne ein Baklava (item: 50183) für 10 Brote (item: 30315) geben. Bist du damit einverstanden? say(gameforge.event_ramadan._120_say) -- gameforge.event_ramadan._130_select_1 Gerne -- gameforge.event_ramadan._130_select_2 Hab keine Zeit local s=select(gameforge.event_ramadan._130_select_1,gameforge.event_ramadan._130_select_2) if 2==s then say_title(gameforge.event_ramadan._020_sayTitle) say(gameforge.event_ramadan._100_say) return end say_title(gameforge.event_ramadan._020_sayTitle) -- gameforge.event_ramadan._140_say Ich würde dir gerne ein Baklava (item: 50183) für 10 Brote (item: 30315) geben. Bist du damit einverstanden? say(gameforge.event_ramadan._140_say) elseif pc.count_item(setting.bread) > 0 and pc.count_item(setting.bread) < 10 then say_title(gameforge.event_ramadan._020_sayTitle) -- gameforge.event_ramadan._150_say Das sind zu wenig Brote, ich kann damit nicht viel anfangen. say(gameforge.event_ramadan._150_say) elseif pc.count_item(setting.bread) >= 10 then say_title(gameforge.event_ramadan._020_sayTitle) -- gameforge.event_ramadan._160_say Das sind genug Brote, dafür kann ich dir gerne das Baklava geben. say(gameforge.event_ramadan._160_say) wait() say_title(gameforge.event_ramadan._020_sayTitle) -- gameforge.event_ramadan._170_say Sammle mehr und ich kann dir mehr davon bereiten say(gameforge.event_ramadan._170_say) pc.give_item2(setting.candy,1) pc.remove_item(setting.bread,10) end --if if not event_ramadan.is_running() then npc.purge() end end --when -- gameforge.event_ramadan._180_npcChat Leckeres Brot (item: 30315) when 33002.chat.gameforge.event_ramadan._180_npcChat with pc.getqf("first_notice")== 1 begin local setting = event_ramadan.setting() say_title(gameforge.event_ramadan._020_sayTitle) -- gameforge.event_ramadan._180_say Ich bin gesättigt mit dem leckeren Brot das du mir brachtest say(gameforge.event_ramadan._180_say) -- gameforge.event_ramadan._190_say Hast du gewusst das es viele Bettler gibt die Hunger haben? Es wäre schön wenn du auch mit Ihnen das Fastenbrechen begehen würdest say(gameforge.event_ramadan._190_say) -- gameforge.event_ramadan._200_say Bringe es Ihnen am besten auf einem Teller (bitte absprechen und refernz auf item:30316) say(gameforge.event_ramadan._200_say) say_item_vnum(setting.plate) wait() say_title(gameforge.event_ramadan._020_sayTitle) -- gameforge.event_ramadan._210_say Danke für dein Brot es ist gut. So eine weise Person sollte auch Barmherzig sein. Man wird es dir vergelten. say(gameforge.event_ramadan._210_say) end -- gameforge.event_ramadan._220_npcChat Hunger ... when 33003.chat.gameforge.event_ramadan._220_npcChat or 33004.chat.gameforge.event_ramadan._220_npcChat or 33005.chat.gameforge.event_ramadan._220_npcChat or 33006.chat.gameforge.event_ramadan._220_npcChat or 33007.chat.gameforge.event_ramadan._220_npcChat begin local setting = event_ramadan.setting() if pc.count_item(setting.iftar) == 0 then -- gameforge.event_ramadan._230_sayTitle Bettler: (referenz auf Mob: 33003~33007) say_title(gameforge.event_ramadan._230_sayTitle) say("") -- gameforge.event_ramadan._240_say Ich bin wirklich hungrig. Habe erbarmen und bringe mir ein Iftar (bitte mit Abdel absprechen und referenz auf item: 30317). Bitte bringe es mir, damit ich nicht verhungere. say(gameforge.event_ramadan._240_say) elseif pc.count_item(setting.iftar) > 0 then say_title(gameforge.event_ramadan._230_sayTitle) say("") -- gameforge.event_ramadan._250_say Das ist doch ein Iftar (referenz: 30317)? Ein warmes leckeres Brot (referenz entsprechend). Willst du diese mir geben? Es wäre mir wertvoll! say(gameforge.event_ramadan._250_say) -- gameforge.event_ramadan._260_select_1 Nimm du Hungriger -- gameforge.event_ramadan._260_select_2 Nein, ich behalte es local s = select(gameforge.event_ramadan._260_select_1,gameforge.event_ramadan._260_select_2) if 2==s then say_title(gameforge.event_ramadan._230_sayTitle) say("") -- gameforge.event_ramadan._270_say Du Unbarmherziger sei nicht so geizig mit deinem Essen. Falls du deine Meinung änderst, weißt du wo du mich findest. say(gameforge.event_ramadan._270_say) return end -- reward say_title(gameforge.event_ramadan._230_sayTitle) say("") -- gameforge.event_ramadan._280_say Es sei dir gedankt. Du bist wahrlich eine weise Person. Möge deine gute Tat hiermit belohnt sein. say(gameforge.event_ramadan._280_say) pc.give_item2(setting.box,1) pc.remove_item(setting.iftar,1) end --if if not event_ramadan.is_running() then npc.purge() end end -- gameforge.event_ramadan._290_npcChat Die Frucht des Segens when 33002.chat.gameforge.event_ramadan._290_npcChat with pc.getf("event_ramadan","fig_exchange")==0 begin local setting = event_ramadan.setting() if get_time() > pc.getqf("duration") then say_title(gameforge.event_ramadan._020_sayTitle) say("") -- gameforge.event_ramadan._300_say Ich hab auf meinen Reisen die "Frucht des Segens" (bitte Item: 30318 referenzien und ändern) kennen gelernt. Diese Frucht belohnt den Fleißigen der regelmäßig zur selben Stunde wiederkehrt. say(gameforge.event_ramadan._300_say) pc.give_item2(setting.fruit) pc.setqf("duration",get_time()+60*60*24) --24h else say_title(gameforge.event_ramadan._020_sayTitle) -- gameforge.event_ramadan._310_say Entschuldige, dich hab ich heute gesehen und du wurdest schon belohnt. Denk daran: Nur der wahrlich geduldige erreicht sein Ziel. say(gameforge.event_ramadan._310_say) end end -- gameforge.event_ramadan._320_npcChat Das Glück des Tüchtigen when 33002.chat.gameforge.event_ramadan._320_npcChat with event_ramadan.reward_period() and pc.getf("event_ramadan","fig_exchange")==0 begin local setting = event_ramadan.setting() say_title(gameforge.event_ramadan._020_sayTitle) say("") -- gameforge.event_ramadan._330_say Ich habe dich schon erwartet. Meine Zeit hier geht zu Ende und ich ziehe in die Welt um neue Geschichten zu lernen. say(gameforge.event_ramadan._330_say) wait() if pc.count_item(setting.fruit)>= 5 then --more than 5 say_title(gameforge.event_ramadan._020_sayTitle) say("") -- gameforge.event_ramadan._340_say Du hast %d Früchte des Segens (Item: 30318) für mich verwahrt. say(string.format(gameforge.event_ramadan._340_say, pc.count_item(setting.fruit))) -- gameforge.event_ramadan._350_say Würdest du mir diese geben für meine Reise? Ich will es dir auch entlohnen. say(gameforge.event_ramadan._350_say) -- gameforge.event_ramadan._360_select_1 Hier nimm -- gameforge.event_ramadan._360_select_2 Nein local s=select(gameforge.event_ramadan._360_select_1, gameforge.event_ramadan._360_select_2) if 2==s then say_title(gameforge.event_ramadan._020_sayTitle) say("") -- gameforge.event_ramadan._370_say Überlege es dir und ich warte auch dich. say(gameforge.event_ramadan._370_say) return end say_title(gameforge.event_ramadan._020_sayTitle) say("") -- gameforge.event_ramadan._380_say Danke für deine Großzügigkeit und deinen Fleiß. Bitte nehme dieses: say(gameforge.event_ramadan._380_say) -- Item: Siegel des Rappen -- gameforge.event_ramadan._390_sayReward Siegel des Rappen (referenz auf items:71131~4) say_reward(gameforge.event_ramadan._390_sayReward) say("") if pc.count_item(setting.fruit)>= 5 and pc.count_item(setting.fruit)<= 10 then pc.give_item2(setting.horse1,1) elseif pc.count_item(setting.fruit)>= 11 and pc.count_item(setting.fruit)<= 19 then pc.give_item2(setting.horse2,1) elseif pc.count_item(setting.fruit)>= 20 and pc.count_item(setting.fruit)<= 27 then pc.give_item2(setting.horse3,1) elseif pc.count_item(setting.fruit)>= 28 then pc.give_item2(setting.horse4,1) end pc.remove_item(setting.fruit,pc.count_item(setting.fruit)) pc.setqf("fig_exchange",1) else --less than 5 say_title(gameforge.event_ramadan._020_sayTitle) say("") -- gameforge.event_ramadan._400_say Du hast weniger als 5? Schade damit kann ich nicht viel anfangen. Vielleicht beim nächsten mal. say(gameforge.event_ramadan._400_say) end end when 30316.use begin local setting = event_ramadan.setting() if pc.count_item(setting.bread) >= 10 then pc.remove_item(setting.bread, 10) pc.remove_item(setting.plate, 1) pc.give_item2(setting.iftar, 1) end end end --state end --quest