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

GUI biolog quest


Rekomendowane odpowiedzi

Opublikowano

Jak dodać ten quest do biologa?

 
-- # --------------------------------------------- #
-- #  Questfile from Metin2SF by Ethoard  #
-- # --------------------------------------------- #


quest collect_quest_lv30 begin
state start begin
when login or levelup with 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ę idź ")
say("do niego i zaoferuj mu swoją pomoc.")
say("")
end
when __TARGET__.target.click or 20084.chat."Znajdź 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 dokładne 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("Znajdź Zęby Orka")
say("")
say("Biolog Chaegirab, uczeń Uriela,")
say("szuka Zębów Orka.")
say("Zawsze przynoś mu po jednym, aby miał czas")
say("na ich dokładne 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
if get_time() < pc.getqf("duration") and pc.getqf("drink_drug") < 1 then
say_reward("Eliskir Poszukiwacza:")
say("Ten magiczny przedmiot zmniejsza czas")
say("oddania następnego przedmiotu u biologa,")
say("po jego użyciu możesz natychmiast")
say("oddać przedmiot!")
say("Ponadto daję większą szansę na przyjęcie przedmiotu!")
say_reward("Czy chcesz użyć Eliksiru?")
say_reward("Zostanie on usunięty po użyciu.")
local wy = select("Użyj.", "Nie używaj.")
if wy == 2 then
return
elseif wy == 1 then
pc.setqf("duration", 0)
pc.setqf("drink_drug",1)
say("Możesz już oddać przedmiot biologowi!")
say_reward("Eliksir Poszukiwacza zostaję usunięty!")
pc.remove_item(71035, 1)
end
else
say_reward("Eliksir Poszukiwacza:")
say("Nie możesz użyć przedmiotu, ponieważ ")
say("biolog już może przyjąć przedmiot.")
return
end
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
local index =pc.getqf("collect_count")+1
pc.setqf("collect_count",index)
say("Biolog Chaegirab:")
say_green("Oh!! Ten Ząb Orka jest doskonałej jakości!")
say("Przynieś mi jeszcze ".." "..10-pc.getqf("collect_count").. " Zębów Orka.")
say("Proszę, spróbuj je znaleźć!")
say("")
pc.setqf("drink_drug",0)
return
end
say("Biolog Chaegirab:")
say("Oh,zebrałeś już 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 Generał ")
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_red("Ten Ząb Orka jest złej jakości!")
say("Spróbuj przynieść mi inny!")
say("Proszę, pomóż mi!")
pc.setqf("drink_drug",0)
return
end
else
say("Biolog Chaegirab:")
say("Jeszcze nie skończyłem badać ostatniego Zęba Orka !")
say("Przyjdź 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("")
say("Wróć do Biologa, aby")
say("odnieść mu kamień!")
say("")
return
end
say_title("Kamień Duszy")
say("")
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óć do Biologa!")
end
end
when __TARGET__.target.click or
20084.chat."Znalazłem Kamień 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 Uriela")
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 nagrodę!")
say("Biolog Chaegirab wysyła Cię ")
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 mam...")
say("")
say_reward("Czerw. Ebonit. Szkatuła")
say_reward("+10 szybkości poruszania się na stałe")
affect.add_collect(apply.MOV_SPEED, 10, 60*60*24*365*60)
pc.give_item2(50109)
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 miał szansy, aby zacząć ponownie!")
say("Ta misja Cie opuści...")
end
end
state __complete begin
end
end

To jest mój quest do biolog na 30lv jak do niego dodąć quest na otwieranie? 

                if pc.getf("collect_quest_lv30", "otwieranie") == 1 then
                    cmdchat("openbio")
                else
                    say("Aktualnie nie ma aktywnych badań ")
                end

JAk ktoś doda to niech pogrubi i napisze co i jak leca plusy

 

Opublikowano

Dogralem se gui biolloga ale trzeba do questa biologa wgrac quest na otwieranie sie tego gui.

Opublikowano

Spieszy mi sie wiec reff xD limit like.

Jesli ktos nie czai to tak.

Zrobilem od strony klienta gui biologa ale teraz strona serwera. Jak zrobic ze po przeczytaniu questa u biologa wyswietlilo sie to gui ?

Opublikowano

przykladowy quest pod gui : 

 

quest collect_quest_lv30 begin
state start begin
when login or levelup with pc.level >= 30 begin
set_state(information)
end
end
state information begin
when letter begin
send_letter("Badania", "item", "333")
end
when button or info begin
say_title("Badania")
say("")
say("Możesz rozpocząć nowe badania.")
say("Zajrzyj do swojego podręcznika.")
set_state(rozpoczynamy)
pc.setf("collect_quest_lv30", "otwieranie", 1)
cmdchat("biolog 30006|".. pc.getqf("duration").."|"..pc.getqf("collect_count").."|10|30")
cmdchat("oddaj "..q.getcurrentquestindex()) 
end 
end
state rozpoczynamy begin
when login with pc.get_level() >= 40 begin
if pc.getqf("duration") - get_time() > 0 and pc.getqf("duration") - get_time() < 1000 then
cmdchat("biolog 30047|".. pc.getqf("duration").."|"..pc.getqf("collect_count").."|10|30")
cmdchat("oddaj "..q.getcurrentquestindex()) 
else
cmdchat("biolog 30006|0|"..pc.getqf("collect_count").."|10|30")
cmdchat("oddaj "..q.getcurrentquestindex()) 
end 
end
when button or info with pc.count_item(30047) > 0 begin
if get_time() > pc.getqf("duration") then
pc.remove_item("30006", 1)
pc.setqf("duration",get_time()+1*1*1)
if pc.getqf("drink_drug") == 1 then
pc.setqf("drink_drug", 0)
pass_percent = 90
else
pass_percent = 60
end 
local s= number(1,100)
if s<= pass_percent then
if pc.getqf("collect_count")< 9 then
local index = pc.getqf("collect_count")+1
pc.setqf("collect_count", index)
syschat("Ohh tak ten zab jest doskonałej jakości")
cmdchat("biolog 30006|".. pc.getqf("duration").."|"..pc.getqf("collect_count").."|10|30")
return
end
cmdchat("openbio")
say_title("Badania:")
say_reward("Dzięki badaniom dowiedziałeś się wielu przydatnych informacji.")
say_reward("Twoja praca zaowocowała, czujesz się silniejszy")
local s = select("Siła", "Zręczność ", "Inteligencja", "Kondycja")
if s == 1 then
say_title("Baek-Go:")
say("Otrzymujesz +15 do siły.")
affect.add_collect(apply.STR, 15, 60*60*24*365*60)
elseif s == 2 then
say_title("Baek-Go:")
say("Otrzymujesz +15 do zręczności.")
affect.add_collect(apply.DEX, 15, 60*60*24*365*60)
elseif s == 3 then
say_title("Baek-Go:")
say("Otrzymujesz +15 do inteligencji.")
affect.add_collect(apply.INT, 15, 60*60*24*365*60)
elseif s == 4 then
say_title("Baek-Go:")
say("Otrzymujesz +15 do kondycji.")
affect.add_collect(apply.CON, 15, 60*60*24*365*60) 
end
clear_letter()
set_quest_state("collect_quest_lv40", "run")
set_state(__complete)
local Reward = 15
cmdchat("achievement ___Badacz_I%Uzyskujesz:_+_"..Reward .."_PO")
pc.setf("achievement", "PO", Reward + pc.getf("achievement", "PO"))
bcaa = tonumber(pc.getf("achievement", "PO"))
cmdchat("po "..bcaa) 
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
pc.setqf("duration",0)
pc.setf("collect_quest_lv30", "otwieranie", 0)
return
else
syschat("Ten ząb jest złej jakości")
pc.setqf("duration",get_time()+1*1*1)
cmdchat("biolog 30006|".. pc.getqf("duration") + get_time().."|"..pc.getqf("collect_count").."|10|30")
return
end
else
syschat("Jeszce nie skończyłem badać ostatniego zęba")
return
end 
end 
when kill with npc.get_race() == 636 or npc.get_race() == 635 or npc.get_race() == 637 begin
local s = number(1, 10)
if s == 1 then
pc.give_item2(30006, 1)
end
end 
when 71035.use begin
if get_time() < pc.getqf("duration") and pc.getqf("drink_drug") < 1 then
say_reward("Eliskir Poszukiwacza:")
say("Ten magiczny przedmiot zmniejsza czas")
say("oddania następnego przedmiotu u biologa,")
say("po jego użyciu możesz natychmiast")
say("oddać przedmiot!")
say("Ponadto daję większą szansę na przyjęcie przedmiotu!")
say_reward("Czy chcesz użyć Eliksiru?")
say_reward("Zostanie on usunięty po użyciu.")
local wy = select("Użyj.", "Nie używaj.")
if wy == 2 then
return
elseif wy == 1 then
pc.setqf("duration", 0)
pc.setqf("drink_drug",1)
say("Możesz już oddać przedmiot biologowi!")
say_reward("Eliksir Poszukiwacza zostaję usunięty!")
pc.remove_item(71035, 1)
end
else
say_reward("Eliksir Poszukiwacza:")
say("Nie możesz użyć przedmiotu, ponieważ ")
say("biolog już może przyjąć przedmiot.")
return
end
end 
end
state __complete begin
end 
end 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...