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

Pisanie / Poprawa Questów !


PoczatKujacy

Rekomendowane odpowiedzi

Opublikowano

 

quest skill_group begin
state start begin
 when login with pc.level>=5 and pc.skillgroup ==0 begin
  set_state(run)
 end
 when levelup with pc.level>=5 and pc.skillgroup == 0 begin
  set_state(run)
 end
end
state run begin
 when login with pc.get_skill_group()!=0 begin
  restart_quest()
 end
 when letter with pc.get_skill_group()==0 begin
  send_letter("Trening Umiejętności ")
  local job=pc.get_job()
  if job==0 then
local v=pc_find_skill_teacher_vid(1)
if 0!=v then target.vid("teacher1", v, "Body") end
local v=pc_find_skill_teacher_vid(2)
if 0!=v then target.vid("teacher2", v, "Mental") end
  elseif job==1 then
local v=pc_find_skill_teacher_vid(1)
if 0!=v then target.vid("teacher3", v, "Zabójca ") end
local v=pc_find_skill_teacher_vid(2)
if 0!=v then target.vid("teacher4", v, "Łucznik") end
  elseif job==2 then
local v=pc_find_skill_teacher_vid(1)
if 0!=v then target.vid("teacher5", v, "WP") end
local v=pc_find_skill_teacher_vid(2)
if 0!=v then target.vid("teacher6", v, "BM") end
  elseif job==3 then
local v=pc_find_skill_teacher_vid(1)
if 0!=v then target.vid("teacher7", v, "Smok") end
local v=pc_find_skill_teacher_vid(2)
if 0!=v then target.vid("teacher8", v, "Błysk") end
  end
 end
 when leave begin
  target.delete("teacher1")
  target.delete("teacher2")
  target.delete("teacher3")
  target.delete("teacher4")
  target.delete("teacher5")
  target.delete("teacher6")
  target.delete("teacher7")
  target.delete("teacher8")
 end
 when button or info begin
  say(locale.skill_group.lets_join_skill_group[pc.job+1])
  setleftimage("")
  setmapcenterposition(-200, 0)
  select(locale.confirm)
  setskin(NOWINDOW)
 end
function join(job, group, title, text, error_msg)
 local pc_job=pc.get_job()
 if pc_job!=job then
   say(error_msg)
   if pc_job==0 then
 say_reward("error")
 say_reward("er")
elseif pc_job==1 then
 say_reward("error1")
 say_reward("er1")
   elseif pc_job==2 then
 say_reward("error2")
 say_reward("er2")
   elseif pc_job==3 then
 say_reward("error3")
 say_reward("er3")
  end
  say("")
 else
  say_title(title)
  say(text)
  local s=select("Rozpocznij", "Póżniej")
  if 1==s then
  if pc.get_job()==job and pc.get_skill_group()==0 then
   set_state("start")
   pc.set_skill_group(group)
pc.clear_skill()
char_log(0, "CLEAR_SKILL", "Clear Skill By Skill Teacher")
   makequestbutton("Trening Zakończony!")
   return true
  else
   test_chat("npc_is_same_job:"..bool_to_str(npc_is_same_job()))
   test_chat("pc.get_skill_group:"..pc.get_skill_group())
   test_chat("pc_job:"..pc.get_job())
  end
  end
 end
 return false
end
-- ???
when teacher1.target.click or
 skill_group1_1.chat."Trening Umiejętności " or
 skill_group2_1.chat."Trening Umiejętności " or
 skill_group3_1.chat."Trening Umiejętności "
 begin
 target.delete("teacher1")
 if skill_group.join(0, 1, "Trener Mocy Ciała:",
  "Nauka walki w ręcz skupia się na szybkich[ENTER]pojedynkach, uczy metod walk indywidualnych[ENTER]z naciskiem na ulepszenie i wzmocnienie ataków.[ENTER]Wymagania: Wojownik na poziomie 5 lub wyższym.") then
  say_title("Wybrałeś Trening Mocy Ciała.")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przeznazyćje na dowolne Umiejętności.")

  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punkty Umiejętności.")
  else
say("errortitlearahan")
say("errortitlearahan2")
say("")
  end
  clear_letter()
 end
end
when teacher2.target.click or
 skill_group1_2.chat."Trening Umiejętności " or
 skill_group2_2.chat."Trening Umiejętności " or
 skill_group3_2.chat."Trening Umiejętności "
 begin
 target.delete("teacher2")
 if skill_group.join(0, 2, "Trener Mocy Duchowej:",
  "Trening Mocy Duchowej pokazuje jak przekształcić[ENTER]siłę wroga na kontakt przy pomocy Chi oraz[ENTER]obronę przed atakami.[ENTER]Wymagania: Wojownik na poziomie 5 lub wyższym.") then
  say_title("Wybrałeś Trening Mocy Duchowej.")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przeznazyćje na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punkty Umiejętności.")
  else
say("errortitlemen")
say("errortitlemen2")
say("")
  end

  clear_letter()
 end
end
-- ???
when teacher3.target.click or
 skill_group1_3.chat."Trening Umiejętności " or
 skill_group2_3.chat."Trening Umiejętności " or
 skill_group3_3.chat."Trening Umiejętności  "
 begin
 target.delete("teacher3")
 if skill_group.join(1, 1, "Trener Mocy Ostrza:",
  "Trening Mocy Ostrza uczy jak pokonać przeciwnika[ENTER]w szybki i zabójczy sposób. Trening opiera się[ENTER]na poznaniu najsłabszych punktów wroga.[ENTER]Wymagania: Ninja na poziomie 5 lub wyższym.") then
  say_title("Wybrałeś Trening Mocy Ostrza.")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przyznać je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punkty Umiejętności.")
  else
say("errortitleszty")
say("errortitleszty2")
say("")
  end
  clear_letter()
 end
end
-- ???
when teacher4.target.click or
 skill_group1_4.chat."Trening Umiejętności " or
 skill_group2_4.chat."Trening Umiejętności " or
 skill_group3_4.chat."Trening Umiejętności "
 begin
 target.delete("teacher4")
 if skill_group.join(1, 2, "Trener Mocy Łuku:",
  "Trening Mocy Łuku uczy posługiwania się bronią[ENTER]dystansową albo móc walczyć z odpowiednią[ENTER]precyzją nawet z dużej odległości.[ENTER]Wymagania: Ninja na poziomie 5 lub wyższym.") then
  say_title("Wybrałeś Trening Mocy Łuku")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przyznać je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punkty Umiejętności.")
  else
say("errortitleluk")
say("errortitleluk2")
say("")
  end
  clear_letter()
 end
end
-- ???
when teacher5.target.click or
 skill_group1_5.chat."Trening Umiejętności " or
 skill_group2_5.chat."Trening Umiejętności " or
 skill_group3_5.chat."Trening Umiejętności "
 begin
 target.delete("teacher5")
 if skill_group.join(2, 1,
  "Trener Broni:",
  "Podążając drogą Treningu Broni nauczysz się[ENTER]potężnych ataków przeciwko osłabionym[ENTER]przeciwnikom. Ponadto,będziesz mógł[ENTER]kontrolować Zaczarowane Ostrze.[ENTER]Wymagane: Sura poziom 5 lub wyższy.") then
  say_title("Wybrałeś trening Broni.")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymujesz 4 Punkty Umiejętności.[ENTER]Możesz przeznaczyć je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punktów Umiejętności.")

  else
say("errortitlewp")
say("errortitlewp2")
say("")
  end
  clear_letter()
 end
end
-- ???
when teacher6.target.click or
 skill_group1_6.chat."Trening Umiejętności " or
 skill_group2_6.chat."Trening Umiejętności " or
 skill_group3_6.chat."Trening Umiejętności "
 begin
 target.delete("teacher6")
 if skill_group.join(2, 2,
  "Trener Czarnej Magii:",
  "Trenując Czarną Magię nauczysz się osłabiać[ENTER]przeciwników za pomocą Czarnej Magii i walczyć[ENTER]z dystansu.[ENTER]Wymagane: Sura poziom 5 lub wyższy.") then
  say_title("Wybrałeś trening Czarnej Magii.")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymujesz 4 Punkty Umiejętności.[ENTER]Możesz przeznaczyć je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punktów Umiejętności.")
  else
say("errortitlebm")
say("errortitlebm2")
say("")
  end
  clear_letter()
 end
end
-- ???
when teacher7.target.click or
 skill_group1_7.chat."Trening Umiejętności " or
 skill_group2_7.chat."Trening Umiejętności " or
 skill_group3_7.chat."Trening Umiejętności "
 begin
 target.delete("teacher7")
 if skill_group.join(3, 1,
  "Trener Smoka:",
  "Trening Boga Smoka pozwala na wykorzystywanie[ENTER]potężnych ataków ognistych wspieranych przez[ENTER]Smoczego Boga,pozwala również na wzmocnienie[ENTER]magiczne swojej drużyny specjalnymi zaklęciami.[ENTER]Wymagania: Szaman poziom 5 lub wyższy.") then
  say_title("Wybrałeś trening Smoka.")
  say("Witaj![ENTER]W zwiazku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przeznaczyć je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punktów Umiejętności.")
  else
say("errortitlesmok")
say("errortitlesmok2")
say("")
  end
  clear_letter()
 end
end
-- ???
when teacher8.target.click or
 skill_group1_8.chat."Trening Umiejętności" or
 skill_group2_8.chat."Trening Umiejętności " or
 skill_group3_8.chat."Trening Umiejętności "
 begin
 target.delete("teacher8")
 if skill_group.join(3, 2,
  "Trener Leczenia:",
  "Dzięki treningowi Leczenia nauczysz sie jak[ENTER]ogłuszyć przeciwników mocą błyskawicy. Uczysz[ENTER]się również jak leczyć członków grupy i dodawać[ENTER]im dodatkową siłę.[ENTER]Wymagania: Szaman poziom 5 lub wyższy.") then
  say_title("Wybrałeś Trening Leczenia.")
  say("Witaj![ENTER]W zwiazku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przeznaczyć je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punktów Umiejętności.")
say("")
  else
say("errormessagelecz")
say("errormessagelecz2")
say("")
  end
  clear_letter()
 end
end
end
end

 

 

To jest skill_group, może mi ktoś go "poprawić", aby od razu po odebraniu skilli u Instruktora mocy, on od razu dawałby nam je na G1.

  • Odpowiedzi 8,7 tys.
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

Może ktoś to zedytować i zrobić tak, aby wstęp na mape był od 140lv?

 

elseif 5 == s then
say_title ( "Mapa Starożytnych Yangów" )
say ( "Teleportuję Cię do Mapy Starożytnych Yangów." )
say ( "Jeśli twój poziom jest mniejszy niż 140," )
say ( "lepiej wróć się z powrotem." )
wait ( )
pc . warp ( 288700 , 5700 )
return

누가 뭐라 해도 난 나야 난 그냥 내가 되고 싶어
I WANNA BE ME ME ME

Opublikowano

Sunushi & Endymion_ Widzę że macie zapał do questów, to jak możecie to podajcie WW, DC, Dungeon hah :D + quest np jeśli ktoś wejdzie na mapę od 100lv a gracz posiada 90lv to go automatycznie od razy lognie do m1 czy coś w tym stylu.

Opublikowano

Co w tym quescie jest nie tak? :)

 

quest pd_cofka begin
state start begin
 when 72002.use begin
local x = pc.get_exp()
 while true do
 if item.select_cell(98) and item.get_vnum() == 72002 and pc.get_exp() >= 1 then
  pc.give_exp2(-x)
  chat("Exp zostal usuniety")
 elseif item.select_cell(97) and item.get_vnum() == 72002 and pc.get_exp() >= 1  then
  pc.give_exp2(-x)
  chat("Exp zostal usuniety")
 else
  break
end
  end
 end
end
end

 

Dałem pod id 72002 jest to pierścień pd na 30 min.. może w zapytaniu mam coś zle ?

 

type -16

subtype-0

antiflag-0

 

Quest niby po wgraniu nie wywala błędów.. tylko że nie zatrzymuje expa..

Opublikowano

lol mamy dawac coś co było już nie raz na forach?

 

a co do drugiego to:

quest asd begin
state start begin
 when login with pc.get_map_index() == indexmapy and pc.get_level() < 100 begin
  warp_to_village()
 end
end
end

chyba zadziała, ale ręki uciąć sobie nie dam ;p

Powiem ci tak, są i są ale w dziurawe i pobugowane, no chyba że masz takiego który nie jest to zapodaj linka ;)

 

@EDIT, Endymion tego questa co dałeś z usuwaniem itemków u NPC nie działa, jest tylko:

 

Jesteś pewien że mam zniszczyć ten przedmiot?
Ok

 

I dalej nic nie ma ^^

Opublikowano

Można poprosić o questa startowego ale nie dającego tylko eq na start tylko gdy gramy wojem to od razu mamy do wybrania profesje czyli mental i body a jak sura to wp i bm idt po prostu w quescie startowym możliwość wzięcia profesji.

Opublikowano

Czy ktoś zna poprawne kordy do atlantydy v2 w pierścieniu teleportacji do questa?

 

Daje lika.

누가 뭐라 해도 난 나야 난 그냥 내가 되고 싶어
I WANNA BE ME ME ME

Opublikowano

Czy ktoś zna poprawne kordy do atlantydy v2 w pierścieniu teleportacji do questa?

 

Daje lika.

누가 뭐라 해도 난 나야 난 그냥 내가 되고 싶어
I WANNA BE ME ME ME

Opublikowano

 

quest skill_group begin
state start begin
 when login with pc.level>=5 and pc.skillgroup ==0 begin
  set_state(run)
 end
 when levelup with pc.level>=5 and pc.skillgroup == 0 begin
  set_state(run)
 end
end
state run begin
 when login with pc.get_skill_group()!=0 begin
  restart_quest()
 end
 when letter with pc.get_skill_group()==0 begin
  send_letter("Trening Umiejętności ")
  local job=pc.get_job()
  if job==0 then
local v=pc_find_skill_teacher_vid(1)
if 0!=v then target.vid("teacher1", v, "Body") end
local v=pc_find_skill_teacher_vid(2)
if 0!=v then target.vid("teacher2", v, "Mental") end
  elseif job==1 then
local v=pc_find_skill_teacher_vid(1)
if 0!=v then target.vid("teacher3", v, "Zabójca ") end
local v=pc_find_skill_teacher_vid(2)
if 0!=v then target.vid("teacher4", v, "Łucznik") end
  elseif job==2 then
local v=pc_find_skill_teacher_vid(1)
if 0!=v then target.vid("teacher5", v, "WP") end
local v=pc_find_skill_teacher_vid(2)
if 0!=v then target.vid("teacher6", v, "BM") end
  elseif job==3 then
local v=pc_find_skill_teacher_vid(1)
if 0!=v then target.vid("teacher7", v, "Smok") end
local v=pc_find_skill_teacher_vid(2)
if 0!=v then target.vid("teacher8", v, "Błysk") end
  end
 end
 when leave begin
  target.delete("teacher1")
  target.delete("teacher2")
  target.delete("teacher3")
  target.delete("teacher4")
  target.delete("teacher5")
  target.delete("teacher6")
  target.delete("teacher7")
  target.delete("teacher8")
 end
 when button or info begin
  say(locale.skill_group.lets_join_skill_group[pc.job+1])
  setleftimage("")
  setmapcenterposition(-200, 0)
  select(locale.confirm)
  setskin(NOWINDOW)
 end
function join(job, group, title, text, error_msg)
 local pc_job=pc.get_job()
 if pc_job!=job then
   say(error_msg)
   if pc_job==0 then
 say_reward("error")
 say_reward("er")
elseif pc_job==1 then
 say_reward("error1")
 say_reward("er1")
   elseif pc_job==2 then
 say_reward("error2")
 say_reward("er2")
   elseif pc_job==3 then
 say_reward("error3")
 say_reward("er3")
  end
  say("")
 else
  say_title(title)
  say(text)
  local s=select("Rozpocznij", "Póżniej")
  if 1==s then
  if pc.get_job()==job and pc.get_skill_group()==0 then
   set_state("start")
   pc.set_skill_group(group)
pc.clear_skill()
char_log(0, "CLEAR_SKILL", "Clear Skill By Skill Teacher")
   makequestbutton("Trening Zakończony!")
   return true
  else
   test_chat("npc_is_same_job:"..bool_to_str(npc_is_same_job()))
   test_chat("pc.get_skill_group:"..pc.get_skill_group())
   test_chat("pc_job:"..pc.get_job())
  end
  end
 end
 return false
end
-- ???
when teacher1.target.click or
 skill_group1_1.chat."Trening Umiejętności " or
 skill_group2_1.chat."Trening Umiejętności " or
 skill_group3_1.chat."Trening Umiejętności "
 begin
 target.delete("teacher1")
 if skill_group.join(0, 1, "Trener Mocy Ciała:",
  "Nauka walki w ręcz skupia się na szybkich[ENTER]pojedynkach, uczy metod walk indywidualnych[ENTER]z naciskiem na ulepszenie i wzmocnienie ataków.[ENTER]Wymagania: Wojownik na poziomie 5 lub wyższym.") then
  say_title("Wybrałeś Trening Mocy Ciała.")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przeznazyćje na dowolne Umiejętności.")

  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punkty Umiejętności.")
  else
say("errortitlearahan")
say("errortitlearahan2")
say("")
  end
  clear_letter()
 end
end
when teacher2.target.click or
 skill_group1_2.chat."Trening Umiejętności " or
 skill_group2_2.chat."Trening Umiejętności " or
 skill_group3_2.chat."Trening Umiejętności "
 begin
 target.delete("teacher2")
 if skill_group.join(0, 2, "Trener Mocy Duchowej:",
  "Trening Mocy Duchowej pokazuje jak przekształcić[ENTER]siłę wroga na kontakt przy pomocy Chi oraz[ENTER]obronę przed atakami.[ENTER]Wymagania: Wojownik na poziomie 5 lub wyższym.") then
  say_title("Wybrałeś Trening Mocy Duchowej.")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przeznazyćje na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punkty Umiejętności.")
  else
say("errortitlemen")
say("errortitlemen2")
say("")
  end

  clear_letter()
 end
end
-- ???
when teacher3.target.click or
 skill_group1_3.chat."Trening Umiejętności " or
 skill_group2_3.chat."Trening Umiejętności " or
 skill_group3_3.chat."Trening Umiejętności  "
 begin
 target.delete("teacher3")
 if skill_group.join(1, 1, "Trener Mocy Ostrza:",
  "Trening Mocy Ostrza uczy jak pokonać przeciwnika[ENTER]w szybki i zabójczy sposób. Trening opiera się[ENTER]na poznaniu najsłabszych punktów wroga.[ENTER]Wymagania: Ninja na poziomie 5 lub wyższym.") then
  say_title("Wybrałeś Trening Mocy Ostrza.")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przyznać je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punkty Umiejętności.")
  else
say("errortitleszty")
say("errortitleszty2")
say("")
  end
  clear_letter()
 end
end
-- ???
when teacher4.target.click or
 skill_group1_4.chat."Trening Umiejętności " or
 skill_group2_4.chat."Trening Umiejętności " or
 skill_group3_4.chat."Trening Umiejętności "
 begin
 target.delete("teacher4")
 if skill_group.join(1, 2, "Trener Mocy Łuku:",
  "Trening Mocy Łuku uczy posługiwania się bronią[ENTER]dystansową albo móc walczyć z odpowiednią[ENTER]precyzją nawet z dużej odległości.[ENTER]Wymagania: Ninja na poziomie 5 lub wyższym.") then
  say_title("Wybrałeś Trening Mocy Łuku")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przyznać je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punkty Umiejętności.")
  else
say("errortitleluk")
say("errortitleluk2")
say("")
  end
  clear_letter()
 end
end
-- ???
when teacher5.target.click or
 skill_group1_5.chat."Trening Umiejętności " or
 skill_group2_5.chat."Trening Umiejętności " or
 skill_group3_5.chat."Trening Umiejętności "
 begin
 target.delete("teacher5")
 if skill_group.join(2, 1,
  "Trener Broni:",
  "Podążając drogą Treningu Broni nauczysz się[ENTER]potężnych ataków przeciwko osłabionym[ENTER]przeciwnikom. Ponadto,będziesz mógł[ENTER]kontrolować Zaczarowane Ostrze.[ENTER]Wymagane: Sura poziom 5 lub wyższy.") then
  say_title("Wybrałeś trening Broni.")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymujesz 4 Punkty Umiejętności.[ENTER]Możesz przeznaczyć je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punktów Umiejętności.")

  else
say("errortitlewp")
say("errortitlewp2")
say("")
  end
  clear_letter()
 end
end
-- ???
when teacher6.target.click or
 skill_group1_6.chat."Trening Umiejętności " or
 skill_group2_6.chat."Trening Umiejętności " or
 skill_group3_6.chat."Trening Umiejętności "
 begin
 target.delete("teacher6")
 if skill_group.join(2, 2,
  "Trener Czarnej Magii:",
  "Trenując Czarną Magię nauczysz się osłabiać[ENTER]przeciwników za pomocą Czarnej Magii i walczyć[ENTER]z dystansu.[ENTER]Wymagane: Sura poziom 5 lub wyższy.") then
  say_title("Wybrałeś trening Czarnej Magii.")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymujesz 4 Punkty Umiejętności.[ENTER]Możesz przeznaczyć je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punktów Umiejętności.")
  else
say("errortitlebm")
say("errortitlebm2")
say("")
  end
  clear_letter()
 end
end
-- ???
when teacher7.target.click or
 skill_group1_7.chat."Trening Umiejętności " or
 skill_group2_7.chat."Trening Umiejętności " or
 skill_group3_7.chat."Trening Umiejętności "
 begin
 target.delete("teacher7")
 if skill_group.join(3, 1,
  "Trener Smoka:",
  "Trening Boga Smoka pozwala na wykorzystywanie[ENTER]potężnych ataków ognistych wspieranych przez[ENTER]Smoczego Boga,pozwala również na wzmocnienie[ENTER]magiczne swojej drużyny specjalnymi zaklęciami.[ENTER]Wymagania: Szaman poziom 5 lub wyższy.") then
  say_title("Wybrałeś trening Smoka.")
  say("Witaj![ENTER]W zwiazku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przeznaczyć je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punktów Umiejętności.")
  else
say("errortitlesmok")
say("errortitlesmok2")
say("")
  end
  clear_letter()
 end
end
-- ???
when teacher8.target.click or
 skill_group1_8.chat."Trening Umiejętności" or
 skill_group2_8.chat."Trening Umiejętności " or
 skill_group3_8.chat."Trening Umiejętności "
 begin
 target.delete("teacher8")
 if skill_group.join(3, 2,
  "Trener Leczenia:",
  "Dzięki treningowi Leczenia nauczysz sie jak[ENTER]ogłuszyć przeciwników mocą błyskawicy. Uczysz[ENTER]się również jak leczyć członków grupy i dodawać[ENTER]im dodatkową siłę.[ENTER]Wymagania: Szaman poziom 5 lub wyższy.") then
  say_title("Wybrałeś Trening Leczenia.")
  say("Witaj![ENTER]W zwiazku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przeznaczyć je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punktów Umiejętności.")
say("")
  else
say("errormessagelecz")
say("errormessagelecz2")
say("")
  end
  clear_letter()
 end
end
end
end

 

 

To jest skill_group, może mi ktoś go "poprawić", aby od razu po odebraniu skilli u Instruktora mocy, on od razu dawałby nam je na G1.

Opublikowano

Siemka potrzebuje questa który polega na tym że gdy pierwszy raz się zalogujemy daj my na to wojem to dostaniemy EQ na niego ale dodatkowo będziemy mogli odrazu wybrać profesje czyli pisze tam "witamy na tym i na tym serwie tralala" i pod tym mamy do wyboru profesje body albo mental i tak dla każdego rodzaju postaci ( albo chodź dla jednego a dla kolejnych juz sam obczaję ) Z góry dziękuje ;p

Opublikowano

@NeverDragon zobacz teraz

 

quest pd_cofka begin
state start begin
when 72002.use begin
local x = pc.get_exp()
local y = item.get_vnum()
local s1 = item.select_cell(98)
local s2 = item.select_cell(97)
while true do
if s1 or s2 and y == 72002 and x >= 1 then
pc.give_exp(-x)
chat("Exp zostal usuniety")
else
break
end
end
end
end
end

 

Opublikowano

Czy ktoś zna poprawne kordy do atlantydy v2 w pierścieniu teleportacji do questa?

 

Daje lika.

V1 - pc.warp(900, 1207800)

V2 - pc.warp(241400, 1428900)

Koniec z MPCForum.pl i ogółem z metinem

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

maniek1310 -dzięki.. za chęci jednak nie działa

 

quest pd_cofka begin
state start begin
when 72002.use begin
local x = pc.get_exp()
local y = item.get_vnum()
local s1 = item.select_cell(98)
local s2 = item.select_cell(97)
while true do
if s1 or s2 and y == 72002 and x >= 1 then
pc.give_exp(-x)
chat("Exp zostal usuniety")
else
break
end
end
end
end
end

 

Endymion_ Niestety.. również nie działa .. twój..

 

quest anti begin
state start begin
 when 72501.use begin
 if pc.getqf("antiexp") == 0 then
  pc.setqf("antiexp", 1)
  chat("Anti EXP aktiviert. Deine Erfahrungspunkte werden jede Sekunde auf 0 gesetzt!")
			    local ep = pc.get_exp()
			    pc.give_exp2(-ep)
  timer("erfahrung", 1)
 elseif pc.getqf("antiexp") == 1 then
  pc.setqf("antiexp", 0)
  chat("Anti EXP deaktiviert. Viel Spaß auf OverGaming2!")
  end
 end

 when erfahrung.timer with pc.getqf("antiexp") == 1 begin
  local ep = pc.get_exp()
			    pc.give_exp2(-ep)
  timer("erfahrung1", 1)
  pc.setqf("antiexp", 1)
 end

 when erfahrung1.timer with pc.getqf("antiexp") == 1 begin
  local ep = pc.get_exp()
			    pc.give_exp2(-ep)
  timer("erfahrung", 1)
  pc.setqf("antiexp", 1) 
 end

 when login with pc.getqf("antiexp") == 1 begin
  local ep = pc.get_exp()
  pc.give_exp2(-ep)
  timer("erfahrung", 1)
  pc.setqf("antiexp", 1)
 end
end
end

 

Ale po + za chęci dostaniecie :>

 

I jeśli coś wykminicie limit "Lubie To" będzie :>

Opublikowano

Elo da rade ktoś poprawić tego questa bo nie teleportuje do wierzy jak daję wejdź ;/ ???

 

 

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("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

	    when login begin
					    if pc.get_map_index() == 65 then
									    if pc.getqf("priv_dt") > 0 then
													    pc.setqf("priv_dt", 0)
									    end
					    end
			    if pc.get_map_index() == 66 then
					    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."Wejdź do Wieży Wygnańców" with party.is_leader() begin
					    say_title("Strażnik Wieży Wygnańców:")
					    if party.get_near_count() < 5 then
									    say("Wybacz, musisz mieć ze sobą 5 osób w grupie.")
									    party.chat("Wasza grupa posiada zbyt mało członków.")
									    return
					    end
			    if pc.get_level() < 110 then
					    say("Wybacz, mogę wpuszczać tylko soby od 110 poziomu.")
					    party.chat("Lider grupy nie posiada 110 poziomu.")
			    else
					    say("Spełniasz wszystkie warunki..")
					    say("Czy aby na pewno chcesz wejść do Wieży?")
					    say("Czeka tam na Ciebie i Twoich znajomych ogromne")
					    say("niebezpieczeństwo.. Jesteś tego pewien?")
					    local s = select("Wejdź!","Nie wchodzę..")

					    if s == 1 then
									    pc.setqf("priv_dt", 1)
							    -- join into map!
							    d.join(66)
					    end
			    end
	    end

	    when login with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
									    --local i = nie ważne..
									    --chat("i: "..i) -- for test
									    if party.is_leader() == true and pc.getqf("priv_dt") > 0 then
													    pc.setqf("priv_dt", 0)
													    d.regen_file("data/dungeon/wygnancy.txt")
													    d.notice("Witajcie, w Wieży Wygnańców!")
													    d.notice("Zniszczie Metin Morderstwa, by przedostać się dalej.")
													    d.spawn_mob(8024, 195, 690)
									    end
	    end


	    when 8024.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			    timer("wieza", 6)
					    chat(special.devil_tower[1][1].." "..special.devil_tower[1][2])
	    end
	    when wieza.timer begin
			    d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
			    d.regen_file("data/dungeon/wygnancy2.txt")
			    d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/wygnancy3.txt")
	    end
	    when 1903.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			    d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/wygnancy4.txt")
			    d.check_eliminated()
					    d.notice("Elit. Dziewięć Ogonów został pokonany!")
	    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
			    return positions
	    end
	    when 8025.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			    d.setf("levels", 4)
			    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(8026, positions[i][1], positions[i][2]))
			    end
			    chat(positions[7][1], positions[7][2])
			    local vid = d.spawn_mob(8026, positions[7][1], positions[7][2])
			    chat(vid)
			    d.set_unique("real", vid)
			    server_loop_timer('devil_stone4_updates', 10, pc.get_map_index())
			    server_timer('devil_stone4_fail1s', 5*60, pc.get_map_index())
			    d.notice("Brawo, udało się Tobie zniszczyć Metin Ma-An.");
			    d.notice("Musicie teraz znaleźć prawdziwy Kamień Metin,");
			    d.notice("by dostać się na kolejne piętro.");
			    d.notice("Macie na to 5 minut zanim zostaniecie wylogowani !");
			    d.notice("Śpieszcie się!");
	    end
	    when devil_stone4_fail1s.server_timer begin
			    if d.select(get_server_timer_arg()) then
					    d.notice("Pozostało 10 minut!")
					    server_timer('devil_stone4_fail2s', 5*60, get_server_timer_arg())
			    end
	    end
	    when devil_stone4_fail2s.server_timer begin
			    if d.select(get_server_timer_arg()) then
					    d.notice("Pozostało 5 minut!")
					    server_timer('devil_stone4_fails', 5*60, get_server_timer_arg())
			    end
	    end
	    when devil_stone4_fails.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_updates', get_server_timer_arg())
			    end
	    end
	    when devil_stone4_updates.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 kamień!");
											    end
									    end
							    end
					    else
							    server_timer("devil_stone4_ends", 5, get_server_timer_arg())
							    d.notice("Udało się wam zniszczyć prawdziwy Kamień Metin!");
							    d.notice("Zostaniecie przeniesieni na kolejne piętro.")
							    clear_server_timer('devil_stone4_fail1s', get_server_timer_arg())
							    clear_server_timer('devil_stone4_fail2s', get_server_timer_arg())
							    clear_server_timer('devil_stone4_fails', get_server_timer_arg())
					    end
			    else
					    server_timer('devil_stone4_stop_timers', 1, get_server_timer_arg())
			    end
	    end
	    when devil_stone4_stop_timers.server_timer begin
			    clear_server_timer('devil_stone4_updates', get_server_timer_arg())
	    end
	    when devil_stone4_ends.server_timer begin
			    if d.select(get_server_timer_arg()) then
					    d.setf("levels", 5)
					    d.setf("stone_counts", 5)
					    d.notice("Świetnie.. Przechodzicie na 5 piętro!")
					    d.notice("Aby przejść na kolejne musicie zabić wszystkie potwory.")
					    d.notice("Poczym podnieść Kamień Otwarcia i otworzyć,")
					    d.notice("wszystkie pięć pieczęci przed czasem!")
					    d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
					    server_timer('devil_stone5_fail1s', 5*60, get_server_timer_arg())
					    clear_server_timer('devil_stone4_updates', get_server_timer_arg())
					    -- 5ĽÓÄ~Äň¦A˛{
					    d.set_regen_file("data/dungeon/wygnancy5.txt")
					    -- 5ĽÓ«Ę¦LĄŰ¦A˛{
					    d.spawn_mob(20353, 421, 452)
					    d.spawn_mob(20353, 380, 460)
					    d.spawn_mob(20353, 428, 414)
					    d.spawn_mob(20353, 398, 392)
					    d.spawn_mob(20353, 359, 426)
			    end
	    end
	    when devil_stone5_fail1s.server_timer begin
			    if d.select(get_server_timer_arg()) then
					    d.notice("Do Końca pozostało 15 minut.")
					    server_timer('devil_stone5_fail2s', 5*60, get_server_timer_arg())
			    end
	    end
	    when devil_stone5_fail2s.server_timer begin
			    if d.select(get_server_timer_arg()) then
					    d.notice("Do Końca pozostało 10 minut.")
					    server_timer('devil_stone5_fail3s', 5*60, get_server_timer_arg())
			    end
	    end
	    when devil_stone5_fail3s.server_timer begin
			    if d.select(get_server_timer_arg()) then
					    d.notice("Do Końca pozostało 5 minut.")
					    server_timer('devil_stone5_fails', 5*60, get_server_timer_arg())
			    end
	    end
	    when devil_stone5_fails.server_timer begin
			    if d.select(get_server_timer_arg()) then
					    d.notice("Niestety... Nie udało się! Zostaniecie wylogowani.")
					    d.exit_all()
			    end
	    end
	    when 2412.kill with pc.in_dungeon() and d.getf("levels") == 5 begin
			    local KILL_COUNT_FOR_DROP_KEYs = 50
			    local n =d.getf("counts") + 1
			    d.setf("counts", n)
			    if n == KILL_COUNT_FOR_DROP_KEYs then
					    pc.give_item2(50084, 1)
					    d.notice(pc.get_name().." Podniósł Kamień Otwarcia!")
					    d.setf("counts", 0)
			    end
	    end
	    when 20353.take with item.vnum == 50084 and d.getf("levels") == 5 begin
			    npc.purge()
			    item.remove()
			    d.setf("stone_counts", d.getf("stone_counts") - 1)
			    if d.getf("stone_counts") <= 0 then
					    d.setf("levels", 6)
					    d.clear_regen()
					    d.regen_file("data/dungeon/wygnancy6.txt")
					    d.notice("Brawo, udało się! Jesteście na 6 piętrze!")
					    d.notice("Zabijcie wszystkie potwory!")
					    d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
					    timer("mob",6)
					    clear_server_timer('devil_stone5_fail1s', get_server_timer_arg())
					    clear_server_timer('devil_stone5_fail2s', get_server_timer_arg())
					    clear_server_timer('devil_stone5_fail3s', get_server_timer_arg())
					    clear_server_timer('devil_stone5_fails', get_server_timer_arg())
			    else
													    d.notice("Do otwarcia pozostały "..d.getf("stone_counts").." pieczęcie.")
			    end
	    end

	    when mob.timer begin
					    d.spawn_mob(1304, 425, 216);
	    end
	    when 1306.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
			    d.kill_all()
			    d.check_eliminated()
			    local reward_alchemists = {20074, 20075, 20076}
			    d.spawn_mob(reward_alchemists[number(1,3)], 425, 216);
			    d.setqf("can_refine", 2)
	    end

	    --------------------------------------
	    -- ĄŃ¶i¤J7ĽÓ¦Ü¨ěąF8ĽÓ¤§«e
	    --------------------------------------
	    when 20074.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
					    say_title(""..mob_name(20074).."")
					    say("Możesz przejsć na 7 piętro Wieży Wygnańców?")
					    say("Lecz uważaj..")
					    say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
					    wait()
					    if pc.level >=110 then
									    say_title(""..mob_name(20074).."")
									    say("Posiadasz odpowiedni level.")
									    say("Zostaniesz przeniesiony na 7 piętro.")
									    timer("devil_jump_7s", 6)
									    return
					    end
					    say_title(""..mob_name(20074).."")
					    say("Wybacz.. nie posiadasz 110 poziomu")
					    say("Nie mogę Cię przenieść na kolejne piętro.")
					    wait()
					    pc.warp(590500, 110500)
					    return
   end
	    when 20075.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
					    say_title(""..mob_name(20074).."")
					    say("Możesz przejsć na 7 piętro Wieży Wygnańców.")
					    say("Lecz uważaj..")
					    say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
					    wait()
					    if pc.level >=110 then
									    say_title(""..mob_name(20074).."")
									    say("Posiadasz odpowiedni level.")
									    say("Zostaniesz przeniesiony na 7 piętro.")
									    timer("devil_jump_7s", 6)
									    return
					    end
					    say_title(""..mob_name(20074).."")
					    say("Wybacz.. nie posiadasz 110 poziomu")
					    say("Nie mogę Cię przenieść na kolejne piętro.")
					    wait()
					    pc.warp(590500, 110500)
					    return
   end
	    when 20076.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
					    say_title(""..mob_name(20074).."")
					    say("Możesz przejsć na 7 piętro Wieży Wygnańców.")
					    say("Lecz uważaj..")
					    say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
					    wait()
					    if pc.level >=110 then
									    say_title(""..mob_name(20074).."")
									    say("Posiadasz odpowiedni level.")
									    say("Zostaniesz przeniesiony na 7 piętro.")
									    timer("devil_jump_7s", 6)
									    return
					    end
					    say_title(""..mob_name(20074).."")
					    say("Wybacz.. nie posiadasz 110 poziomu")
					    say("Nie mogę Cię przenieść na kolejne piętro.")
					    wait()
					    pc.warp(590500, 110500)
					    return
   end
  when devil_jump_7s.timer begin
					    d.clear_regen()
					    d.spawn_mob(1095, 617, 676)
					    d.setf("levels", 7)
					    d.regen_file("data/dungeon/wygnancy7.txt")
					    d.jump_all(2048+590, 6656+638)
	    end
	    ---------------------------------------------
	    -- Niebieska Śmierć
	    ---------------------------------------------
	    when 1095.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
					    timer("devil_jump_8S", 30)
					    d.clear_regen()
					    d.notice("Pokonaliście Niebieską Śmierć!")
					    d.notice("Zostaniecie przeniesieni na piętro smoka!")
	    end

	    ---------------------------------------------
	    -- Niebiański Smok
	    ---------------------------------------------
	    when devil_jump_8S.timer begin
					    d.setf("levels", 8)
					    d.jump_all(2048+590, 6656+155)
					    d.spawn_mob(2493,630,195)
	    end
	    when 2493.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
					    d.kill_all()
					    local m_sex = pc.get_sex()
															    if m_sex == 0 then
					    notice_all(pc.get_name().." zabił Niebiańskiego Smoka!")
									    else
					    notice_all(pc.get_name().." zabiła Niebiańskiego Smoka!")
													    end
					    timer("devil_end_jumps", 60)
	    end
	    when devil_end_jumps.timer begin
			    d.exit_all()
	    end
end
state __GOOD__ begin
end
end

Daj +++ jak pomogłem to nie boli ;)

 

 

photo-508875.jpg?_r=1346228684?_r=367a215599c3af8cfbe4b54722a4b1a3

Opublikowano

 

quest skill_group begin
state start begin
 when login with pc.level>=5 and pc.skillgroup ==0 begin
  set_state(run)
 end
 when levelup with pc.level>=5 and pc.skillgroup == 0 begin
  set_state(run)
 end
end
state run begin
 when login with pc.get_skill_group()!=0 begin
  restart_quest()
 end
 when letter with pc.get_skill_group()==0 begin
  send_letter("Trening Umiejętności ")
  local job=pc.get_job()
  if job==0 then
local v=pc_find_skill_teacher_vid(1)
if 0!=v then target.vid("teacher1", v, "Body") end
local v=pc_find_skill_teacher_vid(2)
if 0!=v then target.vid("teacher2", v, "Mental") end
  elseif job==1 then
local v=pc_find_skill_teacher_vid(1)
if 0!=v then target.vid("teacher3", v, "Zabójca ") end
local v=pc_find_skill_teacher_vid(2)
if 0!=v then target.vid("teacher4", v, "Łucznik") end
  elseif job==2 then
local v=pc_find_skill_teacher_vid(1)
if 0!=v then target.vid("teacher5", v, "WP") end
local v=pc_find_skill_teacher_vid(2)
if 0!=v then target.vid("teacher6", v, "BM") end
  elseif job==3 then
local v=pc_find_skill_teacher_vid(1)
if 0!=v then target.vid("teacher7", v, "Smok") end
local v=pc_find_skill_teacher_vid(2)
if 0!=v then target.vid("teacher8", v, "Błysk") end
  end
 end
 when leave begin
  target.delete("teacher1")
  target.delete("teacher2")
  target.delete("teacher3")
  target.delete("teacher4")
  target.delete("teacher5")
  target.delete("teacher6")
  target.delete("teacher7")
  target.delete("teacher8")
 end
 when button or info begin
  say(locale.skill_group.lets_join_skill_group[pc.job+1])
  setleftimage("")
  setmapcenterposition(-200, 0)
  select(locale.confirm)
  setskin(NOWINDOW)
 end
function join(job, group, title, text, error_msg)
 local pc_job=pc.get_job()
 if pc_job!=job then
   say(error_msg)
   if pc_job==0 then
 say_reward("error")
 say_reward("er")
elseif pc_job==1 then
 say_reward("error1")
 say_reward("er1")
   elseif pc_job==2 then
 say_reward("error2")
 say_reward("er2")
   elseif pc_job==3 then
 say_reward("error3")
 say_reward("er3")
  end
  say("")
 else
  say_title(title)
  say(text)
  local s=select("Rozpocznij", "Póżniej")
  if 1==s then
  if pc.get_job()==job and pc.get_skill_group()==0 then
   set_state("start")
   pc.set_skill_group(group)
pc.clear_skill()
char_log(0, "CLEAR_SKILL", "Clear Skill By Skill Teacher")
   makequestbutton("Trening Zakończony!")
   return true
  else
   test_chat("npc_is_same_job:"..bool_to_str(npc_is_same_job()))
   test_chat("pc.get_skill_group:"..pc.get_skill_group())
   test_chat("pc_job:"..pc.get_job())
  end
  end
 end
 return false
end
-- ???
when teacher1.target.click or
 skill_group1_1.chat."Trening Umiejętności " or
 skill_group2_1.chat."Trening Umiejętności " or
 skill_group3_1.chat."Trening Umiejętności "
 begin
 target.delete("teacher1")
 if skill_group.join(0, 1, "Trener Mocy Ciała:",
  "Nauka walki w ręcz skupia się na szybkich[ENTER]pojedynkach, uczy metod walk indywidualnych[ENTER]z naciskiem na ulepszenie i wzmocnienie ataków.[ENTER]Wymagania: Wojownik na poziomie 5 lub wyższym.") then
  say_title("Wybrałeś Trening Mocy Ciała.")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przeznazyćje na dowolne Umiejętności.")

  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punkty Umiejętności.")
  else
say("errortitlearahan")
say("errortitlearahan2")
say("")
  end
  clear_letter()
 end
end
when teacher2.target.click or
 skill_group1_2.chat."Trening Umiejętności " or
 skill_group2_2.chat."Trening Umiejętności " or
 skill_group3_2.chat."Trening Umiejętności "
 begin
 target.delete("teacher2")
 if skill_group.join(0, 2, "Trener Mocy Duchowej:",
  "Trening Mocy Duchowej pokazuje jak przekształcić[ENTER]siłę wroga na kontakt przy pomocy Chi oraz[ENTER]obronę przed atakami.[ENTER]Wymagania: Wojownik na poziomie 5 lub wyższym.") then
  say_title("Wybrałeś Trening Mocy Duchowej.")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przeznazyćje na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punkty Umiejętności.")
  else
say("errortitlemen")
say("errortitlemen2")
say("")
  end

  clear_letter()
 end
end
-- ???
when teacher3.target.click or
 skill_group1_3.chat."Trening Umiejętności " or
 skill_group2_3.chat."Trening Umiejętności " or
 skill_group3_3.chat."Trening Umiejętności  "
 begin
 target.delete("teacher3")
 if skill_group.join(1, 1, "Trener Mocy Ostrza:",
  "Trening Mocy Ostrza uczy jak pokonać przeciwnika[ENTER]w szybki i zabójczy sposób. Trening opiera się[ENTER]na poznaniu najsłabszych punktów wroga.[ENTER]Wymagania: Ninja na poziomie 5 lub wyższym.") then
  say_title("Wybrałeś Trening Mocy Ostrza.")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przyznać je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punkty Umiejętności.")
  else
say("errortitleszty")
say("errortitleszty2")
say("")
  end
  clear_letter()
 end
end
-- ???
when teacher4.target.click or
 skill_group1_4.chat."Trening Umiejętności " or
 skill_group2_4.chat."Trening Umiejętności " or
 skill_group3_4.chat."Trening Umiejętności "
 begin
 target.delete("teacher4")
 if skill_group.join(1, 2, "Trener Mocy Łuku:",
  "Trening Mocy Łuku uczy posługiwania się bronią[ENTER]dystansową albo móc walczyć z odpowiednią[ENTER]precyzją nawet z dużej odległości.[ENTER]Wymagania: Ninja na poziomie 5 lub wyższym.") then
  say_title("Wybrałeś Trening Mocy Łuku")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przyznać je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punkty Umiejętności.")
  else
say("errortitleluk")
say("errortitleluk2")
say("")
  end
  clear_letter()
 end
end
-- ???
when teacher5.target.click or
 skill_group1_5.chat."Trening Umiejętności " or
 skill_group2_5.chat."Trening Umiejętności " or
 skill_group3_5.chat."Trening Umiejętności "
 begin
 target.delete("teacher5")
 if skill_group.join(2, 1,
  "Trener Broni:",
  "Podążając drogą Treningu Broni nauczysz się[ENTER]potężnych ataków przeciwko osłabionym[ENTER]przeciwnikom. Ponadto,będziesz mógł[ENTER]kontrolować Zaczarowane Ostrze.[ENTER]Wymagane: Sura poziom 5 lub wyższy.") then
  say_title("Wybrałeś trening Broni.")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymujesz 4 Punkty Umiejętności.[ENTER]Możesz przeznaczyć je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punktów Umiejętności.")

  else
say("errortitlewp")
say("errortitlewp2")
say("")
  end
  clear_letter()
 end
end
-- ???
when teacher6.target.click or
 skill_group1_6.chat."Trening Umiejętności " or
 skill_group2_6.chat."Trening Umiejętności " or
 skill_group3_6.chat."Trening Umiejętności "
 begin
 target.delete("teacher6")
 if skill_group.join(2, 2,
  "Trener Czarnej Magii:",
  "Trenując Czarną Magię nauczysz się osłabiać[ENTER]przeciwników za pomocą Czarnej Magii i walczyć[ENTER]z dystansu.[ENTER]Wymagane: Sura poziom 5 lub wyższy.") then
  say_title("Wybrałeś trening Czarnej Magii.")
  say("Witaj![ENTER]W związku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymujesz 4 Punkty Umiejętności.[ENTER]Możesz przeznaczyć je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punktów Umiejętności.")
  else
say("errortitlebm")
say("errortitlebm2")
say("")
  end
  clear_letter()
 end
end
-- ???
when teacher7.target.click or
 skill_group1_7.chat."Trening Umiejętności " or
 skill_group2_7.chat."Trening Umiejętności " or
 skill_group3_7.chat."Trening Umiejętności "
 begin
 target.delete("teacher7")
 if skill_group.join(3, 1,
  "Trener Smoka:",
  "Trening Boga Smoka pozwala na wykorzystywanie[ENTER]potężnych ataków ognistych wspieranych przez[ENTER]Smoczego Boga,pozwala również na wzmocnienie[ENTER]magiczne swojej drużyny specjalnymi zaklęciami.[ENTER]Wymagania: Szaman poziom 5 lub wyższy.") then
  say_title("Wybrałeś trening Smoka.")
  say("Witaj![ENTER]W zwiazku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przeznaczyć je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punktów Umiejętności.")
  else
say("errortitlesmok")
say("errortitlesmok2")
say("")
  end
  clear_letter()
 end
end
-- ???
when teacher8.target.click or
 skill_group1_8.chat."Trening Umiejętności" or
 skill_group2_8.chat."Trening Umiejętności " or
 skill_group3_8.chat."Trening Umiejętności "
 begin
 target.delete("teacher8")
 if skill_group.join(3, 2,
  "Trener Leczenia:",
  "Dzięki treningowi Leczenia nauczysz sie jak[ENTER]ogłuszyć przeciwników mocą błyskawicy. Uczysz[ENTER]się również jak leczyć członków grupy i dodawać[ENTER]im dodatkową siłę.[ENTER]Wymagania: Szaman poziom 5 lub wyższy.") then
  say_title("Wybrałeś Trening Leczenia.")
  say("Witaj![ENTER]W zwiazku z twoją decyzją o rozpoczęciu nauki,[ENTER]otrzymasz 4 Punkty Umiejętności.[ENTER]Możesz przeznaczyć je na dowolne Umiejętności.")
  if not pc.is_clear_skill_group() then
local point = pc.level -1
say_title("Informacja:")
say_reward("Otrzymałeś "..point.." Punktów Umiejętności.")
say("")
  else
say("errormessagelecz")
say("errormessagelecz2")
say("")
  end
  clear_letter()
 end
end
end
end

 

 

To jest skill_group, może mi ktoś go "poprawić", aby od razu po odebraniu skilli u Instruktora mocy, on od razu dawałby nam je na G1.

 

-.-

Opublikowano

Elo da rade ktoś poprawić tego questa bo nie teleportuje do wierzy jak daję wejdź ;/ ???

 

 

 

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("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

		when login begin
						if pc.get_map_index() == 65 then
										if pc.getqf("priv_dt") > 0 then
														pc.setqf("priv_dt", 0)
										end
						end
				if pc.get_map_index() == 66 then
						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."Wejdź do Wieży Wygnańców" with party.is_leader() begin
						say_title("Strażnik Wieży Wygnańców:")
						if party.get_near_count() < 5 then
										say("Wybacz, musisz mieć ze sobą 5 osób w grupie.")
										party.chat("Wasza grupa posiada zbyt mało członków.")
										return
						end
				if pc.get_level() < 110 then
						say("Wybacz, mogę wpuszczać tylko soby od 110 poziomu.")
						party.chat("Lider grupy nie posiada 110 poziomu.")
				else
						say("Spełniasz wszystkie warunki..")
						say("Czy aby na pewno chcesz wejść do Wieży?")
						say("Czeka tam na Ciebie i Twoich znajomych ogromne")
						say("niebezpieczeństwo.. Jesteś tego pewien?")
						local s = select("Wejdź!","Nie wchodzę..")

						if s == 1 then
										pc.setqf("priv_dt", 1)
								-- join into map!
								d.join(66)
						end
				end
		end

		when login with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
										--local i = nie ważne..
										--chat("i: "..i) -- for test
										if party.is_leader() == true and pc.getqf("priv_dt") > 0 then
														pc.setqf("priv_dt", 0)
														d.regen_file("data/dungeon/wygnancy.txt")
														d.notice("Witajcie, w Wieży Wygnańców!")
														d.notice("Zniszczie Metin Morderstwa, by przedostać się dalej.")
														d.spawn_mob(8024, 195, 690)
										end
		end


		when 8024.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
				timer("wieza", 6)
						chat(special.devil_tower[1][1].." "..special.devil_tower[1][2])
		end
		when wieza.timer begin
				d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
				d.regen_file("data/dungeon/wygnancy2.txt")
				d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/wygnancy3.txt")
		end
		when 1903.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
				d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/wygnancy4.txt")
				d.check_eliminated()
						d.notice("Elit. Dziewięć Ogonów został pokonany!")
		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
				return positions
		end
		when 8025.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
				d.setf("levels", 4)
				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(8026, positions[i][1], positions[i][2]))
				end
				chat(positions[7][1], positions[7][2])
				local vid = d.spawn_mob(8026, positions[7][1], positions[7][2])
				chat(vid)
				d.set_unique("real", vid)
				server_loop_timer('devil_stone4_updates', 10, pc.get_map_index())
				server_timer('devil_stone4_fail1s', 5*60, pc.get_map_index())
				d.notice("Brawo, udało się Tobie zniszczyć Metin Ma-An.");
				d.notice("Musicie teraz znaleźć prawdziwy Kamień Metin,");
				d.notice("by dostać się na kolejne piętro.");
				d.notice("Macie na to 5 minut zanim zostaniecie wylogowani !");
				d.notice("Śpieszcie się!");
		end
		when devil_stone4_fail1s.server_timer begin
				if d.select(get_server_timer_arg()) then
						d.notice("Pozostało 10 minut!")
						server_timer('devil_stone4_fail2s', 5*60, get_server_timer_arg())
				end
		end
		when devil_stone4_fail2s.server_timer begin
				if d.select(get_server_timer_arg()) then
						d.notice("Pozostało 5 minut!")
						server_timer('devil_stone4_fails', 5*60, get_server_timer_arg())
				end
		end
		when devil_stone4_fails.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_updates', get_server_timer_arg())
				end
		end
		when devil_stone4_updates.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 kamień!");
												end
										end
								end
						else
								server_timer("devil_stone4_ends", 5, get_server_timer_arg())
								d.notice("Udało się wam zniszczyć prawdziwy Kamień Metin!");
								d.notice("Zostaniecie przeniesieni na kolejne piętro.")
								clear_server_timer('devil_stone4_fail1s', get_server_timer_arg())
								clear_server_timer('devil_stone4_fail2s', get_server_timer_arg())
								clear_server_timer('devil_stone4_fails', get_server_timer_arg())
						end
				else
						server_timer('devil_stone4_stop_timers', 1, get_server_timer_arg())
				end
		end
		when devil_stone4_stop_timers.server_timer begin
				clear_server_timer('devil_stone4_updates', get_server_timer_arg())
		end
		when devil_stone4_ends.server_timer begin
				if d.select(get_server_timer_arg()) then
						d.setf("levels", 5)
						d.setf("stone_counts", 5)
						d.notice("Świetnie.. Przechodzicie na 5 piętro!")
						d.notice("Aby przejść na kolejne musicie zabić wszystkie potwory.")
						d.notice("Poczym podnieść Kamień Otwarcia i otworzyć,")
						d.notice("wszystkie pięć pieczęci przed czasem!")
						d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
						server_timer('devil_stone5_fail1s', 5*60, get_server_timer_arg())
						clear_server_timer('devil_stone4_updates', get_server_timer_arg())
						-- 5ĽÓÄ~Äň¦A˛{
						d.set_regen_file("data/dungeon/wygnancy5.txt")
						-- 5ĽÓ«Ę¦LĄŰ¦A˛{
						d.spawn_mob(20353, 421, 452)
						d.spawn_mob(20353, 380, 460)
						d.spawn_mob(20353, 428, 414)
						d.spawn_mob(20353, 398, 392)
						d.spawn_mob(20353, 359, 426)
				end
		end
		when devil_stone5_fail1s.server_timer begin
				if d.select(get_server_timer_arg()) then
						d.notice("Do Końca pozostało 15 minut.")
						server_timer('devil_stone5_fail2s', 5*60, get_server_timer_arg())
				end
		end
		when devil_stone5_fail2s.server_timer begin
				if d.select(get_server_timer_arg()) then
						d.notice("Do Końca pozostało 10 minut.")
						server_timer('devil_stone5_fail3s', 5*60, get_server_timer_arg())
				end
		end
		when devil_stone5_fail3s.server_timer begin
				if d.select(get_server_timer_arg()) then
						d.notice("Do Końca pozostało 5 minut.")
						server_timer('devil_stone5_fails', 5*60, get_server_timer_arg())
				end
		end
		when devil_stone5_fails.server_timer begin
				if d.select(get_server_timer_arg()) then
						d.notice("Niestety... Nie udało się! Zostaniecie wylogowani.")
						d.exit_all()
				end
		end
		when 2412.kill with pc.in_dungeon() and d.getf("levels") == 5 begin
				local KILL_COUNT_FOR_DROP_KEYs = 50
				local n =d.getf("counts") + 1
				d.setf("counts", n)
				if n == KILL_COUNT_FOR_DROP_KEYs then
						pc.give_item2(50084, 1)
						d.notice(pc.get_name().." Podniósł Kamień Otwarcia!")
						d.setf("counts", 0)
				end
		end
		when 20353.take with item.vnum == 50084 and d.getf("levels") == 5 begin
				npc.purge()
				item.remove()
				d.setf("stone_counts", d.getf("stone_counts") - 1)
				if d.getf("stone_counts") <= 0 then
						d.setf("levels", 6)
						d.clear_regen()
						d.regen_file("data/dungeon/wygnancy6.txt")
						d.notice("Brawo, udało się! Jesteście na 6 piętrze!")
						d.notice("Zabijcie wszystkie potwory!")
						d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
						timer("mob",6)
						clear_server_timer('devil_stone5_fail1s', get_server_timer_arg())
						clear_server_timer('devil_stone5_fail2s', get_server_timer_arg())
						clear_server_timer('devil_stone5_fail3s', get_server_timer_arg())
						clear_server_timer('devil_stone5_fails', get_server_timer_arg())
				else
														d.notice("Do otwarcia pozostały "..d.getf("stone_counts").." pieczęcie.")
				end
		end

		when mob.timer begin
						d.spawn_mob(1304, 425, 216);
		end
		when 1306.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
				d.kill_all()
				d.check_eliminated()
				local reward_alchemists = {20074, 20075, 20076}
				d.spawn_mob(reward_alchemists[number(1,3)], 425, 216);
				d.setqf("can_refine", 2)
		end

		--------------------------------------
		-- ĄŃ¶i¤J7ĽÓ¦Ü¨ěąF8ĽÓ¤§«e
		--------------------------------------
		when 20074.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
						say_title(""..mob_name(20074).."")
						say("Możesz przejsć na 7 piętro Wieży Wygnańców?")
						say("Lecz uważaj..")
						say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
						wait()
						if pc.level >=110 then
										say_title(""..mob_name(20074).."")
										say("Posiadasz odpowiedni level.")
										say("Zostaniesz przeniesiony na 7 piętro.")
										timer("devil_jump_7s", 6)
										return
						end
						say_title(""..mob_name(20074).."")
						say("Wybacz.. nie posiadasz 110 poziomu")
						say("Nie mogę Cię przenieść na kolejne piętro.")
						wait()
						pc.warp(590500, 110500)
						return
end
		when 20075.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
						say_title(""..mob_name(20074).."")
						say("Możesz przejsć na 7 piętro Wieży Wygnańców.")
						say("Lecz uważaj..")
						say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
						wait()
						if pc.level >=110 then
										say_title(""..mob_name(20074).."")
										say("Posiadasz odpowiedni level.")
										say("Zostaniesz przeniesiony na 7 piętro.")
										timer("devil_jump_7s", 6)
										return
						end
						say_title(""..mob_name(20074).."")
						say("Wybacz.. nie posiadasz 110 poziomu")
						say("Nie mogę Cię przenieść na kolejne piętro.")
						wait()
						pc.warp(590500, 110500)
						return
end
		when 20076.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
						say_title(""..mob_name(20074).."")
						say("Możesz przejsć na 7 piętro Wieży Wygnańców.")
						say("Lecz uważaj..")
						say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
						wait()
						if pc.level >=110 then
										say_title(""..mob_name(20074).."")
										say("Posiadasz odpowiedni level.")
										say("Zostaniesz przeniesiony na 7 piętro.")
										timer("devil_jump_7s", 6)
										return
						end
						say_title(""..mob_name(20074).."")
						say("Wybacz.. nie posiadasz 110 poziomu")
						say("Nie mogę Cię przenieść na kolejne piętro.")
						wait()
						pc.warp(590500, 110500)
						return
end
  when devil_jump_7s.timer begin
						d.clear_regen()
						d.spawn_mob(1095, 617, 676)
						d.setf("levels", 7)
						d.regen_file("data/dungeon/wygnancy7.txt")
						d.jump_all(2048+590, 6656+638)
		end
		---------------------------------------------
		-- Niebieska Śmierć
		---------------------------------------------
		when 1095.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
						timer("devil_jump_8S", 30)
						d.clear_regen()
						d.notice("Pokonaliście Niebieską Śmierć!")
						d.notice("Zostaniecie przeniesieni na piętro smoka!")
		end

		---------------------------------------------
		-- Niebiański Smok
		---------------------------------------------
		when devil_jump_8S.timer begin
						d.setf("levels", 8)
						d.jump_all(2048+590, 6656+155)
						d.spawn_mob(2493,630,195)
		end
		when 2493.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
						d.kill_all()
						local m_sex = pc.get_sex()
																if m_sex == 0 then
						notice_all(pc.get_name().." zabił Niebiańskiego Smoka!")
										else
						notice_all(pc.get_name().." zabiła Niebiańskiego Smoka!")
														end
						timer("devil_end_jumps", 60)
		end
		when devil_end_jumps.timer begin
				d.exit_all()
		end
end
state __GOOD__ begin
end
end

 

 

Kurwa, mam Cie uczyć jak spoilery robić?

A to czy tyleportuje wierzy czy nie wierzy to jego sprawa, podejrzewam że chodzi o to że do wieży nie teleportuje...

 

Spróbuj wgrać tego questa:

 

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', 10*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", 4)
 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', 15*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', 10*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") + 2
 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("Pozostało"..d.getf("stone_count").."pieczęci")
 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

 

Opublikowano

błąd przy dodoawaniu ;/ questa

 

 

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;

positions = positions[j];

positions[j] = t;

end

end

--for i = 1, 7 do

-- positions[1] = positions[1] * 100

-- positions[2] = positions[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[1], positions[2])

d.set_unique("fake" .. i , d.spawn_mob(8017, positions[1], positions[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', 10*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", 4)

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', 15*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', 10*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") + 2

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("Pozostało"..d.getf("stone_count").."pieczęci")

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

 

 

 

 

 

Błąd przy dodawaniu questa gdzies nadole ;/

 

 

 

http://imageshack.us/photo/my-images/9/beztytuuluom.png/

Daj +++ jak pomogłem to nie boli ;)

 

 

photo-508875.jpg?_r=1346228684?_r=367a215599c3af8cfbe4b54722a4b1a3

Opublikowano

Pytanie jaka funkcja odpowiada za sprawdzanie czy w EQ jest kasa jak nie ma to nie sprzeda bo pisze questa i tylko tego mi brakuje ;P

 

PS. Jak można jeszcze komende na sprawdzanie Levela przed teleportem w pierścieniu

393.jpg

Opublikowano

@Cięcina

zamień:

ssay("Kazdy z graczy zostanie przeniesiony!")

na

say("Kazdy z graczy zostanie przeniesiony!")

KONIEC


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


2013-08-15

Opublikowano

Pytanie jaka funkcja odpowiada za sprawdzanie czy w EQ jest kasa jak nie ma to nie sprzeda bo pisze questa i tylko tego mi brakuje ;P

 

PS. Jak można jeszcze komende na sprawdzanie Levela przed teleportem w pierścieniu

 

Fighterek, jak tam Miris? :D

 

Pytasz o podstawowe funkcje, człowieku...

pc.get_level()

pc.get_money()

Opublikowano

 

 

Kurwa, mam Cie uczyć jak spoilery robić?

A to czy tyleportuje wierzy czy nie wierzy to jego sprawa, podejrzewam że chodzi o to że do wieży nie teleportuje...

 

Spróbuj wgrać tego questa:

 

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', 10*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", 4)
 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', 15*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', 10*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") + 2
 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("Pozostało"..d.getf("stone_count").."pieczęci")
 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

 

 

 

 

 

yyyy tak przypatrzyłem się temu ale czy ten quest to jest DT ????

 

 

Bo ja chciałem questa od wierzy wygnanców działającego

Daj +++ jak pomogłem to nie boli ;)

 

 

photo-508875.jpg?_r=1346228684?_r=367a215599c3af8cfbe4b54722a4b1a3

Opublikowano

Siema, moze ktos mi powiedziec dlaczego nie dziala mi funkcja npc.open_shop() ??

moj quest


quest shop begin
state start begin
when 70101.use begin
npc.open_shop(4)
end
end
end

 

Wszystko jest dobrze, może nie masz takiego numeru sklepu?

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...