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

Quest na Biologa


Rekomendowane odpowiedzi

Opublikowano

Miesiąc stworzyłem gui do biologa i dodałem mu button oddawania na odległość, oczywiście on działa.
 

Proszę o dodanie do niego oddawanie przedmiotów tak aby:

http://wklej.to/sp6Pm

- można je było oddawać w GUI oraz u biologa (to już wybiera gracz)

- w GUI były syschaty a u biologa say 

 

Próbowałem dodać sam ale chcę aby wyglądało to tak:

1. Wchodzę do gry z 30 poziomem postaci

2. Powinna pokazać się informacja po lewej aby udać się do biologa

3. Rozmawiamy z biologiem, każe nam zdobyć itemy x10 | Informacja o GUI

4. Po oddaniu wszystkich przedmiotów u biologa lub w GUI pokazuje się informacja o że mamy iść do biologa.

5. Biolog każe nam zdobyć kamyk i mu go przynieść.

6. Nagroda. Zamkniecie Gui start następnego questa lv40

 

Gdy dodawałem ja:

1. tak

2. nie ma informacji i nie ma nic u biologa

3. Od razu można otworzyć GUI i oddawać itemy (najpierw powinna być rozmowa z biologiem oraz informacja o tymże GUI)

4. Po oddaniu wszystkich przedmiotów u biologa lub w GUI powinna pokazać się informacja o że mamy iść do biologa. (Chyba działało nie pamiętam :D)

5. Nie można zrobić tego przez GUI - informacja w syschat "Biolog chce abyś dostarczył mu ten przedmiot osobiście." Nie działało

6. Działało

 

Jeśli to możliwe proszę o przerobienie tego questa w sposób opisany wyżej. Z góry dziękuję.

 

Teraz funkcje:

 

 

Oddawanie przedmiotów(button)

cmdchat("oddaj "..q.getcurrentquestindex())

Hmm. Taki import do state niżej

set_state(oddawanie_info)

State na oddawanie (nwm czy on jest poprawny - ale w starym queście dobrze oddawał przedmiot)

http://wklej.to/HlE5x
Opublikowano

quest z plików reventiala? Polecam ten biolog gui od casawira. Jest praktyczniejszy. Spróbuj zrobić 

        when button or info with pc.count_item(30006) >0 begin

when button or xxx.chat.

 

@Edit nie wiem czy to zadziała. Nie doczytałem questa. Generalnie nie wiem czy da się zrobić w ten sposób aby wartość oddanych czasu itd pobierało w gui i u biologa.

1EPZ6G.gif

Opublikowano

@kwiatmix jeśli zrobię tak jak napisałeś to będzie musiał być tylko jeden state?

 

state information begin

 

lub

 

state oddawanie begin

 

Jeśli tak to jest problem, gdyż oba staty różnią się formatem tekstu say i syschat.

 

state information begin

say("Ten ząb jest złej jakości.")

 

state oddawanie begin

syschat("Ten ząb jest złej jakości.")

 

Jeśli tak zrobię to biolog będzie miał tekst na syschat tak jak gui?

 

@DonMamutos quest jest z google a gui robiłem sam. To od casawira ma tylko i wyłącznie oddawanie przez gui bez chodzenia do biologa.

 

Opublikowano

No jak mówiłem nie doczytałem questa. Jeśli masz tam oddawanie również u biologa to nie ma problemu. To że syschaty są to tez nie problem. Po oddania przedmiotu u biologa na czacie pokaże się rezultat. Tak jak kwiatmix Ci napisał zrób.

 

when button or info or id_biologa.chat."Badania Biologa" with pc.count_item(30006) >0 begin

1EPZ6G.gif

Opublikowano

ale wolał bym żeby u biologa były say, a w gui syschaty jeśli dodam wszystko w jednym to wtedy przez buttona pokarze się czarne okienko(wiadomo) to od say.

Opublikowano

Jak chcesz zeby u biologa i w gui były say. To zrób po prostu say zamiast syschat. Jeśli chcesz do biologa say a do gui syschat to musisz troche to przerobić.

1EPZ6G.gif

Opublikowano

 

Jak chcesz zeby u biologa i w gui były say. To zrób po prostu say zamiast syschat. Jeśli chcesz do biologa say a do gui syschat to musisz troche to przerobić.

 

 

hm podasz w jaki sposób mam to przerobić? Nie jestem mistrzem pisania questów.

Opublikowano

Ja tak miałem na 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
			local v = find_npc_by_vnum(20084)
			if v != 0 then
			target.vid("__TARGET__", v, "Analiza Biologa")
			end
			send_letter("Analiza Biologa - Zęby Orka", "item", "30006")
		end
		when button or info begin
			say_green("Analiza Biologa:")
			say("Biolog Chaegirab, uczeń Uriela,")
			say("właśnie Cie szukał. Proszę idź ")
			say("do niego i zaoferuj mu swoją pomoc.")
			pc.setf("collect_quest_lv30", "otwieranie", 1)
			cmdchat("biolog 30006|0|"..pc.getqf("collect_count").."|10|30")
			cmdchat("oddaj "..q.getcurrentquestindex())
		end
		when __TARGET__.target.click or 20084.chat."Znajdź Biologa" or button begin
			target.delete("__TARGET__")
			say_green("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_green("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("")
			cmdchat("biolog 30006|0|"..pc.getqf("collect_count").."|10|30")
			cmdchat("oddaj "..q.getcurrentquestindex())
			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
			cmdchat("biolog 30006|0|"..pc.getqf("collect_count").."|10|30")
			cmdchat("oddaj "..q.getcurrentquestindex())
			send_letter("Analiza Biologa - Zęby Orka")
		end
		when button or info begin
			cmdchat("biolog 30006|0|"..pc.getqf("collect_count").."|10|30")
			cmdchat("oddaj "..q.getcurrentquestindex())
			say_green("Znajdź Zęby Orka:")
			say("Biolog Chaegirab, uczeń Uriela,")
			say("szuka Zębów Orka.")
			say_item_vnum(30006)
			say_reward("Do tej pory dostarczyłeś: "..pc.getqf("collect_count").." Zębów Orka.")
		end
		when 20084.chat."Oddaj przedmiot!" or button with pc.count_item(30006) > 0 begin
			cmdchat("biolog 30006|0|"..pc.getqf("collect_count").."|10|30")
			cmdchat("oddaj "..q.getcurrentquestindex())
			local roznica = pc.getqf("duration") - get_time()
			local minuty = roznica/60
			local minuty2 = math.floor(minuty)
			if get_time() > pc.getqf("duration") then
				say_green("Biolog Chaegirab:")
				say("Oddaj:")
				say_item_vnum(30006)
				pc.remove_item("30006", 1)
				pc.setqf("duration",get_time()+0*0*0)
				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_green("Biolog Chaegirab:")
						say_green("Oh!! Ten Ząb Orka jest doskonałej jakości!")
						cmdchat("biolog 30006|0|"..pc.getqf("collect_count").."|10|30")
						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_green("Biolog Chaegirab:")
					cmdchat("biolog 30006|0|10|10|30")
					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_green("Biolog Chaegirab:")
					say("")
					say_red("Ten Ząb Orka jest złej jakości!")
					cmdchat("biolog 30006|".. pc.getqf("duration") + get_time().."|"..pc.getqf("collect_count").."|10|30")
					say("")
					say("Spróbuj przynieść mi inny!")
					say("Proszę, pomóż mi!")
					pc.setqf("drink_drug",0)
					return
				end
			else
				say_green("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("Analiza Biologa - Zęby Orka")
			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
				cmdchat("oddaj "..q.getcurrentquestindex())
				cmdchat("biolog 30220|0|1|1|30")
				say_green("Znalazłeś Kamień Duszy!:")
				say("Wróć do Biologa, aby")
				say("odnieść mu kamień!")
				say("")
				return
			end
			say_green("Kamień Duszy:")
			cmdchat("biolog 30220|0|0|1|30")
			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("Analiza Biologa - Zęby Orka")
			end
		end
		when __TARGET__.target.click or 20084.chat."Znalazłem Kamień Duszy" or button with pc.count_item(30220) > 0 begin
			target.delete("__TARGET__")
			say_green("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)
			cmdchat("biolog 0|0|0|0|0")
			set_state(__reward)
		end
	end
	state __reward begin
		when letter begin
			send_letter("Analiza Biologa - Zęby Orka")
			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_green("Odbierz nagrodę!:")
			say("Biolog Chaegirab wysyła Cię ")
			say("po nagrodę do Baek-Go!")
			say("")
		end
		when __TARGET__.target.click or 20018.chat."Nagroda" or button with pc.getqf("nagroda_zeb") == 0 begin
			pc.setqf("nagroda_zeb", 1)
			target.delete("__TARGET__")
			say_green("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_item("Czerw. Ebonit. Szkatuła", 50109, "")
			say_reward("Stały bonus: +15 prędkości ruchu.")
			pc.give_item2(50109, 1)
			affect.add_collect(apply.MOV_SPEED, 15, 60*60*24*365*60)
			clear_letter()
			set_quest_state("collect_quest_lv40", "run")
			pc.setf("collect_quest_lv30", "otwieranie", 0)
			set_state(__complete)
		end
	end
	state __giveup__ begin
		when 20084.chat."Poddajesz sie?" begin
			say_green("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


hehpng_esrnree.png

Opublikowano

@HA MeCa

 

czy jak wciskasz button to pokazuje się czarna ramka od say? Jeśli nie to, który state tutaj się wykonuje od buttona? czytałem 3x całego questa i nie mogę znaleść.

Opublikowano
when 20084.chat."Oddaj przedmiot!" or button with pc.count_item(30006) > 0 begin

Jak klikam button to odpala się say jak byś rozmawiał z npc

cmdchat("oddaj "..q.getcurrentquestindex())
chat."Oddaj przedmiot!" or button


hehpng_esrnree.png

Opublikowano

@HA MeCa czyli podałeś mi właściwie to samo co @kwiatmix

 

A co zrobić żeby klikając na button używało syschatu a u samego biologa say?

Jeśli robię to za pomocą state to działa tylko 1 state oddawanie.

 

Opiszę dokładniej:

 

1. Zdobywam 30 poziom

2. Nie ma leeterów po lewej ani rozmowy u biologa a w gui jest od razu oddawanie (powinno być możliwe otwarcie dopiero po rozmowie u biologa a potem od razu po zalogowaniu).

3. Oddam wszystkie 10 zębów i czas na oddanie kamienia (tutaj działa dobrze pokazuje letter że biolog szuka kamyka że go mam i ze mam do niego iść).

4. Kamień oddajemy tylko u biologa(to działa).

 

Opublikowano

Jeżeli dobrze wyczytałem to jest tak: logujesz się i dostajesz list od biologa, aby do niego podejść, klikasz, odbierasz misje, dostajesz list o oddawaniu przedmiotów, później musisz zrobić re-log i od tego czasu oddawanie jest tylko przez GUI...

 

Questa nie poprawiałem, jedynie skopiowałem i wkleiłem dany fragment kodu w odpowiednie miejsce, sprawdź to.

http://pastebin.com/Pd9Pkbhs

Your superman is here, bitch!

Opublikowano

@Sensual

 

No właśnie powinno być tak jak napisałeś że po zalogowaniu pokazuje się informacja o queście (letter) ale tego nie ma tylko od razu można oddawać przedmioty przez GUI.

 

Usunę wszystkie questy od biologa i sprawdzę jeszcze raz i dam edita

 

 

@edit 

 

Jest problem z tym questem. W vbox wgrywa się poprawnie, robię reboot a w filezilli go nie ma (no i oczywiście w grze)

 

@edit2

 

Dobra  problem jest również w 1 queście.

oto nowy quest zamiast go poprawiać proszę o dodanie do niego oddawanie przedmiotów tak aby:

http://wklej.to/sp6Pm

- można je było oddawać w GUI oraz u biologa (to już wybiera gracz)

- w GUI były syschaty a u biologa say 

 

Teraz funkcje:

 

 

Oddawanie przedmiotów(button)

cmdchat("oddaj "..q.getcurrentquestindex())

Hmm. Taki import do state niżej

set_state(oddawanie_info)

State na oddawanie (nwm czy on jest poprawny - ale w starym queście dobrze oddawał przedmiot)

http://wklej.to/HlE5x

Więcej opisałem w 1 poście.

 

Udało mi się zrobić coś takiego. zaczyna się dobrze ale problem jest przy otwarciu okienka.

1.Można je otworzyć tylko przez questa (inaczej pisze na chacie ze nie ma misji) - po przeczytaniu lettera  z cmdchatem działa.

2. Nie można oddawać przedmiotów Button otwiera letter, albo nic się nie dzieje.

http://wklej.to/oEYTq

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...