|
You last visited: Today at 13:57
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
10/16/2015, 16:30
|
#11941
|
elite*gold: 0
Join Date: Oct 2015
Posts: 29
Received Thanks: 3
|
Warum funktioniert die Quest bei mir nicht ?
PHP Code:
quest hypno begin state start begin when levelup with pc.get_level() == 25 begin send_letter("Level 25") end when letter with pc.get_level() >= 25 begin send_letter("Level 25") end when button or info begin if pc.count_item(70254) >= 1 and pc.count_item(70253) >= 1 and pc.count_item(70252) >= 1 and pc.count_item(70252) >= 1 then say_title("Hallo") say_reward("Such dir einen Boni aus!") local aw = select("Boni1","Boni2", "Boni3") if aw == 1 then affect.add_collect(apply.MAX_HP,1000,60*60*24*365*60) elseif aw == 2 then affect.add_collect(apply.ATT_GRADE_BONUS,25,60*60*24*365*60) elseif aw == 3 then affect.add_collect(apply.DEF_GRADE_BONUS,50,60*60*24*365*60) end set_state(__COMPLETE__) end end state __COMPLETE__ begin end end
|
|
|
10/17/2015, 15:21
|
#11942
|
elite*gold: 35
Join Date: Aug 2014
Posts: 336
Received Thanks: 267
|
Quote:
Originally Posted by .HypnoToad
Warum funktioniert die Quest bei mir nicht ?
PHP Code:
quest hypno begin state start begin when levelup with pc.get_level() == 25 begin send_letter("Level 25") end when letter with pc.get_level() >= 25 begin send_letter("Level 25") end when button or info begin if pc.count_item(70254) >= 1 and pc.count_item(70253) >= 1 and pc.count_item(70252) >= 1 and pc.count_item(70252) >= 1 then say_title("Hallo") say_reward("Such dir einen Boni aus!") local aw = select("Boni1","Boni2", "Boni3") if aw == 1 then affect.add_collect(apply.MAX_HP,1000,60*60*24*365*60) elseif aw == 2 then affect.add_collect(apply.ATT_GRADE_BONUS,25,60*60*24*365*60) elseif aw == 3 then affect.add_collect(apply.DEF_GRADE_BONUS,50,60*60*24*365*60) end set_state(__COMPLETE__) end end state __COMPLETE__ begin end end
|
Ein end zu wenig.
Code:
quest hypno begin
state start begin
when levelup with pc.get_level() == 25 begin
send_letter("Level 25")
end
when letter with pc.get_level() >= 25 begin
send_letter("Level 25")
end
when button or info begin
if pc.count_item(70254) >= 1 and pc.count_item(70253) >= 1 and pc.count_item(70252) >= 1 and pc.count_item(70252) >= 1 then
say_title("Hallo")
say_reward("Such dir einen Boni aus!")
local aw = select("Boni1","Boni2", "Boni3")
if aw == 1 then
affect.add_collect(apply.MAX_HP,1000,60*60*24*365*60)
elseif aw == 2 then
affect.add_collect(apply.ATT_GRADE_BONUS,25,60*60*24*365*60)
elseif aw == 3 then
affect.add_collect(apply.DEF_GRADE_BONUS,50,60*60*24*365*60)
end
set_state(__COMPLETE__)
end
end
end
state __COMPLETE__ begin
end
end
|
|
|
10/19/2015, 16:52
|
#11943
|
elite*gold: 0
Join Date: Jun 2012
Posts: 340
Received Thanks: 114
|
Kann jemand diesen Block richtig stellen?
PHP Code:
when 20011.chat."Die Gegenstände" begin if pc.get_level() >= 95 then say("Du bist leider zu hoch für diese Aufgabe.") say("Du bist Level "..pc.get_level().."") say("und darfst maximal Level 94 sein.") say("Versuch doch nicht zu betrügen!") else if pc.count_item(71051) >124 and pc.count_item(50513) >49 and pc.count_item(11032) >34 then say("Welch tolle Gegenstände, ich werde") say("diese sofort anwenden und daraus euren") say("lang ersehnten Regenbogenstein herstellen.") say("Jedoch müsst ihr eine Stunde warten, bis ich") say("mit der Herstellung fertig bin.") set_state(regenbogenstein) pc.remove_item(71051, 125) pc.remove_item(50513. 50) pc.remove_item(11032, 35) pc.setqf("__regenbogen",get_global_time()) else say("Ihr habt die Items nicht!") end end end end
Hab des mit mehreren if´s in einem block noch nicht so gut drauf ^^
|
|
|
10/19/2015, 19:41
|
#11944
|
elite*gold: 21
Join Date: Mar 2015
Posts: 683
Received Thanks: 245
|
Quote:
Originally Posted by Chaosnightx3
Kann jemand diesen Block richtig stellen?
PHP Code:
when 20011.chat."Die Gegenstände" begin if pc.get_level() >= 95 then say("Du bist leider zu hoch für diese Aufgabe.") say("Du bist Level "..pc.get_level().."") say("und darfst maximal Level 94 sein.") say("Versuch doch nicht zu betrügen!") else if pc.count_item(71051) >124 and pc.count_item(50513) >49 and pc.count_item(11032) >34 then say("Welch tolle Gegenstände, ich werde") say("diese sofort anwenden und daraus euren") say("lang ersehnten Regenbogenstein herstellen.") say("Jedoch müsst ihr eine Stunde warten, bis ich") say("mit der Herstellung fertig bin.") set_state(regenbogenstein) pc.remove_item(71051, 125) pc.remove_item(50513. 50) pc.remove_item(11032, 35) pc.setqf("__regenbogen",get_global_time()) else say("Ihr habt die Items nicht!") end end end end
Hab des mit mehreren if´s in einem block noch nicht so gut drauf ^^
|
für den block hast du glaube ich ein zu viel.
|
|
|
10/19/2015, 19:52
|
#11945
|
elite*gold: 0
Join Date: Jun 2012
Posts: 340
Received Thanks: 114
|
Quote:
Originally Posted by Core ツ
für den block hast du glaube ich ein zu viel.
|
Hmm....
maybe, gut habe es mal anders geregelt, zwar nicht die beste Lösung, aber naja
, mag trotzdem jemand diesen Block richtig stellen, damit
ich es für die nächste Quest anwenden kann?
|
|
|
10/19/2015, 21:57
|
#11946
|
wild wild son
elite*gold: 220
Join Date: Feb 2011
Posts: 5,857
Received Thanks: 3,371
|
Quote:
Originally Posted by Chaosnightx3
Hmm....
maybe, gut habe es mal anders geregelt, zwar nicht die beste Lösung, aber naja
, mag trotzdem jemand diesen Block richtig stellen, damit
ich es für die nächste Quest anwenden kann?
|
Code:
when 20011.chat."Die Gegenstände" begin
if pc.get_level() >= 95 then
say("Du bist leider zu hoch für diese Aufgabe.")
say("Du bist Level "..pc.get_level().."")
say("und darfst maximal Level 94 sein.")
say("Versuch doch nicht zu betrügen!")
else
if pc.count_item(71051) >124 and pc.count_item(50513) >49 and pc.count_item(11032) >34 then
say("Welch tolle Gegenstände, ich werde")
say("diese sofort anwenden und daraus euren")
say("lang ersehnten Regenbogenstein herstellen.")
say("Jedoch müsst ihr eine Stunde warten, bis ich")
say("mit der Herstellung fertig bin.")
set_state(regenbogenstein)
pc.remove_item(71051, 125)
pc.remove_item(50513. 50)
pc.remove_item(11032, 35)
pc.setqf("__regenbogen",get_global_time())
else
say("Ihr habt die Items nicht!")
end
end
end
Den Code an sich lasse ich jetzt mal unberührt. Es ist zwar Auslegungssache, dennoch würde ich dir Folgendes ans Herz legen:
Code:
> 94 statt >= 95
>= 125 statt > 124
>= 50 statt > 49
>= 35 statt > 34
€:
Code:
pc.remove_item(50513. 50)
Da hat sich wohl ein Tippfehler eingeschlichen.
lg
|
|
|
10/19/2015, 22:45
|
#11947
|
elite*gold: 0
Join Date: Jun 2012
Posts: 340
Received Thanks: 114
|
Quote:
Originally Posted by Naverwy
Code:
when 20011.chat."Die Gegenstände" begin
if pc.get_level() >= 95 then
say("Du bist leider zu hoch für diese Aufgabe.")
say("Du bist Level "..pc.get_level().."")
say("und darfst maximal Level 94 sein.")
say("Versuch doch nicht zu betrügen!")
else
if pc.count_item(71051) >124 and pc.count_item(50513) >49 and pc.count_item(11032) >34 then
say("Welch tolle Gegenstände, ich werde")
say("diese sofort anwenden und daraus euren")
say("lang ersehnten Regenbogenstein herstellen.")
say("Jedoch müsst ihr eine Stunde warten, bis ich")
say("mit der Herstellung fertig bin.")
set_state(regenbogenstein)
pc.remove_item(71051, 125)
pc.remove_item(50513. 50)
pc.remove_item(11032, 35)
pc.setqf("__regenbogen",get_global_time())
else
say("Ihr habt die Items nicht!")
end
end
end
Den Code an sich lasse ich jetzt mal unberührt. Es ist zwar Auslegungssache, dennoch würde ich dir Folgendes ans Herz legen:
Code:
> 94 statt >= 95
>= 125 statt > 124
>= 50 statt > 49
>= 35 statt > 34
€:
Code:
pc.remove_item(50513. 50)
Da hat sich wohl ein Tippfehler eingeschlichen.
lg
|
jetzt sehe ich ihn... gut, hätte Funktion ansich so funktioniert?
Danke für den tipp Habe das bisher immer so gemacht; Gab nie Probleme ^^
|
|
|
10/20/2015, 10:09
|
#11948
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by Chaosnightx3
jetzt sehe ich ihn... gut, hätte Funktion ansich so funktioniert?
Danke für den tipp Habe das bisher immer so gemacht; Gab nie Probleme ^^
|
Probleme gibt es bei den abfragen nicht, allerdings ist es immer sinnvoll sie so zu schreiben wie man es auch sagen würde.
Beispiel:
Wenn der Spieler über dem maxlvl ist, dann...
vs.
Wenn der Spieler über oder gleich dem maxlvl+1 ist, dann...
Und jetzt überleg dir, was mehr Sinn macht
|
|
|
10/21/2015, 18:06
|
#11949
|
elite*gold: 0
Join Date: Jun 2012
Posts: 340
Received Thanks: 114
|
Hab meine Code Varainte.. das passt scho erstmal.^^
Jetzt mal was anderes:
PHP Code:
state stonerainbow begin when 20011.chat."Die Fertigstellung" begin if get_global_time() > pc.getqf("__wartezeit")+3600 then say("Oh, ihr seid da! Gerade bin ich") say("fertig geworden. Euer Warten hat sich") say("gelohnt. Heutzutage wird dieser Gegenstand kaum") say("erwähnt, da dieser vor langer Zeit") say("in Vergessenheit geraten ist. Schade, dass") say("dieser wieder entdeckt wurde. Der Seelenstein") say("ist doch ein sehr toller Ersatz. *grins*") say("Bevor ich euch den Regenbogenstein übergeben") say("kann, möchte ich bitte, dass ihr mir 5x 500kk") say("zahlt für die Bearbeitung.") set_state(yang) else say("Ihr zerrt an meiner Geduld!") say("Ich gebe euch nun eine Beschäftigung,") say("bis ich fertig bin! Nur so kann ich sicher") say("sein, nicht mehr gestört zu werden. Viel Spaß") say("beim Laufen! Und.... Hinfort!") say("Oder wolltest du etwa bugusen???") say("") say_reward("Zeit nicht vorbei.") pc.remove_item(11033, 200) pc.warp(1117649, 27671) end end end
was ich jetzt net kapiere...
PHP Code:
SYSERR: Oct 21 18:03:27 :: RunState: LUA_ERROR: attempt to call a string value SYSERR: Oct 21 18:03:27 :: WriteRunningStateToSyserr: LUA_ERROR: quest rainbowstonecreate.stonerainbow click
hat bisher in jeder Quest funktioniert, außer bei der...
da closed sich das quest fenster einfach wieder...
|
|
|
10/24/2015, 03:49
|
#11950
|
elite*gold: 0
Join Date: Oct 2015
Posts: 67
Received Thanks: 13
|
PHP Code:
local prank = 1 local color_r = 1 local color_b = 1 local color_g = 1 mysql_query("UPDATE player.player SET prank = "..prank..", color_r = "..color_r..", color_b = "..color_b..", color_g = "..color_g.." WHERE id = "..pc.get_player_id().." LIMIT 1;")
Kann mir jemand diesen Code ergänzen ?
Ich möchte prank nicht auf 1 setzen sonder die spalte des spieler leeren
|
|
|
10/24/2015, 09:54
|
#11951
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Set prank = null
|
|
|
10/26/2015, 01:26
|
#11952
|
elite*gold: 110
Join Date: Jun 2015
Posts: 85
Received Thanks: 22
|
Problemme mit 2 Quest Bitte um Hilfe
Hallo Habe Ein problemm mit Eis Run Quest Wenn ich in gruppe bin Klick ich denn Npc an und drücke ja ich will beitretten und dann tut sich nicht er portet mich nicht rein wo liegt das Problemm
EIS RUN Quest
PHP Code:
--[[ -- Nemeres Warte (Snow Dungeon) -- lvl 100 -- Copyright ©Zymos/Risan -- Version 2.0 -- Create: 08.06.2014 -- Need ga_me_re_vi_sion: 40250 -- INFO: ga_me_re_vi_sion 40301 oder P40301 wird benötigt für: MobVnum 8058 kann nur Schamanen DMG anfügen. MobVnum 20399 kann nur Schamanen und Ninja DMG anfügen. Neue Questfuntion: drop_item_and_select() ersetzt pc.give_item2_select(). ]] quest snow_dungeon begin state start begin when 9010.chat."Spawn Statue" with snow_dungeon.is_nemeres_dungeon() == true begin d.purge() d.spawn_mob_dir(20397, 173,262,1) setskin(NOWINDOW) end when 9010.chat."TESTSERVER: SnowD Jump level 9" with snow_dungeon.is_nemeres_dungeon() == true begin local set = snow_dungeon.get_settings() d.notice("Der Richtige Schlüssel wurde gefunden, in wenigen Sekunden geht es in den nächsten Stock.") server_timer("Jp_9",6,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_9.txt") setskin(NOWINDOW) end when 9010.chat."TESTSERVER: SnowD Jump level 10" with snow_dungeon.is_nemeres_dungeon() == true begin local set = snow_dungeon.get_settings() server_timer("Jp_Boss",3,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_boss.txt") local v = set.BossVnumGroup d.spawn_group(v, 928, 335, 5 ,1, 1) -- (Input from SRC: argument: vnum,x,y,radius,aggressive,count) setskin(NOWINDOW) end when 9010.chat."TESTSERVER: SnowD Spawn Boss" with snow_dungeon.is_nemeres_dungeon() == true begin local set = snow_dungeon.get_settings() local v = set.BossVnumGroup d.spawn_group(v, 928, 335, 5 ,1, 1) -- (INFO from SRC: argument: vnum,x,y,radius,aggressive,count) end when 9010.chat."TESTSERVER: SnowD Ending" with snow_dungeon.is_nemeres_dungeon() == true begin server_timer("Jp_OutAll",5,d.get_map_index()) say("done") end -- when 30331.use begin --key_level_2 -- LIB_writelog("{"..pc.get_local_x()..","..pc.get_local_y().."}",3,"snowcordis.txt") -- d.spawn_mob(20399, pc.get_local_x(), pc.get_local_y()) -- chat("write Nordstern Kordinaten") -- end when 9010.chat."TESTSERVER: SnowD Spawn create Cords Test level 5" with snow_dungeon.is_nemeres_dungeon() == true begin snow_dungeon._Create_Stones_level5() setskin(NOWINDOW) end when 9010.chat."TESTSERVER: SnowD Create Key level 5" with snow_dungeon.is_nemeres_dungeon() == true begin snow_dungeon._DropKeyOnLevel5() setskin(NOWINDOW) end when 9010.chat."TESTSERVER: SnowD Get Kords from Level" with snow_dungeon.is_nemeres_dungeon() == true begin local set = snow_dungeon.get_settings() local warp_to_level = set.Position_level_1 local level = 2 say("old: x: "..warp_to_level[1].." y:"..warp_to_level[2].."") local warp_to_level = set. _G[ "Position_level_"..level ] say("new: x: "..warp_to_level[1].." y:"..warp_to_level[2].."") --DONT WORKS! end function get_settings() local snow_dungeon_settings = {} snow_dungeon_settings.map_index = 352 --Mapindex snow_dungeon_settings.base_cord = {59680, 22010 } --Base Kordinaten snow_dungeon_settings.outside_entry_pos = {61,4321,1667} --Mapindex, Exit Position (Eisland) snow_dungeon_settings.need_level = 100 --Ab wann ist der Dungeon betretbar. snow_dungeon_settings.need_level_group = 100 --Benötigte Level für Gruppenmitglieder snow_dungeon_settings.WaitBeforOutAllOnExit = 60 --Wartezeit bevor alle alle herausteleportiert werden bei einem erfolgreichen Run. (Empfohlen 60) snow_dungeon_settings.NextJumpTime = 5 --Wann man zur nächsten ebene Gejumpt wird (timer) (Empfohlen 5) snow_dungeon_settings.DurationLoopTimer = 45 --Welchen intervall die Level und Missionen geprüft werden sollen. (Empfohlen 45) snow_dungeon_settings.wait_duration = 60*60*4 --Ab wann der Dungeon wieder betretbar ist (PartyLeader) snow_dungeon_settings.maxlife_time_on_dungeon = 60*60*1 --Maximale Zeit für den Dungeon. snow_dungeon_settings.DurationMaxOnReJoinGroup = 60*5 --Maximale Zeit innerhalb wann man wieder in die Gruppe joinen kann. snow_dungeon_settings.key_level_2 = 30331 --KeyVnum für die 2.Ebene --Frostschlüssel snow_dungeon_settings.NpcVnum_level_5 = 20398 --MobVnum von 5.Ebene --Würfel des Arktos snow_dungeon_settings.StoneCount_level_5 = 6 --Wie viele Würfel des Arktos sollen erscheinen? snow_dungeon_settings.Key_on_level_5 = 30332 --KeyVnum von 5.Ebene --Nordstern snow_dungeon_settings.StoneCords_level_5 = { {432,508},{437,493},{448,492},{448,476},{467,475},{466,464}, {462,450},{458,428},{446,439},{431,431},{415,416},{402,427}, {397,438},{375,434},{374,456},{390,468},{385,492},{402,505}, {404,489},{386,482} } --Positionen von Würfel des Arktos snow_dungeon_settings.MobVnum_level_6 = 8058 --MobVnum von 6.Ebene --Metin der Kälte snow_dungeon_settings.MobVnum_level_7 = 6151 --MobVnum von 7.Ebene --Szel snow_dungeon_settings.SzelCords_level_7 = { {752,499},{758,479},{772,452},{763,444},{750,451},{728,441}, {726,455},{718,482},{715,491},{731,473},{748,429} } --Positionen von Szel snow_dungeon_settings.Key_on_level_8 = 30333 --KeyVnum von 8.Ebene --Eisblumenschlüssel snow_dungeon_settings.NpcVnum_level_9 = 20399 --MobVnum von 9.Ebene --Säule des Norddrachen snow_dungeon_settings.BossVnumGroup = 6062 --GroupMobVnum vom Boss --(Group.txt) snow_dungeon_settings.BossVnum = 6191 --MobVnum von 10.Ebene --Nemere(6191) snow_dungeon_settings.Position_level_1 = { 171,271 } --Position ebene 1 --Startposition --Töte alle Monster auf dieser Ebene. snow_dungeon_settings.Position_level_2 = { 761,270 } --Position ebene 2 --Finde den richtigen Frostschlüssel, nur ein Schamane kann ihn benutzen. snow_dungeon_settings.Position_level_3 = { 187,491 } --Position ebene 3 --Töte alle Monster auf dieser Ebene. snow_dungeon_settings.Position_level_4 = { 421,259 } --Position ebene 4 --Töte alle Monster auf dieser Ebene. snow_dungeon_settings.Position_level_5 = { 419,530 } --Position ebene 5 --Öffnet die Siegel an den Würfel des Arktos in der richtigen Reihenfolge. (Zieht Nordstern auf die Würfel) snow_dungeon_settings.Position_level_6 = { 571,706 } --Position ebene 6 --Töte alle Monster auf dieser Ebene. Danach Zersöre den Metin der Kälte (Nur ein Schamane kann ihn Schaden) snow_dungeon_settings.Position_level_7 = { 746,534 } --Position ebene 7 --Töte alle Monster auf dieser Ebene und Szel snow_dungeon_settings.Position_level_8 = { 303,710 } --Position ebene 8 --Der Eisblumenschlüssel muss gedroppt werden, jedoch kann dieser nur von Schamanen und Ninja benutzt werden. snow_dungeon_settings.Position_level_9 = { 848,693 } --Position ebene 9 --Zerstört die Säule des Norddrachen. Nur Ninjas und Schamanen können ihm Schaden zufügen. snow_dungeon_settings.Position_level_10 = { 927,391 } --Position ebene 10 (BossZone) --Besiege Nemere, den König über Frost und Eis. snow_dungeon_settings.Enable_TestServerMode = false --Ob TestServer mode aktiviert ist. Wenn ja werden die Aufgaben schneller beendet. snow_dungeon_settings.IsNewga_me_re_vi_sion = true --Need ga_me_re_vi_sion 40301 return snow_dungeon_settings end function is_TestServerMode() local set = snow_dungeon.get_settings() return set.Enable_TestServerMode end function is_nemeres_dungeon() local set = snow_dungeon.get_settings() local map = pc.get_map_index() if map >= (set.map_index * 10000) and map < (set.map_index * 10000 + 9000) then return true else return false end end when 20395.chat."Deiner Gruppe wieder beitreten" with (party.is_party() and d.find(party.getf("ice_dungeon_map_index"))) begin local set = snow_dungeon.get_settings() local n = party.getf("ice_dungeon_map_index") local cord = set.base_cord local level = d.getf_from_map_index("level", n) --say("Aktuelles Dungeon Level deiner Gruppe: "..level.."") if level == 0 then say_npc_name() say("Deine Gruppe hat den Run bereits beendet.") return end if pc.getqf("out_party_time") < get_global_time() then say_npc() say("") say("Du hast länger als "..math.ceil(set.DurationMaxOnReJoinGroup /60) .." Minute(n) vor dem") say("Eisberg verweilt und kannst jetzt nicht") say("mehr eintreten.") return end if n == 0 then setskin(NOWINDOW) return else say_npc() say("") say("Möchtest du deiner Gruppe wieder beitreten?") if select("Ja","Nein") == 1 then local warp_to_level = set.Position_level_1 local level = d.getf_from_map_index("level", n) if level >= 1 and level <= 10 then if level == 1 then warp_to_level = set.Position_level_1 elseif level == 2 then warp_to_level = set.Position_level_2 elseif level == 3 then warp_to_level = set.Position_level_3 elseif level == 4 then warp_to_level = set.Position_level_4 elseif level == 5 then warp_to_level = set.Position_level_5 elseif level == 6 then warp_to_level = set.Position_level_6 elseif level == 7 then warp_to_level = set.Position_level_7 elseif level == 8 then warp_to_level = set.Position_level_8 elseif level == 9 then warp_to_level = set.Position_level_9 elseif level == 10 then warp_to_level = set.Position_level_10 end pc.warp((cord[1] + warp_to_level[1])*100,(cord[2] + warp_to_level[2])*100,n) else return end end end end when 20395.chat."Nemeres Warte" begin local set = snow_dungeon.get_settings() local need_level = set.need_level say_npc() say("") say("Willst du mit deiner Gruppe wirklich die") say("Nemeres Warte betreten?") if select("Ja, wir wollen eintreten!","Nein, uns ist es zu kalt dort...") == 2 then return end if (pc.is_gm() and pc.getf("snow_dungeon","duration") >= get_global_time()) then say("Your are GameMaster, remove the duration?") if select("Yes","No") == 1 then pc.setf("snow_dungeon","duration",0) return end end if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then say("TestServer Mode is enable.") say("Join now") timer("make_dungeon",3) return end if not party.is_leader() then say_npc() say("Ich schätze deinen Mut, doch alleine wirst du in") say("der Nemres-Warte in dein Verderben rennen.") say("Stelle eine starke Gruppe zusammen und ich werde") say("dir Einlass gewähren.") return end if pc.get_level() < need_level then say("Ihr braucht mindestens level "..need_level.."") say("um diesen Dungeon betreten zu können.") return end if pc.getf("snow_dungeon","duration") >= get_global_time() then say_npc() say("Die Wartezeit für den Wiedereintritt in die") say("Nemeres-Warte ist noch nicht abgelaufen. ") say("Verb. Zeit: "..LIB_duration(pc.getf("snow_dungeon","duration") - get_global_time()).."") return end if snow_dungeon._CheckMembersLevel() == false then return else timer("make_dungeon",2) end end when 30124.chat."Die Schlacht beginnen" begin --Eisiger Löwe say_npc() say("") say("Sicher das ihr anfangen wollt?") if select("Ja","Nein, lieber doch nicht") == 1 then local set = snow_dungeon.get_settings() local loop_durr = set.DurationLoopTimer local wait_durations = set.wait_duration local t = get_global_time() d.setf("LastTimeGetOutPut",0) server_loop_timer("CheckLevelAndCountKillOnMobs",loop_durr,d.get_map_index()) d.regen_file("data/dungeon/ice_dungeon/zone_1.txt") d.setf("Start_Time",t + set.maxlife_time_on_dungeon) server_timer("Jp_OutAllFailNotice",(t + set.maxlife_time_on_dungeon) - t,d.get_map_index()) --pc.setqf("duration",t + wait_durations) d.setqf2("snow_dungeon","duration",t + wait_durations) d.setf("level",1) d.notice("Die ersten Monster erscheinen, tötet alle um in den nächsten Stock zu gelangen.") npc.purge() snow_dungeon._GetLastTime() end setskin(NOWINDOW) end when make_dungeon.timer begin local set = snow_dungeon.get_settings() local cord = set.base_cord local start_pos = set.Position_level_1 local t = get_global_time() d.new_jump_party(set.map_index,(cord[1] + start_pos[1]), (cord[2] + start_pos[2])) --d.new_jump_all(set.map_index,(cord[1] + start_pos[1]), (cord[2] + start_pos[2])) snow_dungeon._ClearAlls() d.setf("party_leader_pid",party.get_leader_pid()) party.setf("ice_dungeon_map_index",d.get_map_index()) d.spawn_mob_dir(20397, 173,262,1) --Eisiger Löwe end function _ClearAlls() local d_index = d.get_map_index() clear_server_timer("CheckLevelAndCountKillOnMobs",d_index) clear_server_timer("Jp_1",d_index) clear_server_timer("Jp_2",d_index) clear_server_timer("Jp_3",d_index) clear_server_timer("Jp_4",d_index) clear_server_timer("Jp_5",d_index) clear_server_timer("Jp_6",d_index) clear_server_timer("Jp_7",d_index) clear_server_timer("Jp_8",d_index) clear_server_timer("Jp_9",d_index) clear_server_timer("Jp_10",d_index) clear_server_timer("Jp_OutAll",d_index) clear_server_timer("Jp_OutAllFail",d_index) clear_server_timer("Jp_OutAllFailNotice",d_index) d.setf("level",0) d.setf("party_leader_pid",0) d.setf("Start_Time",0) d.setf("LastTimeGetOutPut",0) d.setf("Stone_5_count",0) d.setf("Stone_5_item_fail",0) d.clear_regen() d.kill_all() end function _CheckMembersLevel() local set = snow_dungeon.get_settings() local user_fail_level = {} local pids = {party.get_member_pids()} local need_level = set.need_level_group local have_ninja = false local have_shaman = false for i = 1, table.getn(pids), 1 do q.begin_other_pc_block(pids[i]) if pc.get_level() < need_level then table.insert(user_fail_level, table.getn(user_fail_level) +1, pc.get_name()) end local job = pc.get_job() if job == 1 -- Ninja weiblich or job == 5 --Ninja männlich then have_ninja = true end if job == 3 -- Schamane weiblich or job == 7 --Schamane männlich then have_shaman = true end q.end_other_pc_block() end if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then --dchat("TestServer Mode is enable.") return true end if have_ninja == false then say("Ihr könnt diesen Dungeon nicht ohnen einen") say("Ninja betreten.") return false end if have_shaman == false then say("Ihr könnt diesen Dungeon nicht ohnen einen") say("Schamanen betreten.") return false end if table.getn(user_fail_level) >= 1 then say_npc() say("") say("Einige Mitglieder einer Gruppe haben das") say("Level "..need_level.." noch nicht erreicht:") for x = 1, table.getn(user_fail_level), 1 do say(color(1,1,0), " "..user_fail_level[x]) end return false end if table.getn(user_fail_level) == 0 then return true end end when logout begin if snow_dungeon.is_nemeres_dungeon() == true then local set = snow_dungeon.get_settings() pc.setqf("out_party_time",get_global_time() + set.DurationMaxOnReJoinGroup) --snow_dungeon.unregister_name() end end when login begin if snow_dungeon.is_nemeres_dungeon() == true then local set = snow_dungeon.get_settings() local backk = set.outside_entry_pos pc.set_warp_location(backk[1], backk[2],backk[3]) if d.getf("party_leader_pid") != party.get_leader_pid() then chat("nemeres_wait_dungeon #RAUS:# Outside, your Group is not on this Dungeon") chat("nemeres_wait_dungeon #RAUS:#debug -> "..d.getf("party_leader_pid").." != "..party.get_leader_pid().."") d.exit() return end if pc.get_level() < set.need_level_group then chat("nemeres_wait_dungeon #RAUS:# My level is low") d.exit() return end --chat("Willkommen im Nemeres Warte, Ihr habt "..math.ceil((d.getf("Start_Time") - get_global_time()) /60) .." Minuten Zeit.") --notice("Tötet alle Monster auf dieser Ebene um in den nächsten Stock zu gelangen.") --snow_dungeon._GetLastTime() end end function _GetLastTime() local c = get_global_time() local t = d.getf("Start_Time") - c local o = d.getf("LastTimeGetOutPut") --d.notice("CurrentTime: "..c.." Last: "..o.."") if c >= o then if t >= 60 then d.notice("Euch verbleiben ca "..math.ceil(t / 60).." Minute(n).") else d.notice("Euch verbleiben "..t .." Sekunde(n).") end if t >= (60*10) then d.setf("LastTimeGetOutPut",c + 60*5) elseif t >= (60*5) then d.setf("LastTimeGetOutPut",c + 60*2) else d.setf("LastTimeGetOutPut",c + 10) end --d.setf("LastTimeGetOutPut",c + 60*number(3,5)) -- Random end end when Jp_OutAllFailNotice.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Zeit ist abgelaufen.") server_timer("Jp_OutAll",1,d.get_map_index()) end end when CheckLevelAndCountKillOnMobs.server_timer begin if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() local level = d.getf("level") local mob_count = d.count_monster() local next_jump_time = set.NextJumpTime --d.notice("level: "..level.." mob_count: "..mob_count.."") if level == 1 and mob_count <= 0 then d.notice("Ihr habt alle Monster besiegt, in wenigen Sekunden geht es in den nächsten Stock.") d.notice("") server_timer("Jp_2",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.set_regen_file("data/dungeon/ice_dungeon/zone_2.txt") elseif level == 3 and mob_count <= 0 then d.notice("Ihr habt alle Monster besiegt, in wenigen Sekunden geht es in den nächsten Stock.") d.notice("") server_timer("Jp_4",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_4.txt") elseif level == 4 and mob_count <= 0 then d.notice("Ihr habt alle Monster besiegt, in wenigen Sekunden geht es in den nächsten Stock.") d.notice("") server_timer("Jp_5",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.set_regen_file("data/dungeon/ice_dungeon/zone_5.txt") elseif level == 6 and mob_count <= 0 then local MobStonelvl6 = set.MobVnum_level_6 d.notice("Ihr habt alle Monster besiegt, Der "..mob_name(MobStonelvl6).." erscheint.") d.notice("") d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_6.txt") d.spawn_mob(MobStonelvl6,570,649) elseif level == 7 and mob_count <= 0 then d.notice("Ihr habt alle Monster besiegt, in wenigen Sekunden geht es in den nächsten Stock.") d.notice("") server_timer("Jp_8",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.set_regen_file("data/dungeon/ice_dungeon/zone_8.txt") end snow_dungeon._GetLastTime() end end when Jp_2.server_timer begin --Jump Level 2 if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() local v = set.key_level_2 d.setf("level",2) local cord = set.base_cord local pos = set.Position_level_2 d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2])) d.notice("findet den richtigen "..item_name(v).." um weiter zu gelangen.") d.notice("") end end when 30331.use with snow_dungeon.is_nemeres_dungeon() == true begin --key_level_2 local set = snow_dungeon.get_settings() local next_jump_time = set.NextJumpTime local job = pc.get_job() local level = d.getf("level") if level == 2 then if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then --dchat("SET VARIABLE JOB 3") job = 3 end if job == 3 -- Schamane weiblich or job == 7 --Schamane männlich then if number(1,3) == 1 then --or d.count_monster() < 10 then d.notice("Der Richtige Schlüssel wurde gefunden, in wenigen Sekunden geht es in den nächsten Stock.") server_timer("Jp_3",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_3.txt") item.remove() else d.notice("Das war der Falsche Schlüssel.") item.remove() end else d.notice("Nur Schamanen können ihn benutzen.") return end end end when Jp_3.server_timer begin --Jump Level 3 if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() d.setf("level",3) local cord_MQ = set.base_cord local pos = set.Position_level_3 d.jump_all((cord_MQ[1] + pos[1]), (cord_MQ[2] + pos[2])) d.notice("Tötet alle Monster auf dieser Ebene um in den nächsten Stock zu gelangen.") end end when Jp_4.server_timer begin --Jump Level 4 if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() d.setf("level",4) local cord = set.base_cord local pos = set.Position_level_4 d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2])) d.notice("Tötet alle Monster auf dieser Ebene um in den nächsten Stock zu gelangen.") end end when Jp_5.server_timer begin --Jump Level 5 if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() local v = set.NpcVnum_level_5 d.setf("level",5) local cord = set.base_cord local pos = set.Position_level_5 d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2])) d.notice("Öffnet die Siegel an den "..mob_name(v).." in der richtigen Reihenfolge.") if set.IsNewga_me_re_vi_sion == true then d.notice("Die Schlüssel lassen die Monster fallen...") else d.notice("Die Schlüssel landen automatisch ins Inventar...") end snow_dungeon._Create_Stones_level5() end end function _DropKeyOnLevel5() if number(1,1000) >= 666 then --Abbruch der weiteren funtion -> Damit es spannend bleibt bei den würfeln... :P return end local set = snow_dungeon.get_settings() local count = set.StoneCount_level_5 local vnum = set.Key_on_level_5 local get_random_unique = d.get_unique_vid("stone5_"..number(1,count).."") local fail_count = d.getf("Stone_5_item_fail") +1 local search = d.getf("Stone_5_count") local search2 = d.get_unique_vid("stone5_"..search.."") if search2 != get_random_unique then d.setf("Stone_5_item_fail",fail_count) end -- if set.IsNewga_me_re_vi_sion == true then --New function game.drop_item_and_select(vnum,1) else pc.give_item2_select(vnum,1) end --dchat("Creaty Key fail_count: "..fail_count.."") if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then --Wenn TestServer Modus item.set_socket(1,search2) d.setf("Stone_5_item_fail",0) elseif fail_count > 6 then --Wenn mehr wie x mal nicht richtig erstellt wird, dann kommt der richtige Key item.set_socket(1,search2) d.setf("Stone_5_item_fail",0) else item.set_socket(1,get_random_unique) end end function _Create_Stones_level5() local set = snow_dungeon.get_settings() local stone_level5_count_MQ = set.StoneCount_level_5 local c = set.StoneCords_level_5 --{ {432,508},{437,493},{448,492},{448,476},{467,475},{466,464}} local v = set.NpcVnum_level_5 for i = 1, stone_level5_count_MQ, 1 do local n = number(1,table.getn(c)) --d.spawn_mob(20398, c[n][1], c[n][2]) d.set_unique("stone5_"..i.."", d.spawn_mob(v, c[n][1], c[n][2])) --d.set_unique("stone5_"..i.."", mob.spawn(20398, c[n][1], c[n][2],1,1,1)) --GEHT --d.set_unique("stone5_"..i.."", d.spawn_mob_ac_dir(20398, c[n][1], c[n][2],i)) --GEHT table.remove(c,n) if i == 1 then d.setf("Stone_5_count",1) d.setf("Stone_5_item_fail",0) end end end when 20398.take begin --NpcVnum_level_5 if snow_dungeon.is_nemeres_dungeon() == true then local set = snow_dungeon.get_settings() local stone_level5_count = set.StoneCount_level_5 local next_jump_time = set.NextJumpTime local vnum = item.get_vnum() local key_level_5 = set.Key_on_level_5 --30332 local unique_item = item.get_socket(1) --dchat("unique_item: "..unique_item.."") if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then d.notice("TESTSERVERMODE, in wenigen Sekunden geht es in den nächsten Stock.") npc.purge() item.remove() server_timer("Jp_6",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_6.txt") return end if vnum == key_level_5 then local npc_vid = npc.get_vid() local search = d.getf("Stone_5_count") local search2 = d.get_unique_vid("stone5_"..search.."") --dchat("npc_vid: "..npc_vid.." search:"..search.." search2:"..search2.." ") if npc_vid == search2 then if unique_item == npc_vid then local new = search +1 if new > stone_level5_count then d.notice("Der Letzte Stein wurde richtig endeckt, in wenigen Sekunden geht es in den nächsten Stock.") npc.purge() item.remove() server_timer("Jp_6",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_6.txt") else d.notice("Der "..search..".Stein wurde endeckt. Es müssen noch weitere ".. stone_level5_count - search .." Steine in der richtigen Reihenfolge gefunden werden.") npc.purge() item.remove() end d.setf("Stone_5_count",new) else chat("Das ist zwar der richtige Stein, aber der falsche Schlüssel.") item.remove() end else chat("Das ist nicht der richtige Stein.") end end end --if is dungeon end end --when end when Jp_6.server_timer begin --Jump Level 6 if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() local v = set.MobVnum_level_6 d.setf("level",6) local cord = set.base_cord local pos = set.Position_level_6 d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2])) d.notice("Ihr habt alle Monster getötet. Tötet alle Monster und zerstört den "..mob_name(v).."") d.notice("Nur Schamanen können ihm Schaden hinzufügen.") --d.spawn_mob(v,570,649) end end when Jp_7.server_timer begin --Jump Level 7 if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() local v = set.MobVnum_level_7 d.setf("level",7) local cord = set.base_cord local pos = set.Position_level_7 d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2])) d.notice("Ihr habt den Metinstein Erfolgreich zerstört nun Tötet alle Monster und "..mob_name(v)..".") end end when Jp_8.server_timer begin --Jump Level 8 if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() local v = set.Key_on_level_8 d.setf("level",8) local cord = set.base_cord local pos = set.Position_level_8 d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2])) d.notice("Tötet solange Monster bis ihr "..item_name(v).." Habt.") d.notice("Aber nur Schamanen und Ninjas können ihn benutzen.") end end when 30333.use with snow_dungeon.is_nemeres_dungeon() == true begin --Key_on_level_8 local set = snow_dungeon.get_settings() local next_jump_time = set.NextJumpTime local level = d.getf("level") local job = pc.get_job() if level == 8 then if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then --dchat("SET VARIABLE JOB 3") job = 3 end if job == 1 -- Ninja weiblich or job == 5 --Ninja männlich or job == 3 -- Schamane weiblich or job == 7 --Schamane männlich then if number(1,3) == 1 then d.notice("Der Richtige Schlüssel wurde gefunden, in wenigen Sekunden geht es in den nächsten Stock.") server_timer("Jp_9",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_9.txt") item.remove() else d.notice("Das war der Falsche Schlüssel.") item.remove() end else d.notice("Nur Schamanen und Ninja können das benutzen.") return end end end when Jp_9.server_timer begin --Jump Level 9 if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() local v = set.NpcVnum_level_9 d.setf("level",9) local cord = set.base_cord local pos = set.Position_level_9 d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2])) d.notice("Zerstört die "..mob_name(v).." ") d.notice("Aber nur Schamanen und Ninjas können ihn schanden zufügen.") d.notice("") d.spawn_mob(v,849,655) end end when Jp_Boss.server_timer begin --Jump Level BossZone if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() local v = set.BossVnum d.setf("level",10) local cord = set.base_cord local pos = set.Position_level_10 d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2])) d.notice("Besiegt "..mob_name(v)..", den König über Frost und Eis.") end end when kill begin if snow_dungeon.is_nemeres_dungeon() == true then local set = snow_dungeon.get_settings() local next_jump_time = set.NextJumpTime local level = d.getf("level") local stone_level_6 = set.MobVnum_level_6 local stone_level_9 = set.NpcVnum_level_9 local boss_vnum = set.BossVnum local wait_time = set.WaitBeforOutAllOnExit local mobvnum = npc.get_race() --dchat("nemeres_wait_dungeon MobVnum = "..mobvnum.."") if level == 2 and mobvnum >= 6101 and mobvnum <= 6108 and 1 == number(1,10) then local v = set.key_level_2 game.drop_item(v,1) elseif level == 5 and mobvnum >= 6101 and mobvnum <= 6108 and 1 == number(1,15) then snow_dungeon._DropKeyOnLevel5() elseif level == 6 and mobvnum == stone_level_6 then d.notice("Der "..mob_name(stone_level_6).." wurde zerstört, in wenigen Sekunden geht es in den nächsten Stock.") d.notice("") server_timer("Jp_7",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_7.txt") --Szel local v_MQv = set.MobVnum_level_7 local c = set.SzelCords_level_7 local n = number(1,table.getn(c)) d.spawn_mob(v_MQv, c[n][1], c[n][2]) elseif level == 8 and mobvnum >= 6101 and mobvnum <= 6108 and 1 == number(1,10) then local v = set.Key_on_level_8 game.drop_item(v,1) elseif level == 9 and mobvnum == stone_level_9 then d.notice("Der "..mob_name(stone_level_9).." wurde zerstört, in wenigen Sekunden geht es in den nächsten Stock.") server_timer("Jp_Boss",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_boss.txt") local v = set.BossVnumGroup d.spawn_group(v, 928, 335, 5 ,1, 1) -- (Input from SRC: argument: vnum,x,y,radius,aggressive,count) elseif level == 10 and mobvnum == boss_vnum then d.clear_regen() d.kill_all() d.notice("Ihr habt "..mob_name(boss_vnum).." besiegt. In "..wait_time.." Sekunden werden alle hinausteleportiert.") server_timer("Jp_OutAll",wait_time,d.get_map_index()) end end end when Jp_OutAll.server_timer begin --Jump Out Bye bye ;D if d.select(get_server_timer_arg()) then snow_dungeon._ExitAll() end end function _ExitAll() d.exit_all() end end end
2te Quest GK-Manager
in Server Syserr Sagt er mir
PHP Code:
SYSERR: Oct 26 00:12:57.905552 :: RunState: LUA_ERROR: [string "gkmanager"]:1: attempt to concatenate field `get_player_id' (a function value) SYSERR: Oct 26 00:12:57.905581 :: WriteRunningStateToSyserr: LUA_ERROR: quest gkmanager.start click
Hab auch mit .lua und .quest gemacht und PC.get_player_id ist in Quest Funktion drine
GK-Manager Quest
PHP Code:
quest gkmanager begin state start begin when letter begin cmdchat("gkmanage QID|"..q.getcurrentquestindex()) end function ChangeSide() cmdchat("getinputbegin") local side = tonumber(input(cmdchat("gkmanage SIDE"))) cmdchat("getinputend") return side end when login with pc.is_guild_master() begin local leaderon = mysql_query("update player.guild set leader_on = 1 where master = "..pc.get_player_id..";") local gkmember = mysql_query("select count(*) from guild where guild_id = "..pc.get_guild.." ;")[1][1] end when logout or disconect begin local leaderon = mysql_query("update player.guild set leader_on = 0 where master = "..pc.get_player_id..";") end when 20092.chat."ADQWQQ" begin local gkname = mysql_query("SELECT guild.name, guild.win, guild.loss, guild.member_count FROM guild WHERE guild.ladder_point > 0 AND member_count > 7 AND guild.leader_on = 1 ORDER BY guild.win DESC limit 0,5 ;") table.foreachi(gkname,function(nr,player) cmdchat("gkmanage INFO|"..nr.."|"..player[1].."|"..player[2].."|"..player[3].."|"..player[4]) end) cmdchat("gkmanage OPEN") setskin(NOWINDOW) end when button or info begin cmdchat("getinputbegin") local cmd = input(cmdchat("gkmanage INPUT")) cmdchat("getinputend") if cmd == "OPEN" then local gkname = mysql_query("SELECT guild.name, guild.win, guild.loss, guild.member_count FROM guild WHERE guild.ladder_point > 0 AND member_count > 7 AND guild.leader_on = 1 ORDER BY guild.win DESC limit 0,5 ;") table.foreachi(gkname,function(nr,player) cmdchat("gkmanage INFO|"..nr.."|"..player[1].."|"..player[2].."|"..player[3].."|"..player[4]) end) cmdchat("gkmanage OPEN") elseif cmd == "BACK" then -- if sideback <= 0 then return end local seiten = gkmanager.ChangeSide() local sideba = seiten*5 local sideed = seiten*5 local sideback = sideba-5 local sideeback = sideed cmdchat("gkmanage BACKSIDE") local gkname2 = mysql_query("SELECT guild.name, guild.win, guild.loss, guild.member_count FROM guild WHERE guild.ladder_point > 0 AND member_count > 7 AND guild.leader_on = 1 ORDER BY guild.win DESC limit "..sideback..", "..sideeback..";") table.foreachi(gkname2,function(nr,player) cmdchat("gkmanage INFO|"..nr.."|"..player[1].."|"..player[2].."|"..player[3].."|"..player[4]) end) elseif cmd == "VORN" then local seiten = gkmanager.ChangeSide() local sideb = seiten*5 local sidee = seiten*5+5 local gkover = mysql_query("select count(*) from guild;")[1][1] if sidee > gkover then return end local gkname = mysql_query("SELECT guild.name, guild.win, guild.loss, guild.member_count FROM guild WHERE guild.ladder_point > 0 AND member_count > 7 AND guild.leader_on = 1 ORDER BY guild.win DESC limit "..sideb..", "..sidee..";") table.foreachi(gkname,function(nr,player) cmdchat("gkmanage INFO|"..nr.."|"..player[1].."|"..player[2].."|"..player[3].."|"..player[4]) end) end end end end
|
|
|
10/26/2015, 14:43
|
#11953
|
elite*gold: 0
Join Date: Jan 2014
Posts: 268
Received Thanks: 373
|
@Resqu: GK-Manager-Quest: Du musst bei Funktionen ein () hinten dran setzen... also pc.get_player_id() und auch pc.get_guild(). Hast du bei Nemeres auch nen Ninja und Schami und so dabei und Level passen?
Kind Regards
|
|
|
10/26/2015, 17:13
|
#11954
|
elite*gold: 110
Join Date: Jun 2015
Posts: 85
Received Thanks: 22
|
@Lefloyd: ja Habe mit Passenden lv und Ninja schami etc alles dabei
und GK manager geht immer noch net -.-
|
|
|
10/27/2015, 12:06
|
#11955
|
elite*gold: 0
Join Date: Jul 2009
Posts: 44
Received Thanks: 5
|
PHP Code:
quest adventskalender begin state start begin when login begin if os.date("%m")=="12" then if not adventskalender.file_exists("/usr/home/game/share/locale/germany/quest/Adventskalender/"..pc.get_account_id()) then adventskalender.create_txt() end MY_PACK = adventskalender.get_txt() -- 1#2#3#4#5 cmdchat("Adventskalender index/"..q.getcurrentquestindex()) cmdchat("Adventskalender opened/"..MY_PACK) end if os.date("%m")!="12" and MY_PACK!="0" then adventskalender.empty_txt() for i=1, 24, 1 do pc.setqf(tostring(i), 0) end end end when button begin local TODAY = tonumber(os.date("%d")) local INPUT = tonumber(getinput("Adventskalender input/")) if INPUT == pc.getqf(tostring(INPUT)) then return end pc.setqf(tostring(INPUT), INPUT) if INPUT > TODAY then syschat("Dieses Türchen kannst du noch nicht öffnen!") return end local MY_PACK = adventskalender.get_txt() local PRESENTS = { [1] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [2] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [3] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [4] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [5] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [6] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [7] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [8] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [9] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [10] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [11] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [12] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [13] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [14] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [15] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [16] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [17] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [18] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [19] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [20] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [21] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [22] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [23] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, [24] = {50035, 50036, 50031, 50025, 50024, 50031, 50032}, } local ITEMS = PRESENTS[INPUT][number(1, table.getn(PRESENTS[INPUT]))] pc.give_item2(ITEMS, 1) syschat("In deinem "..INPUT.." Türchen war ein(e) "..item_name(ITEMS).." drinne!") if MY_PACK=="0" then new = INPUT adventskalender.set_txt(new) else new = (MY_PACK.."#"..INPUT) adventskalender.set_txt(new) end cmdchat("Adventskalender opened/"..new) end function set_txt(v) local advent = io.open("/usr/home/game/share/locale/germany/quest/Adventskalender/"..pc.get_account_id().."/adventskalender.txt", "w+") advent:write(v) advent:flush() advent:close() end function get_txt() local advent= io.open("/usr/home/game/share/locale/germany/quest/Adventskalender/"..pc.get_account_id().."/adventskalender.txt", "r") for line in advent:lines() do return line end end function create_txt() if not adventskalender.file_exists("/usr/home/game/share/locale/germany/quest/Adventskalender") then os.execute("mkdir /usr/home/game/share/locale/germany/quest/Adventskalender") end os.execute("mkdir /usr/home/game/share/locale/germany/quest/Adventskalender/"..pc.get_account_id()) local advent = io.open("/usr/home/game/share/locale/germany/quest/Adventskalender/"..pc.get_account_id().."/adventskalender.txt", "w+") advent:write("0") advent:flush() advent:close() end function empty_txt() local advent = io.open("/usr/home/game/share/locale/germany/quest/Adventskalender/"..pc.get_account_id().."/adventskalender.txt", "w+") advent:write("0") advent:flush() advent:close() end function file_exists(ort) if type(ort)!="string" then return false end return os.rename(ort,ort) and true or false end end end
Kann mir einer vielleicht dazu helfen? wo die Fehler in den 2 Quest ist ?
PHP Code:
quest spongecreatic begin state start begin when 9006.chat."Der Boss" begin spongecreatic.menu() end function menu() say('Bitte Wählen Sie eine Option aus') local a = select("Yang spenden", "Vorhandenes Geld ansehen","Abbrechen") if a == 2 then spongecreatic.ansehen() end if a == 3 then return end if a == 1 then say('Gebe hier deinen Betrag an') local inp = tonumber(input()) if inp < 0 or inp == "" then say('Eingabe ungültig!') return end if inp > pc.get_money() then return end if (game.get_event_flag('geld') + inp) > 1000000000 then game.set_event_flag('mil',game.get_event_flag('mil')+1) game.set_event_flag('geld', game.get_event_flag('geld') + inp - 1000000000) else game.set_event_flag('geld',game.get_event_flag('geld')+inp) end pc.change_money(-inp) say('Geld wurde erfolgreich gespendet!') if game.get_event_flag('mil') >= 5 then game.set_event_flag('mil', 0) spongecreatic.spawn() end end end function ansehen() local text = 'Derzeit sind '..game.get_event_flag('geld')..' Yang vorhanden' if game.get_event_flag('mil') > 0 then text = 'Derzeit sind '..game.get_event_flag('mil')..' Milliarden & '..game.get_event_flag('geld')..' Yang vorhanden' end say(text) end function spawn() local t,u = {1,2,3,4,5,6,7,8,9},{[1] = {x,y,index},[2] = {x,y,index},[3] = {x,y,index},} local z,a = number(1,table.getn(t)),'m' local o = io.open('locale/germany/monster.txt','w') for i = 1, 3 do a = a..' '..u[i][1]..' '..u[i][2]..' 0 0 0 0 '..(z*100)..'s 100 1 '..t[z] o:write(a) o:close() a = 'm' regen_in_map(u[i][3], 'locale/germany/monster.txt') end end end end
|
|
|
All times are GMT +2. The time now is 13:57.
|
|