Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[problem] quest z bossami


Rekomendowane odpowiedzi

Opublikowano

Witam. Spróbowałem sam zrobić sobie questa z informacją po zabiciu bossów. Ale mam problem. Wyświetlają się wszystkie oprócz 3: Króla demonów, elit króla demonów i ripera. Do questu zostali dodani.

O co chodzi ?

 

quest boss begin
state start begin
 when 2206.kill begin
  notice_all(pc.get_name().." zabil Ognistego Krola!")
 end
 when 2307.kill begin
  notice_all(pc.get_name().." zabil Wladce Duchow Drzew!")
 end
 when 1304.kill begin
  notice_all(pc.get_name().." zabil Zjawe Zoltego Tygrysa!")
 end
 when 691.kill begin
  notice_all(pc.get_name().." zabil Wodza Orkow!")
 end
 when 1901.kill begin
  notice_all(pc.get_name().." zabil Dziewiec Ogonow!")
 end
 when 993.kill begin
  notice_all(pc.get_name().." zabil Olbrzymiego Nosiciel Plagi!")
 end
 when 1091.kill begin
  notice_all(pc.get_name().." zabil Krola Demonow!")
 end
 when 1092.kill begin
  notice_all(pc.get_name().." zabil Elit. Krola Demonow!")
 end
 when 1093.kill begin
  notice_all(pc.get_name().." zabil Umarlego Rozpruwacza!")
 end
 when 1095.kill begin
  notice_all(pc.get_name().." zabil Niebieska Smierc!")
 end
 when 791.kill begin
  notice_all(pc.get_name().." zabil Ezot. Przywolywacza!")
 end
 when 2091.kill begin
  notice_all(pc.get_name().." zabil Krolowa Pajakow!")
 end
 when 2092.kill begin
  notice_all(pc.get_name().." zabil Krola Pajakow")
 end
 when 2191.kill begin
  notice_all(pc.get_name().." zabil Olbrzymiego Zolwia!")
 end
end
end

mca.png
Opublikowano

Quest jest poprawnie napisany!

Na pewno w grze wpisujesz to samo id, co w queście?

KONIEC


-----------------------------------------


2013-08-15

Opublikowano

pewnie w jakims innym quescie jest juz to wykorzystane. sprawdz quest od dt.

 

chodzi o quest deviltower_zone.quest ?

 

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
 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("Nie wiem1"..d.getf("stone_count").."Nie wiem 2")
 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
  ssay("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

mca.png
Opublikowano

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!")

 

tzn. mogę usunąć tą linijkę i będzie działać ?? Ale co z królami demonów ? Oni też są w jakichś zadaniach ?

mca.png
Opublikowano

Sprawdź po id w object czy jest jakiś quest i masz odpowiedź.

 

są 1091, 1092, 1093, 1095 są kill i quest "boss.start.quest"

Co zrobić żeby mi tamte mobki działały ??

mca.png
Opublikowano

@Up Geniuszu, to questy nie będą działać :D

 

@Top Musisz znaleźć w jakich jeszcze questach występują te id.

 

Riper nie zadziała, bo aby działał to musisz questa na dt wywalić.

 

Ew. możesz zrobić idealną kopie ripa, tylko inne id, i jeden rip w dt a drugi gdzie tam chcesz

 

Ps. Zapraszam Cie na stronę

questy.tk

Codziennie nowości!

Opublikowano

Wywalić ich z object?

 

teraz usunąlem 3 foldery z object i w ogóle nie chce działać :/ Co teraz zrobić ??

mca.png
Opublikowano

Wgraj jeszcze raz tego questa.

 

poprawiłem go, źle coś dopisałem, teraz działa, ale nadal nie ma ripera, i królow po wywaleniu ich z object (oprócz ripa)

mca.png
Opublikowano

Mondes, kurwa, jak się nie znasz to się nie wypowiadaj...

 

Musisz wejść w object, znaleźć folder o nazwie takiej jak np. id króla demonów

 

Teraz w tym folderze będziesz miał np. kruk.start

 

To oznacza że w queście o nazwie kruk.quest występuje król demonów, wywal tego questa, zrób sh make i będzie działać król, chyba że jest w innych jeszcze questach to inne też wywal...

 

Ps. Zapraszam Cie na stronę

questy.tk

Codziennie nowości!!

Opublikowano

Mondes, kurwa, jak się nie znasz to się nie wypowiadaj...

 

Musisz wejść w object, znaleźć folder o nazwie takiej jak np. id króla demonów

 

Teraz w tym folderze będziesz miał np. kruk.start

 

To oznacza że w queście o nazwie kruk.quest występuje król demonów, wywal tego questa, zrób sh make i będzie działać król, chyba że jest w innych jeszcze questach to inne też wywal...

 

Ps. Zapraszam Cie na stronę

questy.tk

Codziennie nowości!!

 

tzn. mam np folder Króla demonów 1091 w nim mam folder kill a w nim quest :boss.start i usunąłem ten quest ale dalej się nie pojawia.

Teraz folder kill mam pusty.

mca.png
Opublikowano

Ty nie masz nic z folderu object usuwać...

 

Przeczytaj mój post jeszcze raz...

 

tzn. mam usunąć zawartość questu boss.start ??

mca.png
Opublikowano

zauważ że jak masz np. biologa i polowanie na tego samego moba to jednego questa nie zalicza az nie skonczysz drugiego. tak samo jest tutaj, jeden quest blokuje drugi. wywal z dt ten notice i powinien działać komunikat o rozpruwaczu.

 

no ok, ale chyba nie mam ich w innych zadaniach, u króla demonów w 1091 w kill mam tylko plik boss.start o takiej zawartości :

 

notice_all ( pc . get_name ( ) .. " zabil Krola Demonow!" )

mca.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...