Ich habe die quest ein gebaut hoch laden alles geht
aber wenn ich das event starten will komme ich als gm drauf aber meine spielernicht die porten sich aber werden gleich wieder zurück in die stadt geportet was mache ich falsch
PHP Code:
quest pvp_manager begin state start begin when login with pc.get_map_index() == 112 and (pvp_attenders == nil or pvp_attenders[pvp_manager.get_my_attender_id()] == nil or (pvp_attenders[pvp_manager.get_my_attender_id()].fight_mode != 1 and pvp_attenders[pvp_manager.get_my_attender_id()].fight_mode != 2)) begin if pvp_attenders == nil then pvp_manager.guard_check_position() timer("pvp_guard_1", 20) return end if pvp_attenders[pvp_manager.get_my_attender_id()] == nil then pvp_manager.guard_check_position() timer("pvp_guard_1", 20) return end if pvp_attenders[pvp_manager.get_my_attender_id()].fight_mode != 1 and pvp_attenders[pvp_manager.get_my_attender_id()].fight_mode != 2 then pvp_manager.guard_check_position() timer("pvp_guard_1", 20) end end when pvp_guard_1.timer begin if pc.get_map_index() != 112 then return end pvp_manager.guard_check_position() timer("pvp_guard_2", 20) end when pvp_guard_2.timer begin if pc.get_map_index() != 112 then return end pvp_manager.guard_check_position() timer("pvp_guard_1", 20) end function guard_check_position() if pc.get_local_x() >= 84 and pc.get_local_y() >= 84 and pc.get_local_x() <= 116 and pc.get_local_y() <= 116 then --arena 1 pvp_manager.guard_reset() end if pc.get_local_x() >= 84 and pc.get_local_y() >= 136 and pc.get_local_x() <= 116 and pc.get_local_y() <= 168 then --arena 2 pvp_manager.guard_reset() end if pc.get_local_x() >= 136 and pc.get_local_y() >= 84 and pc.get_local_x() <= 168 and pc.get_local_y() <= 116 then --arena 3 pvp_manager.guard_reset() end if pc.get_local_x() >= 136 and pc.get_local_y() >= 136 and pc.get_local_x() <= 168 and pc.get_local_y() <= 168 then --arena 4 pvp_manager.guard_reset() end end
function guard_reset() notice_in_map("AUTOPVP-GUARD: "..pc.getname().." wurde aus der Arena entfernt.") pc.warp_local(pc.get_map_index(), 126*100, 24*100) end
when 20355.chat."Dem PvP-Turnier beitreten" with game.get_event_flag("pvp") != 0 begin say_title("Hauptmann:") if game.get_event_flag("pvp") == 1 then say("Schärfe deine Waffen und deine Sinne!") say("Das PvP-Turnier beginnt gleich!") say("") say("Beeilung!") say("Kämpfe für die Ehre unseres Reiches!") say("") else say("Das Turnier hat bereits begonnen.") say("Du darfst keine Zeit verlieren!") say("") end wait() pc.warp(857285,856993) end
when 20078.chat."Zurück zur Stadt" with pc.get_map_index() == 112 begin say_title("Zurück zur Stadt:") say("Möchtest du das Arenengelände verlassen und zurück") say("in deine Reichshauptstadt teleportiert werden?") say("") local s = select("Ja", "Nein") if s == 1 then warp_to_village() end end
when 20078.chat."GM: PVP-Turnier abbrechen" with pc.get_map_index() == 112 and pc.is_gm() and game.get_event_flag("pvp") != 0 begin say_title("PVP-Turnier abbrechen") say("Möchtest du das PVP-Turnier wirklich abbrechen?") say("") local s = select("Ja", "Nein") if s == 1 then game.set_event_flag("pvp", 0) pvp_attenders = nil notice_all("Das PVP-Turnier wurde abgebrochen.") say_title("PVP-Turnier abbrechen") say("Das PVP-Turnier wurde abgebrochen.") say("") if pvp_manager_callback != nil then pvp_manager_callback() end end end
when 20078.chat."GM: PVP-Turnier starten" with pc.get_map_index() == 112 and pc.is_gm() and game.get_event_flag("pvp") == 0 and ae_pvp_tournament == nil begin say_title("PVP-Turnier starten:") say("Bitte lege die Levellimits für das PVP-Turnier") say("fest.") say("") say_reward("Minimum Level (minimum 15):") local str_min_level = input() say_title("PVP-Turnier starten:") local min_level = tonumber(str_min_level) if min_level == nil then say("Es wurde keine Zahl eingegeben.") say("") return end if tonumber(str_min_level) < 15 then min_level = 15 end say("Das minimale Level ist nun "..tostring(min_level)..".") say("Bitte geben sie ein maximales Level ein:") local str_max_level = input() say_title("PVP-Turnier starten:") local max_level = tonumber(str_max_level) if max_level == nil then say("Es wurde keine Zahl eingegeben.") say("") return end if tonumber(str_max_level) < min_level then say("Das maximale Level muss größer als das") say("minimale Level sein.") say("") return end
say("Minimal-Level "..tostring(min_level)) say("Maximal-Level "..tostring(max_level)) say("") local s = select("Jetzt starten", "Abbrechen") if s == 2 then return end
say_title("PVP-Turnier starten:") say("Das PVP-Turnier wurde gestartet.") say("Jeder, der teilnehmen möchte, kann sich hier") say("anmelden.") say("Die Anmeldungen können hier geschlossen werden.") say("") say_reward("Aktuelle Levellimits: "..game.get_event_flag("pvp_minlevel").." - "..game.get_event_flag("pvp_maxlevel")) pvp_manager.open_registrations() end function open_registrations() game.set_event_flag("pvp", 1) attender_count = 0 game.set_event_flag("pvp_tournament", get_global_time()) pvp_attenders = nil pvp_attenders = { }
notice_all("Die Anmeldungen für das PVP-Turnier sind nun eröffnet!") notice_all("Aktuelle Levellimits: "..game.get_event_flag("pvp_minlevel").." - "..game.get_event_flag("pvp_maxlevel")) end when 20078.chat."Beim PVP-Turnier anmelden" with pc.get_map_index() == 112 and game.get_event_flag("pvp") == 1 begin say_title(mob_name(20078)..":") if game.get_event_flag("pvp_tournament") == pc.getqf("pvp_tournament") then say("Du bist bereits beim PVP-Turnier angemeldet.") say("") return end if pc.get_level() < 15 then say("Dein Level ist zu niedrig.") say("") return end if pc.get_level() < game.get_event_flag("pvp_minlevel") or pc.get_level() > game.get_event_flag("pvp_maxlevel") then say("Dein Level muss zwischen "..game.get_event_flag("pvp_minlevel").." und "..game.get_event_flag("pvp_maxlevel").." sein.") say("") return end say("Beim PVP-Turnier kämpfst du gegen Spieler") say("mit möglichst gleichen Leveln.") say("Wenn du dich gegen die Anderen durchsetzen") say("kannst, winkt dir ein Preis.") say("Möchtest du teilnehmen?") local s = select("Teilnehmen!", "Ich habe sowieso keine Chance.") say_title(mob_name(20078)..":") if s == 1 then say("Du wirst aufgerufen, wenn du dran bist.") say("Aber du musst hier bleiben, sonst hast du") say("automatisch verloren und scheidest aus.") say("Viel Erfolg!") say("")
if achievement_manager != nil then achievement_manager.on_participatepvpevent() end
elseif s == 2 then say("Stimmt, du bist wirklich ein Schwächling.") say("Es hat hier auch schon Tote gegeben.") say("") end end when 20078.chat."Anmeldungen des PVP-Turniers" with pc.get_map_index() == 112 and pc.is_gm() and game.get_event_flag("pvp") == 1 begin say_title("PVP-Turnier") say("Momentan sind "..tonumber(attender_count).." Spieler angemeldet.") if ae_pvp_tournament != nil then say("") return end say("Sollen die Anmeldungen geschlossen und das Turnier") say("gestartet werden?") say("") local s = select("Anmeldungen schließen", "Anmeldephase fortsetzen") if s == 1 then say_title("Anmeldungen schließen:") say("Die Anmeldungen wurden geschlossen.") say("Die Kämpfe beginnen jetzt.") say("") pvp_manager.close_registrations() end end
function close_registrations() if attender_count == 0 then notice_all("Das PVP-Turnier kann nicht stattfinden, da sich niemand angemeldet hat.") game.set_event_flag("pvp", 0) pvp_attenders = nil if pvp_manager_callback != nil then pvp_manager_callback() end return end game.set_event_flag("pvp", 2) pvp_manager.make_duel_list() duel_list_index = 0 playerless_mode = false notice_all("Die Anmeldungen für das PVP-Turnier sind nun geschlossen.") notice_all("Die Kämpfe beginnen jetzt.") pvp_manager.refresh_arenas() end
when 20078.chat."Mit wem werde ich als nächstes Kämpfen?" with pc.get_map_index() == 112 and game.get_event_flag("pvp") == 2 and game.get_event_flag("pvp_tournament") == pc.getqf("pvp_tournament") begin say_title(mob_name(20078)..":") if pvp_manager.get_duel_partner() == nil then say("Im Moment hast du noch keinen Partner.") say("Wir müssen abwarten, ob es gleich weitere") say("Spieler ohne Partner gibt. Dann bilde ich") say("neue Paare.") say("Ansonsten hast du das Glück, dass du kampflos") say("in die nächste Runde aufsteigst.") say("") return end say("Nach dem aktuellen Plan musst du voraussichtlich") say("gegen "..pvp_manager.get_duel_partner().." kämpfen.") say("") end
function make_duel_list() duel_list = { } local i = 0 for ai = 1, attender_count, 1 do if pvp_attenders[ai] != nil and pvp_attenders[ai].partner == nil and pvp_attenders[ai].winner == true then local partner_id = pvp_manager.findpartner(tostring(pvp_attenders[ai].name), pvp_attenders[ai].level) if partner_id != nil then pvp_attenders[ai].partner = tostring(pvp_attenders[partner_id].name) pvp_attenders[partner_id].partner = tostring(pvp_attenders[ai].name) duel_list[i] = {fighter_id1 = ai, fighter_id2 = partner_id} i = i + 1 end end end
for ai = 1, attender_count, 1 do if pvp_attenders[ai] != nil and pvp_attenders[ai].partner == nil and pvp_attenders[ai].winner == true then local partner_id = pvp_manager.findpartner_for_partnerless(tostring(pvp_attenders[ai].name), pvp_attenders[ai].level) if partner_id != nil then pvp_attenders[ai].partner = tostring(pvp_attenders[partner_id].name) pvp_attenders[partner_id].partner = tostring(pvp_attenders[ai].name) duel_list[i] = {fighter_id1 = ai, fighter_id2 = partner_id} i = i + 1 end end end end
function findpartner(name, level) local closest_level = nil local partner_id = nil for ai = 1, attender_count, 1 do if pvp_attenders[ai] != nil and pvp_attenders[ai].winner == true and tonumber(pvp_attenders[ai].level) <= level + 30 and tonumber(pvp_attenders[ai].level) >= level - 30 and tostring(pvp_attenders[ai].name) != name and pvp_attenders[ai].partner == nil and pvp_manager.is_player_in_map(tostring(pvp_attenders[ai].name)) == true then if closest_level == nil then closest_level = pvp_attenders[ai].level partner_id = ai elseif tonumber(pvp_attenders[ai].level) == tonumber(level) then closest_level = pvp_attenders[ai].level partner_id = ai elseif tonumber(level) < tonumber(closest_level) and tonumber(pvp_attenders[ai].level) < tonumber(closest_level) then closest_level = pvp_attenders[ai].level partner_id = ai elseif tonumber(level) > tonumber(closest_level) and tonumber(pvp_attenders[ai].level) > tonumber(closest_level) then closest_level = pvp_attenders[ai].level partner_id = ai end end end return partner_id end
function findpartner_for_partnerless(name, level) local closest_level = nil local partner_id = nil for ai = 1, attender_count, 1 do if pvp_attenders[ai] != nil and pvp_attenders[ai].winner == true and tostring(pvp_attenders[ai].name) != name and pvp_attenders[ai].partner == nil and pvp_manager.is_player_in_map(tostring(pvp_attenders[ai].name)) == true then if closest_level == nil then closest_level = pvp_attenders[ai].level partner_id = ai elseif pvp_attenders[ai].level == level then closest_level = pvp_attenders[ai].level partner_id = ai elseif tonumber(level) < tonumber(closest_level) and pvp_attenders[ai].level < closest_level then closest_level = pvp_attenders[ai].level partner_id = ai elseif tonumber(level) > tonumber(closest_level) and pvp_attenders[ai].level > closest_level then closest_level = pvp_attenders[ai].level partner_id = ai end end end return partner_id end
function is_player_in_map(name) if pc.getname() == name then return true end local myname = pc.getname() local target = find_pc_by_name(name) local t = pc.select(target) if pc.getname() == myname then pc.select(t) return false end pc.select(t) return true end
when 20078.chat."GM: Refresh 'n Clear Arenas" with pc.is_gm() and game.get_event_flag("pvp") == 2 begin for aArena = 1, 4, 1 do arena[aArena][3] = 0 arena[aArena][4] = "SLEEPING" end pvp_manager.refresh_arenas() end
-- not working --[[ when 20078.chat."GM: End fight" with pc.is_gm() and game.get_event_flag("pvp") == 2 begin say_title("End fight:") say("On which arena should the fight be ended?") local s = select("Arena 1", "Arena 2", "Arena 3", "Arena 4", "Schließen")
if s == 5 then return end
local fighter1 = nil local fighter2 = nil for ai = 1, attender_count, 1 do if pvp_attenders[ai].arena == s and pvp_attenders[ai].fight_mode != 0 then if fighter1 == nil then fighter1 = ai else fighter2 = ai end end end
if fighter1 == nil then say_title("End fight:") say("There is no current Battle on this arena.") say("") return end
say_title("End fight:") say("Who should be considered winner when fight on arena "..s.." ") say("should be ended?") local w = select(tostring(pvp_attenders[fighter1].name), tostring(pvp_attenders[fighter1].name), "Cancel") if w == 3 then return end
if w == 1 then pvp_attenders[fighter2].winner = false notice_in_map(tostring(pvp_attenders[fighter1].name).." has won the battle against "..tostring(pvp_attenders[fighter2].name).."!", pc.get_map_index()) pvp_manager.local_pc_warp(tostring(pvp_attenders[fighter1].name, 126, 234)) pvp_manager.local_pc_warp(tostring(pvp_attenders[fighter2].name, 126, 24)) else pvp_attenders[fighter1].winner = false notice_in_map(tostring(pvp_attenders[fighter2].name).." has won the battle against "..tostring(pvp_attenders[fighter1].name).."!", pc.get_map_index()) pvp_manager.local_pc_warp(tostring(pvp_attenders[fighter1].name, 126, 24)) pvp_manager.local_pc_warp(tostring(pvp_attenders[fighter2].name, 126, 234)) end
say_title("End fight:") say("The battle has been ended.") end --]]
when 20078.chat."GM: PVP-Turnier Belohnung" with pc.is_gm() begin say_title("Belohnung:") say("Aktuelle Belohnung: "..game.get_event_flag("pvp_price_count").."x "..item_name(game.get_event_flag("pvp_price_vnum")).." (vnum: "..game.get_event_flag("pvp_price_vnum")..")") local s = select("Belohnung ändern", "Schließen") if s == 2 then return end say_title("Belohnung ändern:") say("Bitte gib die vnum der neuen Belohnung ein:") local vnum = input() say_title("Belohnung ändern:") say("Bitte gib die Anzahl der neuen Belohnung ein:") local count = input() game.set_event_flag("pvp_price_count", count) game.set_event_flag("pvp_price_vnum", vnum) say_title("Belohnung ändern:") say("Die Belohnung wurde geändert.") say("Neue Belohnung: "..count.."x "..item_name(vnum).." (vnum: "..vnum..")") end
function refresh_arenas() for aArena = 1, 4, 1 do if duel_list[duel_list_index] == nil then if playerless_mode == true then pvp_manager.init_next_round() else pvp_manager.fight_playerless() end return end if arena[aArena][3] == 0 then arena[aArena][3] = 1 pvp_manager.fight_init(duel_list[duel_list_index].fighter_id1, duel_list[duel_list_index].fighter_id2, aArena) end end end
function fight_init(pid1, pid2, arena_id) duel_list_index = duel_list_index + 1 if pvp_manager.is_player_in_map(tostring(pvp_attenders[pid1].name)) == false then notice_in_map(tostring(pvp_attenders[pid1].name).." ist nicht online und somit automatisch ausgeschlossen.", pc.get_map_index()) pvp_attenders[pid1].winner = false pvp_attenders[pid2].partner = nil arena[arena_id][3] = 0 pvp_manager.refresh_arenas() return end if pvp_manager.is_player_in_map(tostring(pvp_attenders[pid2].name)) == false then notice_in_map(tostring(pvp_attenders[pid2].name).." ist nicht online und somit automatisch ausgeschlossen.", pc.get_map_index()) pvp_attenders[pid2].winner = false pvp_attenders[pid1].partner = nil arena[arena_id][3] = 0 pvp_manager.refresh_arenas() return end
notice_in_map(tostring(pvp_attenders[pid1].name).." und "..tostring(pvp_attenders[pid2].name).." bitte im Ring einfinden!", pc.get_map_index())
--[[ local f1_accept = ask_fight(tostring(pvp_attenders[pid1].name), tostring(pvp_attenders[pid2].name)) if f1_accept != CONFIRM_OK then notice_in_map(tostring(pvp_attenders[pid1].name).." hat den Kampf gegen "..tostring(pvp_attenders[pid2].name).." nicht angetreten.", pc.get_map_index()) pvp_attenders[pid1] = nil pvp_attenders[pid2].partner = nil pvp_manager.refresh_arenas() return end
local f2_accept = confirm(find_pc_by_name(tostring(pvp_attenders[pid2].name)), "Trittst du den Kampf gegen "..tostring(pvp_attenders[pid1].name).. " an?", 15) if f2_accept != CONFIRM_OK then notice_in_map(tostring(pvp_attenders[pid2].name).." hat den Kampf gegen "..tostring(pvp_attenders[pid1].name).." nicht angetreten.", pc.get_map_index()) pvp_attenders[pid2] = nil pvp_attenders[pid1].partner = nil pvp_manager.refresh_arenas() return end ]]
when login with pc.get_map_index() == 112 and game.get_event_flag("pvp") == 2 and pvp_manager.get_fight_mode() == 1 begin affect.add(apply.MOV_SPEED, -10000, 2) affect.add_collect(apply.HP_REGEN, 5000, 30) affect.add_collect(apply.SP_REGEN, 5000, 30) pvp_manager.set_fight_mode(2) if arena[pvp_manager.get_arena()][3] == 2 then arena[pvp_manager.get_arena()][5] = 30 loop_timer("fight_start_countdown", 1) else timer("partner_timeout", 40) end arena[pvp_manager.get_arena()][3] = 2 end
when partner_timeout.timer begin if pvp_manager.is_player_in_map(pvp_manager.get_duel_partner()) == true or game.get_event_flag("pvp") != 2 or pvp_manager.get_fight_mode() != 2 then return end pvp_manager.set_fight_mode(3) if arena[pvp_manager.get_arena()][3] == 3 then return end arena[pvp_manager.get_arena()][3] = 3 notice_in_map(pc.getname().." hat den Kampf gegen "..pvp_manager.get_duel_partner().." kampflos gewonnen!", pc.get_map_index()) pvp_attenders[pvp_manager.get_attender_id_by_name(pvp_manager.get_duel_partner())].fight_mode = 3 pvp_attenders[pvp_manager.get_my_attender_id()].winner = true pvp_attenders[pvp_manager.get_attender_id_by_name(pvp_manager.get_duel_partner())].winner = false pc.warp_local(pc.get_map_index(), 12600, 23400) end
when fight_start_countdown.timer begin if arena[pvp_manager.get_arena()][5] == -1 then return end local partner_vid = find_pc_by_name(pvp_manager.get_duel_partner()) local my_vid = pc.get_vid() if arena[pvp_manager.get_arena()][5] == 0 then arena[pvp_manager.get_arena()][5] = -1 pc.select(partner_vid) command("pvp "..my_vid) pc.select(my_vid) command("pvp "..partner_vid) notice_in_map("Der Kampf zwischen "..pc.getname().." und "..pvp_manager.get_duel_partner().." beginnt!", pc.get_map_index()) timer("fight_start_countdown_shutdown", 1) else pc.select(partner_vid) if math.mod(arena[pvp_manager.get_arena()][5], 5) == 0 then syschat("Der Kampf beginnt in "..tostring(arena[pvp_manager.get_arena()][5]).." Sekunden.") end affect.add(apply.MOV_SPEED, -10000, 2) pc.select(my_vid) if math.mod(arena[pvp_manager.get_arena()][5], 5) == 0 then syschat("Der Kampf beginnt in "..tostring(arena[pvp_manager.get_arena()][5]).." Sekunden.") end affect.add(apply.MOV_SPEED, -10000, 2) arena[pvp_manager.get_arena()][5] = arena[pvp_manager.get_arena()][5] - 1 end end
when fight_start_countdown_shutdown.timer begin cleartimer("fight_start_countdown") end
when logout with game.get_event_flag("pvp") == 2 and pc.get_map_index() == 26 and pvp_manager.get_fight_mode() == 2 begin pvp_manager.set_fight_mode(3) arena[pvp_manager.get_arena()][3] = 3 notice_in_map(pvp_manager.get_duel_partner().." hat den Kampf gegen "..pc.getname().." gewonnen!", pc.get_map_index()) pvp_attenders[pvp_manager.get_attender_id_by_name(pvp_manager.get_duel_partner())].fight_mode = 3 pvp_attenders[pvp_manager.get_my_attender_id()].winner = false pvp_attenders[pvp_manager.get_attender_id_by_name(pvp_manager.get_duel_partner())].winner = true
pvp_manager.local_pc_warp(pvp_manager.get_duel_partner(), 126, 24) end
when kill with game.get_event_flag("pvp") == 2 and pc.get_map_index() == 26 and npc.is_pc() and pvp_manager.get_fight_mode() == 2 begin pvp_manager.set_fight_mode(3) if arena[pvp_manager.get_arena()][3] == 3 then return end arena[pvp_manager.get_arena()][3] = 3 notice_in_map(pc.getname().." hat den Kampf gegen "..pvp_manager.get_duel_partner().." gewonnen!", pc.get_map_index()) pvp_attenders[pvp_manager.get_attender_id_by_name(pvp_manager.get_duel_partner())].fight_mode = 3 pvp_attenders[pvp_manager.get_my_attender_id()].winner = true pvp_attenders[pvp_manager.get_attender_id_by_name(pvp_manager.get_duel_partner())].winner = false
timer("fight_end", 5) end
when fight_end.timer begin pc.warp_local(pc.get_map_index(), 12600, 23400) pvp_manager.local_pc_warp(pvp_manager.get_duel_partner(), 126, 24) end
when letter with pc.get_map_index() == 26 and game.get_event_flag("pvp") == 2 and pvp_manager.get_fight_mode() == 3 begin pvp_manager.set_fight_mode(0)
if pvp_attenders[pvp_manager.get_my_attender_id()].winner == true then arena[pvp_manager.get_arena()][3] = 0 pvp_manager.refresh_arenas() end end
function fight_playerless() for aArena = 1, 4, 1 do if arena[aArena][3] != 0 then return end end playerless_mode = true
pvp_manager.make_duel_list() pvp_manager.refresh_arenas() end
function init_next_round() for aArena = 1, 4, 1 do if arena[aArena][3] != 0 then return end end playerless_mode = false
local winner_count = 0 --[[local]] winner_id = 0 for ai = 1, attender_count, 1 do pvp_attenders[ai].partner = nil pvp_attenders[ai].fight_mode = 0 if pvp_attenders[ai] != nil and pvp_attenders[ai].winner == true then winner_count = winner_count + 1 winner_id = ai end end
if winner_count == 1 then notice_all(pvp_attenders[winner_id].name.." hat das PVP-Turnier gewonnen!") notice_all(pvp_attenders[winner_id].name.." erhält "..game.get_event_flag("pvp_price_count").."x "..item_name(game.get_event_flag("pvp_price_vnum")).." als Preis!") local target = find_pc_by_name(pvp_attenders[winner_id].name) local t = pc.select(target)
if achievement_manager != nil then achievement_manager.on_winpvpevent() end
pc.give_item2(game.get_event_flag("pvp_price_vnum"), game.get_event_flag("pvp_price_count")) pc.select(t) notice_all("Das PVP-Turnier ist nun zuende.") game.set_event_flag("pvp", 0) --pvp_attenders = nil if pvp_manager_callback != nil then pvp_manager_callback() end return end
pvp_manager.make_duel_list() duel_list_index = 0 if winner_count == 2 then notice_all("Das Finale des PVP-Turniers beginnt!") elseif winner_count <= 4 then notice_all("Das Semi-Finale des PVP-Turniers beginnt!") else notice_all("Das PVP-Turnier geht in die nächste Runde!") end pvp_manager.refresh_arenas() end
function local_pc_warp(name, x, y) local target = find_pc_by_name(name) local t = pc.select(target) pc.warp_local(pc.get_map_index(), x*100, y*100) pc.select(t) end
function setqf_by_name(name, flag, value) local target = find_pc_by_name(name) local t = pc.select(target) pc.setqf(flag, value) pc.select(t) end
function getqf_by_name(name, flag) local target = find_pc_by_name(name) local t = pc.select(target) local rflag = pc.getqf(flag) pc.select(t) return rflag end
function get_attender_id_by_name(name) for ai = 1, attender_count, 1 do if tostring(pvp_attenders[ai].name) == name then return ai end end return 0 end
function get_my_attender_id() return pvp_manager.get_attender_id_by_name(pc.get_name()) end
function get_duel_partner() if pvp_attenders[pvp_manager.get_my_attender_id()] != nil and pvp_attenders[pvp_manager.get_my_attender_id()].partner != nil then return pvp_attenders[pvp_manager.get_my_attender_id()].partner else return nil end end
function get_fight_mode() if pvp_attenders != nil and pvp_manager.get_my_attender_id() != 0 and pvp_attenders[pvp_manager.get_my_attender_id()] != nil and pvp_attenders[pvp_manager.get_my_attender_id()].fight_mode != nil then return pvp_attenders[pvp_manager.get_my_attender_id()].fight_mode else return 0 end end
function set_fight_mode(fmode) pvp_attenders[pvp_manager.get_my_attender_id()].fight_mode = fmode end
function get_arena() return pvp_attenders[pvp_manager.get_my_attender_id()].arena end
function set_arena(id) pvp_attenders[pvp_manager.get_my_attender_id()].arena = id end
function ask_fight(asker, target) return confirm(find_pc_by_name(target), "Trittst du den Kampf gegen "..asker.. " an?", 15) end
function log_current_winner(points) if pvp_attenders != nil then mysql_query("INSERT INTO player_s4.pvptournament_winlog (pid, points) VALUES ((SELECT id FROM player_s4.player WHERE name='"..tostring(pvp_attenders[winner_id].name).."'), "..tostring(points)..") ON DUPLICATE KEY UPDATE points=points+"..points, ql.mysql["user"], ql.mysql["pass"], nil, ql.mysql["ip"]) end end
when 20087.chat."PVP-Turnier Rangliste" begin local s = select("Information", "Rangliste", "Abbrechen") if s == 1 then say_title("PVP-Turnier Rangliste:") say("In der PVP-Turnier Rangliste stehen") say("die Gewinner des PVP-Turnieres.") say("Man bekommt abhängig von den jeweiligen") say("Levellimits Punkte:") say("15-54: 3 Punkte") say("55-74: 6 Punkte") say("75-105: 9 Punkte") say("") say_reward("Hinweis: Bei allen anderen PVP-Turnieren,") say_reward("die außerhalb des Eventplans stattfinden,") say_reward("werden keine Punkte an die Gewinner verteilt.") say("") elseif s == 2 then local ranking = mysql_query("SELECT (SELECT name FROM player_s4.player WHERE id = pid) AS name, points FROM player_s4.pvptournament_winlog ORDER BY points DESC LIMIT 10", ql.mysql["user"], ql.mysql["pass"], nil, ql.mysql["ip"]) say_title("PVP-Turnier Rangliste:") if ranking == "ERROR" then say_reward("Es gibt noch keine Spieler in der Rangliste.") say("") return end for i = 1, table.getn(ranking.name), 1 do say(i..". "..tostring(ranking.name[i]).." ("..tostring(ranking.points[i]).." Punkte)") end say("") local self_rank = mysql_query("SELECT rank, points FROM (SELECT @rownum := @rownum + 1 AS rank, points, pid FROM player_s4.pvptournament_winlog JOIN (SELECT @rownum := 0) r ORDER BY pvptournament_winlog.points DESC) x WHERE x.pid = '"..tostring(pc.get_player_id()).."'", ql.mysql["user"], ql.mysql["pass"], nil, ql.mysql["ip"]) if self_rank == "ERROR" then return end say("Eigener Rang:") say(self_rank.rank[1]..". "..tostring(pc.get_name()).." ("..tostring(self_rank.points[1]).." Punkte)") say("") end end
OX event .. fehler (bug) 08/03/2014 - Metin2 Private Server - 2 Replies Hallo Elitepvpers
Ich hab mal ne frage
wo kann ich das ändern wo steht bereit für die nächste frage wo ist das definiert ???
Bild :
http://img5.fotos-hochladen.net/uploads/unbenannt 7flkb3q8d0.jpg
Metin2 PvP-Event Map [Fehler] 08/08/2012 - Metin2 Private Server - 2 Replies Bei diesem Release Metin2 PvP-Event Map habe ich beim Teleportieren ein Fehler. Wenn ich den Warp Befehl eingebe schließt sich mein Clienten automatisch. Hier die Syserr:
0609 19:09:28651 :: CMapBase::LoadProperty(FileName=metin2_pvpMapPrope rty.txt) - LoadMultipleTextData ERROR ÆÄÀÏÀÌ ¾øÀ» °¡´É¼ºÀÌ ¸¹½À´Ï´Ù.
0609 19:09:28651 :: CMapManager::LoadMap() Invalid Map Type
Halloween Event Quest Fehler 06/17/2012 - Metin2 Private Server - 2 Replies Hallo wollte meine Halloween Metins so wie bei dem oster event die Ostermetins spawnen lassen aber wenn ich die make.sh ausführe kommt bei mir
"qc in malloc(): error: allocation failed
Abort trap (core dumped)"
Hier die Quest:
quest halloweenevent begin
state start begin
when 90100.chat."Regen easter" begin
Fehler subquestion_25 ox event ! ! 12/24/2011 - Metin2 Private Server - 0 Replies Hallo an alle, heute hatte ich ein Problem mit meinem dedizierten Server Metin 2 ..
Ich fand diesen Fehler
http://img812.imageshack.us/img812/9453/ops.png
Fehler subquestion_25 Rasse oder x
würden wissen, dass jemand mir helfen, es zu lösen??
------------------------------------------------- ------------------------
EN
Hello everyone, today I had a problem with my dedicated server metin 2 ..
I found this error
Fehler beim OX Event 08/12/2010 - Metin2 Private Server - 11 Replies Hey leute
ich hab folgenen fehler
ich hab alles übersetzt doch kommen die fragen nicht auf deutsch
http://www3.pic-upload.de/09.08.10/cq5wszjjblf.jpg
wisst ihr warum ?