xLoveMusicx Opublikowano 6 Sierpnia 2011 Udostępnij Opublikowano 6 Sierpnia 2011 Cześć Wszystkim Więc na początek powiem, iż członków PT nie teleportuje. Powód? Nasz kochany Sui uzył funkcji #include w C++, aby PT teleportował, a następnie dodał do procesów. DT umożliwia wejście do DT za pomocą trzech członków w PT, aczkolwiek nie może tam wejść PT A więć. Otwieramy quest deviltower_zone.quest2. Idziemy do linijki 183. Wklejamy tą treść Quest: when deviltower_man.chat.locale.deviltower_man_chat begin if pc.get_level() < 40 then say(locale.deviltower_man_say_you_cant) else if not party.is_leader() then say("") say_reward("Nie jesteś liderem... nie możesz wejsć.!") return end if party.get_near_count() < 3 then say("") say_reward("Potrzebujesz 3 osoby w pobliżu z grupy!") return end say(locale.deviltower_man_say) local s = select(locale.deviltower_enter,locale.deviltower_no_enter) if s == 1 then -- warp into! pc.warp(216500,727000) end end end tak ma to wyglądać http://iv.pl/images/60367932518626419037.jpg -- Zapisujemy. W konsoli wpisujemy- cd /home/game/quest && ./qc deviltower_zone.quest - Wchodzimy do gry i wpisujemy /reload quest - Cieszymy się nowym DT Może ktoś poprawi Questa tak aby działał w 100% dobrze. Serdecznie Pozdrawiam xLoveMusicx [Video][Tut]Jak Dodać Mapę na własnego serwera Metin2.wmv By ZorQ http://www.mpcforum.pl/topic/416201-videotut-jak-dodac-mape-na-wlasny-serwer/ Odnośnik do komentarza
Hmm Opublikowano 6 Sierpnia 2011 Udostępnij Opublikowano 6 Sierpnia 2011 Nikt Ci tego raczej nie przerobi widzialem to juz dawno temu na epvp.pl Ma/zna to pare osób jak naprawic , ale nie powie Predzej moze Ci ktos sprzedac tego quest'a działajacego za kase Odnośnik do komentarza
MrMrocznyPl Opublikowano 6 Sierpnia 2011 Udostępnij Opublikowano 6 Sierpnia 2011 MakinWasLubi.comtopic/43186-tutquestchcesz-takie-dt-jak-tiveria/ .... Odnośnik do komentarza
Bambus3k™ Opublikowano 6 Sierpnia 2011 Udostępnij Opublikowano 6 Sierpnia 2011 Więc na początek powiem, iż członków PT nie teleportuje. Powód? Nasz kochany Sui uzył funkcji #include w C++, aby PT teleportował, a następnie dodał do procesów. DT umożliwia wejście do DT za pomocą trzech członków w PT, aczkolwiek nie może tam wejść PT O fuck Ale, żeś teraz dał czadu.. ;d A jak by Ci powiedział, że przepisał game na nowo też byś uwierzył? Aby uzyskać taki efekt wystarczy użyć funkcji z quest_function by otworzyć nowego dungeona. Mi są znane 3 sposoby otworzenia dungeona, przenoszenie wszystkich na daną mape, czyli Wieża Demonów, przenoszenie wszystkich z pt na daną mapę i ostatnio mi się udało otworzyć dungeona solo =d Pewnie niedługo będzie to wrzucone na forum bo sprzedałem quest, który otwiera dunga... Samemu to można zrobić w 5 minut, wystarczy przelecieć funkcje d.* Metin2 Balmora Staff Odnośnik do komentarza
Hmm Opublikowano 6 Sierpnia 2011 Udostępnij Opublikowano 6 Sierpnia 2011 O fuck Ale, żeś teraz dał czadu.. ;d A jak by Ci powiedział, że przepisał game na nowo też byś uwierzył? Aby uzyskać taki efekt wystarczy użyć funkcji z quest_function by otworzyć nowego dungeona. Mi są znane 3 sposoby otworzenia dungeona, przenoszenie wszystkich na daną mape, czyli Wieża Demonów, przenoszenie wszystkich z pt na daną mapę i ostatnio mi się udało otworzyć dungeona solo =d Pewnie niedługo będzie to wrzucone na forum bo sprzedałem quest, który otwiera dunga... Samemu to można zrobić w 5 minut, wystarczy przelecieć funkcje d.* Czyli jak sie nie myle wystarczy poszukac np. w innym quescie który cos podobnego ma i gitara PS. Za ile sprzedałes? Moze tez kupie @Edit Jak sie nie myle to ja juz ta funkcje w innym quescie znalazlem @Edit 2 Quest zrobiony TP all z PT do DT Dzieki bambuch Odnośnik do komentarza
Kojak Opublikowano 6 Sierpnia 2011 Udostępnij Opublikowano 6 Sierpnia 2011 Teraz czekamy na questa jak na PL'u z grotą v3 ; d Odnośnik do komentarza
BlondynX Opublikowano 6 Sierpnia 2011 Udostępnij Opublikowano 6 Sierpnia 2011 Cześć Wszystkim Więc na początek powiem, iż członków PT nie teleportuje. Powód? Nasz kochany Sui uzył funkcji #include w C++, aby PT teleportował, a następnie dodał do procesów. DT umożliwia wejście do DT za pomocą trzech członków w PT, aczkolwiek nie może tam wejść PT A więć. Otwieramy quest deviltower_zone.quest2. Idziemy do linijki 183. Wklejamy tą treść Quest: when deviltower_man.chat.locale.deviltower_man_chat begin if pc.get_level() < 40 then say(locale.deviltower_man_say_you_cant) else if not party.is_leader() then say("") say_reward("Nie jesteś liderem... nie możesz wejsć.!") return end if party.get_near_count() < 3 then say("") say_reward("Potrzebujesz 3 osoby w pobliżu z grupy!") return end say(locale.deviltower_man_say) local s = select(locale.deviltower_enter,locale.deviltower_no_enter) if s == 1 then -- warp into! pc.warp(216500,727000) end end end tak ma to wyglądać http://iv.pl/images/60367932518626419037.jpg -- Zapisujemy. W konsoli wpisujemy- cd /home/game/quest && ./qc deviltower_zone.quest - Wchodzimy do gry i wpisujemy /reload quest - Cieszymy się nowym DT Może ktoś poprawi Questa tak aby działał w 100% dobrze. Serdecznie Pozdrawiam xLoveMusicx koles szkoda mi cie naprawde skopjowales SLOWO W SLOWO z innych for.. . BIG - i 1 w profilu... bambus dungeona solo latwo otworzyc watpie zeby twoja grota wygnancow ujrzala swiatlo mpc Odnośnik do komentarza
Oleq Opublikowano 12 Sierpnia 2011 Udostępnij Opublikowano 12 Sierpnia 2011 1. sorry za odswiezenie. 2. Czemu moje tutki kopiujesz z e*vp polsiego? Leci raport tresc autentyczna Witam,witam. Z tego powodu iż, w Polsce jest nadmiar lechowania pośrdów pseudo tutorów Metin2, ten temat obejmuje prawami przeznaczonymi tylko dla tego forum, wszystkie screeny zawarte w tym temacie są mojego autorstwie i są zrobione na Serwerze Dedykowanym serwera True2.PL. Więc na początek powiem, iż członków PT nie teleportuje. Powód? Nasz kochany Sui uzył funkcji #include w C++, aby PT teleportował, a następnie dodał do procesów. DT umożliwia wejście do DT za pomocą trzech członków w PT, aczkolwiek nie może tam wejść PT(pracuje nad tym.) Więc Let's Go! 1. Otwieramy quest deviltower_zone.quest 2. Idziemy do linijki 18 3. Wklejamy tą treść when deviltower_man.chat.locale.deviltower_man_chat begin if pc.get_level() < 40 then say(locale.deviltower_man_say_you_cant) else if not party.is_leader() then say("") say_reward("Nie jesteś liderem... nie możesz wejsć.!") return end if party.get_near_count() < 3 then say("") say_reward("Potrzebujesz 3 osoby w pobliżu z grupy!") return end say(locale.deviltower_man_say) local s = select(locale.deviltower_enter,locale.deviltower_no_enter) if s == 1 then -- warp into! pc.warp(216500,727000) end end end 4. Powinno to tak wyglądać 5. Zapisujemy. W konsoli wpisujemy cd /home/game/quest && ./qc deviltower_zone.quest 6. Wchodzimy do gry i wpisujemy /reload quest 7. Cieszymy się nowym DT Dla leniuchów [hide] quest deviltower_zone begin state start begin when login begin if pc.get_map_index() == 66 then -- ¨Ă«D¦b1ĽÓ®É, °eŞđĄ~±. -- ĽhĽĆ ˝dłň -- 1ĽÓ 88 577 236 737 -- 2ĽÓ 91 343 238 504 -- 3ĽÓ 104 107 248 269 if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then pc.warp((5376+532)*100, (512+596+4)*100, 65) end pc.set_warp_location(65, 5376+532, 512+596+4) elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then pc.set_warp_location(65, 5376+532, 512+596+4) end end when deviltower_man.chat.locale.deviltower_man_chat begin if pc.get_level() < 40 then say(locale.deviltower_man_say_you_cant) else if not party.is_leader() then say("") say_reward("Nie jesteś liderem... nie możesz wejsć.!") return end if party.get_near_count() < 3 then say("") say_reward("Potrzebujesz 3 osoby w pobliżu z grupy!") return end say(locale.deviltower_man_say) local s = select(locale.deviltower_enter,locale.deviltower_no_enter) if s == 1 then -- warp into! pc.warp(216500,727000) end end end when devil_stone1.kill begin timer("devil_stone1_1", 6) end when devil_stone1_1.timer begin local mapto7= pc.count_item(30302) -- ®ř·Ŕ¤ŁŞľ¬O§_¦s¦bŞşŻu¤`ĆF¶đ pc.remove_item(30302,mapto7) local boxto7= pc.count_item(30300) -- ®ř·Ŕ¤ŁŞľ¬O§_¦s¦bŞş¤ŁŞľ¦WŞş˝c¤l pc.remove_item(30300,boxto7) d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2]) d.regen_file("data/dungeon/deviltower2_regen.txt") d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt") end --when devil_stone2.kill begin --d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2]) --end when devil_stone3.kill begin --d.jump_all_local(special.devil_tower[3][1], special.devil_tower[3][2]) --d.set_exit_all_at_eliminate(6) --d.set_warp_at_eliminate(6, d.get_map_index(), 100, 100) --d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4) d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt") d.check_eliminated() --d.exit_all() end function get_4floor_stone_pos() local positions = { {368, 629}, {419, 630}, {428, 653}, {422, 679}, {395, 689}, {369, 679}, {361, 658}, } 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 --for i = 1, 7 do -- positions[i][1] = positions[i][1] * 100 -- positions[i][2] = positions[i][2] * 100 -- end return positions end when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin d.setf("level", 4) -- ¦A˛{¤j¶q©ÇŞ«¤Î»słyŻuĄŰŔY©M°˛ĄŰŔY --d.regen_file("data/dungeon/deviltower4_regen.txt") local positions = deviltower_zone.get_4floor_stone_pos() for i = 1, 6 do chat(positions[i][1], positions[i][2]) d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2])) end chat(positions[7][1], positions[7][2]) local vid = d.spawn_mob(8017, positions[7][1], positions[7][2]) chat(vid) d.set_unique("real", vid) server_loop_timer('devil_stone4_update', 10, pc.get_map_index()) server_timer('devil_stone4_fail1', 5*60, pc.get_map_index()) d.notice("Brawo, udalo sie Tobie"); d.notice("zniszczyc kamien metin!"); d.notice("Macie 15 minut na nastepnym pietrze[ENTER] zanim zostaniecie wylogowani."); d.notice("Spieszcie sie!"); end when devil_stone4_fail1.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Pozostalo 10 minut!") server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg()) end end when devil_stone4_fail2.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Pozostalo 5 minut!") server_timer('devil_stone4_fail', 5*60, get_server_timer_arg()) end end when devil_stone4_fail.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Nie udalo sie, zostaniecie wylogowany!") d.exit_all() clear_server_timer('devil_stone4_update', get_server_timer_arg()) end end when devil_stone4_update.server_timer begin if d.select(get_server_timer_arg()) then if not d.is_unique_dead("real") then 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("To nie ten kamien!"); end end end else --d.clear_regen() --d.regen_file("data/dungeon/deviltower5_regen.txt") server_timer("devil_stone4_end", 5, get_server_timer_arg()) d.notice("Udalo sie! Zabij wszystkie potwory na nastepnym"); d.notice("pietrze, aby zdobyc kamien otwarcia!") clear_server_timer('devil_stone4_fail1', get_server_timer_arg()) clear_server_timer('devil_stone4_fail2', get_server_timer_arg()) clear_server_timer('devil_stone4_fail', get_server_timer_arg()) end else server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg()) end end when devil_stone4_stop_timer.server_timer begin clear_server_timer('devil_stone4_update', get_server_timer_arg()) end when devil_stone4_end.server_timer begin if d.select(get_server_timer_arg()) then d.setf("level", 5) d.setf("stone_count", 5) d.notice("Brawo, jestes na 5 pietrze!") d.notice("Aby przejsc na 6 pietro musisz zabic") d.notice("wszystkie potwory tutaj, zdobyc kamien") d.notice("otwarcia i otworzyc pieczecie przed czasem!") d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2]) server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg()) clear_server_timer('devil_stone4_update', get_server_timer_arg()) -- 5ĽÓÄ~Äň¦A˛{ d.set_regen_file("data/dungeon/deviltower5_regen.txt") -- 5ĽÓ«Ę¦LĄŰ¦A˛{ d.spawn_mob(20073, 421, 452) d.spawn_mob(20073, 380, 460) d.spawn_mob(20073, 428, 414) d.spawn_mob(20073, 398, 392) d.spawn_mob(20073, 359, 426) end end when devil_stone5_fail1.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Pozostalo 15 minut!") server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg()) end end when devil_stone5_fail2.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Pozostalo 10 minut!") server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg()) end end when devil_stone5_fail3.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Pozostalo 5 minut!") server_timer('devil_stone5_fail', 5*60, get_server_timer_arg()) end end when devil_stone5_fail.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Nie udalo sie, zostaniesz wylogowany!") d.exit_all() end end --when devil_stone4.kill begin --d.setf("level", 5) --d.setf("stone_count", 4) --d.clear_regen() --d.regen_file("data/dungeon/deviltower5_regen.txt") --d.jump_all_local(special.devil_tower[4][1], special.devil_tower[4][2]) --end when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin local KILL_COUNT_FOR_DROP_KEY = 50 --if is_test_server() then --KILL_COUNT_FOR_DROP_KEY = 1 --end local n =d.getf("count") + 1 d.setf("count", n) if n == KILL_COUNT_FOR_DROP_KEY then -- ±Ľ¤UÂę°Í game.drop_item(50084, 1) d.setf("count", 0) end end when devil_stone5.take with item.vnum == 50084 begin npc.purge() item.remove() d.setf("stone_count", d.getf("stone_count") - 1) if d.getf("stone_count") <= 0 then d.setf("level", 6) d.clear_regen() d.regen_file("data/dungeon/deviltower6_regen.txt") d.notice("Brawo udalo sie! jestes na 6 pietrze!") d.notice("Zabij wszystkie potwory!") d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2]) clear_server_timer('devil_stone5_fail1', get_server_timer_arg()) clear_server_timer('devil_stone5_fail2', get_server_timer_arg()) clear_server_timer('devil_stone5_fail3', get_server_timer_arg()) clear_server_timer('devil_stone5_fail', get_server_timer_arg()) else d.notice("Do otwarcia posostały "..d.getf("stone_count").." pieczęcie") end end when devil_stone6.kill begin -- ¶Ç°e¨ě·Ň¸t©Ň¦bŞş¦aąĎ -- §_«hˇA¶}ł]¤@Ó·s·Ň¸t --d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2]) d.kill_all() -- d.set_warp_at_eliminate(3*60, 65, 5376+532, 512+596+4) d.check_eliminated() local reward_alchemist = {20074, 20075, 20076} d.spawn_mob(reward_alchemist[number(1,3)], 425, 216); d.setqf("can_refine", 1) end -------------------------------------- -- ĄŃ¶i¤J7ĽÓ¦Ü¨ěąF8ĽÓ¤§«e -------------------------------------- when 20074.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin say(""..mob_name(20074).."") say("Zostaniesz przeniesiony") say("na 7 pietro Wiezy Demonow!") say("Lecz uwazaj...") say("Tam nie bedzie tak latwo jak wczesniej!") wait() if pc.level >=75 then say("Kazdy z graczy zostanie przeniesiony!") timer("devil_jump_7", 6) return end say("Mozesz przejsc dalej!") say("") say("") wait() pc.warp(590500, 110500) return end when 20075.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin say(""..mob_name(20075).."") say("Zostaniesz przeniesiony") say("na 7 pietro Wiezy Demonow!") say("Lecz uwazaj...") say("Tam nie bedzie tak latwo jak wczesniej!") wait() if pc.level >=75 then say("Kazdy z graczy zostanie przeniesiony!") timer("devil_jump_7", 6) return end say("Mozesz przejsc dalej!") say("") say("") wait() pc.warp(590500, 110500) return end when 20076.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin say(""..mob_name(20076).."") say("Zostaniesz przeniesiony") say("na 7 pietro Wiezy Demonow!") say("Lecz uwazaj...") say("Tam nie bedzie tak latwo jak wczesniej!") wait() if pc.level >=75 then say("Kazdy z graczy zostanie przeniesiony!") timer("devil_jump_7", 6) return end say("Mozesz przejsc dalej!") say("") say("") wait() pc.warp(590500, 110500) return end when devil_jump_7.timer begin d.clear_regen() d.spawn_mob(8018, 639, 658) d.spawn_mob(8018, 611, 637) d.spawn_mob(8018, 596, 674) d.spawn_mob(8018, 629, 670) d.setf("level", 7) d.jump_all(2048+590, 6656+638) end when 8018.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin local cont = d.getf("7_stone_kill") + 1 d.setf("7_stone_kill", cont) if cont >= 4 then d.setf("7_stone_kill", 0) d.set_regen_file("data/dungeon/deviltower7_regen.txt") end end when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin game.drop_item(30300, 1) end when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin pc.remove_item("30300", 1) local pct = number(1,10) if pct == 1 then -- ±Ľ¤UŻu¦aąĎ game.drop_item(30302, 1) d.clear_regen() else -- ±Ľ¤U°˛¦aąĎ game.drop_item(30301, 1) end end when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin -- ¶Ç°e¨ě8ĽÓ say("Przeniesiesz sie na 8 pietro!") pc.remove_item("30302", 1) timer("devil_jump_8", 6) d.clear_regen() end -------------------------------------------- -- ĄŃ¶i¤J8ĽÓ¦Ü¨ěąF9ĽÓ¤§«e -------------------------------------------- when devil_jump_8.timer begin d.setf("level", 8) d.jump_all(2048+590, 6656+403) d.set_regen_file("data/dungeon/deviltower8_regen.txt") d.spawn_mob(20366, 640, 460) local _count= pc.count_item(30302)-- ®ř·ŔŻu¤`ĆF¶đ pc.remove_item(30302,_count) end when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin local pct1 = number(1, 5) if pct1 == 1 then local pct2 = number(1, 10) if pct2 == 1 then -- ±Ľ¤UŻuÂę°Í game.drop_item(30304, 1) else -- ±Ľ¤U°˛Âę°Í game.drop_item(30303, 1) end else return end end when 20366.take with item.vnum == 30304 begin -- 9ĽÓ«Ę¦L¸Ń°Ł d.notice("Zostaniecie przeniesieni na 9 pietro!") npc.purge() item.remove() timer("devil_jump_9", 6) end --------------------------------------------- -- ĄŃ¶i¤J9ĽÓ¦Üµ˛§ô --------------------------------------------- when devil_jump_9.timer begin d.setf("level", 9) d.jump_all(2048+590, 6656+155) d.regen_file("data/dungeon/deviltower9_regen.txt") end when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin d.kill_all() notice_all(pc.get_name().." zabil Umarlego Rozpruwacza!") timer("devil_end_jump", 60) end when devil_end_jump.timer begin d.exit_all() end end end [/hide] Tuturial oraz Quest wykonany przez NoTuS dla ElitePvPers ChangeLog Katharsis Ustawienie nagród za questy [√] Napisanie Questów [√] Client [Client nie bedzie dostepny tylko launcher wazacy 200/300 mb, update kolejne beda skromne] [Download planowany na 16/7 lipca] [X] Zmiana oraz ustalenie dropu [X] Odnośnik do komentarza
xXx ANARKI xXx Opublikowano 12 Sierpnia 2011 Udostępnij Opublikowano 12 Sierpnia 2011 Tego Questa na Priv*Metin widziałem. ale że - mi nie szkoda to łap - Odnośnik do komentarza
Bambus3k™ Opublikowano 20 Sierpnia 2011 Udostępnij Opublikowano 20 Sierpnia 2011 1. sorry za odswiezenie. 2. Czemu moje tutki kopiujesz z e*vp polsiego? Leci raport tresc autentyczna Witam,witam. Z tego powodu iż, w Polsce jest nadmiar lechowania pośrdów pseudo tutorów Metin2, ten temat obejmuje prawami przeznaczonymi tylko dla tego forum, wszystkie screeny zawarte w tym temacie są mojego autorstwie i są zrobione na Serwerze Dedykowanym serwera True2.PL. Więc na początek powiem, iż członków PT nie teleportuje. Powód? Nasz kochany Sui uzył funkcji #include w C++, aby PT teleportował, a następnie dodał do procesów. DT umożliwia wejście do DT za pomocą trzech członków w PT, aczkolwiek nie może tam wejść PT(pracuje nad tym.) Więc Let's Go! 1. Otwieramy quest deviltower_zone.quest 2. Idziemy do linijki 18 3. Wklejamy tą treść when deviltower_man.chat.locale.deviltower_man_chat begin if pc.get_level() < 40 then say(locale.deviltower_man_say_you_cant) else if not party.is_leader() then say("") say_reward("Nie jesteś liderem... nie możesz wejsć.!") return end if party.get_near_count() < 3 then say("") say_reward("Potrzebujesz 3 osoby w pobliżu z grupy!") return end say(locale.deviltower_man_say) local s = select(locale.deviltower_enter,locale.deviltower_no_enter) if s == 1 then -- warp into! pc.warp(216500,727000) end end end 4. Powinno to tak wyglądać 5. Zapisujemy. W konsoli wpisujemy cd /home/game/quest && ./qc deviltower_zone.quest 6. Wchodzimy do gry i wpisujemy /reload quest 7. Cieszymy się nowym DT Dla leniuchów [hide] quest deviltower_zone begin state start begin when login begin if pc.get_map_index() == 66 then -- ¨Ă«D¦b1ĽÓÉ, °eŞđĄ~±. -- ĽhĽĆ ˝dłň -- 1ĽÓ 88 577 236 737 -- 2ĽÓ 91 343 238 504 -- 3ĽÓ 104 107 248 269 if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then pc.warp((5376+532)*100, (512+596+4)*100, 65) end pc.set_warp_location(65, 5376+532, 512+596+4) elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then pc.set_warp_location(65, 5376+532, 512+596+4) end end when deviltower_man.chat.locale.deviltower_man_chat begin if pc.get_level() < 40 then say(locale.deviltower_man_say_you_cant) else if not party.is_leader() then say("") say_reward("Nie jesteś liderem... nie możesz wejsć.!") return end if party.get_near_count() < 3 then say("") say_reward("Potrzebujesz 3 osoby w pobliżu z grupy!") return end say(locale.deviltower_man_say) local s = select(locale.deviltower_enter,locale.deviltower_no_enter) if s == 1 then -- warp into! pc.warp(216500,727000) end end end when devil_stone1.kill begin timer("devil_stone1_1", 6) end when devil_stone1_1.timer begin local mapto7= pc.count_item(30302) -- ř·Ŕ¤ŁŞľ¬O§_¦s¦bŞşŻu¤`ĆFđ pc.remove_item(30302,mapto7) local boxto7= pc.count_item(30300) -- ř·Ŕ¤ŁŞľ¬O§_¦s¦bŞş¤ŁŞľ¦WŞş˝c¤l pc.remove_item(30300,boxto7) d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2]) d.regen_file("data/dungeon/deviltower2_regen.txt") d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt") end --when devil_stone2.kill begin --d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2]) --end when devil_stone3.kill begin --d.jump_all_local(special.devil_tower[3][1], special.devil_tower[3][2]) --d.set_exit_all_at_eliminate(6) --d.set_warp_at_eliminate(6, d.get_map_index(), 100, 100) --d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4) d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt") d.check_eliminated() --d.exit_all() end function get_4floor_stone_pos() local positions = { {368, 629}, {419, 630}, {428, 653}, {422, 679}, {395, 689}, {369, 679}, {361, 658}, } 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 --for i = 1, 7 do -- positions[i][1] = positions[i][1] * 100 -- positions[i][2] = positions[i][2] * 100 -- end return positions end when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin d.setf("level", 4) -- ¦A˛{¤jqÇŞ«¤Î»słyŻuĄŰŔYM°˛ĄŰŔY --d.regen_file("data/dungeon/deviltower4_regen.txt") local positions = deviltower_zone.get_4floor_stone_pos() for i = 1, 6 do chat(positions[i][1], positions[i][2]) d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2])) end chat(positions[7][1], positions[7][2]) local vid = d.spawn_mob(8017, positions[7][1], positions[7][2]) chat(vid) d.set_unique("real", vid) server_loop_timer('devil_stone4_update', 10, pc.get_map_index()) server_timer('devil_stone4_fail1', 5*60, pc.get_map_index()) d.notice("Brawo, udalo sie Tobie"); d.notice("zniszczyc kamien metin!"); d.notice("Macie 15 minut na nastepnym pietrze[ENTER] zanim zostaniecie wylogowani."); d.notice("Spieszcie sie!"); end when devil_stone4_fail1.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Pozostalo 10 minut!") server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg()) end end when devil_stone4_fail2.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Pozostalo 5 minut!") server_timer('devil_stone4_fail', 5*60, get_server_timer_arg()) end end when devil_stone4_fail.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Nie udalo sie, zostaniecie wylogowany!") d.exit_all() clear_server_timer('devil_stone4_update', get_server_timer_arg()) end end when devil_stone4_update.server_timer begin if d.select(get_server_timer_arg()) then if not d.is_unique_dead("real") then 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("To nie ten kamien!"); end end end else --d.clear_regen() --d.regen_file("data/dungeon/deviltower5_regen.txt") server_timer("devil_stone4_end", 5, get_server_timer_arg()) d.notice("Udalo sie! Zabij wszystkie potwory na nastepnym"); d.notice("pietrze, aby zdobyc kamien otwarcia!") clear_server_timer('devil_stone4_fail1', get_server_timer_arg()) clear_server_timer('devil_stone4_fail2', get_server_timer_arg()) clear_server_timer('devil_stone4_fail', get_server_timer_arg()) end else server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg()) end end when devil_stone4_stop_timer.server_timer begin clear_server_timer('devil_stone4_update', get_server_timer_arg()) end when devil_stone4_end.server_timer begin if d.select(get_server_timer_arg()) then d.setf("level", 5) d.setf("stone_count", 5) d.notice("Brawo, jestes na 5 pietrze!") d.notice("Aby przejsc na 6 pietro musisz zabic") d.notice("wszystkie potwory tutaj, zdobyc kamien") d.notice("otwarcia i otworzyc pieczecie przed czasem!") d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2]) server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg()) clear_server_timer('devil_stone4_update', get_server_timer_arg()) -- 5ĽÓÄ~Äň¦A˛{ d.set_regen_file("data/dungeon/deviltower5_regen.txt") -- 5ĽÓ«Ę¦LĄŰ¦A˛{ d.spawn_mob(20073, 421, 452) d.spawn_mob(20073, 380, 460) d.spawn_mob(20073, 428, 414) d.spawn_mob(20073, 398, 392) d.spawn_mob(20073, 359, 426) end end when devil_stone5_fail1.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Pozostalo 15 minut!") server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg()) end end when devil_stone5_fail2.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Pozostalo 10 minut!") server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg()) end end when devil_stone5_fail3.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Pozostalo 5 minut!") server_timer('devil_stone5_fail', 5*60, get_server_timer_arg()) end end when devil_stone5_fail.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Nie udalo sie, zostaniesz wylogowany!") d.exit_all() end end --when devil_stone4.kill begin --d.setf("level", 5) --d.setf("stone_count", 4) --d.clear_regen() --d.regen_file("data/dungeon/deviltower5_regen.txt") --d.jump_all_local(special.devil_tower[4][1], special.devil_tower[4][2]) --end when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin local KILL_COUNT_FOR_DROP_KEY = 50 --if is_test_server() then --KILL_COUNT_FOR_DROP_KEY = 1 --end local n =d.getf("count") + 1 d.setf("count", n) if n == KILL_COUNT_FOR_DROP_KEY then -- ±Ľ¤UÂę°Í game.drop_item(50084, 1) d.setf("count", 0) end end when devil_stone5.take with item.vnum == 50084 begin npc.purge() item.remove() d.setf("stone_count", d.getf("stone_count") - 1) if d.getf("stone_count") <= 0 then d.setf("level", 6) d.clear_regen() d.regen_file("data/dungeon/deviltower6_regen.txt") d.notice("Brawo udalo sie! jestes na 6 pietrze!") d.notice("Zabij wszystkie potwory!") d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2]) clear_server_timer('devil_stone5_fail1', get_server_timer_arg()) clear_server_timer('devil_stone5_fail2', get_server_timer_arg()) clear_server_timer('devil_stone5_fail3', get_server_timer_arg()) clear_server_timer('devil_stone5_fail', get_server_timer_arg()) else d.notice("Do otwarcia posostały "..d.getf("stone_count").." pieczęcie") end end when devil_stone6.kill begin -- ǰe¨ě·Ň¸tҦbŞş¦aąĎ -- §_«hˇA}ł]¤@Ó·s·Ň¸t --d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2]) d.kill_all() -- d.set_warp_at_eliminate(3*60, 65, 5376+532, 512+596+4) d.check_eliminated() local reward_alchemist = {20074, 20075, 20076} d.spawn_mob(reward_alchemist[number(1,3)], 425, 216); d.setqf("can_refine", 1) end -------------------------------------- -- ĄŃi¤J7ĽÓ¦Ü¨ěąF8ĽÓ¤§«e -------------------------------------- when 20074.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin say(""..mob_name(20074).."") say("Zostaniesz przeniesiony") say("na 7 pietro Wiezy Demonow!") say("Lecz uwazaj...") say("Tam nie bedzie tak latwo jak wczesniej!") wait() if pc.level >=75 then say("Kazdy z graczy zostanie przeniesiony!") timer("devil_jump_7", 6) return end say("Mozesz przejsc dalej!") say("") say("") wait() pc.warp(590500, 110500) return end when 20075.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin say(""..mob_name(20075).."") say("Zostaniesz przeniesiony") say("na 7 pietro Wiezy Demonow!") say("Lecz uwazaj...") say("Tam nie bedzie tak latwo jak wczesniej!") wait() if pc.level >=75 then say("Kazdy z graczy zostanie przeniesiony!") timer("devil_jump_7", 6) return end say("Mozesz przejsc dalej!") say("") say("") wait() pc.warp(590500, 110500) return end when 20076.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin say(""..mob_name(20076).."") say("Zostaniesz przeniesiony") say("na 7 pietro Wiezy Demonow!") say("Lecz uwazaj...") say("Tam nie bedzie tak latwo jak wczesniej!") wait() if pc.level >=75 then say("Kazdy z graczy zostanie przeniesiony!") timer("devil_jump_7", 6) return end say("Mozesz przejsc dalej!") say("") say("") wait() pc.warp(590500, 110500) return end when devil_jump_7.timer begin d.clear_regen() d.spawn_mob(8018, 639, 658) d.spawn_mob(8018, 611, 637) d.spawn_mob(8018, 596, 674) d.spawn_mob(8018, 629, 670) d.setf("level", 7) d.jump_all(2048+590, 6656+638) end when 8018.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin local cont = d.getf("7_stone_kill") + 1 d.setf("7_stone_kill", cont) if cont >= 4 then d.setf("7_stone_kill", 0) d.set_regen_file("data/dungeon/deviltower7_regen.txt") end end when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin game.drop_item(30300, 1) end when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin pc.remove_item("30300", 1) local pct = number(1,10) if pct == 1 then -- ±Ľ¤UŻu¦aąĎ game.drop_item(30302, 1) d.clear_regen() else -- ±Ľ¤U°˛¦aąĎ game.drop_item(30301, 1) end end when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin -- ǰe¨ě8ĽÓ say("Przeniesiesz sie na 8 pietro!") pc.remove_item("30302", 1) timer("devil_jump_8", 6) d.clear_regen() end -------------------------------------------- -- ĄŃi¤J8ĽÓ¦Ü¨ěąF9ĽÓ¤§«e -------------------------------------------- when devil_jump_8.timer begin d.setf("level", 8) d.jump_all(2048+590, 6656+403) d.set_regen_file("data/dungeon/deviltower8_regen.txt") d.spawn_mob(20366, 640, 460) local _count= pc.count_item(30302)-- ř·ŔŻu¤`ĆFđ pc.remove_item(30302,_count) end when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin local pct1 = number(1, 5) if pct1 == 1 then local pct2 = number(1, 10) if pct2 == 1 then -- ±Ľ¤UŻuÂę°Í game.drop_item(30304, 1) else -- ±Ľ¤U°˛Âę°Í game.drop_item(30303, 1) end else return end end when 20366.take with item.vnum == 30304 begin -- 9ĽÓ«Ę¦L¸Ń°Ł d.notice("Zostaniecie przeniesieni na 9 pietro!") npc.purge() item.remove() timer("devil_jump_9", 6) end --------------------------------------------- -- ĄŃi¤J9ĽÓ¦Üµ˛§ô --------------------------------------------- when devil_jump_9.timer begin d.setf("level", 9) d.jump_all(2048+590, 6656+155) d.regen_file("data/dungeon/deviltower9_regen.txt") end when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin d.kill_all() notice_all(pc.get_name().." zabil Umarlego Rozpruwacza!") timer("devil_end_jump", 60) end when devil_end_jump.timer begin d.exit_all() end end end [/hide] Tuturial oraz Quest wykonany przez NoTuS dla ElitePvPers Oczywiście on skopiował Twoją pracę, a i ja też. http://www.mpcforum.pl/topic/270019-pytanie-szukam-demon-tower-tiveria/page__view__findpost__p__1860700 Metin2 Balmora Staff Odnośnik do komentarza
Farrek Opublikowano 20 Sierpnia 2011 Udostępnij Opublikowano 20 Sierpnia 2011 d.join(id mapy) Odnośnik do komentarza
XaviPrawdziwy Opublikowano 20 Sierpnia 2011 Udostępnij Opublikowano 20 Sierpnia 2011 Powód? Nasz kochany Sui uzył funkcji #include w C++ Już pominę fakt, że ten temat to jakaś pierdolona pomyłka, to #include nie jest funkcją. --- cze bambus, cze farrk Odnośnik do komentarza
Farrek Opublikowano 20 Sierpnia 2011 Udostępnij Opublikowano 20 Sierpnia 2011 Już pominę fakt, że ten temat to jakaś pierdolona pomyłka, to #include nie jest funkcją. --- cze bambus, cze farrk cze xavi Odnośnik do komentarza
Bambus3k™ Opublikowano 21 Sierpnia 2011 Udostępnij Opublikowano 21 Sierpnia 2011 Już pominę fakt, że ten temat to jakaś pierdolona pomyłka, to #include nie jest funkcją. --- cze bambus, cze farrk Cze xavi, cze farrk, Wszystkiego najlepszego farrk i dużo Zdrówka=) btw, xavi to jest w ogóle jakaś parodia, ale sui używa to jako funkcji, która zwraca mu warpa 5 osób z pt do DT. Metin2 Balmora Staff Odnośnik do komentarza
Rekomendowane odpowiedzi
Zarchiwizowany
Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.