Jump to content

Slime

Member
  • Content Count

    16
  • Joined

  • Last visited

  • Yangs

    0 [ Donate ]

Community Reputation

0 Neutral

About Slime

  • Rank
    Neutral

Informations

  • Gender
    Not Telling

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Same thing happens with temple of ochao/enchanted forest/jothun room and other new dungeons, they all work if i go by warp, but they warp me out if i go by /private instance... any ideas? ] //edit Solved, i used the blue dragon run by demon, and there was a line that sayd something like If map_inex != 79 or not pc.in_dungeon() begin warp_to_village() end that's why it warped me out.
  2. Hi, i try to put the full run of snow_dungeon and i have the following problem: I do a party with shaman and ninja, i enter the dungeon, when we enter, after a few seconds some of us get teleported outside, seems that usually the same characters can stay inside i don't know why, i managed to get in 1 and 2 pg's at the same time, it's not a race thing either, i managed to get in warriors shamans and ninja's, but there are only certain people who can get in.. Not even a level issue, i for one with my gm account i can't stay in.. it teleports me outside. non syserr. Also sience i noticed that the run starts in a private instance, i tried to /private 352 there, and the same thing happens to that dungeon.. note that when i enter that same map on 352 index and not a private one i do not get pulled out. if that would be a quest, it would pull us all out and not just some of us. the rest of the dungeon seem to work. Here's the quest anyways quest snow_dungeon begin state start begin function get_settings() local snow_dungeon_settings = {} snow_dungeon_settings.map_index = 352 --Mapindex snow_dungeon_settings.base_cord = {5120, 1536} --Base Kordinaten snow_dungeon_settings.outside_entry_pos = {61,4321,1667} --Mapindex, Exit Position (Eisland) snow_dungeon_settings.need_level = 80 --Ab wann ist der Dungeon betretbar. snow_dungeon_settings.need_level_group = 90 --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 = 5 --Wie viele Würfel des Arktos sollen erscheinen? snow_dungeon_settings.Key_on_level_5 = 30332 --KeyVnum von 5.Ebene --Nordstern snow_dungeon_settings.StoneCords_level_5 = { {432,508},{437,493},{448,492},{448,476},{467,475},{466,464}, {462,450},{458,428},{446,439},{431,431},{415,416},{402,427}, {397,438},{375,434},{374,456},{390,468},{385,492},{402,505}, {404,489},{386,482} } --Positionen von Würfel des Arktos snow_dungeon_settings.MobVnum_level_6 = 8058 --MobVnum von 6.Ebene --Metin der Kälte snow_dungeon_settings.MobVnum_level_7 = 6151 --MobVnum von 7.Ebene --Szel snow_dungeon_settings.SzelCords_level_7 = { {752,499},{758,479},{772,452},{763,444},{750,451},{728,441}, {726,455},{718,482},{715,491},{731,473},{748,429} } --Positionen von Szel snow_dungeon_settings.Key_on_level_8 = 30333 --KeyVnum von 8.Ebene --Eisblumenschlüssel snow_dungeon_settings.NpcVnum_level_9 = 20399 --MobVnum von 9.Ebene --Säule des Norddrachen snow_dungeon_settings.BossVnumGroup = 6062 --GroupMobVnum vom Boss --(Group.txt) snow_dungeon_settings.BossVnum = 6191 --MobVnum von 10.Ebene --Nemere(6191) snow_dungeon_settings.Position_level_1 = { 171,271 } --Position ebene 1 --Startposition --Töte alle Monster auf dieser Ebene. snow_dungeon_settings.Position_level_2 = { 761,270 } --Position ebene 2 --Finde den richtigen Frostschlüssel, nur ein Schamane kann ihn benutzen. snow_dungeon_settings.Position_level_3 = { 187,491 } --Position ebene 3 --Töte alle Monster auf dieser Ebene. snow_dungeon_settings.Position_level_4 = { 421,259 } --Position ebene 4 --Töte alle Monster auf dieser Ebene. snow_dungeon_settings.Position_level_5 = { 419,530 } --Position ebene 5 --Öffnet die Siegel an den Würfel des Arktos in der richtigen Reihenfolge. (Zieht Nordstern auf die Würfel) snow_dungeon_settings.Position_level_6 = { 571,706 } --Position ebene 6 --Töte alle Monster auf dieser Ebene. Danach Zersöre den Metin der Kälte (Nur ein Schamane kann ihn Schaden) snow_dungeon_settings.Position_level_7 = { 746,534 } --Position ebene 7 --Töte alle Monster auf dieser Ebene und Szel snow_dungeon_settings.Position_level_8 = { 303,710 } --Position ebene 8 --Der Eisblumenschlüssel muss gedroppt werden, jedoch kann dieser nur von Schamanen und Ninja benutzt werden. snow_dungeon_settings.Position_level_9 = { 848,693 } --Position ebene 9 --Zerstört die Säule des Norddrachen. Nur Ninjas und Schamanen können ihm Schaden zufügen. snow_dungeon_settings.Position_level_10 = { 927,391 } --Position ebene 10 (BossZone) --Besiege Nemere, den König über Frost und Eis. snow_dungeon_settings.Enable_TestServerMode = false --Ob TestServer mode aktiviert ist. Wenn ja werden die Aufgaben schneller beendet. snow_dungeon_settings.IsNewGameRevision = true --Need GameRevision 40301 return snow_dungeon_settings end function is_nemeres_dungeon() local set = snow_dungeon.get_settings() local map = pc.get_map_index() if map >= (set.map_index * 10000) and map < (set.map_index * 10000 + 9000) then return true else return false end end when 20395.chat.locale.snow_dungeon._001_sayNpc with pc.get_map_index() == 352 or pc.get_map_index() >= 3520000 begin say(locale.snow_dungeon._016_say) wait() pc.warp(432100,166700) end when 20395.chat.locale.snow_dungeon._002_sayNpc 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) if level == 0 then say(locale.snow_dungeon._001_say) return end if pc.getqf("out_party_time") < get_global_time() then say(locale.snow_dungeon._002_say.." "..math.ceil(set.DurationMaxOnReJoinGroup /60) .." "..locale.snow_dungeon._003_say) return end if n == 0 then setskin(NOWINDOW) return else say(locale.snow_dungeon._004_say) if select(locale.snow_dungeon._001_select,locale.snow_dungeon._002_select) == 1 then local warp_to_level = set.Position_level_1 local level = d.getf_from_map_index("level", n) if level >= 1 and level <= 10 then if level == 1 then warp_to_level = set.Position_level_1 elseif level == 2 then warp_to_level = set.Position_level_2 elseif level == 3 then warp_to_level = set.Position_level_3 elseif level == 4 then warp_to_level = set.Position_level_4 elseif level == 5 then warp_to_level = set.Position_level_5 elseif level == 6 then warp_to_level = set.Position_level_6 elseif level == 7 then warp_to_level = set.Position_level_7 elseif level == 8 then warp_to_level = set.Position_level_8 elseif level == 9 then warp_to_level = set.Position_level_9 elseif level == 10 then warp_to_level = set.Position_level_10 end pc.warp((cord[1] + warp_to_level[1])*100,(cord[2] + warp_to_level[2])*100,n) else return end end end end when 20395.chat.locale.snow_dungeon._003_sayNpc begin local set = snow_dungeon.get_settings() local need_level = set.need_level say(locale.snow_dungeon._005_say) if select(locale.snow_dungeon._001_select,locale.snow_dungeon._002_select) == 2 then return end if (pc.is_gm() and pc.getf("snow_dungeon","duration") >= get_global_time()) then say(locale.snow_dungeon._006_say) if select(locale.snow_dungeon._001_select,locale.snow_dungeon._002_select) == 1 then pc.setf("snow_dungeon","duration",0) return end end if not party.is_leader() then say(locale.snow_dungeon._007_say) say(locale.snow_dungeon._017_say) return end if pc.get_level() < need_level then say(locale.snow_dungeon._008_say.." "..need_level.." "..locale.snow_dungeon._009_say) return end if snow_dungeon._CheckMembersLevel() == false then return else timer("make_dungeon",2) end end when 20397.chat.locale.snow_dungeon._004_sayNpc with d.getf("level") != 9 begin say(locale.snow_dungeon._010_say) if select(locale.snow_dungeon._001_select,locale.snow_dungeon._002_select) == 1 then local set = snow_dungeon.get_settings() local loop_durr = set.DurationLoopTimer local wait_durations = set.wait_duration local t = get_global_time() d.setf("LastTimeGetOutPut",0) server_loop_timer("CheckLevelAndCountKillOnMobs",loop_durr,d.get_map_index()) d.regen_file("data/dungeon/ice_dungeon/zone_1.txt") d.setf("Start_Time",t + set.maxlife_time_on_dungeon) server_timer("Jp_OutAllFailNotice",(t + set.maxlife_time_on_dungeon) - t,d.get_map_index()) --pc.setqf("duration",t + wait_durations) d.setqf2("snow_dungeon","duration",t + wait_durations) d.setf("level",1) d.notice(locale.snow_dungeon._001_notice) npc.purge() snow_dungeon._GetLastTime() end 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])) d.new_jump_all(352,5120, 1536) snow_dungeon._ClearAlls() d.setf("party_leader_pid",party.get_leader_pid()) party.setf("ice_dungeon_map_index",d.get_map_index()) d.spawn_mob_dir(20397, 173,262,1) --Eisiger Löwe end function _ClearAlls() local d_index = d.get_map_index() clear_server_timer("CheckLevelAndCountKillOnMobs",d_index) clear_server_timer("Jp_1",d_index) clear_server_timer("Jp_2",d_index) clear_server_timer("Jp_3",d_index) clear_server_timer("Jp_4",d_index) clear_server_timer("Jp_5",d_index) clear_server_timer("Jp_6",d_index) clear_server_timer("Jp_7",d_index) clear_server_timer("Jp_8",d_index) clear_server_timer("Jp_9",d_index) clear_server_timer("Jp_Boss",d_index) clear_server_timer("Jp_OutAll",d_index) clear_server_timer("Jp_OutAllFail",d_index) clear_server_timer("Jp_OutAllFailNotice",d_index) d.setf("level",0) d.setf("party_leader_pid",0) d.setf("Start_Time",0) d.setf("LastTimeGetOutPut",0) d.setf("Stone_5_count",0) d.setf("Stone_5_item_fail",0) d.clear_regen() d.kill_all() end function _CheckMembersLevel() local set = snow_dungeon.get_settings() local user_fail_level = {} local pids = {party.get_member_pids()} local need_level = set.need_level_group local have_ninja = false local have_shaman = false for i = 1, table.getn(pids), 1 do q.begin_other_pc_block(pids[i]) if pc.get_level() < need_level then table.insert(user_fail_level, table.getn(user_fail_level) +1, pc.get_name()) end local job = pc.get_job() if job == 1 -- Ninja weiblich or job == 5 --Ninja männlich then have_ninja = true end if job == 3 -- Schamane weiblich or job == 7 --Schamane männlich then have_shaman = true end q.end_other_pc_block() end if have_ninja == false then say(locale.snow_dungeon._011_say) return false end if have_shaman == false then say(locale.snow_dungeon._012_say) return false end if table.getn(user_fail_level) >= 1 then say(locale.snow_dungeon._013_say.." "..need_level..":") for x = 1, table.getn(user_fail_level), 1 do say(color(1,1,0), " "..user_fail_level[x]) end return false end if table.getn(user_fail_level) == 0 then return true end end when logout begin if snow_dungeon.is_nemeres_dungeon() == true then local set = snow_dungeon.get_settings() pc.setqf("out_party_time",get_global_time() + set.DurationMaxOnReJoinGroup) --snow_dungeon.unregister_name() end end when login begin if snow_dungeon.is_nemeres_dungeon() == true then local set = snow_dungeon.get_settings() local backk = set.outside_entry_pos pc.set_warp_location(backk[1], backk[2],backk[3]) if d.getf("party_leader_pid") != party.get_leader_pid() then return end if pc.get_level() < set.need_level_group then return end end end function _GetLastTime() local c = get_global_time() local t = d.getf("Start_Time") - c local o = d.getf("LastTimeGetOutPut") --d.notice("CurrentTime: "..c.." Last: "..o.."") if c >= o then if t >= 60 then d.notice(locale.snow_dungeon._002_notice.." "..math.ceil(t / 60).." "..locale.snow_dungeon._003_notice) -- rimangono minuti else d.notice(locale.snow_dungeon._002_notice.." "..t .." "..locale.snow_dungeon._004_notice) -- secondi end if t >= (60*10) then d.setf("LastTimeGetOutPut",c + 60*5) elseif t >= (60*5) then d.setf("LastTimeGetOutPut",c + 60*2) else d.setf("LastTimeGetOutPut",c + 10) end end end when Jp_OutAllFailNotice.server_timer begin if d.select(get_server_timer_arg()) then d.notice(locale.snow_dungeon._005_notice) -- tempo scaduto 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 level2 = d.getf("level2") local mob_count = d.count_monster() local next_jump_time = set.NextJumpTime if level2 == 4 and mob_count <= 0 then d.notice(locale.snow_dungeon._006_notice) server_timer("Jp_5",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() end if level == 1 and mob_count <= 0 then d.notice(locale.snow_dungeon._007_notice) server_timer("Jp_2",next_jump_time,d.get_map_index()) -- CAMBIARE QUI PER SALIRE PRIMA d.clear_regen() d.kill_all() d.set_regen_file("data/dungeon/ice_dungeon/zone_2.txt") elseif level == 3 and mob_count <= 0 then d.notice(locale.snow_dungeon._008_notice) server_timer("Jp_4",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_4.txt") elseif level == 4 and mob_count <= 0 and level2 != 4 then d.notice(locale.snow_dungeon._009_notice) server_timer("Jp_5",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() elseif level == 6 and mob_count <= 0 then local MobStonelvl6 = set.MobVnum_level_6 d.notice(locale.snow_dungeon._010_notice) d.clear_regen() d.kill_all() --d.regen_file("data/dungeon/ice_dungeon/zone_6.txt") d.spawn_mob(MobStonelvl6,570,649) elseif level == 7 then if d.is_unique_dead("real") then d.notice(locale.snow_dungeon._011_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") else for i = 1, 6 do if d.getf("fakedead" .. i) == 0 then if d.unique_get_hp_perc("fake" .. i) < 50 then d.purge_unique("fake" .. i) d.setf("fakedead" .. i, 1) d.notice(locale.snow_dungeon._012_notice) end -- if d.getf... end -- if d.unique.. end -- for end -- if d.is_unique_dead 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(locale.snow_dungeon._013_notice) d.setf("key_2",0) end end when 30331.use with snow_dungeon.is_nemeres_dungeon() == true begin 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 job == 3 -- Schamane weiblich or job == 7 --Schamane männlich then if number(1,3) == 1 and d.getf("key_2") == 0 then d.notice(locale.snow_dungeon._014_notice) 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") pc.remove_item(30331,pc.count_item(30331)) d.setf("key_2",1) else d.notice(locale.snow_dungeon._015_notice) item.remove() end else d.notice(locale.snow_dungeon._016_notice)-- solo shamy 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(locale.snow_dungeon._017_notice) end end when Jp_4.server_timer begin 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(locale.snow_dungeon._018_notice) end end when Jp_4_2.server_timer begin if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() d.setf("level2",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(locale.snow_dungeon._019_notice) d.set_regen_file("data/dungeon/ice_dungeon/zone_4.txt") d.spawn_mob(6151,412,199,1,1) end end when Jp_5.server_timer begin if d.select(get_server_timer_arg()) then d.setf("level2",0) 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(locale.snow_dungeon._020_notice) d.set_regen_file("data/dungeon/ice_dungeon/zone_5.txt") if set.IsNewGameRevision == true then d.notice(locale.snow_dungeon._021_notice) -- chiave drop else d.notice(locale.snow_dungeon._021_notice) end snow_dungeon._Create_Stones_level5() end end function _DropKeyOnLevel5() if number(1,1000) >= 666 then return end if set.IsNewGameRevision == true then game.drop_item_with_ownership(30332,1) else pc.give_item2(30332,1) 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 local v = set.NpcVnum_level_5 for i = 1, stone_level5_count_MQ do local n = number(1,20) --d.spawn_mob(20398, c[n][1], c[n][2]) d.set_unique("stone5_"..i.."", d.spawn_mob(v, c[n][1], c[n][2])) --d.set_unique("stone5_"..i.."", mob.spawn(20398, c[n][1], c[n][2],1,1,1)) --GEHT --d.set_unique("stone5_"..i.."", d.spawn_mob_ac_dir(20398, c[n][1], c[n][2],i)) --GEHT if i == 1 then d.setf("Stone_5_count",0) d.setf("Stone_5_item_fail",0) end end end when 20398.take begin 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 if vnum == key_level_5 then local npc_vid = npc.get_vid() local search = math.random(1,3) local search2 = npc_vid - 3 + search if npc_vid == search2 then d.setf("Stone_5_count",d.getf("Stone_5_count")+1) if d.getf("Stone_5_count") >= stone_level5_count then d.notice(locale.snow_dungeon._022_notice) 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(locale.snow_dungeon._023_notice.." "..5-d.getf("Stone_5_count")) npc.purge() item.remove() end else chat(locale.snow_dungeon._024_notice) item.remove() end end end --if is dungeon end end --when end when Jp_6.server_timer begin 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(locale.snow_dungeon._025_notice) d.notice(locale.snow_dungeon._026_notice) end end when Jp_7.server_timer begin 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(locale.snow_dungeon._027_notice) local positions = snow_dungeon.get_7floor_szel_pos() for i = 1, 6 do d.set_unique("fake" .. i , d.spawn_mob(6151, positions[i][1], positions[i][2])) end local vid = d.spawn_mob(6151, positions[7][1], positions[7][2]) d.set_unique("real", vid) end end when Jp_8.server_timer begin 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(locale.snow_dungeon._028_notice) d.notice(locale.snow_dungeon._029_notice) d.setf("key_8",0) end end when 30333.use with snow_dungeon.is_nemeres_dungeon() == true begin 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 job == 1 -- Ninja weiblich or job == 5 --Ninja männlich or job == 3 -- Schamane weiblich or job == 7 --Schamane männlich then if number(1,3) == 1 and d.getf("key_8") == 0 then d.notice(locale.snow_dungeon._030_notice) 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() d.setf("key_8",1) else d.notice(locale.snow_dungeon._031_notice) item.remove() end else d.notice(locale.snow_dungeon._032_notice) return end end end when Jp_9.server_timer begin 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(locale.snow_dungeon._033_notice) d.notice(locale.snow_dungeon._034_notice) d.spawn_mob(v,849,655) end end when Jp_Boss.server_timer begin 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(locale.snow_dungeon._035_notice) 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() if level == 2 and mobvnum >= 6101 and mobvnum <= 6108 and 1 == number(1,10) then local v = set.key_level_2 game.drop_item(v,1) elseif level == 5 and mobvnum >= 6101 and mobvnum <= 6108 and 1 == number(1,15) then snow_dungeon._DropKeyOnLevel5() elseif level == 6 and mobvnum == stone_level_6 then d.notice(locale.snow_dungeon._036_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 elseif level == 8 and mobvnum >= 6101 and mobvnum <= 6108 and 1 == number(1,10) then local v = set.Key_on_level_8 game.drop_item(v,1) elseif level == 9 and mobvnum == stone_level_9 then d.notice(locale.snow_dungeon._037_notice) --server_timer("Jp_Boss",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.spawn_mob(20397,847,661,1,1) -- d.regen_file("data/dungeon/ice_dungeon/zone_boss.txt") local v = set.BossVnumGroup d.spawn_group(v, 928, 335, 5 ,1, 1) -- (Input from SRC: argument: vnum,x,y,radius,aggressive,count) elseif level == 10 and mobvnum == boss_vnum then d.clear_regen() d.kill_all() d.notice(locale.snow_dungeon._038_notice) notice_all(pc.get_name().." "..locale.snow_dungeon._001_notice_all) server_timer("Jp_OutAll",wait_time,d.get_map_index()) end end end when 20397.chat.locale.snow_dungeon._005_sayNpc with party.is_leader() and d.getf("level") == 9 begin if not party.is_leader() then say(locale.snow_dungeon._014_say) return end local set = snow_dungeon.get_settings() local next_jump_time = set.NextJumpTime d.notice(locale.snow_dungeon._039_notice) say(locale.snow_dungeon._015_say) server_timer("Jp_Boss",next_jump_time,d.get_map_index()) d.regen_file("data/dungeon/ice_dungeon/zone_boss.txt") end when Jp_OutAll.server_timer begin if d.select(get_server_timer_arg()) then snow_dungeon._ExitAll() end end function _ExitAll() d.exit_all() end function get_7floor_szel_pos() local positions = { {763, 484}, {765, 456}, {749, 442}, {727, 450}, {719, 469}, {733, 485}, {751, 489}, } for i = 1, 6 do local j = number(i, 7) if i != j then local t = positions[i]; positions[i] = positions[j]; positions[j] = t; end end return positions end end end
  3. 5euro for fix..? Discord: Slime#1830
  4. im trying to add this weapons I added the weapons just like the tutorial, i changed index of effect to 800-807 in payersettingsmodule.py and instancebase.h , comiled launcher with no error. In playersettingsmodule i have:chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+800, "PART_WEAPON", "D:/ymir work/khan/arme3d/razboinic/sabie_razboinic.mse") Im using them as a weapon skin, i added them like that, i see icons and values in game but when i put them on i can't see them. Maybe i need to change "PART_WEAPON" ? with something else?
  5. Hi everyone, i was doing some tests sience someone raported that the exp ring may not work. I think i have some kind of issues with the exp on the server.. so this what happens: i had my gm account set to lv1 , 0 exp points. 0 items on me (except for the 50%exp buff that comes at account creation for 500 day's or so.) i call a 101(wilddog) i kill him, i get 10% exp in my bar, that means 30 exp points for 1 kill Now i put exp ring, and i do the same, i get the same 30 points or 10% experience for 1 kill If i try with Wisdom Potion +100%exp , same happens If i raise exp rate from command , same happens
  6. no, bump ---edit I don't understand why it works in /it but not on rest of locale, all error files are located in root , that is universal for all locales..? someone has any idea?
  7. No, i try opening it on map1, quest changelang begin state start begin when login with pc.level >= 1 begin set_state(information) end end state information begin when letter begin send_letter_green("Language") end when info or button begin say_title("INFORMATION") say("You can change the language of the game") say("by opening the settings menu.") say("We currently have aviable:") say("English") say("Italian") say("Romanian") end end end I put this, after the restart it worked, now when i click it it does not open..
  8. Right, i have region_dict in uichangechannel.py, no import in ui.py... but if this works for /it locale why not for the rest? dosen't make much sense..
  9. ui.pyHi, i have a problem, i have swich channel in-game menu, by default my client came with locale italy, now i added multi language to it, with 3 languages, and the change channel works just on it's default, italy.. on other locale i click the button an nothing happens, this is what the syserr says: 0909 22:51:34287 :: AttributeError 0909 22:51:34287 :: : 0909 22:51:34287 :: 'module' object has no attribute 'REGION_DICT' 0909 22:51:34287 :: 0909 22:55:48568 :: Traceback (most recent call last): 0909 22:55:48568 :: File "ui.py", line 1369, in CallEvent 0909 22:55:48568 :: File "ui.py", line 88, in __call__ PS on line 1369 and 88 there is not a path to a certain locale i searched. this is the ui.py and changechannel.py uichangechannel.py ui.py
  10. Hi, i have a problem with a quest. The quest is made by me, and i tryed everything to fix it but it wont work.. the quest should be simple, send a letter with some info about the option to change language.. quest changelang begin state start begin when letter begin send_letter_blue_text ( "Language" ) end when button or info begin if pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then say_title("INFORMATION") say("You can change the language of the game") say("by opening the settings menu.") say("We currently have aviable:") say("English") say("Italian") say("Romanian") else say_title("INFORMATION") say("You can change the language of the game") say("by opening the settings menu.") say("We currently have aviable:") say("English") say("Italian") say("Romanian") end send_letter_blue_text ( "Language" ) end end end I get the letter but it won't open for me to read it when i click it. no errors on compilation, no syserr in client, functions for send_letter_blue_text is ok.. i tryed with normal send_letter, same problem. Please help.
  11. Salutare.. am si eu o problema cu butonul [PM] care apare in chant, pana acum mergea si acum numai merge. if net.GetEmpireID() == 1: self.__SendChatPacket(constInfo.pm_button+'|cFF47DA00|Hpm_button:'+str(player.GetName())+'|h[PM]|h|r'+" "+text[1:], chat.CHAT_TYPE_SHOUT) elif net.GetEmpireID() == 2: self.__SendChatPacket(constInfo.pm_button+'|cFF47DA00|Hpm_button:'+str(player.GetName())+'|h[PM]|h|r'+" "+text[1:], chat.CHAT_TYPE_SHOUT) elif net.GetEmpireID() == 3: self.__SendChatPacket(constInfo.pm_button+'|cFF47DA00|Hpm_button:'+str(player.GetName())+'|h[PM]|h|r'+" "+text[1:], chat.CHAT_TYPE_SHOUT) Asta e bucata de cod, am si in cosnstinfo pm_button = '' Dupa cum spuneam , mergea inainte, deci a fost implementata corect, am inceput sa am problema asta de cand am implementat lucrurile astea 2: CTRL+V in game: https://metin2dev.org/board/index.php?/topic/9742-can-somebody-know-how-to-ctrlc-and-ctrlv-in-game/ Link in game: https://mega.nz/46c6ec8d-6d2d-4d9c-ae37-610f5f4cd215 Am compilat sursa game fara nici un fel de eroare, si syserr la client nu are nici el erori inauntru. As aprecia ajutorul vostru ------------------------------------ Rezolvat, cand am bagat link am sters functia hyperlink. def MakeHyperlinkTooltip(self, hyperlink): tokens = hyperlink.split(":") if tokens and len(tokens): type = tokens[0] if "item" == type: self.hyperlinkItemTooltip.SetHyperlinkItem(tokens) elif "pm_button" == type and str(tokens[1]) != player.GetMainCharacterName(): self.OpenWhisperDialog(str(tokens[1])) Puteti da tc.
  12. Salutare.. am si eu o problema cu butonul [PM] care apare in chant, pana acum mergea si acum numai merge. if net.GetEmpireID() == 1: self.__SendChatPacket(constInfo.pm_button+'|cFF47DA00|Hpm_button:'+str(player.GetName())+'|h[PM]|h|r'+" "+text[1:], chat.CHAT_TYPE_SHOUT) elif net.GetEmpireID() == 2: self.__SendChatPacket(constInfo.pm_button+'|cFF47DA00|Hpm_button:'+str(player.GetName())+'|h[PM]|h|r'+" "+text[1:], chat.CHAT_TYPE_SHOUT) elif net.GetEmpireID() == 3: self.__SendChatPacket(constInfo.pm_button+'|cFF47DA00|Hpm_button:'+str(player.GetName())+'|h[PM]|h|r'+" "+text[1:], chat.CHAT_TYPE_SHOUT) Asta e bucata de cod, am si in cosnstinfo pm_button = '' Dupa cum spuneam , mergea inainte, deci a fost implementata corect, am inceput sa am problema asta de cand am implementat lucrurile astea 2: CTRL+V in game: https://metin2dev.org/board/index.php?/topic/9742-can-somebody-know-how-to-ctrlc-and-ctrlv-in-game/ Link in game: https://mega.nz/46c6ec8d-6d2d-4d9c-ae37-610f5f4cd215 Am compilat sursa game fara nici un fel de eroare, si syserr la client nu are nici el erori inauntru. As aprecia ajutorul vostru
  13. quest daily_quest_over100 begin state start begin when login or levelup with pc.get_level() >=100 begin if get_global_time()> pc.getqf(tempo) set_state(info) end end end state info begin -- info about the mission when letter begin send_letter("Daily quest") end -- letter sent when button or info begin say_title("Daily quest") say("Hi, " .. pc.get_name() .. ".") say("You can choose the easy way,") say("with a poor reward or") say("the hard way, for a better reward") say("") local risp = select("Easy","Hard", "Cancel") if risp==3 then -- Cancel return elseif risp == 1 -- Easy pc.setqf("dif",0) -- difficulty FLAG (0=easy, 1=hard) set_state(running) else -- Hard pc.setqf("dif",1) set_state(running) end end -- when closed end -- INFO closed state running begin pc.setqf("done",0) -- quest completed FLAG (0=not completed, 1=completed) if pc.getqf(dif)==0 then pc.setqf("mob_to_kill",math.random(2411, 2414)) -- how many kills local qta = { 100, 125, 150, 175, 200, 225, 250, 275, 300 } pc.setqf("qta_to_kill",qta[math.random(1, 9)]) -- 50k yang for each kill, max=15M yang pc.setqf("reward",50000 * (pc.getqf(qta_to_kill))) else local vmob = { 1093, 1191, 1901, 2092, 2191, 2491, 2492, 2493 } pc.setqf("mob_to_kill",(vmob[math.random(1, 8)]) pc.setqf("qta_to_kill",(math.random(1, 10))) -- 3M exp for each kill, max=30M exp pc.setqf("reward",3000000 * (pc.getqf(qta_to_kill))) end when letter begin if pc.getqf(dif) == 0 send_letter("Daily mission, Easy") else send_letter("Daily mission, Hard") end end when button or info begin -- info about the quest if pc.getqf(done) == 0 then -- if he didn't complete the quest if pc.getqf(dif) == 0 then say_title("Daily quest, Hasy") else say_title("Daily quest, Hard") end say("So, you have chosen the easy way..") say("Here is your objective.") say("") say_reward("You have to kill: " .. qta_to_kill .. mob_name(pc.getqf(mob_to_kill))) if pc.getqf(dif) == 0 then say_reward("That's what you'll got: " .. pc.getqf(reward) .. " yang.") else say_reward("That's what you'll got: " .. pc.getqf(reward) .. " experience.") end else say_title("Daily mission reward") say("Congratulations " ..pc.get_name() .. " !!") say("You've earned a nice reward..") wait() if pc.getqf(dif)==0 then say_reward("You have earned: " .. pc.getqf(reward) .. " yang.") pc.changegold(pc.getqf(reward)) else say_reward("You have earned: " .. pc.getqf(reward) .. " experience.") pc.give_exp2(pc.getqf(reward)) end -- timer FLAG, this quest is repeatable once per day (24h) pc.setqf("tempo", get_global_time()+86400) -- 60*60*24 -- deleting FLAGS pc.delqf(mob_to_kill) pc.delqf(reward) pc.delqf(qta_to_kill) pc.delqf(dif) pc.delqf(done) set_state(__COMPLETE__) end end when pc.getqf(mob_to_kill).kill begin pc.setqf("qta_to_kill",(pc.getqf(qta_to_kill))-1) if pc.getqf(qta_to_kill) == 0 then pc.setqf("done",1) send_letter("Daily mission, Reward") end end end -- closed RUNNING state __COMPLETE__ begin when enter begin q.done() end end -- closed __COMPLETE__ end -- closed QUEST This is the error root@OSL-91741:/usr/game/share/locale/italy/quest # ./qc daily_hunt.lua QUEST : daily_quest_over100 STATE : start WHEN : login or WHEN : levelup with pc . get_level ( ) >= 100 if get_global_time ( ) > pc . getqf ( tempo ) set_state ( "info" ) end daily_hunt.lua:7:syntax error : [string "startpc . get_level ( ) >= 100"]:2: `then' expected near `set_state' Abort (core dumped)
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.