Skocz do zawartości
  • 👋 Witaj na MPCForum!

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

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

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

    Zarejestruj się teraz

Problem z questami biologa


Rekomendowane odpowiedzi

Opublikowano

Witam, mam problem na swoim hamachi z biologiem

Serwer na plikach terenzo.

Mianowicie, wgrany był biolog który miał błędy np. nie mowil czy przedmiot zostal oddany pomyslnie czy nie.

Nie dzialal także eliksir poszukiwacza.

Usunęliśmy wszystkie questy biologa i dodalismy nowe tylko na 30 i 40 lv

Obydwa błędy zostały naprawione ale pojawił się kolejny problem.

Po wbiciu 30 lv wszystko dziala jak należy. Ale gdy wbije się 40 lv a biolog na 30 lv nie jest ukonczony to aktywują się obydwa questy biologa na 30 i 40 lv przez co buguje się eliksir poszukiwacza i biologa da radę robić tylko od tyłu tzn. najpierw quest na 40 lv.

 

Przydała by się pomoc :P

 

tak wygląda quest na 30 lv

 

 

quest collect_quest_lv30  begin

state start begin
when login or levelup with pc.level >= 30 and pc.level <= 30 begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then
target.vid("__TARGET__", v, "Analiza Biologa")
end
send_letter("Analiza Biologa")
end
when button or info begin
say_title("Analiza Biologa")
say("")
say("Biolog Chaegirab, uczeñ Uriela,")
say("w³aœnie Cie szuka³. Proszê idz")
say("do niego i zaoferuj mu swoj¹ pomoc.")
say("")
end
when __TARGET__.target.click or
20084.chat."Znajdz Biologa" begin
target.delete("__TARGET__")
say("Biolog Chaegirab:")
say("Niebiosa, proszê pomó¿ mi... ")
say("Badam wszystkie rodzaje roœlin w tym ")
say("imperium. Jest bardzo du¿o rzeczy, ")
say("które musz¹ zostaæ zbadane. Nie mam ")
say("czasu abym móg³ sam wybraæ siê na wyprawe. ")
say("Proszê,pomó¿ mi. ")
wait()
say("Biolog Chaegirab:")  
say("Aktualnie badam Zêby Orka.")
say("Muszê przeprowadziæ kilka eksperymentów,")
say("dlatego potrzebujê kilku egzemplarzy.")
say("Czy móg³byœ przynieœæ mi dziesiêæ Zêbów Orka?")
say("Proszê, pomó¿ mi! Zawsze przynoœ mi po jednym,")
say("abym mia³ czas na ich dokladne przebadanie!")
say("")    
set_state(go_to_disciple)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
end
end
 
state go_to_disciple begin
when letter begin
send_letter("Zadanie Specjalne")
 
end
when button or info begin
say_title("Znajdz Zeby Orka")
---                                                   l
say("")
say("Biolog Chaegirab, uczeñ Uriela,")
say("szuka Zêbów Orka.")
say("Zawsze przynoœ mu po jednym, aby mia³ czas")
say("na ich dokladne przebadanie.")
say("Zêbów szukaj u Czarnych Orków.")
say("")
say_item_vnum(30006) 
say_reward("Do tej pory dostarczy³eœ ".." "..pc.getqf("collect_count").." Zêbów Orka.")
say("")
end
 
when 71035.use begin --°g´bÃĤô
if get_time() < pc.getqf("duration") then
say("")
say("ÁÙ¤£¥i¥H¨Ï¥Î°g´bÃĤô")
say("")
return
end
if pc.getqf("drink_drug")==1 then
say("")
say("¤w¸g¨Ï¥Î¤F1¦¸")
say("")
 
return
end
if pc.count_item(30006)==0 then
say("Biolog Chaegirab:")
say("Co? Nie przyniosles mi zadnych")
say("zebow orka?...")
say("")
return
end
item.remove()
pc.setqf("drink_drug",1)
end
 
 
 
 
when 20084.chat."Zêby Orka" with pc.count_item(30006) >0 begin
local roznica = pc.getqf("duration") - get_time()
local minuty = roznica/60
local minuty2 = math.floor(minuty)
if get_time() > pc.getqf("duration") then
say("Biolog Chaegirab:")
say("Oh!! Znalaz³eœ!")
say("Pozwól,ze rzuce okiem...")
say("Jeszcze chwilke.")
say("")
pc.remove_item("30006", 1)
pc.setqf("duration",get_time()+60*60*1)
wait()
local pass_percent
if pc.getqf("drink_drug")==0 then
pass_percent=60
else
pass_percent=90
end
 
local s= number(1,100)
if s<= pass_percent  then
if pc.getqf("collect_count")< 9 then     --10­Ó¥H¤U 
local index =pc.getqf("collect_count")+1 
pc.setqf("collect_count",index)     --¨ú±o¤@­Ó?É +1 
say("Biolog Chaegirab:")
say("Oh!! Ten Z¹b Orka jest doskona³ej jakoœci!")
say("Przynieœ mi jeszcze ".." "..10-pc.getqf("collect_count").. " Zêbów Orka.")
say("Prosze, sprobuj je znalezæ!")
say("")
pc.setqf("drink_drug",0) --ÃĤôªìˆl¤Æ
return
end
say("Biolog Chaegirab:")  
say("Oh,zebraleœ juz wszystkie!")
say("Dobra robota...")
say("Ale poczekaj!")
say("Aby zakonczyc swoj¹ pracê, potrzebuje")
say("abyœ przynius³ dla mnie jeszcze jeden przedmiot.")
say("Zrób to dla mnie...")
say("")
say_item("Kamieñ Duszy Jinunggyi", 30220, "")
 
say_reward("Zabijaj Elit. Ork General")
say_reward("Czarny Ork") 
say_reward("Czarny Ork Zwiadowca") 
 
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
pc.setqf("duration",0) 
set_state(key_item)
return
else
say("Biolog Chaegirab:")
say("Ten Z¹b Orka jest z³ej jakoœci!")
say("Sprobuj przynieϾ mi inny!")
say("Proszê, pomó¿ mi!")
pc.setqf("drink_drug",0) --ÃĤôªìˆl¤Æ
return
end
else
say("Biolog Chaegirab:")
say("Jeszcze nie skoñczy³em badaæ ostatniego Zêba Orka !")
say("Wróc do mnie za: "..minuty2.." minut!")
say("")
return
end
 
end
end
 
 
state key_item begin
when letter begin
send_letter("Zadanie Specjalne!")
 
if pc.count_item(30220)>0 then
local v = find_npc_by_vnum(20084)
if v != 0 then
target.vid("__TARGET__", v, "Analiza Biologa")
end
end
 
end
when button or info begin
if pc.count_item(30220) >0 then
say_title("Znalaz³eœ Kamieñ Duszy!")
say("")
---                                                   l
say("Wróæ do Biologa, aby")
say("odnieœæ mu kamieñ!")
say("")
return
end
say_title("Kamien Duszy")
say("")
---                                                   l
say("Zebra³eœ ju¿ wszystkie dziesiêæ Zêbów Orka!")
say("Teraz, Biolog potrzebuje ostatni")
say("przedmiot, aby zakonczyc swoje badania!")
say_item_vnum(30220)
say("Mo¿esz go znalezæ zabijaj¹æ potwory")
say("w Dolinie Seungryong!")
say("")
end
 
 
 
when 635.kill or
636.kill or 
637.kill  begin
local s = number(1, 50)
if s == 1 and pc.count_item(30220)==0 then
pc.give_item2(30220, 1)
send_letter("Wróc do Biologa!")
end
end
 
when __TARGET__.target.click  or
20084.chat."Znalaz³em Kamien Duszy" with pc.count_item(30220) > 0  begin
target.delete("__TARGET__")
say("Biolog Chaegirab:")
say("Oh, Znalaz³eœ!")
say("Bardzo Tobie dziêkuje!")
say("W zamian otrzymasz nagrode!")
say("Idz do mojego mistrza Baek-Go")
say("On za pomoc mi podaruje Ci cenna nagrode.")
say("")
say_reward("Mo¿esz teraz iœæ do Baek-Go po nagrodê!")
say("")
pc.remove_item(30220,1)
set_state(__reward)
end
 
end
 
state __reward begin
when letter begin
send_letter("Analiza Biologa - Nagroda")
 
local v = find_npc_by_vnum(20018)
if v != 0 then
target.vid("__TARGET__", v, "Baek-Go")
end
 
end
when button or info begin
say_title("Odbierz nagrode!")
---                                                   l
say("Biolog Chaegirab wysyla Cie")
say("po nagrodê do Baek-Go!")
say("")
end
 
when __TARGET__.target.click  or
20018.chat."Nagroda"  begin
target.delete("__TARGET__")
say("Baek-Go:")
say("Hmm, a wiêc Biolog")
say("wys³a³ Cie po nagrodê?")
say("Zobaczmy, co tam masz...")
say("")
say_reward("Otrzymano 5.000.000 yang i Punkty Doœwiadczenia")
say_reward("Otrzymujesz +15 szybkosci poruszania sie")
say_reward("na zawsze!")
 
affect.add_collect(apply.MOV_SPEED, 15, 60*60*24*365*60) --60¦~
 
if pc.job==0 then
pc.give_item2(11247, 1)
say_reward("Otrzymano Œmiert. Zbroja Plytowa +7")        
end
if pc.job==1 then
pc.give_item2(11449, 1)
say_reward("Ubranie Lwiej Mrówki + 7")
   end
if pc.job==2 then
pc.give_item2(11647, 1)
say_reward("Otrzymano Zbroja Plut. Yin-Yang +7") 
end
if pc.job==3 then               
pc.give_item2(11847, 1)
say_reward("Otrzymano Szata Zach. Nieba +7 ") 
end  
 
 
pc.change_money(5000000)
pc.give_exp2(5000000)
 
 
clear_letter()
set_quest_state("collect_quest_lv40", "run")
set_state(__complete)
end
 
end
 
 
state __giveup__ begin
when 20084.chat."Poddajesz sie?" begin
say("Biolog Chaegirab:")
say("Czy jestes pewien, ¿e chcesz sie poddaæ!?")
say("Nie bedziesz mial szansy, aby zacz¹æ ponownie!")
say("Ta misja Cie opusci...")
end
end
state __complete begin
end

end

 

 

quest na 40 lv

 

 

quest collect_quest_lv40  begin

state start begin
when login or levelup with pc.level >= 40 and pc.level <= 40 begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then
target.vid("__TARGET__", v, "Analiza Biologa")
end
send_letter("Analiza Biologa")
end
when button or info begin
say_title("Analiza Biologa")
say("")
say("Biolog Chaegirab, uczeñ Uriela,")
say("w³aœnie Cie szuka³. Proszê idz")
say("do niego i zaoferuj mu swoj¹ pomoc.")
say("")
end
when __TARGET__.target.click or
20084.chat."Znajdz Biologa" begin
target.delete("__TARGET__")
say("Biolog Chaegirab:")
say("Niebiosa, proszê pomó¿ mi... ")
say("Badam wszystkie rodzaje roœlin w tym ")
say("imperium. Jest bardzo du¿o rzeczy, ")
say("które musz¹ zostaæ zbadane. Nie mam ")
say("czasu abym móg³ sam wybraæ siê na wyprawe. ")
say("Proszê,pomó¿ mi. ")
wait()
say("Biolog Chaegirab:")  
say("Aktualnie badam Ksiegi Klatw.")
say("Muszê przeprowadziæ kilka eksperymentów,")
say("dlatego potrzebujê kilku egzemplarzy.")
say("Czy móg³byœ przynieœæ mi dziesiêæ Ksiegi Klatw?")
say("Proszê, pomó¿ mi! Zawsze przynoœ mi po jednym,")
say("abym mia³ czas na ich dokladne przebadanie!")
say("")    
set_state(go_to_disciple)
pc.setqf("duration",0)  -- ¥i¥H¸Õ¸Õªº?É¡
pc.setqf("collect_count",0) -- ¡X¨ú±o¹Lªºª««~¼Æq
pc.setqf("drink_drug",0) -- ¡X ³Ü°g´bÃĤôªº¸Ü 1
end
end
 
state go_to_disciple begin
when letter begin
send_letter("Zadanie Specjalne")
 
end
when button or info begin
say_title("Znajdz Ksiegi Klatw")
---                                                   l
say("")
say("Biolog Chaegirab, uczeñ Uriela,")
say("szuka Ksiegi Klatw.")
say("Zawsze przynoœ mu po jednym, aby mia³ czas")
say("na ich dokladne przebadanie.")
say("Ksiegi szukaj u Ezotów.")
say("")
say_item_vnum(30047) 
say_reward("Do tej pory dostarczy³eœ ".." "..pc.getqf("collect_count").." Ksiegi Klatw.")
say("")
end
 
when 71035.use begin --°g´bÃĤô
if get_time() < pc.getqf("duration") then
say("")
say("ÁÙ¤£¥i¥H¨Ï¥Î°g´bÃĤô")
say("")
return
end
if pc.getqf("drink_drug")==1 then
say("")
say("¤w¸g¨Ï¥Î¤F1¦¸")
say("")
 
return
end
if pc.count_item(30047)==0 then
say("Biolog Chaegirab:")
say("Co? Nie przyniosles mi zadnych")
say("Ksiegi Klatw?...")
say("")
return
end
item.remove()
pc.setqf("drink_drug",1)
end
 
 
 
 
when 20084.chat."Ksiegi Klatw" with pc.count_item(30047) >0 begin
local roznica = pc.getqf("duration") - get_time()
local minuty = roznica/60
local minuty2 = math.floor(minuty)
if get_time() > pc.getqf("duration") then
say("Biolog Chaegirab:")
say("Oh!! Znalaz³eœ!")
say("Pozwól,ze rzuce okiem...")
say("Jeszcze chwilke.")
say("")
pc.remove_item("30047", 1)
pc.setqf("duration",get_time()+60*60*1)
wait()
local pass_percent
if pc.getqf("drink_drug")==0 then
pass_percent=60
else
pass_percent=90
end
 
local s= number(1,100)
if s<= pass_percent  then
if pc.getqf("collect_count")< 9 then     --10­Ó¥H¤U 
local index =pc.getqf("collect_count")+1 
pc.setqf("collect_count",index)     --¨ú±o¤@­Ó?É +1 
say("Biolog Chaegirab:")
say("Oh!! Ta Ksiega Klatw jest doskona³ej jakoœci!")
say("Przynieœ mi jeszcze ".." "..10-pc.getqf("collect_count").. " Ksiegi Klatw.")
say("Prosze, sprobuj je znalezæ!")
say("")
pc.setqf("drink_drug",0) --ÃĤôªìˆl¤Æ
return
end
say("Biolog Chaegirab:")  
say("Oh,zebraleœ juz wszystkie!")
say("Dobra robota...")
say("Ale poczekaj!")
say("Aby zakonczyc swoj¹ pracê, potrzebuje")
say("abyœ przynius³ dla mnie jeszcze jeden przedmiot.")
say("Zrób to dla mnie...")
say("")
say_item("Swiatynny Kamien Duszy", 30148, "")
 
say_reward("Zabijaj Ezot.Przyzywacz")
say_reward("Ezot.Dreczyciel") 
say_reward("Wysoki Dreczyciel") 
 
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
pc.setqf("duration",0) 
set_state(key_item)
return
else
say("Biolog Chaegirab:")
say("Ta Ksiega Klatw jest z³ej jakoœci!")
say("Sprobuj przynieϾ mi inna!")
say("Proszê, pomó¿ mi!")
pc.setqf("drink_drug",0) --ÃĤôªìˆl¤Æ
return
end
else
say("Biolog Chaegirab:")
say("Jeszcze nie skoñczy³em badaæ ostatniej Ksiegi Klatw !")
say("Wróc do mnie za: "..minuty2.." minut!")
say("")
return
end
 
end
end
 
 
state key_item begin
when letter begin
send_letter("Zadanie Specjalne!")
 
if pc.count_item(30148)>0 then
local v = find_npc_by_vnum(20084)
if v != 0 then
target.vid("__TARGET__", v, "Analiza Biologa")
end
end
 
end
when button or info begin
if pc.count_item(30148) >0 then
say_title("Znalaz³eœ Kamieñ Duszy!")
say("")
---                                                   l
say("Wróæ do Biologa, aby")
say("odnieœæ mu kamieñ!")
say("")
return
end
say_title("Kamien Duszy")
say("")
---                                                   l
say("Zebra³eœ ju¿ wszystkie dziesiêæ Ksiegi Klatw!")
say("Teraz, Biolog potrzebuje ostatni")
say("przedmiot, aby zakonczyc swoje badania!")
say_item_vnum(30148)
say("Mo¿esz go znalezæ zabijaj¹æ potwory")
say("przed Swiatynia Hwang!")
say("")
end
 
 
 
when 635.kill or
636.kill or 
637.kill  begin
local s = number(1, 50)
if s == 1 and pc.count_item(30148)==0 then
pc.give_item2(30148, 1)
send_letter("Wróc do Biologa!")
end
end
 
when __TARGET__.target.click  or
20084.chat."Znalaz³em Kamien Duszy" with pc.count_item(30148) > 0  begin
target.delete("__TARGET__")
say("Biolog Chaegirab:")
say("Oh, Znalaz³eœ!")
say("Bardzo Tobie dziêkuje!")
say("W zamian otrzymasz nagrode!")
say("Idz do mojego mistrza Baek-Go")
say("On za pomoc mi podaruje Ci cenna nagrode.")
say("")
say_reward("Mo¿esz teraz iœæ do Baek-Go po nagrodê!")
say("")
pc.remove_item(30148,1)
set_state(__reward)
end
 
end
 
state __reward begin
when letter begin
send_letter("Analiza Biologa - Nagroda")
 
local v = find_npc_by_vnum(20018)
if v != 0 then
target.vid("__TARGET__", v, "Baek-Go")
end
 
end
when button or info begin
say_title("Odbierz nagrode!")
---                                                   l
say("Biolog Chaegirab wysyla Cie")
say("po nagrodê do Baek-Go!")
say("")
end
 
when __TARGET__.target.click  or
20018.chat."Nagroda"  begin
target.delete("__TARGET__")
say("Baek-Go:")
say("Hmm, a wiêc Biolog")
say("wys³a³ Cie po nagrodê?")
say("Zobaczmy, co tam masz...")
say("")
say_reward("Otrzymano 5.000.000 yang i Punkty Doœwiadczenia")
say_reward("Otrzymujesz +15 szybkosci poruszania sie")
say_reward("na zawsze!")
 
affect.add_collect(apply.MOV_SPEED, 15, 60*60*24*365*60) --60¦~
 
if pc.job==0 then
pc.give_item2(11247, 1)
say_reward("Otrzymano Œmiert. Zbroja Plytowa +7")        
end
if pc.job==1 then
pc.give_item2(11449, 1)
say_reward("Ubranie Lwiej Mrówki + 7")
   end
if pc.job==2 then
pc.give_item2(11647, 1)
say_reward("Otrzymano Zbroja Plut. Yin-Yang +7") 
end
if pc.job==3 then               
pc.give_item2(11847, 1)
say_reward("Otrzymano Szata Zach. Nieba +7 ") 
end  
 
 
pc.change_money(5000000)
pc.give_exp2(5000000)
 
 
clear_letter()
set_quest_state("collect_quest_lv40", "run")
set_state(__complete)
end
 
end
 
 
state __giveup__ begin
when 20084.chat."Poddajesz sie?" begin
say("Biolog Chaegirab:")
say("Czy jestes pewien, ¿e chcesz sie poddaæ!?")
say("Nie bedziesz mial szansy, aby zacz¹æ ponownie!")
say("Ta misja Cie opusci...")
end
end
state __complete begin
end

end

 

 

nagradzam Lubię to :)

Opublikowano

A więc tak... :)

Do tego pierwszego questa dodaj to na koniec:

set_quest_state("collect_quest_lv40", "run")

Czyli końcówka powinna wyglądać tak:

state __giveup__ begin
when 20084.chat."Poddajesz sie?" begin
say("Biolog Chaegirab:")
say("Czy jestes pewien, ¿e chcesz sie poddaæ!?")
say("Nie bedziesz mial szansy, aby zacz¹æ ponownie!")
say("Ta misja Cie opusci...")
set_quest_state("collect_quest_lv40", "run")
end
end
state __complete begin
endend

A początek tego drugiego questa musi tak wyglądać:

quest collect_quest_lv40  begin
state start begin
end
state run begin
when login or levelup with pc.level >= 40 and pc.level <= 40 begin
set_state(information)
end
end

KONIEC


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


2013-08-15

Opublikowano

 

A więc tak... :)

Do tego pierwszego questa dodaj to na koniec:

set_quest_state("collect_quest_lv40", "run")

Czyli końcówka powinna wyglądać tak:

state __giveup__ begin
when 20084.chat."Poddajesz sie?" begin
say("Biolog Chaegirab:")
say("Czy jestes pewien, ¿e chcesz sie poddaæ!?")
say("Nie bedziesz mial szansy, aby zacz¹æ ponownie!")
say("Ta misja Cie opusci...")
set_quest_state("collect_quest_lv40", "run")
end
end
state __complete begin
endend

A początek tego drugiego questa musi tak wyglądać:

quest collect_quest_lv40  begin
state start begin
end
state run begin
when login or levelup with pc.level >= 40 and pc.level <= 40 begin
set_state(information)
end
end

 

zaraz sprawdzę :P

 

@Edit

dzieki wielkie działa wszystko poprawnie :)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...