Register for your free account! | Forgot your password?

You last visited: Today at 09:33

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

Advertisement



Eis-RUN [Problem]

Discussion on Eis-RUN [Problem] within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2014
Posts: 57
Received Thanks: 8
Eis-RUN [Problem]

Hey Leute und zwar habe ich beim Eisrun folgendes problem in der 5. Etage
Stehen die würfel die Nordsterne wo ich benötige droppen nicht selbstständig von der quest aus aber wenn ich mir welche erstelle per code und sie drauf ziehe sieht es am anfang aus als ob es funktioniert ... aber ich könnte 1000stk draufziehen und drotzdem wehre es der Falsche nordstern wo kann ich in der quest definieren das jeder nordstern klappen wird oder nur jeder 4. ect ???



PHP Code:
--[[
-- 
Nemeres Warte (Snow Dungeon)
-- 
lvl 100
-- Copyright ©Zymos/Risan
-- Version 2.0
-- Create08.06.2014
-- Need ga_me_re_vi_sion40250
-- INFO
    
ga_me_re_vi_sion 40301 oder P40301 wird benötigt für:
    
MobVnum 8058 kann nur Schamanen DMG anfügenMobVnum 20399 kann nur Schamanen und Ninja DMG anfügen.
    
Neue Questfuntiondrop_item_and_select() ersetzt pc.give_item2_select().
]]
quest snow_dungeon begin
state start begin
    when 9010.chat
."Spawn Statue" with snow_dungeon.is_nemeres_dungeon() == true begin
        d
.purge()
        
d.spawn_mob_dir(20397173,262,1)
        
setskin(NOWINDOW)
    
end
    when 9010.chat
."TESTSERVER: SnowD Jump level 9" with snow_dungeon.is_nemeres_dungeon() == true  begin
        local set 
snow_dungeon.get_settings()
        
d.notice("Der Richtige Schlüssel wurde gefunden, in wenigen Sekunden geht es in den nächsten Stock.")
        
server_timer("Jp_9",6,d.get_map_index())
        
d.clear_regen()
        
d.kill_all()
        
d.regen_file("data/dungeon/ice_dungeon/zone_9.txt")
        
setskin(NOWINDOW)
    
end
    when 9010.chat
."TESTSERVER: SnowD Jump level 10" with snow_dungeon.is_nemeres_dungeon() == true  begin
        local set 
snow_dungeon.get_settings()
        
server_timer("Jp_Boss",3,d.get_map_index())
        
d.clear_regen()
        
d.kill_all()
        
d.regen_file("data/dungeon/ice_dungeon/zone_boss.txt")
        
local v set.BossVnumGroup
        d
.spawn_group(v928335,11) --    (Input from SRCargumentvnum,x,y,radius,aggressive,count)
        
setskin(NOWINDOW)
    
end
    when 9010.chat
."TESTSERVER: SnowD Spawn Boss" with snow_dungeon.is_nemeres_dungeon() == true  begin
        local set 
snow_dungeon.get_settings()
        
local v set.BossVnumGroup
        d
.spawn_group(v928335,11) --    (INFO from SRCargumentvnum,x,y,radius,aggressive,count)
    
end
    when 9010.chat
."TESTSERVER: SnowD Ending" with snow_dungeon.is_nemeres_dungeon() == true  begin
        server_timer
("Jp_OutAll",5,d.get_map_index())
        
say("done")
    
end
    
-- when 30331.use begin --key_level_2
        
-- LIB_writelog("{"..pc.get_local_x()..","..pc.get_local_y().."}",3,"snowcordis.txt")
        -- 
d.spawn_mob(20399pc.get_local_x(), pc.get_local_y())
        -- 
chat("write Nordstern Kordinaten")
    -- 
end
    when 9010.chat
."TESTSERVER: SnowD Spawn create Cords Test level 5" with snow_dungeon.is_nemeres_dungeon() == true  begin
        snow_dungeon
._Create_Stones_level5()
        
setskin(NOWINDOW)
    
end
    when 9010.chat
."TESTSERVER: SnowD Create Key level 5" with snow_dungeon.is_nemeres_dungeon() == true  begin
        snow_dungeon
._DropKeyOnLevel5()
        
setskin(NOWINDOW)
    
end
    when 9010.chat
."TESTSERVER: SnowD Get Kords from Level" with snow_dungeon.is_nemeres_dungeon() == true begin
        local set 
snow_dungeon.get_settings()
        
local warp_to_level set.Position_level_1
        local level 
2
        say
("old: x: "..warp_to_level[1].." y:"..warp_to_level[2].."")
        
local warp_to_level set_G"Position_level_"..level ]
        
say("new: x: "..warp_to_level[1].." y:"..warp_to_level[2].."")
        --
DONT WORKS!
    
end
    
function get_settings()
        
local snow_dungeon_settings = {}
        
snow_dungeon_settings.map_index 352                        --Mapindex
        snow_dungeon_settings
.base_cord = {51201536 }             --Base Kordinaten 
        snow_dungeon_settings
.outside_entry_pos = {61,4321,1667}     --Mapindex, Exit Position (Eisland)
        
snow_dungeon_settings.need_level 100                        --Ab wann ist der Dungeon betretbar.
        
snow_dungeon_settings.need_level_group 100                 --Benötigte Level für Gruppenmitglieder
        snow_dungeon_settings
.WaitBeforOutAllOnExit 60            --Wartezeit bevor alle alle herausteleportiert werden bei einem erfolgreichen Run. (Empfohlen 60)
        
snow_dungeon_settings.NextJumpTime 5                        --Wann man zur nächsten ebene Gejumpt wird (timer) (Empfohlen 5)
        
snow_dungeon_settings.DurationLoopTimer 45                --Welchen intervall die Level und Missionen geprüft werden sollen. (Empfohlen 45)
        
snow_dungeon_settings.wait_duration 60*60*4                --Ab wann der Dungeon wieder betretbar ist (PartyLeader)
        
snow_dungeon_settings.maxlife_time_on_dungeon 60*60*1    --Maximale Zeit für den Dungeon.
        
snow_dungeon_settings.DurationMaxOnReJoinGroup 60*5        --Maximale Zeit innerhalb wann man wieder in die Gruppe joinen kann.
        
snow_dungeon_settings.key_level_2 30331                    --KeyVnum für die 2.Ebene    --Frostschlüssel
        snow_dungeon_settings
.NpcVnum_level_5 20398                --MobVnum von 5.Ebene    --Würfel des Arktos
        snow_dungeon_settings
.StoneCount_level_5 6                --Wie viele Würfel des Arktos sollen erscheinen
        
snow_dungeon_settings.Key_on_level_5 30332                --KeyVnum von 5.Ebene    --Nordstern
        snow_dungeon_settings
.StoneCords_level_5 = {
        {
432,508},{437,493},{448,492},{448,476},{467,475},{466,464},
        {
462,450},{458,428},{446,439},{431,431},{415,416},{402,427},
        {
397,438},{375,434},{374,456},{390,468},{385,492},{402,505},
        {
404,489},{386,482}
        }    --
Positionen von Würfel des Arktos
        snow_dungeon_settings
.MobVnum_level_6 8058                --MobVnum von 6.Ebene    --Metin der Kälte
        snow_dungeon_settings
.MobVnum_level_7 6151                --MobVnum von 7.Ebene    --Szel
        snow_dungeon_settings
.SzelCords_level_7 = {
        {
752,499},{758,479},{772,452},{763,444},{750,451},{728,441},
        {
726,455},{718,482},{715,491},{731,473},{748,429}
        } --
Positionen von Szel
        snow_dungeon_settings
.Key_on_level_8 30333                --KeyVnum von 8.Ebene    --Eisblumenschlüssel
        snow_dungeon_settings
.NpcVnum_level_9 20399                --MobVnum von 9.Ebene    --Säule des Norddrachen
        snow_dungeon_settings
.BossVnumGroup 6062                    --GroupMobVnum vom Boss --(Group.txt)
        
snow_dungeon_settings.BossVnum 6191                        --MobVnum von 10.Ebene    --Nemere(6191)
        
        
snow_dungeon_settings.Position_level_1 = { 171,271 }         --Position ebene 1    --Startposition        --Töte alle Monster auf dieser Ebene.
        
snow_dungeon_settings.Position_level_2 = { 761,270 }         --Position ebene 2                        --Finde den richtigen Frostschlüsselnur ein Schamane kann ihn benutzen.
        
snow_dungeon_settings.Position_level_3 = { 187,491 }         --Position ebene 3                        --Töte alle Monster auf dieser Ebene.
        
snow_dungeon_settings.Position_level_4 = { 421,259 }         --Position ebene 4                        --Töte alle Monster auf dieser Ebene.
        
snow_dungeon_settings.Position_level_5 = { 419,530 }         --Position ebene 5                        --Öffnet die Siegel an den Würfel des Arktos in der richtigen Reihenfolge. (Zieht Nordstern auf die Würfel)
        
snow_dungeon_settings.Position_level_6 = { 571,706 }         --Position ebene 6                        --Töte alle Monster auf dieser EbeneDanach Zersöre den Metin der Kälte (Nur ein Schamane kann ihn Schaden)
        
snow_dungeon_settings.Position_level_7 = { 746,534 }         --Position ebene 7                        --Töte alle Monster auf dieser Ebene und Szel
        snow_dungeon_settings
.Position_level_8 = { 303,710 }         --Position ebene 8                        --Der Eisblumenschlüssel muss gedroppt werdenjedoch kann dieser nur von Schamanen und Ninja benutzt werden.
        
snow_dungeon_settings.Position_level_9 = { 848,693  }         --Position ebene 9                        --Zerstört die Säule des NorddrachenNur Ninjas und Schamanen können ihm Schaden zufügen.
        
snow_dungeon_settings.Position_level_10 = { 927,391 }         --Position ebene 10 (BossZone)            --Besiege Nemereden König über Frost und Eis.    
        
snow_dungeon_settings.Enable_TestServerMode false            --Ob TestServer mode aktiviert istWenn ja werden die Aufgaben schneller beendet.
        
snow_dungeon_settings.IsNewga_me_re_vi_sion true                --Need ga_me_re_vi_sion 40301
        
return snow_dungeon_settings
    end
    
function is_TestServerMode()
        
local set snow_dungeon.get_settings()
        return 
set.Enable_TestServerMode
    end
    
function is_nemeres_dungeon()
        
local set snow_dungeon.get_settings()
        
local map pc.get_map_index()
        if 
map >= (set.map_index 10000) and map < (set.map_index 10000 9000then
            
return true
        
else
            return 
false
        end
    end
    when 20395.chat
."Deiner Gruppe wieder beitreten" with (party.is_party() and d.find(party.getf("ice_dungeon_map_index"))) begin
        local set 
snow_dungeon.get_settings()
        
local n party.getf("ice_dungeon_map_index")
        
local cord set.base_cord
        local level 
d.getf_from_map_index("level"n)
        --
say("Aktuelles Dungeon Level deiner Gruppe: "..level.."")
        if 
level == 0 then
            say_npc_name
()
            
say("Deine Gruppe hat den Run bereits beendet.")
            return
        
end
        
if pc.getqf("out_party_time") < get_global_time() then
            say_npc
()
            
say("")
            
say("Du hast länger als  "..math.ceil(set.DurationMaxOnReJoinGroup  /60) .." Minute(n) vor dem")
            
say("Eisberg verweilt und kannst jetzt nicht")
            
say("mehr eintreten.")
            return
        
end
        
if == 0 then
            setskin
(NOWINDOW)
            return
        else
            
say_npc()
            
say("")
            
say("Möchtest du deiner Gruppe wieder beitreten?")
            if 
select("Ja","Nein") == 1 then
                local warp_to_level 
set.Position_level_1
                local level 
d.getf_from_map_index("level"n)
                if 
level >= and level <= 10 then
                    
if level == 1 then         warp_to_level set.Position_level_1
                    
elseif level == 2 then    warp_to_level set.Position_level_2
                    
elseif level == 3 then    warp_to_level set.Position_level_3
                    
elseif level == 4 then    warp_to_level set.Position_level_4
                    
elseif level == 5 then    warp_to_level set.Position_level_5
                    
elseif level == 6 then    warp_to_level set.Position_level_6
                    
elseif level == 7 then    warp_to_level set.Position_level_7
                    
elseif level == 8 then    warp_to_level set.Position_level_8
                    
elseif level == 9 then    warp_to_level set.Position_level_9
                    
elseif level == 10 then    warp_to_level set.Position_level_10
                    end
                    pc
.warp((cord[1] + warp_to_level[1])*100,(cord[2] + warp_to_level[2])*100,n)
                else
                    return
                
end
            end
        end
    end
    
    when 20395.chat
."Nemeres Warte" begin
        local set 
snow_dungeon.get_settings()
        
local need_level set.need_level
        say_npc
()
        
say("")
        
say("Willst du mit deiner Gruppe wirklich die")
        
say("Nemeres Warte betreten?")
        if 
select("Ja, wir wollen eintreten!","Nein, uns ist es zu kalt dort...") == 2 then
            
return
        
end
        
if (pc.is_gm() and pc.getf("snow_dungeon","duration") >= get_global_time()) then
            say
("Your are GameMaster, remove the duration?")
            if 
select("Yes","No") == 1 then
                pc
.setf("snow_dungeon","duration",0)
                return
            
end
        end
        
if (is_test_server() and snow_dungeon.is_TestServerMode() == true then
            say
("TestServer Mode is enable.")
            
say("Join now")
            
timer("make_dungeon",3)
            return
        
end
        
if not party.is_leader() then
            say_npc
()
            
say("Ich schätze deinen Mut, doch alleine wirst du in")
            
say("der Nemres-Warte in dein Verderben rennen.")
            
say("Stelle eine starke Gruppe zusammen und ich werde")
            
say("dir Einlass gewähren.")
            return
        
end
        
if pc.get_level() < need_level then
            say
("Ihr braucht mindestens level "..need_level.."")
            
say("um diesen Dungeon betreten zu können.")
            return
        
end
        
if pc.getf("snow_dungeon","duration") >= get_global_time() then
            say_npc
()
            
say("Die Wartezeit für den Wiedereintritt in die")
            
say("Nemeres-Warte ist noch nicht abgelaufen. ")
            
say("Verb. Zeit: "..LIB_duration(pc.getf("snow_dungeon","duration") - get_global_time()).."")
            return
        
end
        
if snow_dungeon._CheckMembersLevel() == false then    
            
return
        else
            
timer("make_dungeon",2)
        
end
    end
    when 20397.chat
."Die Schlacht beginnen" begin --Eisiger Löwe
        say_npc
()
        
say("")
        
say("Sicher das ihr anfangen wollt?")
        if 
select("Ja","Nein, lieber doch nicht") == 1 then
            local set 
snow_dungeon.get_settings()
            
local loop_durr set.DurationLoopTimer
            local wait_durations 
set.wait_duration
            local t 
get_global_time()
            
d.setf("LastTimeGetOutPut",0)    
            
server_loop_timer("CheckLevelAndCountKillOnMobs",loop_durr,d.get_map_index())
            
d.regen_file("data/dungeon/ice_dungeon/zone_1.txt")
            
d.setf("Start_Time",set.maxlife_time_on_dungeon)
            
server_timer("Jp_OutAllFailNotice",(set.maxlife_time_on_dungeon) -  t,d.get_map_index())
            --
pc.setqf("duration",wait_durations)
            
d.setqf2("snow_dungeon","duration",wait_durations)
            
d.setf("level",1)
            
d.notice("Die ersten Monster erscheinen, tötet alle um in den nächsten Stock zu gelangen."
            
npc.purge()
            
snow_dungeon._GetLastTime()
        
end
        setskin
(NOWINDOW)
    
end
    when make_dungeon
.timer begin
        local set 
snow_dungeon.get_settings()
        
local cord set.base_cord
        local start_pos 
set.Position_level_1
        local t 
get_global_time()
        
d.new_jump_party(set.map_index,(cord[1] + start_pos[1]), (cord[2] + start_pos[2]))
        --
d.new_jump_all(set.map_index,(cord[1] + start_pos[1]), (cord[2] + start_pos[2]))
        
snow_dungeon._ClearAlls()
        
d.setf("party_leader_pid",party.get_leader_pid())
        
party.setf("ice_dungeon_map_index",d.get_map_index())
        
d.spawn_mob_dir(20397173,262,1) --Eisiger Löwe
    end
    
function _ClearAlls()
        
local d_index d.get_map_index()
        
clear_server_timer("CheckLevelAndCountKillOnMobs",d_index)
        
clear_server_timer("Jp_1",d_index)
        
clear_server_timer("Jp_2",d_index)
        
clear_server_timer("Jp_3",d_index)
        
clear_server_timer("Jp_4",d_index)
        
clear_server_timer("Jp_5",d_index)
        
clear_server_timer("Jp_6",d_index)
        
clear_server_timer("Jp_7",d_index)
        
clear_server_timer("Jp_8",d_index)
        
clear_server_timer("Jp_9",d_index)
        
clear_server_timer("Jp_10",d_index)
        
clear_server_timer("Jp_OutAll",d_index)
        
clear_server_timer("Jp_OutAllFail",d_index)
        
clear_server_timer("Jp_OutAllFailNotice",d_index)
        
d.setf("level",0)    
        
d.setf("party_leader_pid",0)
        
d.setf("Start_Time",0)
        
d.setf("LastTimeGetOutPut",0)
        
d.setf("Stone_5_count",0)
        
d.setf("Stone_5_item_fail",0)
        
d.clear_regen()
        
d.kill_all()
    
end
    
    
function _CheckMembersLevel()
        
local set snow_dungeon.get_settings()
        
local user_fail_level = {}
        
local pids = {party.get_member_pids()}
        
local need_level set.need_level_group
        local have_ninja 
false
        local have_shaman 
false
        
for 1table.getn(pids), do
            
q.begin_other_pc_block(pids[i])
            if 
pc.get_level() < need_level then
                table
.insert(user_fail_leveltable.getn(user_fail_level) +1pc.get_name())
            
end
            local job 
pc.get_job()
            if 
job == -- Ninja weiblich
            
or job == --Ninja männlich
            then
                have_ninja 
true
            end
            
if job == -- Schamane weiblich
            
or job == --Schamane männlich
            then
                have_shaman 
true
            end
            q
.end_other_pc_block()
        
end
        
if (is_test_server() and snow_dungeon.is_TestServerMode() == true then
            
--dchat("TestServer Mode is enable.")
            return 
true
        end
        
if have_ninja == false then
            say
("Ihr könnt diesen Dungeon nicht ohnen einen")
            
say("Ninja betreten.")
            return 
false
        end
        
if have_shaman == false then
            say
("Ihr könnt diesen Dungeon nicht ohnen einen")
            
say("Schamanen betreten.")
            return 
false
        end
        
if table.getn(user_fail_level) >= 1 then
            say_npc
()
            
say("")
            
say("Einige Mitglieder einer Gruppe haben das")
            
say("Level "..need_level.." noch nicht erreicht:")
            for 
1table.getn(user_fail_level), do
                
say(color(1,1,0), "    "..user_fail_level[x])
            
end
            
return false
        end
        
if table.getn(user_fail_level) == 0 then
            
return true
        end
    end
    when logout begin
        
if snow_dungeon.is_nemeres_dungeon() == true then
        local set 
snow_dungeon.get_settings()
        
pc.setqf("out_party_time",get_global_time() + set.DurationMaxOnReJoinGroup)
        --
snow_dungeon.unregister_name()
        
end
    end
    
    when login begin
        
if snow_dungeon.is_nemeres_dungeon() == true then
            local set 
snow_dungeon.get_settings()
            
local backk set.outside_entry_pos
            pc
.set_warp_location(backk[1], backk[2],backk[3])
            if 
d.getf("party_leader_pid") != party.get_leader_pid() then
                chat
("nemeres_wait_dungeon #RAUS:#  Outside, your Group is not on this Dungeon")
                
chat("nemeres_wait_dungeon #RAUS:#debug -> "..d.getf("party_leader_pid").." != "..party.get_leader_pid().."")
                
d.exit()
                return
            
end
            
if pc.get_level() < set.need_level_group then
                chat
("nemeres_wait_dungeon #RAUS:#  My level is low")
                
d.exit()
                return
            
end
            
--chat("Willkommen im Nemeres Warte, Ihr habt "..math.ceil((d.getf("Start_Time")  - get_global_time()) /60) .." Minuten Zeit.")
            --
notice("Tötet alle Monster auf dieser Ebene um in den nächsten Stock zu gelangen.")
            --
snow_dungeon._GetLastTime()
        
end
    end
    
    
function _GetLastTime()
        
local c get_global_time()
        
local t d.getf("Start_Time") - c
        local o 
d.getf("LastTimeGetOutPut")
        --
d.notice("CurrentTime: "..c.." Last: "..o.."")
        if 
>= o then
            
if >= 60 then
                d
.notice("Euch verbleiben ca "..math.ceil(60).." Minute(n).")
            else
                
d.notice("Euch verbleiben "...." Sekunde(n).")
            
end
            
if >= (60*10then
                d
.setf("LastTimeGetOutPut",60*5)
            elseif 
>= (60*5then
                d
.setf("LastTimeGetOutPut",60*2)
            else
                
d.setf("LastTimeGetOutPut",10)
            
end
            
--d.setf("LastTimeGetOutPut",60*number(3,5)) -- Random
        end
    end
    
    when Jp_OutAllFailNotice
.server_timer begin
        
if d.select(get_server_timer_arg()) then
            d
.notice("Zeit ist abgelaufen.")
            
server_timer("Jp_OutAll",1,d.get_map_index())
        
end
    end
    
    when CheckLevelAndCountKillOnMobs
.server_timer begin
        
if d.select(get_server_timer_arg()) then
            local set 
snow_dungeon.get_settings()
            
local level d.getf("level")
            
local mob_count d.count_monster()
            
local next_jump_time set.NextJumpTime
            
--d.notice("level: "..level.." mob_count: "..mob_count.."")
            if 
level == and mob_count <= 0 then
                d
.notice("Ihr habt alle Monster besiegt, in wenigen Sekunden geht es in den nächsten Stock.")
                
d.notice("")
                
server_timer("Jp_2",next_jump_time,d.get_map_index())
                
d.clear_regen()
                
d.kill_all()
                
d.set_regen_file("data/dungeon/ice_dungeon/zone_2.txt")
            elseif 
level == and mob_count <= 0 then
                d
.notice("Ihr habt alle Monster besiegt, in wenigen Sekunden geht es in den nächsten Stock.")
                
d.notice("")
                
server_timer("Jp_4",next_jump_time,d.get_map_index())
                
d.clear_regen()
                
d.kill_all()
                
d.regen_file("data/dungeon/ice_dungeon/zone_4.txt")
            elseif 
level == and mob_count <= 0 then
                d
.notice("Ihr habt alle Monster besiegt, in wenigen Sekunden geht es in den nächsten Stock.")
                
d.notice("")
                
server_timer("Jp_5",next_jump_time,d.get_map_index())
                
d.clear_regen()
                
d.kill_all()
                
d.set_regen_file("data/dungeon/ice_dungeon/zone_5.txt")
            elseif 
level == and mob_count <= 0 then
                local MobStonelvl6 
set.MobVnum_level_6
                d
.notice("Ihr habt alle Monster besiegt, Der "..mob_name(MobStonelvl6).." erscheint.")
                
d.notice("")
                
d.clear_regen()
                
d.kill_all()
                
d.regen_file("data/dungeon/ice_dungeon/zone_6.txt")
                
d.spawn_mob(MobStonelvl6,570,649)
            elseif 
level == and mob_count <= 0 then
                d
.notice("Ihr habt alle Monster besiegt, in wenigen Sekunden geht es in den nächsten Stock.")
                
d.notice("")
                
server_timer("Jp_8",next_jump_time,d.get_map_index())
                
d.clear_regen()
                
d.kill_all()
                
d.set_regen_file("data/dungeon/ice_dungeon/zone_8.txt")                
            
end
            snow_dungeon
._GetLastTime()
        
end
    end

    when Jp_2
.server_timer begin --Jump Level 2
        
if d.select(get_server_timer_arg()) then
            local set 
snow_dungeon.get_settings()
            
local v set.key_level_2
            d
.setf("level",2)
            
local cord set.base_cord
            local pos 
set.Position_level_2
            d
.jump_all((cord[1] + pos[1]), (cord[2] + pos[2]))
            
d.notice("findet den richtigen "..item_name(v).." um weiter zu gelangen.")
            
d.notice("")
        
end
    end
    when 30331.
use with snow_dungeon.is_nemeres_dungeon() == true begin --key_level_2
        local set 
snow_dungeon.get_settings()
        
local next_jump_time set.NextJumpTime
        local job 
pc.get_job()
        
local level d.getf("level")
        if 
level == 2 then
            
if (is_test_server() and snow_dungeon.is_TestServerMode() == true then
                
--dchat("SET VARIABLE JOB 3")
                
job 3
            end
            
if job == -- Schamane weiblich
            
or job == --Schamane männlich
            then
                
if number(1,3) == 1 then --or d.count_monster() < 10 then
                    d
.notice("Der Richtige Schlüssel wurde gefunden, in wenigen Sekunden geht es in den nächsten Stock.")
                    
server_timer("Jp_3",next_jump_time,d.get_map_index())
                    
d.clear_regen()
                    
d.kill_all()
                    
d.regen_file("data/dungeon/ice_dungeon/zone_3.txt")
                    
item.remove()
                else
                    
d.notice("Das war der Falsche Schlüssel.")
                    
item.remove()
                
end
            
else
                
d.notice("Nur Schamanen können ihn benutzen.")
                return
            
end
        end
    end
    
    when Jp_3
.server_timer begin --Jump Level 3
        
if d.select(get_server_timer_arg()) then
            local set 
snow_dungeon.get_settings()
            
d.setf("level",3)
            
local cord_MQ set.base_cord
            local pos 
set.Position_level_3
            d
.jump_all((cord_MQ[1] + pos[1]), (cord_MQ[2] + pos[2]))
            
d.notice("Tötet alle Monster auf dieser Ebene um in den nächsten Stock zu gelangen.")
        
end
    end
    
    when Jp_4
.server_timer begin --Jump Level 4
        
if d.select(get_server_timer_arg()) then
            local set 
snow_dungeon.get_settings()
            
d.setf("level",4)
            
local cord set.base_cord
            local pos 
set.Position_level_4
            d
.jump_all((cord[1] + pos[1]), (cord[2] + pos[2]))
            
d.notice("Tötet alle Monster auf dieser Ebene um in den nächsten Stock zu gelangen.")
        
end
    end
    
    when Jp_5
.server_timer begin --Jump Level 5
        
if d.select(get_server_timer_arg()) then
            local set 
snow_dungeon.get_settings()
            
local v set.NpcVnum_level_5
            d
.setf("level",5)
            
local cord set.base_cord
            local pos 
set.Position_level_5
            d
.jump_all((cord[1] + pos[1]), (cord[2] + pos[2]))
            
d.notice("Öffnet die Siegel an den "..mob_name(v).." in der richtigen Reihenfolge.")
            if 
set.IsNewga_me_re_vi_sion == true then
                d
.notice("Die Schlüssel lassen die Monster fallen...")
            else
                
d.notice("Die Schlüssel landen automatisch ins Inventar...")
            
end
            snow_dungeon
._Create_Stones_level5()
        
end
    end
    
    
function _DropKeyOnLevel5()
        if 
number(1,1000) >= 666 then --Abbruch der weiteren funtion -> Damit es spannend bleibt bei den würfeln... :P
            
return
        
end
        local set 
snow_dungeon.get_settings()
        
local count set.StoneCount_level_5
        local vnum 
set.Key_on_level_5
        local get_random_unique 
d.get_unique_vid("stone5_"..number(1,count).."")
        
local fail_count d.getf("Stone_5_item_fail") +1
        local search 
d.getf("Stone_5_count")
        
local search2 d.get_unique_vid("stone5_"..search.."")
        if 
search2 != get_random_unique then
            d
.setf("Stone_5_item_fail",fail_count)
        
end
        
--
        if 
set.IsNewga_me_re_vi_sion == true then
            
--New function
            
game.drop_item_and_select(vnum,1)
        else
            
pc.give_item2_select(vnum,1)
        
end
        
--dchat("Creaty Key fail_count: "..fail_count.."")
        if (
is_test_server() and snow_dungeon.is_TestServerMode() == true then --Wenn TestServer Modus
            item
.set_socket(1,search2)
            
d.setf("Stone_5_item_fail",0)
        elseif 
fail_count 6 then --Wenn mehr wie x mal nicht richtig erstellt wirddann kommt der richtige Key
            item
.set_socket(1,search2)
            
d.setf("Stone_5_item_fail",0)
        else    
            
item.set_socket(1,get_random_unique)
        
end
    end
    
    
function _Create_Stones_level5()
        
local set snow_dungeon.get_settings()
        
local stone_level5_count_MQ set.StoneCount_level_5
        local c 
set.StoneCords_level_5 --{ {432,508},{437,493},{448,492},{448,476},{467,475},{466,464}}
        
local v set.NpcVnum_level_5
        
for 1stone_level5_count_MQdo
            
local n number(1,table.getn(c))
            --
d.spawn_mob(20398c[n][1], c[n][2])
            
d.set_unique("stone5_"..i..""d.spawn_mob(vc[n][1], c[n][2]))
            --
d.set_unique("stone5_"..i..""mob.spawn(20398c[n][1], c[n][2],1,1,1)) --GEHT
            
--d.set_unique("stone5_"..i..""d.spawn_mob_ac_dir(20398c[n][1], c[n][2],i)) --GEHT
            table
.remove(c,n)
            if 
== 1 then
                d
.setf("Stone_5_count",1)
                
d.setf("Stone_5_item_fail",0)
            
end
        end
    end
    
    when 20398.take begin 
--NpcVnum_level_5
        
if snow_dungeon.is_nemeres_dungeon() == true then
            local set 
snow_dungeon.get_settings()
            
local stone_level5_count set.StoneCount_level_5
            local next_jump_time 
set.NextJumpTime
            local vnum 
item.get_vnum()
            
local key_level_5 set.Key_on_level_5 --30332
            local unique_item 
item.get_socket(1)
            --
dchat("unique_item: "..unique_item.."")
            if (
is_test_server() and snow_dungeon.is_TestServerMode() == true then
                d
.notice("TESTSERVERMODE, in wenigen Sekunden geht es in den nächsten Stock.")
                
npc.purge()
                
item.remove()
                
server_timer("Jp_6",next_jump_time,d.get_map_index())
                
d.clear_regen()
                
d.kill_all()
                
d.regen_file("data/dungeon/ice_dungeon/zone_6.txt")
                return
            
end
            
if vnum == key_level_5 then
                local npc_vid 
npc.get_vid()
                
local search d.getf("Stone_5_count")
                
local search2 d.get_unique_vid("stone5_"..search.."")
                --
dchat("npc_vid: "..npc_vid.." search:"..search.." search2:"..search2.." ")
                if 
npc_vid == search2 then
                    
if unique_item == npc_vid then
                        local 
new = search +
                        
if new > stone_level5_count then
                            d
.notice("Der Letzte Stein wurde richtig endeckt, in wenigen Sekunden geht es in den nächsten Stock.")
                            
npc.purge()
                            
item.remove()
                            
server_timer("Jp_6",next_jump_time,d.get_map_index())
                            
d.clear_regen()
                            
d.kill_all()
                            
d.regen_file("data/dungeon/ice_dungeon/zone_6.txt")
                        else
                            
d.notice("Der "..search..".Stein wurde endeckt. Es müssen noch weitere ".. stone_level5_count search .." Steine in der richtigen Reihenfolge gefunden werden.")
                            
npc.purge()
                            
item.remove()
                        
end
                        d
.setf("Stone_5_count",new)
                    else
                        
chat("Das ist zwar der richtige Stein, aber der falsche Schlüssel.")
                        
item.remove()
                    
end
                
else
                    
chat("Das ist nicht der richtige Stein.")
                
end
            end
        end    
--if is dungeon end
    end    
--when end
    
    when Jp_6
.server_timer begin --Jump Level 6
        
if d.select(get_server_timer_arg()) then
            local set 
snow_dungeon.get_settings()
            
local v set.MobVnum_level_6
            d
.setf("level",6)
            
local cord set.base_cord
            local pos 
set.Position_level_6
            d
.jump_all((cord[1] + pos[1]), (cord[2] + pos[2]))
            
            
d.notice("Ihr habt alle Monster getötet. Tötet alle Monster und zerstört den "..mob_name(v).."")
            
d.notice("Nur Schamanen können ihm Schaden hinzufügen.")
            --
d.spawn_mob(v,570,649)
            
        
end
    end
    
    when Jp_7
.server_timer begin --Jump Level 7
        
if d.select(get_server_timer_arg()) then
            local set 
snow_dungeon.get_settings()
            
local v set.MobVnum_level_7
            d
.setf("level",7)
            
local cord set.base_cord
            local pos 
set.Position_level_7
            d
.jump_all((cord[1] + pos[1]), (cord[2] + pos[2]))
            
d.notice("Ihr habt den Metinstein Erfolgreich zerstört nun Tötet alle Monster und "..mob_name(v)..".")
        
end
    end
    
    when Jp_8
.server_timer begin --Jump Level 8
        
if d.select(get_server_timer_arg()) then
            local set 
snow_dungeon.get_settings()
            
local v set.Key_on_level_8
            d
.setf("level",8)
            
local cord set.base_cord
            local pos 
set.Position_level_8
            d
.jump_all((cord[1] + pos[1]), (cord[2] + pos[2]))
            
d.notice("Tötet solange Monster bis ihr "..item_name(v).." Habt.")
            
d.notice("Aber nur Schamanen und Ninjas können ihn benutzen.")
        
end
    end
    
    when 30333.
use with snow_dungeon.is_nemeres_dungeon() == true begin --Key_on_level_8
        local set 
snow_dungeon.get_settings()
        
local next_jump_time set.NextJumpTime
        local level 
d.getf("level")
        
local job pc.get_job()
        if 
level == 8 then
            
if (is_test_server() and snow_dungeon.is_TestServerMode() == true then
                
--dchat("SET VARIABLE JOB 3")
                
job 3
            end
            
if job == -- Ninja weiblich
            
or job == --Ninja männlich
            
or job == -- Schamane weiblich
            
or job == --Schamane männlich
            then
                
if number(1,3) == 1 then
                    d
.notice("Der Richtige Schlüssel wurde gefunden, in wenigen Sekunden geht es in den nächsten Stock.")
                    
server_timer("Jp_9",next_jump_time,d.get_map_index())
                    
d.clear_regen()
                    
d.kill_all()
                    
d.regen_file("data/dungeon/ice_dungeon/zone_9.txt")
                    
item.remove()
                else
                    
d.notice("Das war der Falsche Schlüssel.")
                    
item.remove()
                
end
            
else
                
d.notice("Nur Schamanen und Ninja können das benutzen.")
                return
            
end
        end
    end
    
    when Jp_9
.server_timer begin --Jump Level 9
        
if d.select(get_server_timer_arg()) then
            local set 
snow_dungeon.get_settings()
            
local v set.NpcVnum_level_9
            d
.setf("level",9)
            
local cord set.base_cord
            local pos 
set.Position_level_9
            d
.jump_all((cord[1] + pos[1]), (cord[2] + pos[2]))
            
d.notice("Zerstört die "..mob_name(v).." ")
            
d.notice("Aber nur Schamanen und Ninjas können ihn schanden zufügen.")
            
d.notice("")
            
d.spawn_mob(v,849,655)
        
end
    end
    
    when Jp_Boss
.server_timer begin --Jump Level BossZone
        
if d.select(get_server_timer_arg()) then
            local set 
snow_dungeon.get_settings()
            
local v set.BossVnum
            d
.setf("level",10)
            
local cord set.base_cord
            local pos 
set.Position_level_10
            d
.jump_all((cord[1] + pos[1]), (cord[2] + pos[2]))
            
d.notice("Besiegt "..mob_name(v)..", den König über Frost und Eis.")
        
end
    end
    
    when kill begin
        
if snow_dungeon.is_nemeres_dungeon() == true then
            local set 
snow_dungeon.get_settings()
            
local next_jump_time set.NextJumpTime
            local level 
d.getf("level")
            
local stone_level_6 set.MobVnum_level_6
            local stone_level_9 
set.NpcVnum_level_9
            local boss_vnum 
set.BossVnum
            local wait_time 
set.WaitBeforOutAllOnExit
            local mobvnum 
npc.get_race()
            --
dchat("nemeres_wait_dungeon MobVnum = "..mobvnum.."")
            if 
level == and mobvnum >= 6101 and mobvnum <= 6108 and == number(1,10)  then
                local v 
set.key_level_2
                game
.drop_item(v,1)
            elseif 
level == and mobvnum >= 6101 and mobvnum <= 6108 and == number(1,15then
                snow_dungeon
._DropKeyOnLevel5()
            elseif 
level == and mobvnum == stone_level_6 then
                d
.notice("Der "..mob_name(stone_level_6).." wurde zerstört, in wenigen Sekunden geht es in den nächsten Stock.")
                
d.notice("")
                
server_timer("Jp_7",next_jump_time,d.get_map_index())
                
d.clear_regen()
                
d.kill_all()
                
d.regen_file("data/dungeon/ice_dungeon/zone_7.txt") --Szel
                local v_MQv 
set.MobVnum_level_7
                local c 
set.SzelCords_level_7
                local n 
number(1,table.getn(c))
                
d.spawn_mob(v_MQvc[n][1], c[n][2])
            elseif 
level == and mobvnum >= 6101 and mobvnum <= 6108 and == number(1,10then
                local v 
set.Key_on_level_8
                game
.drop_item(v,1)    
            elseif 
level == and mobvnum == stone_level_9 then
                d
.notice("Der "..mob_name(stone_level_9).." wurde zerstört, in wenigen Sekunden geht es in den nächsten Stock.")
                
server_timer("Jp_Boss",next_jump_time,d.get_map_index())
                
d.clear_regen()
                
d.kill_all()
                
d.regen_file("data/dungeon/ice_dungeon/zone_boss.txt")
                
local v set.BossVnumGroup
                d
.spawn_group(v928335,11) --    (Input from SRCargumentvnum,x,y,radius,aggressive,count)
            elseif 
level == 10 and mobvnum == boss_vnum then
                d
.clear_regen()
                
d.kill_all()
                
d.notice("Ihr habt "..mob_name(boss_vnum).." besiegt. In "..wait_time.." Sekunden werden alle hinausteleportiert.")
                
server_timer("Jp_OutAll",wait_time,d.get_map_index())
            
end
        end
    end
    when Jp_OutAll
.server_timer begin --Jump Out Bye bye ;D
        
if d.select(get_server_timer_arg()) then
            snow_dungeon
._ExitAll()
        
end
    end
    
function _ExitAll()
        
d.exit_all()
    
end
end
end 
HDMT2 is offline  
Old 02/24/2015, 13:33   #2
 
SolWayne's Avatar
 
elite*gold: 30
Join Date: Feb 2015
Posts: 362
Received Thanks: 58
Ich denke mal das folgendes deine Python nicht packen wird,



MFG,

Wayne
SolWayne is offline  
Thanks
3 Users
Old 02/24/2015, 21:16   #3
 
Gl0bal's Avatar
 
elite*gold: 8
Join Date: Oct 2010
Posts: 564
Received Thanks: 906
Quote:
Originally Posted by SolWayne View Post
Ich denke mal das folgendes deine Python nicht packen wird,



MFG,

Wayne
Na ja deine Python wird den Rest des Codes auch nicht packen, aber zum Glück ist das ja Lua.

BTT:
Ich verstehe deine Frage nicht so richtig. Deine Beschreibung des Problem ist ist irgendwie nicht ganz schlüssig. Ich würde dir gerne helfen, wenn mir klar wäre, was du meinst .

MfG
Gl0bal is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[Problem]Habe ein Problem und zwar spinnt mein VPC etwas(ohne Grund)?!
07/28/2011 - Metin2 Private Server - 10 Replies
Also wie schon gesagt meins Server spinnt wodurch kiks usw. kommen :( ich lade euch die Screens in den Anhang, mit der Hoffnung, dass ihr mir helfen könnt :) wäre echt sehr nice :)



All times are GMT +2. The time now is 09:33.


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.