|
You last visited: Today at 16:14
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
09/24/2016, 00:50
|
#12421
|
elite*gold: 0
Join Date: Jun 2011
Posts: 14
Received Thanks: 2
|
PHP Code:
quest desert_battle begin state start begin when 20352.chat."Wüstenschlacht" begin if pc.get_level()>=75 then if game.get_event_flag("deserton") == 0 then say("Die Wüstenschlacht findet derzeit nicht statt.") return elseif game.get_event_flag("deserton") == 2 then say("Die Wüstenschlacht befindet sich in der Endphase du kannst nicht beitreten.") return end say("Die Schlacht in der Wüste ist im vollen gange,") say("möchtest du beitreten oder Informationen erhalten?") local info = select("Auf in die Wüste", "Informationen", "Abbrechen") if info == 3 then return elseif info == 2 then say("Das Ziel der Wüstenschlacht ist es als erstes reich 500") say("Gegner aus den anderen Reichen zu besiegen.") say("") say("Das Reich, welches gewinnt erhält am schluss eine Belohnung") say("in Form einiger Metinsteine") local teilnehmen = select("Teilnehmen", "Abbrechen") if teilnehmen == 2 then return elseif teilnehmen == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end end elseif info == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end end else say("Du bist noch nicht Level 75") return end end when kill with npc.get_empire() != pc.get_empire() and npc.is_pc() and pc.get_map_index() == X and game.get_event_flag("turnieron") == 1 begin --X durch die ID der Map ersetzen if game.get_event_flag("turnier"..pc.get_empire().."punkte") == 0 then game.set_event_flag("turnier"..pc.get_empire().."punkte", 1) else game.set_event_flag("turnier"..pc.get_empire().."punkte", game.get_event_flag("turnier"..pc.get_empire().."punkte")+1) end if game.get_event_flag("turnier"..pc.get_empire().."punkte") >= 500 then game.set_event_flag("reich"..pc.get_empire().."status", 1) if pc.get_empire() == 1 then notice_all("Das Rote Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Gelbe Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Blaue Reich hat in der Wüste dominiert.") end game.set_event_flag("deserton", 2) end end when game.get_event_flag("deserton") == 2 begin notice_all("Das Turnier geht nun in die Endphase.") notice_all("Für das Siegerreich spawnen nun Metins") notice_all("in der Mitte der Wüste.") regen_in_map(183, "locale /germany/map/desert_war/regen_metins.txt") say_in_map(183, "Ihr habt nun 30 Minuten Zeit die Metins in der Wüste") say_in_map(183, "zu finden und zu zerstören. Viel Spass!") timer("cooldown", 60*30) end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 2 and pc.get_map_index() == 183 begin if game.get_event_flag("reich"..pc.get_empire().."status") == 1 then return elseif pc.is_gm() then return else if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) else say("Du konntest auf grund deines Reiches nicht zurückteleportiert werden.") say("Bitte Teleportier dich selber zurück") end end end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 1 and pc.get_map_index() == 183 and pc.get_level<75 begin if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) end end when "cooldown".timer begin cleartimer("cooldown") game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") wait() warp_all_to_village(183, 1) kill_all_in_map(183) end when 20352.chat."Wüstenschlacht-Einstellungen" with pc.is_gm() begin say("Was möchtest du machen?") local what = select("Wüstenschlacht starten", "Wüstenschlacht Beenden", "Abbrechen") if what == 3 then return elseif what == 2 then game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") elseif what == 1 then game.set_event_flag("deserton", 1) notice_all("Die Wüstenschlacht wurde von "..pc.get_name.." gestartet.") notice_all("Begebt euch zum Schlachtenverwalter.") end end end
WHEN : game.get_event_flag
Quest/desert_battle.quest:74:when doesn't have begin-end clause. (()
Error occured on compile Quest/desert_battle.quest
|
|
|
09/24/2016, 01:22
|
#12422
|
elite*gold: 21
Join Date: Mar 2015
Posts: 679
Received Thanks: 245
|
Quote:
Originally Posted by PL4tiinum
PHP Code:
quest desert_battle begin state start begin when 20352.chat."Wüstenschlacht" begin if pc.get_level()>=75 then if game.get_event_flag("deserton") == 0 then say("Die Wüstenschlacht findet derzeit nicht statt.") return elseif game.get_event_flag("deserton") == 2 then say("Die Wüstenschlacht befindet sich in der Endphase du kannst nicht beitreten.") return end say("Die Schlacht in der Wüste ist im vollen gange,") say("möchtest du beitreten oder Informationen erhalten?") local info = select("Auf in die Wüste", "Informationen", "Abbrechen") if info == 3 then return elseif info == 2 then say("Das Ziel der Wüstenschlacht ist es als erstes reich 500") say("Gegner aus den anderen Reichen zu besiegen.") say("") say("Das Reich, welches gewinnt erhält am schluss eine Belohnung") say("in Form einiger Metinsteine") local teilnehmen = select("Teilnehmen", "Abbrechen") if teilnehmen == 2 then return elseif teilnehmen == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end end elseif info == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end end else say("Du bist noch nicht Level 75") return end end when kill with npc.get_empire() != pc.get_empire() and npc.is_pc() and pc.get_map_index() == X and game.get_event_flag("turnieron") == 1 begin --X durch die ID der Map ersetzen if game.get_event_flag("turnier"..pc.get_empire().."punkte") == 0 then game.set_event_flag("turnier"..pc.get_empire().."punkte", 1) else game.set_event_flag("turnier"..pc.get_empire().."punkte", game.get_event_flag("turnier"..pc.get_empire().."punkte")+1) end if game.get_event_flag("turnier"..pc.get_empire().."punkte") >= 500 then game.set_event_flag("reich"..pc.get_empire().."status", 1) if pc.get_empire() == 1 then notice_all("Das Rote Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Gelbe Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Blaue Reich hat in der Wüste dominiert.") end game.set_event_flag("deserton", 2) end end when game.get_event_flag("deserton") == 2 begin notice_all("Das Turnier geht nun in die Endphase.") notice_all("Für das Siegerreich spawnen nun Metins") notice_all("in der Mitte der Wüste.") regen_in_map(183, "locale /germany/map/desert_war/regen_metins.txt") say_in_map(183, "Ihr habt nun 30 Minuten Zeit die Metins in der Wüste") say_in_map(183, "zu finden und zu zerstören. Viel Spass!") timer("cooldown", 60*30) end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 2 and pc.get_map_index() == 183 begin if game.get_event_flag("reich"..pc.get_empire().."status") == 1 then return elseif pc.is_gm() then return else if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) else say("Du konntest auf grund deines Reiches nicht zurückteleportiert werden.") say("Bitte Teleportier dich selber zurück") end end end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 1 and pc.get_map_index() == 183 and pc.get_level<75 begin if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) end end when "cooldown".timer begin cleartimer("cooldown") game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") wait() warp_all_to_village(183, 1) kill_all_in_map(183) end when 20352.chat."Wüstenschlacht-Einstellungen" with pc.is_gm() begin say("Was möchtest du machen?") local what = select("Wüstenschlacht starten", "Wüstenschlacht Beenden", "Abbrechen") if what == 3 then return elseif what == 2 then game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") elseif what == 1 then game.set_event_flag("deserton", 1) notice_all("Die Wüstenschlacht wurde von "..pc.get_name.." gestartet.") notice_all("Begebt euch zum Schlachtenverwalter.") end end end
WHEN : game.get_event_flag
Quest/desert_battle.quest:74:when doesn't have begin-end clause. (()
Error occured on compile Quest/desert_battle.quest
|
Am Schluss fehlt ein "end"
|
|
|
09/24/2016, 16:33
|
#12423
|
elite*gold: 0
Join Date: Jun 2011
Posts: 14
Received Thanks: 2
|
danke aber jz kommt leider das. ^^
Quest/desert_battle.quest:145:syntax error : [string "startnpc . get_empire ( ) ~= pc . get_empire ( ) and npc . is_p..."]:17: unexpected symbol near `when'
Error occured on compile Quest/desert_battle.quest
|
|
|
09/24/2016, 18:38
|
#12424
|
elite*gold: 0
Join Date: Apr 2013
Posts: 22
Received Thanks: 13
|
PHP Code:
quest ring123 begin state start begin when login or levelup with pc.level>90 begin set_state(information) end end state information begin when letter begin local v = find_npc_by_vnum(20080) if v != 0 then target.vid("__TARGET__", v, "Uriel") end send_letter("Der Smaragdring") end when info or button begin say_title("Smaragdring") say("") say_reward("Gehe zu Uriel!") end when __TARGET__.target.click or 20080.chat."Der Smaragdring" begin say_title("Smaragdring") say("Sei gegrüßt, "..pc.get_name.."") say("Da du schon ein hohes Level erreicht hast,") say("habe ich dich auserwählt, um") say("dir einen der stärksten Ringe zu überlassen.") say("Bringe mir die benötigten Materialien und") say("ich fertige einen Ring für dich an.") say("Ich benötige dafür 200 Smaragdstücke.") target.delete("__TARGET__") set_state(material) end end state material begin when 20080.chat."Ich habe das Meterial" begin say_title("Smaragdring") say("Hallo, "..pc.get_name..".") say("Ich habe dich schon erwartet.") say("Hast du das Material für den Ring dabei?") local v = select ("Ja",Nein") if v == 2 then return elseif v == 1 then if pc.count_item(14540) >= 200 then pc.remove_item(14540, 200 pc.give_item2(71135, 1) say_title("Smaragdring") say("Hier ist dein Smaragdring.") say("Du kannst ihn bei mir verbessern lassen") else say_title("Smaragdring") say("Du hast nicht genug Smaragdstücke!") say("") say("") return end end end end end end
Putty:Error occured on compile maxim/ring123.quest
Syssr sagt nichts.
Bitte um schnelle Hilfe
|
|
|
09/24/2016, 18:57
|
#12425
|
elite*gold: 21
Join Date: Mar 2015
Posts: 679
Received Thanks: 245
|
Quote:
Originally Posted by Mytho2
PHP Code:
quest ring123 begin state start begin when login or levelup with pc.level>90 begin set_state(information) end end state information begin when letter begin local v = find_npc_by_vnum(20080) if v != 0 then target.vid("__TARGET__", v, "Uriel") end send_letter("Der Smaragdring") end when info or button begin say_title("Smaragdring") say("") say_reward("Gehe zu Uriel!") end when __TARGET__.target.click or 20080.chat."Der Smaragdring" begin say_title("Smaragdring") say("Sei gegrüßt, "..pc.get_name.."") say("Da du schon ein hohes Level erreicht hast,") say("habe ich dich auserwählt, um") say("dir einen der stärksten Ringe zu überlassen.") say("Bringe mir die benötigten Materialien und") say("ich fertige einen Ring für dich an.") say("Ich benötige dafür 200 Smaragdstücke.") target.delete("__TARGET__") set_state(material) end end state material begin when 20080.chat."Ich habe das Meterial" begin say_title("Smaragdring") say("Hallo, "..pc.get_name..".") say("Ich habe dich schon erwartet.") say("Hast du das Material für den Ring dabei?") local v = select ("Ja",Nein") if v == 2 then return elseif v == 1 then if pc.count_item(14540) >= 200 then pc.remove_item(14540, 200 pc.give_item2(71135, 1) say_title("Smaragdring") say("Hier ist dein Smaragdring.") say("Du kannst ihn bei mir verbessern lassen") else say_title("Smaragdring") say("Du hast nicht genug Smaragdstücke!") say("") say("") return end end end end end end
Putty:Error occured on compile maxim/ring123.quest
Syssr sagt nichts.
Bitte um schnelle Hilfe
|
Am schluss ist ein "end" zu viel
|
|
|
09/24/2016, 19:22
|
#12426
|
elite*gold: 0
Join Date: Apr 2013
Posts: 22
Received Thanks: 13
|
Quote:
Originally Posted by Core ツ
Am schluss ist ein "end" zu viel
|
Danke, aber das funktioniert immer noch nicht
|
|
|
09/24/2016, 20:42
|
#12427
|
elite*gold: 21
Join Date: Mar 2015
Posts: 679
Received Thanks: 245
|
Quote:
Originally Posted by Mytho2
Danke, aber das funktioniert immer noch nicht
|
Die quest hatte mehrere Fehler.
Hier unten die quest sollte nun gehen.
Lg
PHP Code:
quest ring123 begin state start begin when login or levelup with pc.get_level() >= 90 begin set_state(information) end end state information begin when letter begin local v = find_npc_by_vnum(20080) if v != 0 then target.vid("__TARGET__", v, "Uriel") end send_letter("Der Smaragdring") end when info or button begin say_title("Smaragdring") say("") say_reward("Gehe zu Uriel!") end when __TARGET__.target.click or 20080.chat."Der Smaragdring" begin say_title("Smaragdring") say("Sei gegrüßt, "..pc.get_name.."") say("Da du schon ein hohes Level erreicht hast,") say("habe ich dich auserwählt, um") say("dir einen der stärksten Ringe zu überlassen.") say("Bringe mir die benötigten Materialien und") say("ich fertige einen Ring für dich an.") say("Ich benötige dafür 200 Smaragdstücke.") target.delete("__TARGET__") set_state(material) end end state material begin when 20080.chat."Ich habe das Meterial" begin say_title("Smaragdring") say("Hallo, "..pc.get_name..".") say("Ich habe dich schon erwartet.") say("Hast du das Material für den Ring dabei?") local v = select ("Ja","Nein") if v == 2 then return elseif v == 1 then if pc.count_item(14540) >= 200 then pc.remove_item(14540, 200) pc.give_item2(71135, 1) say_title("Smaragdring") say("Hier ist dein Smaragdring.") say("Du kannst ihn bei mir verbessern lassen") else say_title("Smaragdring") say("Du hast nicht genug Smaragdstücke!") say("") say("") return end end end end end
|
|
|
10/06/2016, 09:17
|
#12428
|
elite*gold: 0
Join Date: Feb 2011
Posts: 3
Received Thanks: 0
|
würde jemand da drüber gucken und mir sagen wo der Fehler ist ? bin noch recht neu auf dem Gebiet .
quest highmap begin
state start begin
when 80009.use begin
local on = select ("Farmmap1", "Farmmap2", "Lv Map1", "Lv Map 2", "Zombie Map", "Abbrechen")
if on == 1 then
if pc.get_level >= 50 then
pc.warp(1114200, 1517500)
else
say("Dein Level ist zu niedrig!")
end
if on == 2 then
if pc.get_level >= 225 then
pc.warp(1166700, 1677300)
else
say("Dein Level ist zu niedrig!")
end
if on == 3 then
if pc.get_level >= 100 then
pc.warp(1197600, 1684000)
else
say("Dein Level ist zu niedrig!")
end
if on == 4 then
if pc.get_level >= 150 then
pc.warp(1146400, 1530400)
else
say("Dein Level ist zu niedrig!")
end
if on == 5 then
if pc.get_level >= 200 then
pc.warp()
else
say("Dein Level ist zu niedrig!")
end
if on == 6 then
return
end
end
end
|
|
|
10/06/2016, 10:28
|
#12429
|
elite*gold: 21
Join Date: Mar 2015
Posts: 679
Received Thanks: 245
|
Quote:
Originally Posted by 95Arndt
würde jemand da drüber gucken und mir sagen wo der Fehler ist ? bin noch recht neu auf dem Gebiet .
quest highmap begin
state start begin
when 80009.use begin
local on = select ("Farmmap1", "Farmmap2", "Lv Map1", "Lv Map 2", "Zombie Map", "Abbrechen")
if on == 1 then
if pc.get_level >= 50 then
pc.warp(1114200, 1517500)
else
say("Dein Level ist zu niedrig!")
end
if on == 2 then
if pc.get_level >= 225 then
pc.warp(1166700, 1677300)
else
say("Dein Level ist zu niedrig!")
end
if on == 3 then
if pc.get_level >= 100 then
pc.warp(1197600, 1684000)
else
say("Dein Level ist zu niedrig!")
end
if on == 4 then
if pc.get_level >= 150 then
pc.warp(1146400, 1530400)
else
say("Dein Level ist zu niedrig!")
end
if on == 5 then
if pc.get_level >= 200 then
pc.warp()
else
say("Dein Level ist zu niedrig!")
end
if on == 6 then
return
end
end
end
|
Jedesmal wenn du benutzt, musst du es mit wieder schließen.
Hier die korrigierte Version:
HTML Code:
quest highmap begin
state start begin
when 80009.use begin
local on = select ("Farmmap1", "Farmmap2", "Lv Map1", "Lv Map 2", "Zombie Map", "Abbrechen")
if on == 1 then
if pc.get_level >= 50 then
pc.warp(1114200, 1517500)
else
say("Dein Level ist zu niedrig!")
end
end
if on == 2 then
if pc.get_level >= 225 then
pc.warp(1166700, 1677300)
else
say("Dein Level ist zu niedrig!")
end
end
if on == 3 then
if pc.get_level >= 100 then
pc.warp(1197600, 1684000)
else
say("Dein Level ist zu niedrig!")
end
end
if on == 4 then
if pc.get_level >= 150 then
pc.warp(1146400, 1530400)
else
say("Dein Level ist zu niedrig!")
end
end
if on == 5 then
if pc.get_level >= 200 then
pc.warp()
else
say("Dein Level ist zu niedrig!")
end
end
if on == 6 then
return
end
end
end
end
|
|
|
10/14/2016, 12:48
|
#12430
|
elite*gold: 6
Join Date: Dec 2007
Posts: 4,072
Received Thanks: 1,234
|
Quote:
Originally Posted by ImbaSun
PHP Code:
quest guildstorage begin state start begin function getinput© cmdchat("GetInputStart") local ret = input(cmdchat©) cmdchat("GetInputStop") return ret end function item_can_store(itemvnum) local antiflags = guildstorage.item_get_real_antiflags(guildstorage.item_antiflag(itemvnum)) for i = 1 , table.getn(antiflags) do if antiflags == 128 or antiflags == 131072 or antiflags == 8192 or antiflags == 64 then return false end end return true end function item_get_real_antiflags(antiflag_) antiflags = {131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,32,16,8,4,2,1} tab2 = {} table.foreach(antiflags,function(_,v) if antiflag_ >= v then table.insert(tab2,v) antiflag_ = antiflag_ - v end end) return tab2 end function item_antiflag(item_vnum) local result = mysql_query("SELECT antiflag from player.item_proto where vnum = "..item_vnum..";") return (result[1][1])--pack end ---------------------- --LOGS START ---------------------- function load_logs() local logs = {} local gs_logs = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/logs.txt", "r") for line in gs_logs:lines() do table.insert(logs,guildstorage.split_(line,"#")) end return logs end function clear_logs() local gs_log = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/logs.txt", "w+") gs_log:flush() gs_log:close() end function add_log(name_,type_,do_,desc_) local gs_log = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/logs.txt", "a+") local date_ = os.date() date_ = string.gsub(date_," ", "+-+") desc_ = string.gsub(desc_," ", "+-+") gs_log:write(name_..'#'..date_..'#'..type_..'#'..do_..'#'..desc_..'n') gs_log:flush() gs_log:close() end ---------------------- --LOGS END ---------------------- ---------------------- --MEMBER & AUTHORITY START ---------------------- -- Auth 0 = einlagern -- Auth 1 = rausnehmen -- Auth 2 = einzahlen -- Auth 3 = auszahlen function get_members() local members = {} local gs_member = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/authority.txt", "r") for line in gs_member:lines() do table.insert(members,guildstorage.split_(line,"#")) end return members end function get_authority(authID) if pc.is_guild_master() then return true end local members = guildstorage.get_members() for i = 1, table.getn(members) do if members[1] == pc.get_name() then if tonumber(members[authID+2]) == 0 then return false else return true end end end return false end function set_authority(member,authID,auth) local members = guildstorage.get_members() for i = 1, table.getn(members) do if members[1] == member then members[authID+2] = auth break end end local gs_member = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/authority.txt", "w+") for i = 1, table.getn(members) do gs_member:write(members[1]..'#'..members[2]..'#'..members[3]..'#'..members[4]..'#'..members[5]..'n') end gs_member:flush() gs_member:close() end function add_member(member) local members = guildstorage.get_members() for i = 1, table.getn(members) do if members[1] == member then syschat'Member ist schon eingetragen.' return end end local gs_member = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/authority.txt", "a+") gs_member:write(member..'#0#0#0#0n') gs_member:flush() gs_member:close() end function delete_member(member) local members = guildstorage.get_members() for i = 1, table.getn(members) do if members[1] == member then table.remove(members,i) break end end local gs_member = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/authority.txt", "w+") for i = 1, table.getn(members) do gs_member:write(members[1]..'#'..members[2]..'#'..members[3]..'#'..members[4]..'#'..members[5]..'n') end gs_member:flush() gs_member:close() end ---------------------- --MEMBER & AUTHORITY END ---------------------- ---------------------- --MONEY START ---------------------- function get_money() local gs_money = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/money.txt", "r") for line in gs_money:lines() do return tonumber(line) end end function change_money(money) local old_money = guildstorage.get_money() local gs_money = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/money.txt", "w+") gs_money:write(old_money+money) gs_money:flush() gs_money:close() end ---------------------- --MONEY END ---------------------- ---------------------- --STORAGE START ---------------------- function has_guildstorage() local guildstorage = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt", "r") if guildstorage == nil then return false else return true end end function give_item(itemTab) pc.give_item2_select(itemTab[1],itemTab[2]) local attr,socket = {},{} for i = 10,23 do table.insert(attr,{itemTab,itemTab[i+1]}) i = i+1 end for i = 4,6 do table.insert(socket,itemTab) end for i = 1, table.getn(attr) do item2.set_attr(i-1, attr[1], attr[2]) end for i = 1, table.getn(socket) do if tonumber(socket) > 0 then item.set_socket(i-1, socket) end end end function get_slot_item(slot) local items = guildstorage.get_items() for i = 1, table.getn(items) do local item = guildstorage.split_(items,"#") if tonumber(item[3]) == slot then return item end end return 0 end function refresh() cmdchat('GUILDSTORAGE REFRESH_MONEY/'..guildstorage.get_money()) local items = guildstorage.get_items() if items != 0 then for i = 1, table.getn(items) do local item = guildstorage.split_(items,"#") -- chat(table.getn(item)) cmdchat('GUILDSTORAGE_ADDITEM '..item[3]..' '..item[1]..' '..item[2]..' '..item[4]..' '..item[5]..' '..item[6]..' '..item[7]..' '..item[8]..' '..item[9]..' '..item[10]..' '..item[11]..' '..item[12]..' '..item[13]..' '..item[14]..' '..item[15]..' '..item[16]..' '..item[17]..' '..item[18]..' '..item[19]..' '..item[20]..' '..item[21]..' '..item[22]..' '..item[23]) end end cmdchat('GUILDSTORAGE REFRESH') end function refresh_tempslots() cmdchat('GUILDSTORAGE REFRESH_MONEY/'..guildstorage.get_money()) cmdchat('GUILDSTORAGE CLEAR_TEMPSLOTS') local items = guildstorage.get_items() if items != 0 then for i = 1, table.getn(items) do local item = guildstorage.split_(items,"#") cmdchat('GUILDSTORAGE_ADDTEMPSLOT '..item[3]..' '..item[1]..' '..item[2]..' '..item[4]..' '..item[5]..' '..item[6]..' '..item[7]..' '..item[8]..' '..item[9]..' '..item[10]..' '..item[11]..' '..item[12]..' '..item[13]..' '..item[14]..' '..item[15]..' '..item[16]..' '..item[17]..' '..item[18]..' '..item[19]..' '..item[20]..' '..item[21]..' '..item[22]..' '..item[23]) end end cmdchat('GUILDSTORAGE COMPARE_TEMPSLOTS') end function slot_empty(slot) local itemList = guildstorage.get_items() for i = 1 , table.getn(itemList) do local item = guildstorage.split_(itemList,"#") if tonumber(item[3]) == slot then return false end end return true end function create_guildstorage() os.execute("mkdir ".."/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild()) local guildstorage = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt", "w+") local guildstorage = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/money.txt", "w+") guildstorage:write("0") guildstorage:close() local guildstorage = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/authority.txt", "w+") local guildstorage = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/logs.txt", "w+") guildstorage:close() end function insert_item(cell,slot,tab) item.select_cell(cell) local attr = {{item2.get_attr(0)}, {item2.get_attr(1)}, {item2.get_attr(2)}, {item2.get_attr(3)},{item2.get_attr(4)},{item2.get_attr(5)},{item2.get_attr(6)}} local socket, itemVnum, itemCount = {item.get_socket(0), item.get_socket(1), item.get_socket(2),item.get_socket(3),item.get_socket(4),item.get_socket(5)}, item.get_vnum(), item.get_count() if not guildstorage.item_can_store(itemVnum) then syschat'Dieses Item kann nicht gelagert werden.' return end guildstorage.add_log(pc.get_name(),'Item','einlagern',item_name(itemVnum)..' ('..itemCount..')') local guildstorage = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt", "a+") if not pc.can_warp() then return end item.select(cell) if item.vnum == 0 then return end --if item.rem(item.get_count()) then item.remove() guildstorage:write(itemVnum.."#"..itemCount.."#"..(slot+120*tab).."#"..socket[1].."#"..socket[2].."#"..socket[3].."#"..socket[4].."#"..socket[5].."#"..socket[6].."#"..attr[1][1].."#"..attr[1][2].."#"..attr[2][1].."#"..attr[2][2].."#"..attr[3][1].."#"..attr[3][2].."#"..attr[4][1].."#"..attr[4][2].."#"..attr[5][1].."#"..attr[5][2].."#"..attr[6][1].."#"..attr[6][2].."#"..attr[7][1].."#"..attr[7][2].."n") guildstorage:flush() guildstorage:close() cmdchat('GUILDSTORAGE_ADDITEMSLOT '..slot..' '..tab..' '..itemVnum..' '..itemCount..' '..socket[1]..' '..socket[2]..' '..socket[3]..' '..socket[4]..' '..socket[5]..' '..socket[6]..' '..attr[1][1]..' '..attr[1][2]..' '..attr[2][1]..' '..attr[2][2]..' '..attr[3][1]..' '..attr[3][2]..' '..attr[4][1]..' '..attr[4][2]..' '..attr[5][1]..' '..attr[5][2]..' '..attr[6][1]..' '..attr[6][2]..' '..attr[7][1]..' '..attr[7][2]) --else --syschat("Du hast das Item nicht mehr") --end end function remove_item(slot) local gsPath = "/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt" local items = {} local itemList = guildstorage.get_items() for i = 1 , table.getn(itemList) do table.insert(items,guildstorage.split_(itemList,"#")) end for i = 1, table.getn(items) do if items[3] == tostring(slot) then guildstorage.add_log(pc.get_name(),'Item','rausnehmen',item_name(items[1])..' ('..items[2]..')') table.remove(items,i) break end end local gs = io.open(gsPath, "w+") for i = 1, table.getn(items) do gs:write(items[1]..'#'..items[2]..'#'..items[3]..'#'..items[4]..'#'..items[5]..'#'..items[6]..'#'..items[7]..'#'..items[8]..'#'..items[9]..'#'..items[10]..'#'..items[11]..'#'..items[12]..'#'..items[13]..'#'..items[14]..'#'..items[15]..'#'..items[16]..'#'..items[17]..'#'..items[18]..'#'..items[19]..'#'..items[20]..'#'..items[21]..'#'..items[22]..'#'..items[23]..'n') end gs:flush() gs:close() end function get_items() local guildstorageTab = {} local guildstorage = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt", "r") for item in guildstorage:lines() do table.insert(guildstorageTab,item) end return guildstorageTab or 0 end function move_item(from,to) local gsPath = "/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt" local items = {} local itemList = guildstorage.get_items() for i = 1 , table.getn(itemList) do table.insert(items,guildstorage.split_(itemList,"#")) end for i = 1, table.getn(items) do if items[3] == tostring(from) then items[3] = tostring(to) end end local gs = io.open(gsPath, "w+") for i = 1, table.getn(items) do gs:write(items[1]..'#'..items[2]..'#'..items[3]..'#'..items[4]..'#'..items[5]..'#'..items[6]..'#'..items[7]..'#'..items[8]..'#'..items[9]..'#'..items[10]..'#'..items[11]..'#'..items[12]..'#'..items[13]..'#'..items[14]..'#'..items[15]..'#'..items[16]..'#'..items[17]..'#'..items[18]..'#'..items[19]..'#'..items[20]..'#'..items[21]..'#'..items[22]..'#'..items[23]..'n') end gs:flush() gs:close() end ---------------------- --STORAGE END ---------------------- function client_command(command_) return guildstorage.split_(command_,"#") end function split_(string_,delimiter) local result = { } local from = 1 local delim_from, delim_to = string.find( string_, delimiter, from ) while delim_from do table.insert( result, string.sub( string_, from , delim_from-1 ) ) from = delim_to + 1 delim_from, delim_to = string.find( string_, delimiter, from ) end table.insert( result, string.sub( string_, from ) ) return result end when login begin cmdchat("GUILDSTORAGE QID/"..q.getcurrentquestindex()) end when 70028.use begin cmdchat("GetInputStop") end when 60002.use begin if not pc.has_guild() then say"Du benoetigst eine Gilde um das Gildenlager benutzen zu koennen." setskin(skin) return end if not guildstorage.has_guildstorage() then guildstorage.create_guildstorage() end -- chat("PENIS") if pc.is_guild_master() then cmdchat('GUILDSTORAGE OPEN/1') else cmdchat('GUILDSTORAGE OPEN/0') end -- chat("2")--pack reload mein ich xD wo ist mein chat du judenkind frag das die quest nicht mich guildstorage.refresh() pc.setqf("GUILDSTORAGE",1) setskin(NOWINDOW) -- say("TEST") --ka ob das am setskin liegt, ich nutze das nie hm... end when button begin if pc.get_handle() == 1 then chat("Zugriff zum Gildenlager wurde blockiert.") chat("Bitte schliessen sie das Handelsfenster!") return end local cmd = guildstorage.client_command(guildstorage.getinput("GUILDSTORAGE QUESTCMD")) -- [iTEM] --chat(cmd) --bist in ner gilde? xD erst auf unserem server testen haben das doch auch danach da sonst musste ich leveln xDok xD if cmd[1] == 'TAKE_ITEM' then if not guildstorage.get_authority(1) then syschat'Du besitzt keine Berechtigung hierfuer.' return end if pc.get_empty_inventory_count() < 3 then syschat'Du hast nicht genug Platz im Inventar, du brauchst mindestens drei freie Plaetze' return end local slot = tonumber(cmd[2])+120*tonumber(cmd[3]) local item = guildstorage.get_slot_item(slot) if guildstorage.slot_empty(slot) then syschat'Dieses Item befindet sich an einer anderen Position, oder wurde schon rausgenommen' return end guildstorage.remove_item(slot) guildstorage.give_item(item) elseif cmd[1] == 'MOVE_ITEM' then if not guildstorage.get_authority(0) then syschat'Du besitzt keine Berechtigung hierfuer.' return end --possible to store the item? antiflag/flag if cmd[2] == 'INVENTORY' then if not guildstorage.slot_empty(tonumber(cmd[4])+120*tonumber(cmd[5])) then syschat'Dieser Slot ist bereits belegt.' return end guildstorage.insert_item(tonumber(cmd[3]),tonumber(cmd[4]),tonumber(cmd[5])) elseif cmd[2] == 'GUILDSTORAGE' then if not guildstorage.slot_empty(tonumber(cmd[5])+120*tonumber(cmd[6])) then syschat'Dieser Slot ist bereits belegt, oder das Item existiert nichtmehr.' return end guildstorage.move_item(tonumber(cmd[3])+120*tonumber(cmd[4]),tonumber(cmd[5])+120*tonumber(cmd[6])) end -- [MONEY] elseif cmd[1] == 'TAKE_MONEY' then if not guildstorage.get_authority(3) then syschat'Du besitzt keine Berechtigung hierfuer.' return end local old_money = guildstorage.get_money() if old_money < tonumber(cmd[2]) then syschat'Soviel Yang ist nicht im Gildenlager.' return end local new_money = tonumber(cmd[2]) if new_money+pc.get_money() >= 1999999999 then syschat'Du kannst nicht mehr wie 2.000.000.000 Yang bei dir haben.' return end guildstorage.change_money(-new_money) pc.change_money(new_money) guildstorage.add_log(pc.get_name(),'Yang','abheben',new_money) cmdchat('GUILDSTORAGE REFRESH_MONEY/'..(old_money-new_money)) elseif cmd[1] == 'GIVE_MONEY' then if not guildstorage.get_authority(2) then syschat'Du besitzt keine Berechtigung hierfuer.' return end local old_money = guildstorage.get_money() local new_money = tonumber(cmd[2]) if new_money > pc.get_money() then syschat'Soviel Yang besitzt du nicht' return end pc.change_money(-new_money) guildstorage.change_money(new_money) guildstorage.add_log(pc.get_name(),'Yang','einzahlen',new_money) cmdchat('GUILDSTORAGE REFRESH_MONEY/'..(old_money+new_money)) elseif cmd[1] == 'GETGUILDSTORAGEMONEY' then cmdchat('GUILDSTORAGE REFRESH_GUILDWINDOW_MONEY/'..guildstorage.get_money()) -- elseif cmd[1] == 'ADD_MEMBER' then if not pc.is_guild_master() then syschat'Cheese. ;p' return end local members = guildstorage.get_members() if table.getn(members) >= 12 then syschat'Du kannst maximal nur 12 Member eintragen.' return end guildstorage.add_member(cmd[2]) cmdchat('GUILDSTORAGE MEMBER_COMPLETE') elseif cmd[1] == 'DELETE_MEMBER' then if not pc.is_guild_master() then syschat'Cheese. ;p' return end guildstorage.delete_member(cmd[2]) cmdchat('GUILDSTORAGE MEMBER_COMPLETE') elseif cmd[1] == 'AUTHORITY' then if not pc.is_guild_master() then syschat'Cheese. ;p' return end guildstorage.set_authority(cmd[2],tonumber(cmd[3]),cmd[4]) elseif cmd[1] == 'GETMEMBERLIST' then if not pc.is_guild_master() then syschat'Cheese. ;p' return end local members = guildstorage.get_members() for i = 1, table.getn(members) do -- id, membername, authority 1-4 cmdchat('GUILDSTORAGE_ADDMEMBER '..(i-1)..' '..members[1]..' '..members[2]..' '..members[3]..' '..members[4]..' '..members[5]) end cmdchat('GUILDSTORAGE REFRESH_MEMBERS') elseif cmd[1] == 'UPDATE' then guildstorage.refresh_tempslots() elseif cmd[1] == 'LOAD_LOGS' then if not pc.is_guild_master() then syschat'Cheese. ;p' return end local logs = guildstorage.load_logs() local logsLen = table.getn(logs) for i = 0, logsLen-1 do local var = (logsLen-i) cmdchat('GUILDSTORAGE_ADDLOG '..(var-1)..' '..logs[var][1]..' '..logs[var][2]..' '..logs[var][3]..' '..logs[var][4]..' '..logs[var][5]) end elseif cmd[1] == 'DELETE_LOGS' then if not pc.is_guild_master() then syschat'Cheese. ;p' return end guildstorage.clear_logs() elseif cmd[1] == 'BUTTON' then if cmd[2] == "0" then setskin(NOWINDOW) game.open_mall() elseif cmd[2] == "1" then setskin(NOWINDOW) game.open_safebox() elseif cmd[2] == "2" then if not pc.has_guild() then syschat'Du benoetigst eine Gilde um das Gildenlager benutzen zu koennen.' setskin(NOWINDOW) return end if not guildstorage.has_guildstorage() then guildstorage.create_guildstorage() end if pc.is_guild_master() then cmdchat('GUILDSTORAGE OPEN/1') else cmdchat('GUILDSTORAGE OPEN/0') end guildstorage.refresh() pc.setqf("GUILDSTORAGE",1) setskin(NOWINDOW) end end cmdchat("works") end end end
Kann mir jemand helfen ?
|
Nächstes mal: Pack deinen Code entweder in [PHP*][/PHP*], [Code*][/Code*] oder [HTML*][HTML*] !! ...
Wenn du uns erzählst was dein Problem ist, können wir dir bestimmt helfen.
Einfach die Quest hinklatschen hilft uns auch nicht...
|
|
|
10/16/2016, 13:50
|
#12431
|
elite*gold: 0
Join Date: Apr 2015
Posts: 89
Received Thanks: 51
|
Hab ein Problem mit meiner Jagt Quest bin noch neu im Questbereich..
Error
quest doesn't have begin-end clause. (Untergang)
PHP Code:
quest Der Untergang begin state start begin when login with pc.level >= 75 begin set_state(information) end end state information begin when letter begin send_letter("Der Untergang") end when info or button begin say("Der Rote Drache bedroht die Welt.") say("Unsere Welt ist dem untergang geweiht.") say("Besiege 10 mal den Roten Drachen und ") say("du bekommst eine Belohnung als Dank.") say_reward("Der Untergang") say("") pc.setqf("state", 1) q.set_counter("Roter Drache") end when 2291.kill begin local count = pc.getqf("state") - 1 if count <= 1 then pc.setqf("state", count) q.set_counter("Roter Drache", count) end if count == 0 then say_title("Der Untergang") say("Du hast ein Kostüm erhalten.") pc.change_money(30000000) pc.give_exp2(50000000) else if pc.get_sex() == 0 then pc.give_item2(41119, 1) else if pc.get_sex == 1 then pc.give_item2(41120, 1) end set_state(__COMPLETE__) end end end state __COMPLETE__ begin end end
|
|
|
10/16/2016, 16:34
|
#12432
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
änder die 1. Zeile, damit du keine Freizeichen im Questnamen hast, z.b. Der_Untergang
Quote:
Originally Posted by BuRnOuTx3
Hab ein Problem mit meiner Jagt Quest bin noch neu im Questbereich..
Error
quest doesn't have begin-end clause. (Untergang)
PHP Code:
quest Der Untergang begin state start begin when login with pc.level >= 75 begin set_state(information) end end state information begin when letter begin send_letter("Der Untergang") end when info or button begin say("Der Rote Drache bedroht die Welt.") say("Unsere Welt ist dem untergang geweiht.") say("Besiege 10 mal den Roten Drachen und ") say("du bekommst eine Belohnung als Dank.") say_reward("Der Untergang") say("") pc.setqf("state", 1) q.set_counter("Roter Drache") end when 2291.kill begin local count = pc.getqf("state") - 1 if count <= 1 then pc.setqf("state", count) q.set_counter("Roter Drache", count) end if count == 0 then say_title("Der Untergang") say("Du hast ein Kostüm erhalten.") pc.change_money(30000000) pc.give_exp2(50000000) else if pc.get_sex() == 0 then pc.give_item2(41119, 1) else if pc.get_sex == 1 then pc.give_item2(41120, 1) end set_state(__COMPLETE__) end end end state __COMPLETE__ begin end end
|
|
|
|
11/06/2016, 14:29
|
#12433
|
elite*gold: 0
Join Date: May 2009
Posts: 48
Received Thanks: 5
|
Moin =)
kann mir jemand sagen wie man es so machen kann, dass es
erst ab level 30 bis 50 funktioniert ?
PHP Code:
quest trank begin state start begin when ITEM ID.use with pc.get_level() >= 30 begin pc.give_exp2(EXP ANZAHL) pc.remove_item(ITEM ID, 1) end end end
|
|
|
11/06/2016, 14:57
|
#12434
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
Quote:
Originally Posted by kalonka007
Moin =)
kann mir jemand sagen wie man es so machen kann, dass es
erst ab level 30 bis 50 funktioniert ?
PHP Code:
quest trank begin state start begin when ITEM ID.use with pc.get_level() >= 30 begin pc.give_exp2(EXP ANZAHL) pc.remove_item(ITEM ID, 1) end end end
|
PHP Code:
when ITEM ID.use with pc.get_level() >= 30 and pc.get_level() <= 50 begin
|
|
|
11/10/2016, 14:17
|
#12435
|
elite*gold: 315
Join Date: Jun 2012
Posts: 5,158
Received Thanks: 4,813
|
Guten Tag
Habe vorhin eine alte quest auf meine externen platte gefunden und wollte die mal zu testzwecken laufen lassen. irgendwie ist da was falsch und ich habe momentan wenig zeit um mir das anzugucken. Vielleicht weiss einer auf die schnelle wo fehler liegen.
besten dank
PHP Code:
quest desert_battle begin state start begin when 20352.chat."Wüstenschlacht" begin if pc.get_level()>=75 then if game.get_event_flag("deserton") == 0 then say("Die Wüstenschlacht findet derzeit nicht statt.") return elseif game.get_event_flag("deserton") == 2 then say("Die Wüstenschlacht befindet sich in der Endphase du kannst nicht beitreten.") return end say("Die Schlacht in der Wüste ist im vollen gange,") say("möchtest du beitreten oder Informationen erhalten?") local info = select("Auf in die Wüste", "Informationen", "Abbrechen") if info == 3 then return elseif info == 2 then say("Das Ziel der Wüstenschlacht ist es als erstes reich 500") say("Gegner aus den anderen Reichen zu besiegen.") say("") say("Das Reich, welches gewinnt erhält am schluss eine Belohnung") say("in Form einiger Metinsteine") local teilnehmen = select("Teilnehmen", "Abbrechen") if teilnehmen == 2 then return elseif teilnehmen == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end end end end elseif info == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") else say("Du bist noch nicht Level 75") return end end when kill with npc.get_empire() != pc.get_empire() and npc.is_pc() and pc.get_map_index() == X and game.get_event_flag("turnieron") == 1 begin --X durch die ID der Map ersetzen if game.get_event_flag("turnier"..pc.get_empire().."punkte") == 0 then game.set_event_flag("turnier"..pc.get_empire().."punkte", 1) else game.set_event_flag("turnier"..pc.get_empire().."punkte", game.get_event_flag("turnier"..pc.get_empire().."punkte")+1) end if game.get_event_flag("turnier"..pc.get_empire().."punkte") >= 500 then game.set_event_flag("reich"..pc.get_empire().."status", 1) if pc.get_empire() == 1 then notice_all("Das Rote Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Gelbe Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Blaue Reich hat in der Wüste dominiert.") end game.set_event_flag("deserton", 2) end end end when game.get_event_flag("deserton") == 2 begin notice_all("Das Turnier geht nun in die Endphase.") notice_all("Für das Siegerreich spawnen nun Metins") notice_all("in der Mitte der Wüste.") regen_in_map(183, "locale /germany/map/desert_war/regen_metins.txt") say_in_map(183, "Ihr habt nun 30 Minuten Zeit die Metins in der Wüste") say_in_map(183, "zu finden und zu zerstören. Viel Spass!") timer("cooldown", 60*30) end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 2 and pc.get_map_index() == 183 begin if game.get_event_flag("reich"..pc.get_empire().."status") == 1 then return elseif pc.is_gm() then return else if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) else say("Du konntest auf grund deines Reiches nicht zurückteleportiert werden.") say("Bitte Teleportier dich selber zurück") end end end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 1 and pc.get_map_index() == 183 and pc.get_level<75 begin if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) end end when "cooldown".timer begin cleartimer("cooldown") game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") wait() warp_all_to_village(183, 1) kill_all_in_map(183) end when 20352.chat."Wüstenschlacht-Einstellungen" with pc.is_gm() begin say("Was möchtest du machen?") local what = select("Wüstenschlacht starten", "Wüstenschlacht Beenden", "Abbrechen") if what == 3 then return elseif what == 2 then game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") elseif what == 1 then game.set_event_flag("deserton", 1) notice_all("Die Wüstenschlacht wurde von "..pc.get_name.." gestartet.") notice_all("Begebt euch zum Schlachtenverwalter.") end end end end
|
|
|
All times are GMT +2. The time now is 16:14.
|
|