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

[Bugfix] Biolog Chaegirab


Rekomendowane odpowiedzi

Opublikowano

Metin2 Biolog Fix !

Pokaże wam jak usunąć bug na biologa w metin2. Występuje on już teraz tylko na serwerach prywatnych

Działał on kiedyś nawet na metin2pl. Lecz od czasu ponad roku już został usunięty...

 

 

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

ZASADA DZIAŁANIA BUGU

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

 

Zasada bugu jest bardzo prosta... Podchodzimy do Biologa z naszym przedmiotem np. Zębem Orka.

Przeciągamy przedmiot na ziemie, wyskakuje nam tabelka z napisem [Czy chcesz upuścić przedmiot Ząb Orka]

Jak jest ten napis to szybko klikamy pierw na biologa a później na napis "TAK" czyli, że zgadzamy się upuścić Ząb Orka

Przy odrobinie szczęścia i szybkości uda nam się ten bug.. Ząb Orka wyleci na ziemie a biologa nam zaakceptuje jak byśmy oddali go.

 

 

 

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

SKRYPT W LUA DO USUNIĘCIA BUGU

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

 

Rzecz ma się bardzo prosto... Wystarczy dopisać linijkę kodu do questa w odpowiednim momencie. Pokażę wam przykład na plikach biologa z Triadicy, którego sam pisałem. Kod wygląda następująco..

if pc.count_item(30006) == 0 then
say("Nie posiadasz przy sobie żadnego zęba orka!")
return
end

 

Czyli, gracz klika na biologa "Ząb Orka" wywalając szybko ząb orka to wyskoczy mu komunikat, że nie posiada Zęba Orka i zamknie się biolog.

Można mu tam jeszcze za to różnego rodzaju "psikusy zrobić za próbę zbugowania biologa np. dać czas że następnego zęba przyjmie dopiero za 24 godziny

gdzie normalnie np. można oddawać co 1h. Czyli wstawić przed "return" funkcję:

pc.setqf("duration",get_time()+60*60*24)

 

 

 

 

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

MIEJSCE WSTAWIANIA SKRYPTU

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

 

Najlepiej odnaleźć sobie linijkę w której jest zapisane oddawanie Zęba Biologowi. Np.

with pc.count_item(30006)

Piszę tak bo nie wiadomo jak kto ma spolszczone a ten fragment każdy biolog musi mieć.

 

Powinno to wyglądać mniej więcej tak:

 

when 20084.chat."Zeby Orka" with pc.count_item(30006) >0  begin
if get_time() > pc.getqf("duration") then
say("Biolog Chaegirab:")
say("Oh!! Znalazleś!")
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

 

 

 

To dopisujemy sobie pod

when 20084.chat."Zeby Orka" with pc.count_item(30006) >0  begin

właśnie ten kod z punktu drugiego.

Przy kolejnych misjach biologa zmieniamy tylko ID "30006" na ID np. Księgi Klątw 30047 i dopisujemy w tym samym miejscu.

 

 

 

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

GOTOWY PLIK NA BIOLOGA 30 LVL (ZĘBY ORKA)

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

 

Posłużyłem się tutaj moim starem biologiem z Longju99 pisanym hm... z rok temu =P

Wtedy jeszcze nie umiałem za bardzo pisać questów i tak do dziś mi zostało ;d

 

ps. stopka tylko została zmieniona dla Triadicy a dziwnie wygląda

bo jest cały wycentrowany do środka.. =P

 

 



----------------------------------------------------
--Triadica.net By Bambus3k
--METIN2 Biolog Quest Lv.30
----------------------------------------------------
quest collect_quest_lv30 begin
state start begin
when login or levelup with pc.level >= 30 and pc.level <= 90 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) -- Ą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 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."Zeby Orka" with pc.count_item(30006) >0 begin
if pc.count_item(30006) == 0 then
say("Nie posiadasz przy sobie żadnego zęba orka!")
return
end
if get_time() > pc.getqf("duration") then
say("Biolog Chaegirab:")
--- l
say("Oh!! Znalazleś!")
say("Pozwól,ze rzuce okiem...")
say("Jeszcze chwilke.")
say("")
pc.remove_item("30006", 1)
pc.setqf("duration",get_time()+60*60*1) -----------------------------------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 później, kiedy juz skończę!")
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 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 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 15.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(11258, 1)
say_reward("Otrzymano Smocza Zbroja Plytowa+8")
end
if pc.job==1 then
pc.give_item2(11458, 1)
say_reward("Otrzymano Ubranie Zabojcy+8")
end
if pc.job==2 then
pc.give_item2(11658, 1)
say_reward("Otrzymano Mistyczna Zbroja Plytowa+8")
end
if pc.job==3 then
pc.give_item2(11858, 1)
say_reward("Otrzymano Szata Slonca+8")
end


pc.change_money(15000000)
pc.give_exp2(15000000)


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

 

 

 

 

 

To będzie wszystko, pozdrawiam Bambus3k =)

 

Muszę trochę % sobie pozdejmować..=P

307681428489538142351.png

Metin2 Balmora Staff

Opublikowano

to dlatego na plu nie dzialalo xD

leci +

 

;Script by ziuto
;Source-code Autoit v3
$User = InputBox("Twoj nick", "Podaj swoj nick", "tu go wpisz")
If $User = "ziuto" Then
$gui = GUICreate("User " & $User, 175, 100, -1, -1, 0x00080000)
$button_lubie_cie = GUICtrlCreateButton("Sam sie lubie", 50, 10)
$button_dam_ci_5_gwiazdek = GUICtrlCreateButton("Dam sobie 5 gwiazdek", 30, 40)
ElseIf $User <> "ziuto" Then
MsgBox(0, "Powitanie", "Siema " & $User)
$gui = GUICreate("User " & $User, 175, 100, -1, -1, 0x00080000)
$button_lubie_cie = GUICtrlCreateButton("Lubie cie ziuto", 47, 10)
$button_dam_ci_5_gwiazdek = GUICtrlCreateButton("Dam ci 5 gwiazdek ziuto", 25, 40)
EndIf
GUISetState(@SW_SHOW, $gui)
While $User = "ziuto"
$msg = GUIGetMsg()
Select
Case $msg = -3
ExitLoop
Case $msg = $button_lubie_cie
MsgBox(0, "Lubie sie", "Sam sie lubie :o")
Case $msg = $button_dam_ci_5_gwiazdek
MsgBox(0, "Dam sobie 5 gwiadek", "Ze bym to ja mogl sam sobie dac")
EndSelect
WEnd
While $User <> "ziuto"
$msg = GUIGetMsg()
Select
Case $msg = -3
ExitLoop
Case $msg = $button_lubie_cie
MsgBox(0, "Lubie cie", "A za co ?")
InputBox("A za co ?", "Za co mnie lubisz ?", "???")
MsgBox(0, "Za to", "Aha" & @CRLF & "Dobrze to wiedziec xD" & @CRLF & "Nq")
ShellExecute("http://www.mpcforum.pl/")
ExitLoop
Case $msg = $button_dam_ci_5_gwiazdek
ShellExecute("http://www.mpcforum.pl/user/259390-ziuto/")
EndSelect
WEnd


Opublikowano

Drobny szczegół jak u kogoś na serwie zęby lecą tonami xD

 

+leci

 

Zależy.. przykładowo u mnie zdobyć ząb orka to rzadkość ponieważ te śmieci lagują serwer i przeszkadza graczom więc zmniejszyłem drop.

a jak miałem misje z oddawaniem Broszurek Szermierki gdzie jedna stała po 30kk + na serwerze =P

307681428489538142351.png

Metin2 Balmora Staff

Opublikowano

Bambus3k zawsze o trzy kroki do przodu przed innymi :-)

Osobiście, nigdy nie tłumaczyłem misji biologa, ale się przyda,na pewno.

+

Opublikowano

Hmm ...Pamiętam dobre czasy jak bugowałem ;)

Tutaj macie gotowego questa dla leniuchów

@eDIT

nie zauważyłem gotowca =D

Dziwne mam takiego samego questa tylko podpis inny ;/

Your superman is here, bitch!

Opublikowano

@up..

Mój quest jest bardzo stary pisany tak jak mówiłem rok temu obecnie z niego nie korzystam,

tylko że jeszcze powiem w moim quescie na Zęby Orka nie ma mowy o Grzybach Tue jak w Twoim

oraz posiada wszystkie znaki polskie. Ale na prawdę dawno temu pisane -> 'spolszczane'

307681428489538142351.png

Metin2 Balmora Staff

Opublikowano

Tak, ale jeśli dasz do każdegu guzika warunek, Jeśli masz kamień to po oddaniu na handlu nie pójdzie dalej quest. Chyba, że ktoś ma 2 kamienie. Ale to też można załatwić, każde czytanie dawało by do lokalnej liczbe kamieni i by ją sprawdzała.

sygna.png
Opublikowano

Podobny bug jest w kamieniach duchowych...

 

Na kamienie duchowe sa az 3 bugi w ktorych mozna kicknac dany channel ^^..

 

A co do tematu to oczywiscie najs =))

Opublikowano
ay("Muszę przeprowadzić kilka eksperymentów,")

Wydaje mi się, że tu powinno byc "say", czy się mylę? :>

P.S. Poradnik się przyda :)

65994253024037513199.png
Opublikowano

Rzecz ma się bardzo prosto... Wystarczy dopisać linijkę kodu do questa w odpowiednim momencie. Pokarzę wam przykład na plikach biologa z Triadicy, którego sam pisałem. Kod wygląda następująco..

A nie czasem "Pokażę" ? :D

THX za quest'a, + 4 you.

za duża sygnatura

Opublikowano

nonono bardzo dzieki mozesz powiedzic jak zrobic by dt bylo od 55leva?

userbarwb.png

Zawsze promocje na sygnatury ^^

Opublikowano

W folderze Quest jest plik deviltower_zone.quest

Wchodzisz do niego i zmieniasz zawartość zaraz na górze

 

when deviltower_man.chat.locale.deviltower_man_chat begin
    if pc.get_level() < 50 then -- level wejścia do DT.
	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

307681428489538142351.png

Metin2 Balmora Staff

  • 2 tygodnie później...
  • 2 tygodnie później...
Opublikowano

Wielkie thx za tutka bambus przyda się +

lechsyg_hhqqnsr.jpg

 

  • Daj Plusika add.png a zrobie to samo ;]
  • Zapraszam na Serwer ElandosMT2 !
  • userbarcopy.png

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...