Hallo Com.,
ich habe folgende quest hier im Forum gefunden...
PHP Code:
quest mining begin state start begin when 20011.chat."Minensystem starten" with pc.is_gm() and game.get_event_flag("Minensystem_an") == 0 begin
say("Hallo "..pc.get_name()) say("") say("Hier kannst du das Minensystem für den") say("gesamten Server starten") say("Das System kann allerdings nicht gestoppt") say("werden sobald is einmal gestartet wurde") say("Möchtest du Fortfahren?") local sel = select("Fortfahren", "Lieber nicht") if sel == 1 then say("Du hast das System Erfolgreich gestartet") game.set_event_flag("Minensystem_an", 1) notice_all("Das Mining System wurde Aktiviert. Besuche Uriel um mehr zu Erfahren") elseif sel == 2 then say("Okey vielleicht wann anders") end end when 20011.chat."Minensystem Cooldown" with pc.is_gm() and pc.getqf("upgrade") > get_time() begin pc.setqf("upgrade", get_time() + 1) say("Erfolgreich durchgeführt") end when 20011.chat."Minensystem" with game.get_event_flag("Minensystem_an") == 1 begin if pc.getqf("system") != 1 then say("Hallo "..pc.get_name()) say("Hier kannst du deine Eigene Mine bauen") say("Du kannst durch sie Geld und Gegenstände") say("erwirtschaften ohne etwas tun zu müssen") say("Du kannst sie auch aufstufen um schneller") say("an mehr Geld kommen zu können") wait() say("Die Maximal anzahl an Minen ist 4") say("Jede Mine kann bis zu 10 mal Aufgestuft werden") say("Mit jeder Stufe steigt die Produktion") say("Allerdings kostet die erste Mine 20'000.000 Gold") local sel = select("Fortfahren", "Lieber nicht") if sel == 1 then if pc.get_money() >= 20000000 then pc.change_money(-20000000) say("Du hast das System Erfolgreich gestartet") pc.setqf("system", 1) pc.setqf("Minen_frei", 1) pc.setqf("Mine1", 1) pc.setqf("Mine2", 0) pc.setqf("Mine3", 0) pc.setqf("Mine4", 0) pc.setqf("Hacker1", 1) pc.setqf("Hacker2", 1) pc.setqf("last_pay", get_time()) pc.setqf("upgrade", get_time()) else say("Tut mir leid die hast nicht genug Gold") say("Komm zurück wenn du 20'000.000 Gold hast") end elseif sel == 2 then say("Okey vielleicht wann anders") end elseif pc.getqf("system") == 1 then local Stunden = math.floor((get_time()-pc.getqf("last_pay")) / 60 / 60) local Minuten = math.floor(((get_time()-pc.getqf("last_pay")) / 60 ) - Stunden * 60) local Sekunden = math.floor((get_time()-pc.getqf("last_pay")) - Stunden * 60 * 60 - Minuten * 60) say("Hallo "..pc.get_name()) say("Du bist hier bei deine Mine") say("Hier kannst du sie Verwahlten") say("Deine Mine Produziert seit: "..Stunden.."h "..Minuten.."min "..Sekunden.."sek") local verwahltung = select("Minen Verwalten", "Geld Auszahlen", "Beenden") if verwahltung == 1 then say("Was möchtest du machen?") if pc.getqf("Minen_frei") > 0 then local string mine1 = "Mine 1 Verwahlten" end if pc.getqf("Minen_frei") > 1 then local string mine2 = "Mine 2 Verwahlten" else local string mine2 = "Mine 2 Freischalten" end if pc.getqf("Minen_frei") > 2 then local string mine3 = "Mine 3 Verwahlten" else local string mine3 = "Mine 3 Freischalten" end if pc.getqf("Minen_frei") > 3 then local string mine4 = "Mine 4 Verwahlten" else local string mine4 = "Mine 4 Freischalten" end local minesel = select(mine1, mine2, mine3, mine4, "Minenhacker", "Abbrechen") if minesel == 6 then say("Okey bis bald "..pc.get_name()) return end if minesel == 5 then say("Minenhacker erhöhen deine Erfolgschance beim Abbaun") say("Bei niedriger Stufe kann die Mine öfters einstürzen") local who = select("Erster Minenhacker (Stufe "..pc.getqf("Hacker1")..")", "Zweiter Minenhacker (Stufe "..pc.getqf("Hacker2")..")", "Abbrechen") if who == 3 then say("Okey bis bald "..pc.get_name()) return end say("Aktuelle Stufe: "..pc.getqf("Hacker"..who)) say("Kosten für Verbesserung: "..pc.getqf("Hacker"..who) * 1000000) say("Upgrade dauert: "..pc.getqf("Hacker"..who).." Minuten") say("Aktuelle Erfolgschance: ".. 100 - (100 / (pc.getqf("Hacker1") * 2 + pc.getqf("Hacker2") * 2)) .."%") if pc.getqf("upgrade") < get_time() then say("Du kannst wieder Upgraden") else local Stunden = math.floor((pc.getqf("upgrade")-get_time()) / 60 / 60) local Minuten = math.floor(((pc.getqf("upgrade")-get_time()) / 60 ) - Stunden * 60) local Sekunden = math.floor((pc.getqf("upgrade")-get_time()) - Stunden * 60 * 60 - Minuten * 60) say("Du kannst erst in "..Stunden.."h "..Minuten.."min "..Sekunden.."sek wieder Upgraden") end local upornot = select("Stufe Erhöhen", "Abbrechen") if upornot == 1 then say("Bist du sicher das du Fortfahren möchtest?") say("Verbessern kostet "..pc.getqf("Hacker"..who) * 1000000 .." Gold") local janein = select("Fortfahren", "Lieber nicht") if janein == 1 then if pc.getqf("Hacker"..who) == 10 then say("Du kannst die Mine Mommentan nicht weiter Aufwerten") elseif pc.getqf("upgrade") < get_time() then if pc.get_money() >= (pc.getqf("Hacker"..who) * 1000000) then pc.change_money(-pc.getqf("Hacker"..who) * 1000000) pc.setqf("Hacker"..who, pc.getqf("Hacker"..who) + 1) pc.setqf("upgrade", get_time() + pc.getqf("Hacker"..who) * 60 * 1) say("Erfolgreich durchgeführt") else say("Du hast nicht genug Gold") say("Komm wieder wenn du mehr hast") return end else say("Du must noch warten bis du wieder Upgraden kannst") return end elseif janein == 2 then say("Okey bis bald "..pc.get_name()) return end elseif upornot == 2 then say("Okey bis bald "..pc.get_name()) return end return end if pc.getqf("Mine"..minesel) == 0 then say("Du bist dabei deine nächste Mine Freizuschalten") say("Dieser Vorgang kostet 20'000.000 Gold") say("Möchtest du Fortfahren?") local sel = select("Fortfahren", "Lieber nicht") if sel == 1 then if pc.get_money() >= 20000000 then pc.change_money(-20000000) say("Du hast die Mine Erfolgreich Freigeschaltet") pc.setqf("Minen_frei", pc.getqf("Minen_frei") + 1) pc.setqf("Mine"..minesel, pc.getqf("Mine"..minesel) + 1) else say("Tut mir leid die hast nicht genug Gold") say("Komm zurück wenn du 20'000.000 Gold hast") end elseif sel == 2 then say("Okey vielleicht wann anders") end elseif pc.getqf("Mine"..minesel) == 1 then pc.setqf("temp.produktion", 50) elseif pc.getqf("Mine"..minesel) == 2 then pc.setqf("temp.produktion", 75) elseif pc.getqf("Mine"..minesel) == 3 then pc.setqf("temp.produktion", 110) elseif pc.getqf("Mine"..minesel) == 4 then pc.setqf("temp.produktion", 150) elseif pc.getqf("Mine"..minesel) == 5 then pc.setqf("temp.produktion", 225) elseif pc.getqf("Mine"..minesel) == 6 then pc.setqf("temp.produktion", 300) elseif pc.getqf("Mine"..minesel) == 7 then pc.setqf("temp.produktion", 400) elseif pc.getqf("Mine"..minesel) == 8 then pc.setqf("temp.produktion", 550) elseif pc.getqf("Mine"..minesel) == 9 then pc.setqf("temp.produktion", 750) elseif pc.getqf("Mine"..minesel) == 10 then pc.setqf("temp.produktion", 1000) end say("Willkommen bei deiner "..minesel..". Mine") say("Hier findest du Informationen zu ihr") say("Und hast die Möglichkeit sie Aufzuwerten") wait() say("Aktuelle Stufe: "..pc.getqf("Mine"..minesel)) say("Aktuelle Produktion: "..pc.getqf("temp.produktion") * 60 * 60 .." Gold pro Stunde") say("Upgrade kosten: "..pc.getqf("temp.produktion") * 60 * 60 * 24 * 5 .." Gold") say("Upgrade dauert: "..pc.getqf("Mine"..minesel) * 5 .." Minuten") if pc.getqf("upgrade") < get_time() then say("Du kannst wieder Upgraden") else local Stunden = math.floor((pc.getqf("upgrade")-get_time()) / 60 / 60) local Minuten = math.floor(((pc.getqf("upgrade")-get_time()) / 60 ) - Stunden * 60) local Sekunden = math.floor((pc.getqf("upgrade")-get_time()) - Stunden * 60 * 60 - Minuten * 60) say("Du kannst erst in "..Stunden.."h "..Minuten.."min "..Sekunden.."sek wieder Upgraden") end local upornot = select("Stufe Erhöhen", "Abbrechen") if upornot == 1 then say("Bist du sicher das du Fortfahren möchtest?") say("Verbessern kostet "..pc.getqf("temp.produktion") * 60 * 60 * 24 * 5 .." Gold") local janein = select("Fortfahren", "Lieber nicht") if janein == 1 then if pc.getqf("Mine"..minesel) == 10 then say("Du kannst die Mine Mommentan nicht weiter Aufwerten")
elseif pc.getqf("upgrade") < get_time() then if pc.get_money() >= (pc.getqf("temp.produktion") * 60 * 60 * 24 * 5) then pc.change_money(-pc.getqf("temp.produktion") * 60 * 60 * 24 * 5) pc.setqf("Mine"..minesel, pc.getqf("Mine"..minesel) + 1) pc.setqf("upgrade", get_time() + pc.getqf("Mine"..minesel) * 60 * 5) say("Erfolgreich durchgeführt") else say("Du hast nicht genug Gold") say("Komm wieder wenn du mehr hast") end else say("Du must noch warten bis du wieder Upgraden kannst") end elseif janein == 2 then say("Okey bis bald "..pc.get_name()) end elseif upornot == 2 then say("Okey bis bald "..pc.get_name()) end elseif verwahltung == 2 then say("Bist du sicher das du alles") say("Erwirtschaftete Gold Abheben willst?") local sel = select("Ja", "Nein") if sel == 1 then pc.setqf("money.temp", 0) if pc.getqf("Mine1") == 0 then elseif pc.getqf("Mine1") == 1 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 50) elseif pc.getqf("Mine1") == 2 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay"))* 75) elseif pc.getqf("Mine1") == 3 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 110) elseif pc.getqf("Mine1") == 4 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 150) elseif pc.getqf("Mine1") == 5 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 225) elseif pc.getqf("Mine1") == 6 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 300) elseif pc.getqf("Mine1") == 7 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 400) elseif pc.getqf("Mine1") == 8 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 550) elseif pc.getqf("Mine1") == 9 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 750) elseif pc.getqf("Mine1") == 10 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 1000) end if pc.getqf("Mine2") == 0 then elseif pc.getqf("Mine2") == 1 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 50) elseif pc.getqf("Mine2") == 2 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 75) elseif pc.getqf("Mine2") == 3 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 110) elseif pc.getqf("Mine2") == 4 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 150) elseif pc.getqf("Mine2") == 5 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 225) elseif pc.getqf("Mine2") == 6 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 300) elseif pc.getqf("Mine2") == 7 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 400) elseif pc.getqf("Mine2") == 8 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 550) elseif pc.getqf("Mine2") == 9 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 750) elseif pc.getqf("Mine2") == 10 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 1000) end
if pc.getqf("Mine3") == 0 then elseif pc.getqf("Mine3") == 1 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 50) elseif pc.getqf("Mine3") == 2 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 75) elseif pc.getqf("Mine3") == 3 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 110) elseif pc.getqf("Mine3") == 4 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 150) elseif pc.getqf("Mine3") == 5 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 225) elseif pc.getqf("Mine3") == 6 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 300) elseif pc.getqf("Mine3") == 7 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 400) elseif pc.getqf("Mine3") == 8 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 550) elseif pc.getqf("Mine3") == 9 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 750) elseif pc.getqf("Mine3") == 10 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 1000) end
if pc.getqf("Mine4") == 0 then elseif pc.getqf("Mine4") == 1 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 50) elseif pc.getqf("Mine4") == 2 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 75) elseif pc.getqf("Mine4") == 3 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 110) elseif pc.getqf("Mine4") == 4 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 150) elseif pc.getqf("Mine4") == 5 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 225) elseif pc.getqf("Mine4") == 6 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 300) elseif pc.getqf("Mine4") == 7 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 400) elseif pc.getqf("Mine4") == 8 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 550) elseif pc.getqf("Mine4") == 9 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 750) elseif pc.getqf("Mine4") == 10 then pc.setqf("money.temp", pc.getqf("money.temp") + (get_time()-pc.getqf("last_pay")) * 1000) end say("Es handelt sich um "..pc.getqf("money.temp").." Gold") say("Allerdings kann es auch schiefgehen") say("Und die Mine wird Verschüttet") local sel = select("Abheben", "Später") if sel == 1 then if pc.get_money() + pc.getqf("money.temp") > 2000000000 then say("Du hast zuviel Gold bei dir") say("Komm wieder wenn du weniger dabei hast") else local chance = (pc.getqf("Hacker1") * 2 + (pc.getqf("Hacker2")) * 2) local fail = number(1, chance) if fail == 1 then say("Leider ist deine Mine eingestürzt") say("Dadurch ging deine Bergung Verlohren") pc.setqf("last_pay", get_time()+1) else local bigbomb = number(1, 50) if bigbomb == 1 then pc.give_item2(27992, 1) elseif bigbomb == 2 then pc.give_item2(27993, 1) elseif bigbomb == 3 then pc.give_item2(27994, 1) end pc.change_gold(pc.getqf("money.temp")) pc.setqf("last_pay", get_time()+1) say("Du hast das Gold erfolgreich erhalten") end end end elseif sel == 2 then say("Okey bis bald") end elseif verwahltung == 3 then say("Bis bald "..pc.get_name()) end end end end end
...jedoch gefällt sie mir so nicht und ich weiß nicht so genau wie ich sie so verändere wie ich euch nun aufzähle.
Die Quest soll können:
-> Ein Item was sagen wir nach ca. einer Stunde (oder auch nach einer x beliebigen Zeit die per Zufall genereiert wird) aus der Mine "gedroppt" wird (z.B. Eisenbarren) und was man dann bei dem jeweiligen NPC abholen kann indem man durch eine Quest am Rand (Da wo auch immer steht "Herzlich Willkommen auf...") informiert wird.
-> Zudem soll es so sein, dass wenn man das Item in dem Beispiel einen "Eisenbarren" heraus holen will es auch fehlschlagen kann und der Barren somit verloren ist.
Extra info:
-> Wäre es möglich das man diese Quest 4 mal bekommt, sprich man klickt den NPC an und dann kommt da "Die Goldmine","Die Silbermine",Die Bronzemine" und vllt. "Die Eisenmine"?
Wenn ja könnte mir jemand dabei behilflich sein wie das geht das ich dann sogesehen entweder 4 Quests habe die auf einem NPC laufen oder ist das dann so eine art Multiquest (sowie bei den Multishops "Krieger Rüssis",Ninja Rüssis"...)
Frage: Was bedeutet in der Quest das "Cooldown"?
LG SkyWodka
|