Register for your free account! | Forgot your password?

You last visited: Today at 04:51

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release] Multi-Ox Wettbewerb (Quest)

Discussion on [Release] Multi-Ox Wettbewerb (Quest) within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
.Risan.'s Avatar
 
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
[Release] Multi-Ox Wettbewerb (Quest)

Moin, hab mal die Quest verbessert..

Diesmal befinden sich auch die SQL dateien dabei...
Hab neue erstellt ^^

Quest:

PHP Code:
 --[[
-- 
Multi-OX-Wettbewerb
-- lvl x
-- Copyright ©Zymos/Risan
-- Version 1.5
]]
quest mox begin
state start begin
    when 20011.chat
."Multi-OX-Wettbewerb" begin
        say_npc
()
        
say("")
        
say("Hallo "..pc.get_name()..".")
        
say("Du siehst sehr intelligent aus. Bei mir kannst du")
        
say("an einem Multi-OX-Wettbewerb teilnehmen und dein")
        
say("Können unter beweis stellen. Ich sehe gleich in")
        
say("meiner Liste nach, ob der Wettbewerb schon")
        
say("angefangen hat. Falls dies der Fall ist, kann")
        
say("ich dich daran teilnehmen lassen.")
        
wait()
        
say_npc()
        
say("")
        
say("Bei diesem Wettbewerb gibt es keinen großen")
        
say("Unterschied im Gegensatz zum OX-Wettbewerb.")
        
say("Der einziege Unterschied ist, dass es")
        
say("anstelle von 2 verschiedenenn Antwort-")
        
say("möglichkeiten 4 verschiedene gibt.")
        
say("")
        
say_reward("Möchtest du teilnehmen oder nur zuschauen?")
        
say("")
        
local w select("Teilnehmen","Zuschauen","Schließen")
        if 
== 1 then
            
if game.get_event_flag("mox_status") >= 2 then
                say
("Der Zugang ist bereits geschlossen.")
                
say("Ich kann dich nur noch als Zuschauer")
                
say("dorthin bringen")
                
say_reward("Möchtest du das?")
                if 
select("Ja","Nein") == 1 then
                    mox
.warp_viewer()
                
end
            
elseif game.get_event_flag("mox_status") == 0 then
                say
("Es läuft momentan kein Multi-OX-Wettbewerb")
            elseif 
game.get_event_flag("mox_status") == 1 then
                local my_ip 
pc.get_ip() --LIB_SQL_get_account_ip_by_id(pc.get_account_id())
                if 
mox.check_ip(my_ip) == true  then    
                say_npc
()
                
say("Du nimmst bereits Teil.")
                return    
                
end
                pc
.warp(894800889300) --drinne
            end
        
elseif == 2 then
            mox
.warp_viewer()
        else
            return
        
end
    end
    
    when 20011.chat
."Multi-OX-Wettbewerb GM REGISTER" with pc.is_gm() begin
        say_npc
()
        
say("")
        
mox.register_mox()
    
end
    
function check_ip(my_ip)
        if 
Mox_check_ip == false then
            
return false
        end
        local ip_check 
mysql_query("select count(ip) from player.TEMP_mox_check where ip = '"..my_ip.."'")
        --
debug_chat("OX: ip "..ip_check[1][1].."")
        if 
tonumber(ip_check[1][1]) >= 1 then
            
return true
        
else
            return 
false
        end
    end
    
function register_mox()
        
local my_ip pc.get_ip() --LIB_SQL_get_account_ip_by_id(pc.get_account_id())
        if 
mox.find_table_var(Mox_players,pc.get_player_id()) == false then
            table
.insert(Mox_players table.getn(Mox_players) +1,pc.get_player_id())
            if 
Mox_check_ip == true then 
                mysql_query
("INSERT INTO player.TEMP_mox_check (ip,account_id,player_name) VALUES ('"..my_ip.."','"..pc.get_account_id().."','"..pc.get_name().."')")
            
end
            say_title
("Das Multi-OX-Wettbewerb")
            
say("")
            
say(""..pc.get_name().." herzlich Willkommen im MOX!")
            
say("")
            
say("Der Multi-OX-Wettbewerb ist eine erweiterte Form")
            
say("vom OX-Wettbewerb. Hier hast du die Auswahl")
            
say("zwischen 4 Antworten anstelle von 2. ")
            
say("Das garantiert ein höheren Spielspass!")
            
say("")
            
say_reward("Du wurdest in die Teilnehmener liste eingetragen")
            
say("")
        
end
    
    end
    when login with pc
.get_map_index() == 350 begin
        local my_ip 
pc.get_ip() --LIB_SQL_get_account_ip_by_id(pc.get_account_id())
        
local x pc.get_local_x()
        
local y pc.get_local_y()
        if 
LIB_ride_not_here_map() == true then
            horse
.unride()
            
horse.unsummon()
            
pc.unmount()
        
end
        
if pc.is_gm() then
             syschat
("<MOX> Your are GM. BLOCK!")    
             return
        elseif 
>= 145 and <= 146 and <= 345 and >= 61 and not pc.is_gm() then  --GM Plaz
            mox
.warp_viewer()
            
syschat("<MOX> Du stehst an den GM-Platz. Weg hier!")
        -- elseif 
game.get_event_flag("mox_status") == 0 then
            
-- syschat("<MOX> Es läuft momentan kein MOX! Zurück in die Stadt!")
            -- 
warp_to_village()
        -- elseif 
bool_to_str(Mox_players) == 'false' then
            
-- warp_to_village()
            -- 
syschat("<MOX> Es läuft momentan kein MOX! Zurück in die Stadt!")
        elseif 
bool_to_str(Mox_players) == 'true' and game.get_event_flag("mox_status") >= 2 then
            loop_timer
("check_cord",5)
        elseif 
bool_to_str(Mox_players) == 'true' and game.get_event_flag("mox_status") == 1 then
            loop_timer
("check_cord",5)
            if 
>= Mox_login_area_X and <= Mox_login_area_Y and <= Mox_login_area_X2 and >= Mox_login_area_Y2 then 
                
if mox.check_ip(my_ip) == true then    
                syschat
("<MOX> Du nimmst bereits Teil!")
                
mox.warp_viewer()    
                return    
                
end
                mox
.register_mox()
            
end
        
else
            if 
>= Mox_login_area_X and <= Mox_login_area_Y and <= Mox_login_area_X2 and >= Mox_login_area_Y2 then 
                
if mox.find_table_var(Mox_players,pc.get_player_id()) == false then
                syschat
("<MOX> Die Teilnahme ist geschlossen raus mit dir!")
                
mox.warp_viewer()
                
end
            end
        end
    end
    when check_cord
.timer begin
        
--debug_chat("TIMER reagiert")
        
local x pc.get_local_x()
        
local y pc.get_local_y()
        
local status game.get_event_flag("mox_status")
        if 
pc.is_gm() then
            
return
        elseif 
>= 145 and <= 146 and <= 345 and >= 61 then --GM Plaz
            pc
.warp(894800895900) --244 255
            syschat
("<MOX> Du stehst an den GM-Platz. Weg hier!")
        elseif 
status == 0 then
            syschat
("<MOX> Es läuft momentan kein MOX! Zurück in die Stadt!")
            
warp_to_village()
        elseif 
bool_to_str(Mox_players) == 'false'then
            warp_to_village
()
            
syschat("<MOX> Es läuft momentan kein MOX! Zurück in die Stadt!")
        else
            if 
>= Mox_login_area_X and <= Mox_login_area_Y and <= Mox_login_area_X2 and >= Mox_login_area_Y2 then 
                
if mox.find_table_var(Mox_players,pc.get_player_id()) == false then
                    syschat
("<MOX> Du nimmst nicht mehr teil!")
                    
pc.warp(894800895900) --244 255
                end
            end
        end
    end
    
    when 20358.chat
."GM: Multi-OX-Wettbewerb CHECK QUESTIONS TABLE" begin
        local mox_data_tables_questions 
mysql_query("SELECT question,answer1,answer2,answer3,answer4,correctly,id FROM player.mox_questions order by id")
        
say_npc()
        
say("")
        
say("Prüfe "..table.getn(mox_data_tables_questions).." Fragen...")
        
local error_tables = { }
        for 
1table.getn(mox_data_tables_questions), do 
            
local question mox_data_tables_questions[x][1]
            
local answer1 mox_data_tables_questions[x][2]
            
local answer2 mox_data_tables_questions[x][3]
            
local answer3 mox_data_tables_questions[x][4]
            
local answer4 mox_data_tables_questions[x][5]
            
local correctly mox_data_tables_questions[x][6]
            
local mox_id mox_data_tables_questions[x][7]
            
local MOX_correct_answer correctly    
            local antwortsrand 
= { }
            
table.insert(antwortsrand table.getn(antwortsrand) +1,answer1)
            
table.insert(antwortsrand table.getn(antwortsrand) +1,answer2)
            
table.insert(antwortsrand table.getn(antwortsrand) +1,answer3)
            
table.insert(antwortsrand table.getn(antwortsrand) +1,answer4)
            
CHECK_MOX_correct_answer_zone 0
            
for 1table.getn(antwortsrand), do 
                if 
MOX_correct_answer == antwortsrand[othen
                    CHECK_MOX_correct_answer_zone 
o
                end
            end
            
if CHECK_MOX_correct_answer_zone == 0 then
                table
.insert(error_tables table.getn(error_tables) +1,mox_id)
            
end
        end
        
if table.getn(error_tables) == 0 then
            say
("Keine Fehler gefunden.")
        else
            
say("Question ID Fehler:")
            
local mox_error_names " "
            
for 1table.getn(error_tables), do 
                if 
== 1 then
                    mox_error_names 
mox_error_names..""..error_tables[x]
                else
                    
mox_error_names mox_error_names..", "..error_tables[x]
                
end
            end
            say
(""..mox_error_names.."")
        
end
    end
    
    when 20358.chat
."GM: Multi-OX-Wettbewerb Verwaltung" with pc.is_gm() and LIB_GM_rights_access('game_can_event') == true and pc.get_map_index() == 350 begin
        local status 
game.get_event_flag("mox_status")
        
local mox_select;
        if 
status == or bool_to_str(Mox_players) == 'false' then
            mox_select 
= { "Starten","Schließen" }
        elseif 
status == 1 then
            mox_select 
= { "Beenden","Zugang Schließen","Schließen" }
        elseif 
status == 3 then
            syschat
("<MOX> Es wird aktuell eine Frage gesendet. Keine Option möglich!")
            
setskin(NOWINDOW)
            return
        elseif 
status >= 2 then
            mox_select 
= { "Beenden","Zugang Öffnen","Frage Senden","Risiko Frage Senden","Belohnung verteilen","Schließen" }
        
end
        say_npc
()
        
say_title("MOX-Verwaltung")
        
local c select_table(mox_select)    
        if 
mox_select[c] == "Starten" then
            say_npc
()
            if 
bool_to_str(Mox_players) == 'true' then
                syschat
("MOX: Das Das Multi-OX-Wettbewerb läuft bereits.")
                
setskin(NOWINDOW
            else
                
game.set_event_flag("mox_status",1)
                
mox.set_variables()
                
say("Das Multi-OX-Wettbewerb wurde gestartet")
                
notice_all("Das Multi-OX-Wettbewerb wurde gestartet")
                
notice_all("Beweiss dein wissen und gewinne das Quiz!")
                
notice_all("Wenn du Clever genug bist kannst du einen Gewinn abstauben.")
                
notice_all("Um beizutreten gehe zu Uriel.")
            
end
        
elseif mox_select[c] == "Beenden" then
            say_npc
()
            if 
game.get_event_flag("mox_status") >= or bool_to_str(Mox_players) == 'true' then
                game
.set_event_flag("mox_status",0)
                
Mox_players nil
                say
("Das Multi-OX-Wettbewerb wurde beendet")
                
notice_all("Das Multi-OX-Wettbewerb wurde beendet")
                
warp_all_to_village(pc.get_map_index(),5)
            else
                
say("Das Multi-OX-Wettbewerb läuft nicht")
            
end
        
elseif mox_select[c] == "Zugang Öffnen" then
            say_npc
()
            
game.set_event_flag("mox_status",1)
            
notice_all("Der Zugang zum Multi-OX-Wettbewerb wurde nochmals geöffnet.")
            
say("Der Zugang wurde geöffnet.")
        elseif 
mox_select[c] == "Zugang Schließen" then
            say_npc
()
            
game.set_event_flag("mox_status",2)
            
say("Der Zugang wurde nun geschlossen.")
            
notice_all("Der Zugang zum Multi-OX-Wettbewerb ist nun geschlossen. Es sind keine anmeldungen nun mehr möglich.")
            for 
1table.getn(Mox_players), do
                
q.begin_other_pc_block(Mox_players[i])
                
command("banter")
                
q.end_other_pc_block()
            
end
    
        
elseif mox_select[c] == "Frage Senden" then
            mox
.send_question()
        elseif 
mox_select[c] == "Risiko Frage Senden" then
            Mox_choice_risk 
true
            mox
.send_question()
        elseif 
mox_select[c] == "Belohnung verteilen" then
            mox
.give_belohnung()
        else
            return
        
end
    end
    
function find_table_var(tables,var)    
        if 
table.getn(tables) == 0 then
            
return false
        end
        
for 1table.getn(tables), do
            if 
tables[i] == var then
                
return true
            
elseif table.getn(tables) == i then
                
return false
            end
        end
    end
    
-- function remove_player()
        -- if 
table.getn(Mox_players) == 0 then
        
-- say_title("MOX-Verwaltung")
        -- 
say("")
        -- 
say("Es sind kein Spieler vorhanden!")
        -- return
        -- 
end
        
-- local all = {}
        -- 
say("Wenn möchtest entfernen?")
        -- for 
1table.getn(Mox_players), do
        -- 
table.insert(all ,Mox_players[i])
            -- if 
table.getn(Mox_players) == i then
            
-- table.insert(all +1,"Schließen")
            -- 
end
        
-- end
        
-- local s select_table(all)
        -- if 
all[s] == "Schließen" then
        
-- return
        -- 
end
        
--pc.select(my_vid)
        -- 
setskin(NOWINDOW)
        -- 
timer("mox_go_remove",1)
    -- 
end
    when 9010.chat
."give belohnung" begin
        mox
.give_belohnung()
    
end
    
function give_belohnung()
        
say_npc()
        
say("")
        
say("Wähle aus was du vergeben möchtest:")
        
local reward_items mysql_query("SELECT vnum from player.mox_reward")
        
local x_vnum = { }
        
local x_names = { }
        for 
1table.getn(reward_items), do
            
table.insert(x_vnum,table.getn(x_vnum) +1reward_items[r][1])
            
table.insert(x_names,table.getn(x_names) +1item_name(reward_items[r][1]))
            if 
== table.getn(reward_itemsthen
            table
.insert(x_names,table.getn(x_names) +1,"Schließen")
            
end
        end
        local s 
select_table(x_names)
        
local what x_names[s]
        if 
what == "Schließen" then     return    end
        local vnum 
x_vnum[s]
        
say_npc()
        
say("")
        
say("Wie viele?")
        
local cs = {1,2,3,5,10,15,20,25,30}
        
local co select_table(cs)
        
local count cs[co]
        
        
say_npc()
        
say("")
        
say("Bist du dir sicher das du den Spielern")
        
say_item(""..count.."x "..item_name(vnum)..""vnum"")
        
say("")
        
say("")
        
say("geben möchtest?")
        
say("")
        if 
select("Ja","Nein") == 1 then
            syschat
("<MOX> Spieler werden jetzt belohnt...")
            
local my_vid pc.get_vid()
            for 
1table.getn(Mox_players), do
                
q.begin_other_pc_block(Mox_players[i])
                
LIB_while_give_item(vnum,count)
                
q.end_other_pc_block()
            
end
            
            syschat
("<MOX> Alle Spieler wurden erfolgreich belohnt.")
            
setskin(NOWINDOW)
        
end
    end
    
function set_variables()
        --
Config
        Mox_players 
= {}
        
Mox_players_delete = {}
        
Mox_login_area_X 204
        Mox_login_area_Y 
230
        Mox_login_area_X2 
282
        Mox_login_area_Y2 
152
        MOX_correct_answer_zone 
0
        
--Obere Linie
        Mox_area_x_A 
206
        Mox_area_y_A 
187
        Mox_area_x_A2 
242
        Mox_area_y_A2 
152
        Mox_area_x_B 
245
        Mox_area_y_B 
187
        Mox_area_x_B2 
282
        Mox_area_y_B2 
152
        
--Untere Linie
        Mox_area_x_C 
206
        Mox_area_y_C 
226
        Mox_area_x_C2 
242
        Mox_area_y_C2 
190
        Mox_area_x_D 
245
        Mox_area_y_D 
226
        Mox_area_x_D2 
282
        Mox_area_y_D2 
190
        Mox_check_ip 
false
        Mox_is_würfelsystem 
true --Ob die Antworten gewürfelt werden sollen.
        
Mox_is_congrulation true --Wenn user auf dem richtigen Feld stehen einen Jubel zeigen (cheer1)
        
Mox_auto_exit_when_nil false --Das MOX automatisch beenden wenn keiner Spieler mehr da seind.
        
Mox_duration_question 15 --Wann die Antwort und somit die Auswertung ausgegeben werden soll. (In Sekunden)
        
Mox_choice_risk false
        mysql_query
("UPDATE player.mox_questions set is_posed = 0")
        
mysql_query("DELETE from player.TEMP_mox_check")
        
MOX_ZONE_IN_FELD = {
        [
1] = "A",
        [
2] = "B",
        [
3] = "C",
        [
4] = "D",
        }
        
warp_all_in_area_to_area(891000885700,898600893100,893700894200,895100895500)
    
end
    
function send_question()
        if 
bool_to_str(Mox_players) == 'false' then
            say
("Es konnte keine Frage gesendet werden. Code #105#") --Wenn das MOX nicht korrekt gestartet wurde.
            return
        
end
        game
.set_event_flag("mox_status",3)
        
mox_count_questions mysql_query("SELECT count(*) from player.mox_questions where is_posed = 0 and is_risk = 0")
        if 
tonumber(mox_count_questions[1][1]) == 0 then
            say
("Es wurden alle Fragen gestellt.")
            
say("Die Tabelle wird nun neu geladen.")
            
say("Wiederhole deine eingabe!")
            
mysql_query("UPDATE player.mox_questions set is_posed = 0")
            
game.set_event_flag("mox_status",2)
            return
        
end
        
--mysql bereich start
        local mox_data_tables_questions 
        
if Mox_choice_risk == true then
            mox_data_tables_questions 
mysql_query("SELECT question,answer1,answer2,answer3,answer4,correctly,id FROM player.mox_questions where is_risk = 1 order by rand() LIMIT 1")
        else
            
mox_data_tables_questions mysql_query("SELECT question,answer1,answer2,answer3,answer4,correctly,id FROM player.mox_questions where is_posed = 0 and is_risk = 0 order by rand() LIMIT 1")
        
        
end
        local question 
mox_data_tables_questions[1][1]
        
local answer1 mox_data_tables_questions[1][2]
        
local answer2 mox_data_tables_questions[1][3]
        
local answer3 mox_data_tables_questions[1][4]
        
local answer4 mox_data_tables_questions[1][5]
        
local correctly mox_data_tables_questions[1][6]
        
local mox_id mox_data_tables_questions[1][7]
        
MOX_question_text question
        MOX_correct_answer 
correctly    
        antwortsrand 
= { }
        
table.insert(antwortsrand table.getn(antwortsrand) +1,answer1)
        
table.insert(antwortsrand table.getn(antwortsrand) +1,answer2)
        
table.insert(antwortsrand table.getn(antwortsrand) +1,answer3)
        
table.insert(antwortsrand table.getn(antwortsrand) +1,answer4)
        for 
1table.getn(antwortsrand), do 
            if 
MOX_correct_answer == antwortsrand[othen
                MOX_correct_answer_zone 
o
            end
        end
        MOX_answer1 
answer1
        MOX_answer2 
answer2
        MOX_answer3 
answer3
        MOX_answer4 
answer4
        Mox_is_würfelsystem 
true
        
if Mox_is_würfelsystem == true then
            MOX_answer1 
mox.wurfel_the_words(1)
            
MOX_answer2 mox.wurfel_the_words(2)
            
MOX_answer3 mox.wurfel_the_words(3)
            
MOX_answer4 mox.wurfel_the_words(4)
        
end
        
if MOX_correct_answer_zone == 0 then
            say
("ABORT!")
            
say("FEHLER BEIM AUSLESEN DER ANTWORT")
            
say("FRAGE ERNEUT SENDEN")
            
say("QUESTION ID: "..mox_id.."")
            
game.set_event_flag("mox_status",2)
            return
        
end
        
--say("richtige antwort: "..MOX_correct_answer.." zone "..MOX_correct_answer_zone.."")
        
notice_in_map("Frage:* "..MOX_question_text.."",pc.get_map_index())
        
notice_in_map(""..MOX_answer1.." --> Feld A *** "..MOX_answer2.." --> Feld B ",pc.get_map_index())
        
notice_in_map(""..MOX_answer3.." --> Feld C *** "..MOX_answer4.." --> Feld D",pc.get_map_index())
        
notice_in_map("Die Antwort folgt in "..Mox_duration_question.." Sekunden",pc.get_map_index())
        
syschat("<MOX> Frage wurde erfolgreich abgesendet. Richtig wäre: "..MOX_correct_answer.." FELD -> "..MOX_ZONE_IN_FELD[MOX_correct_answer_zone].." | QuestionID: "..mox_id.."")
        --
setskin(NOWINDOW)
        --
timer("mox_meldung",10)    
        --
game.set_event_flag("mox_status",2)
        
mysql_query("UPDATE player.mox_questions set is_posed = 1 where id = "..mox_id.."")
        
Mox_choice_risk false
        timer
("mox_question_check",tonumber(Mox_duration_question))
    
end
    
function wurfel_the_words(v)
        
mox_random_rr number(1,table.getn(antwortsrand))
        
local wort antwortsrand[mox_random_rr]
        
table.remove(antwortsrandmox_random_rr)
        if 
wort == MOX_correct_answer then
            MOX_correct_answer_zone 

        end
        
--say("-> "..wort.." "..v.."")
        return 
wort
        
    end    
    
-- when mox_meldung.timer begin
        
-- if game.get_event_flag("mox_status") == 3 then
            
-- notice_in_map("In 5 Sekunden folgt die Antwort",pc.get_map_index())
        -- else
            -- return
        -- 
end
    
-- end
    
function warp_viewer()
        
pc.warp(894800895900)
    
end
    when mox_question_check
.timer begin
        
if game.get_event_flag("mox_status") == 3 then
            notice_in_map
("Die Richtige Antwort war: "..MOX_correct_answer.." ("..MOX_ZONE_IN_FELD[MOX_correct_answer_zone]..") ",pc.get_map_index())
            
Mox_players_delete = { }
            --
local my_vid pc.get_vid()
            for 
1table.getn(Mox_players), do
            --
local u_vid find_pc_by_name(Mox_players[i])
            --
chat("#debug vid# "..u_vid.."")
            --if 
u_vid >= 1 then
                q
.begin_other_pc_block(Mox_players[i])
                
local x pc.get_local_x()
                
local y pc.get_local_y()
                if 
>= Mox_login_area_X and <= Mox_login_area_Y and <= Mox_login_area_X2 and >= Mox_login_area_Y2 then --Bereich MOX
                    
if >= Mox_area_x_A and <= Mox_area_y_A and <= Mox_area_x_A2 and >= Mox_area_y_A2 then
                        
if MOX_correct_answer_zone != 1 then
                            table
.insert(Mox_players_delete table.getn(Mox_players_delete) +1,pc.get_player_id())
                            
chat("<MOX> Deine Antwort war Falsch! #FELD A#")
                            
mox.warp_viewer()
                        else
                            
chat("<MOX> Deine Antwort war Richtig #FELD A#")
                            if 
Mox_is_congrulation == true then    command("cheer1")    end
                        end
                    
elseif >= Mox_area_x_B and <= Mox_area_y_B and <= Mox_area_x_B2 and >= Mox_area_y_B2 then
                        
if MOX_correct_answer_zone != 2 then
                            table
.insert(Mox_players_delete table.getn(Mox_players_delete) +1,pc.get_player_id())
                            
chat("<MOX> Deine Antwort war Falsch! #Feld B#")
                            
mox.warp_viewer()
                        else
                            
chat("<MOX> Deine Antwort war Richtig #Feld B#")
                            if 
Mox_is_congrulation == true then    command("cheer1")    end
                        end
                    
elseif >= Mox_area_x_C and <= Mox_area_y_C and <= Mox_area_x_C2 and >= Mox_area_y_C2 then
                        
if MOX_correct_answer_zone != 3 then
                            table
.insert(Mox_players_delete table.getn(Mox_players_delete) +1,pc.get_player_id())
                            
chat("<MOX> Deine Antwort war Falsch! #Feld C#")
                            
mox.warp_viewer()
                        else
                            
chat("<MOX> Deine Antwort war Richtig #Feld C#")
                            if 
Mox_is_congrulation == true then    command("cheer1")    end
                        end
                    
elseif >= Mox_area_x_D and <= Mox_area_y_D and <= Mox_area_x_D2 and >= Mox_area_y_D2 then
                        
if MOX_correct_answer_zone != 4 then
                            table
.insert(Mox_players_delete table.getn(Mox_players_delete) +1,pc.get_player_id())
                            
chat("<MOX> Deine Antwort war Falsch! #Feld D#")
                            
mox.warp_viewer()
                        else
                            
chat("<MOX> Deine Antwort war Richtig #Feld D#")
                            if 
Mox_is_congrulation == true then    command("cheer1")    end
                        end
                    
else
                    
chat("#<MOX> Unbekannte Area (feld): "..x.." "..y.." ?raus?#")
                    
mox.warp_viewer()
                    
end
                
else
                    --
chat("Bugusing, remove")
                    
table.insert(Mox_players_delete table.getn(Mox_players_delete) +1,pc.get_player_id())
                
end
            q
.end_other_pc_block()
            
end
                
--end
        
--    pc.select(my_vid)
            
            
syschat("<MOX> Spieler wurden sortiert. (removeliste added)")
            
setskin(NOWINDOW)
            
timer("mox_go_remove",3)
        else
        return
        
end
    end
    when mox_go_remove
.timer begin
        local mox_duration_delete_time 
get_time()
        
syschat("<MOX> Beginne Spieler zu entfernen die nicht mehr teilnehmen. (removeliste check)")
        
mox_delete_player_count table.getn(Mox_players_delete)
    --    
local my_vid pc.get_vid()
        for 
1table.getn(Mox_players_delete), do
            for 
1table.getn(Mox_players), do
            if 
Mox_players[o] == Mox_players_delete[ithen
            chat
("#mox debug# Spieler "..Mox_players[o].." wurde aus der Player Tabelle entfernt! (removeliste delete)")
            
table.remove(Mox_playerso)
            
end
            end
        end
        
--pc.select(my_vid)
        
syschat("<MOX> Spieler wurde entfernt die nicht mehr teilnehmen. Anzahl ("..mox_delete_player_count..") (Dauer des Checks: ".. get_time() - mox_duration_delete_time.." Sec.) (removeliste finisch)")
        
setskin(NOWINDOW)
        
game.set_event_flag("mox_status",2)
        if 
Mox_auto_exit_when_nil == true then
            
if table.getn(Mox_players) == 0 then
                notice_in_map
("Es sind keiner Spieler mehr Aktiv. Das MOX wird nun automatisch beendet")
                
game.set_event_flag("mox_status",0)
                
Mox_players nil
                notice_all
("Das Multi-OX-Wettbewerb wird beendet")
                
warp_all_to_village(pc.get_map_index(),5)
            
end
        end
    
    end
end
end 
questlib adden:

PHP Code:
function say_npc()
    
say_title(""..mob_name(npc.get_race()).."")
end

function LIB_ride_not_here_map()
    
local map_index pc.get_map_index()
    if 
map_index == 113 or --metin2_map_oxevent
        map_index 
== 118 or --118 metin2_map_sungzi_flame_hill_01
        map_index 
== 119 or --119 metin2_map_sungzi_flame_hill_02
        map_index 
== 120 or --120 metin2_map_sungzi_flame_hill_03
        map_index 
== 122 or --122 metin2_map_sungzi_snow_pass01
        map_index 
== 123 or --123 metin2_map_sungzi_snow_pass02
        map_index 
== 124 or --124 metin2_map_sungzi_snow_pass03
        map_index 
== 126 or --126 metin2_map_sungzi_desert_hill_01
        map_index 
== 127 or --127 metin2_map_sungzi_desert_hill_02
        map_index 
== 128 or--128 metin2_map_sungzi_desert_hill_03
        map_index 
== 350 --metin2_map_multiox
        
and not pc.is_gm() then
        
return true
    
else
        return 
false
    end
end

 
function LIB_GM_rights_access(right)
return 
true
end

function LIB_while_give_item(item,count)
    for 
1countdo    
        
pc.give_item2(""..item.."")
    
end
end 
Have fun, ein Logsystem war ich zufaul.. vllt mach ich mal eins ^^

Es wird eine neuere Game benötigt: min 38xxx
Sowie die Mysql schnittstelle von Hanaschi

Wie man es einfügt sollte jedem klar sein
Attached Files
File Type: rar Desktop.rar (1.5 KB, 151 views)
.Risan. is offline  
Thanks
11 Users
Old 12/31/2013, 03:00   #2
 
*~.ιηνιη¢ιвℓє.~*'s Avatar
 
elite*gold: 5
Join Date: Dec 2011
Posts: 1,822
Received Thanks: 951
sieht nice aus, ist sie auf die map von satyon angepasst?
*~.ιηνιη¢ιвℓє.~* is offline  
Old 12/31/2013, 03:01   #3
 
.Risan.'s Avatar
 
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
Quote:
Originally Posted by *~.ιηνιη¢ιвℓє.~* View Post
sieht nice aus, ist sie auf die map von satyon angepasst?
Jab
.Risan. is offline  
Thanks
3 Users
Old 12/31/2013, 03:12   #4


 
elite*gold: 0
Join Date: Feb 2010
Posts: 7,221
Received Thanks: 6,758
Code:
function LIB_GM_rights_access(right)
return true
end
Okay, diese Funktion ergibt Sinn.
#SoNiice is offline  
Thanks
1 User
Old 12/31/2013, 03:14   #5
 
.Risan.'s Avatar
 
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
Quote:
Originally Posted by SoNiice View Post
Code:
function LIB_GM_rights_access(right)
return true
end
Okay, diese Funktion ergibt Sinn.
Jnein ^^, bei mir sind da paar abfrage anders, kb aber jede nun einzeln rauszupicken, deswegen einfach ein return.. xD
.Risan. is offline  
Old 12/31/2013, 03:23   #6
 
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,725
wurfel_the_words

sehr gut die quest!
und danke fuers teilen!
ProfessorEnte is offline  
Thanks
1 User
Old 12/31/2013, 04:07   #7
 
.Risan.'s Avatar
 
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
Quote:
Originally Posted by ProfessorEnte View Post
wurfel_the_words

sehr gut die quest!
und danke fuers teilen!
Mehr oder weniger würfelt er diese ja XD
.Risan. is offline  
Thanks
1 User
Old 12/31/2013, 11:51   #8
 
.Cyous's Avatar
 
elite*gold: 0
Join Date: Apr 2013
Posts: 2,575
Received Thanks: 916
Sehr nett.
Danke fürs Release.

Gruß,
.Cyous
.Cyous is offline  
Old 12/31/2013, 12:03   #9


 
.Marcel''s Avatar
 
elite*gold: 100
Join Date: Sep 2009
Posts: 8,136
Received Thanks: 2,760
PHP Code:
 function LIB_GM_rights_access(right)
return 
true
end 
Epischste Function die ich je gesehen habe, nais rilis.
.Marcel' is offline  
Old 12/31/2013, 12:56   #10
 
DerForenLeser's Avatar
 
elite*gold: 40
Join Date: Nov 2009
Posts: 1,159
Received Thanks: 442
Not bad, not bad.

Danke dafür.
DerForenLeser is offline  
Old 12/31/2013, 13:33   #11
 
elite*gold: 0
Join Date: Apr 2012
Posts: 22
Received Thanks: 2
it work with game 2089m?
and db 1866 trunk?
TheKillerSanto is offline  
Old 12/31/2013, 13:37   #12
 
elite*gold: 1
Join Date: Oct 2012
Posts: 1,036
Received Thanks: 801
no he write that a game >= 38k is required, cause there was used new quest functions
[SA]Tears aka.[BlackBite] is offline  
Reply


Similar Threads Similar Threads
[QUEST-FILE] 100% automatischer OX-Wettbewerb
12/08/2011 - Metin2 PServer Guides & Strategies - 23 Replies
Großes Edit beim ersten Beitrag. Bitte beachtet das: Als erstes solltet ihr ein Item mit der ID 1524, wo der Name des Items nicht relevant ist in der Item_Proto erstellen(Icon wird hier nicht benötigt, dh. es wird auf keine Clientmodifikation zurückgegriffen)(Es gibt genug Tutorials in EPvP zu diesem Thema). Hi, Community :). Als erstes: Wenn euch das was ich hier pub. mache gefällt könnt ihr mir gerne ein Thanks geben - Ich weiß, mit Thanks kann man sich nichts kaufen, aber so wird mir...



All times are GMT +2. The time now is 04:51.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.