Quest Biolog

Înainte de a posta o problemă, caută în acest forum și poate găsești rezolvare.
Închis
Avatar utilizator
IliaMihai
Nou Venit

Nou Venit
Mesaje: 19
Membru din: 14 Mai 2016, 00:01
Server: Momentan nu joc
Aprecieri: 71  
Mulţumiri: 0
Discord: Copiază ID
 Contact:
Medalii

*Problemă/Întrebare: Problema quest biolog
Tipologie server:-
*Resursă folosită:-
*ServerFiles utilizat:-
*Syserr:-
Poză:-
*Detalii suplimentare: Am si eu o problema cu acest quest biolog, as vrea sa scot treaba cu Piatra Sufletului si cu mersul la Beak-go, adica in momentul in care ai dus la biolog si al 10-lea dinte de orc, sau ma rog, itemul pe care il cere, iti dea recompensa, insa nu am idee cum, sunt multe coduri cu legaturi intre ele si nu le inteleg... m-ar putea ajuta cineva?
Quest:
----------------------------------------------------
--COLLECT QUEST_lv30
--METIN2 Collect Quest  
----------------------------------------------------
quest collect_quest_lv30  begin
	state start begin
		when login or levelup with pc.level >= 30 and pc.level <= 150 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, "Misiunea Biologului")
			end
			send_letter("Cercetarile biologului")
		end

		when button or info begin
			say_title("Cererile biologului:")
			say("Biologul Chaeguirab, elevul lui")
			say("Uriel, are nevoie disperata de")
			say("ajutorul tau. Fugi sa-l ajuti!")
			say("Trebuie sa-si termine cercetarile..")
			say("")
		end
		
		when __TARGET__.target.click or
			20084.chat."A treia misiune" begin
			target.delete("__TARGET__")
			say_title("Biologul Chaegirab:")
			say("Oh!! Te rog ajuta-ma.") 
			say("Adun informatii despre") 
			say("monstrii din tinutul nostru, dar nu") 
			say("ma pot ocupa singur.")
			say("Iti poti imagina ca eu, un")
			say("simplu biolog, am")
			say("probleme in acest sens. Te rog,")
			say("ajuta-ma. Bineinteles ca vei primi o")
			say("recompensa pentru ajutor.")
			wait()
			say_title ( "Biologul Chaegirab:" ) 
			say("In acest moment examinez" ) 
			say("orcii negri din Valea Seungryong.") 
			say("Dintii lor sunt plini de calciu.") 
			say("De aceea sunt asa de")
			say("interesanti pentru mine. Este posibil sa")
			say("fim legati de acesti orci")
			say("..Dintii pot fi o cheie")
			say("a evolutiei umane pentru noi toti!")
			say("")
			wait()
			say_title("Biologul Chaegirab:")
			say("Poti sa-mi faci rost de niste")
			say("dinti? Dar am nevoie de")
			say("dinti speciali prin urmare fii foarte")
			say("atent..Poti sa-l folosesti pe prietenul meu")
			say("")
			say("")
			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("Dintii din Valea Seungryong")
			
		end
		when button or info begin
			say_title("Dintii din Valea Seungryong:")
			say("Biologul Chaegirab are nevoie")
			say("de dintii de orc din Valea")
			say("Seungryong pentru cercetarile sale.")
			say("Adu-i mereu cate unul pe rand,")
			say("in asa fel incat sa aiba timp sa ii")
			say("examineze.")
			say("")
			say_item_vnum(30006) 
			say_reward("Pana acum ai colectat".." "..pc.getqf("collect_count").." dinti de orc.")
			say("")
		end
		
		when 71035.use begin
			if get_time() < pc.getqf("duration") then
				say_title("Elixir:")
				say("Poti diminua timpul de asteptare daca vrei.")
				return
			end
			if pc.getqf("drink_drug")==1 then
				say_title("Elixir:")
				say("Poti diminua timpul de asteptare daca vrei.")

				return
			end
			if pc.count_item(30006)==0 then
				say_title("Biologul Chaegirab:")
				say("Daca nu-mi aduci dintii de orc")
				say("cum imi voi termina")
				say("cercetarea? Gaseste-mi cativa!")
				say("")
				return
			end
			item.remove()	
			pc.setqf("drink_drug",1)
		end



		
		when 20084.chat."Ai un dinte de orc?" with pc.count_item(30006) >0   begin
			if get_time() > pc.getqf("duration") then
				say_title("Biologul Chaegirab:")
				say("Humm...")
				say("Mi-ai adus un dinte de orc..")
				say("Sa ma uit o clipa.")
				say("")
				pc.remove_item("30006", 1)
				pc.setqf("duration",get_time()+1) -----------------------------------00??
				wait()
				
				local pass_percent
				if pc.getqf("drink_drug")==0 then
					pass_percent=80
				else		
					pass_percent=100
				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_title("Biologul Chaegirab:")
						say("Perfect aventurierule!")
						say("Acest dinte de orc este potrivit pentru cercetarea mea.")
                                      	say("")
						say_reward("Trebuie sa-mi mai aduci".." "..10-pc.getqf("collect_count").. " dinti de orc!")
						say("")
						pc.setqf("drink_drug",0)
						return
					end
					say_title("Biologul Chaegirab:")
					say("Excelent!!!")
					say("Mi-am terminat cercetarea...")
					say("Nu... Asteapta...")
					say("Pentru a-mi termina cercetarea am nevoie")	
					say("de Piatra sufletului Jununggyis.")
					say("")
					pc.setqf("collect_count",0)
					pc.setqf("drink_drug",0)	
					pc.setqf("duration",0) 
					set_state(key_item)
					return
				else								
				say_title("Biologul Cheagirab:")
				say("Acest dinte nu este potrivit pentru")
				say("cercetarea mea.")
				say("Poti sa-mi aduci altul?")
				pc.setqf("drink_drug",0)
				return
				end
		else
		  say_title("Biologul Chaegirab:")
		  say("Ah... Adu-ti aminte sa-mi aduci cate")
		  say("un dinte pe rand!")
		  say("In cazul in care aduci mai mult de un dinte, vei putea")
		  say("sa-i aduni, dar iti voi lua")
		  say("unul singur...Prin urmare fii atent!")
		  return
		end

	end
end


	state key_item begin
		when letter begin
			send_letter("Piatra Sufletului")
			
			if pc.count_item(30220)>0 then	
				local v = find_npc_by_vnum(20084)
				if v != 0 then
					target.vid("__TARGET__", v, "Piatra Sufletului")
				end
			end

		end
		when button or info begin
			if pc.count_item(30220) >0 then
				say_title("Piatra Sufletului:")
				say("Acum ca ai adus toti dintii de orc") 
				say("si ai gasit Piatra Sufletului")
				say("intoarce-te la biologul Chaegirab sa ")
				say("iti dea recompensa!")
				return
			end
			say_title("Piatra Sufletului:")
			say("Acum ca ai gasit toti cei ")
			say("zece dinti..Gaseste Piatra Sufletului")
			say("pentru a termina cercetarea.")
			say_item_vnum(30220)
			say("O vei gasi vanand Orci Negru , Orci Elita Cercetas , Orci Negru Urias ")
			say("")
			say("")
		end
		

	
		when 635.kill or
			 636.kill or 
			 637.kill  begin
			local s = number(1, 30)
			if s == 1 and pc.count_item(30220)==0 then
				pc.give_item2(30220, 1)
				send_letter("Am Piatra Sufletului")		
			end	
		end
	
		when __TARGET__.target.click  or
			20084.chat."Am Piatra Sufletului" with pc.count_item(30220) > 0  begin
			target.delete("__TARGET__")
			say_title ( "Biologul Chaegirab:" ) 
			say ( "Acum ca ai gasit Piatra Sufletului" ) 
			say ( "pot intr-un final sa-mi termin" ) 
			say ( "cercetarea.Du-te sa iti ridici recompensa." ) 
			say ( "" )
			say_reward("Du-te la Beak-go.")
			pc.remove_item(30220,1)
			set_state(__reward)
		end
		
	end
	
	state __reward begin
		when letter begin
			send_letter("Gaseste-l pe Beak-go")
			
			local v = find_npc_by_vnum(20018)
			if v != 0 then
				target.vid("__TARGET__", v, "Beak-go")
			end

		end
		when button or info begin
			say_title("Gaseste-l pe Beak-go:")
			say("Ai gasit Piatra Sacra a Sufletului ..Minunat!")
			say("Acum nu-ti mai lipseste decat sa te duci sa-ti iei")
			say("recompensa..")
			say("")
			say_reward("Mergi la Beak-go si ia-ti recompensa.")
			say("")
		end
		
		when __TARGET__.target.click  or
			20018.chat."Recompensa Dinti de Orc"  begin
			target.delete("__TARGET__")
			say_title("Beak-go:")
			say("Mi-a spus biologul ca ai reusit")
			say("sa-i termini cercetarea")
			say("aducandu-i ce avea nevoie.")
			say("Te asteapta, prin urmare, o recompensa mare.")
			say("")
			say_title("Ca recompensa vei primi:")
			say_reward("Bonus Viteza de miscare +10% (Permanent).") 
			affect.add_collect(apply.MOV_SPEED, 10, 60*60*24*365*60) --60¦~	
			pc.give_item2(50109, 1)
			clear_letter()
			set_quest_state("collect_quest_lv40", "run")
			set_state(__complete)
		end
	end
	state __complete begin
	end
end
Avatar utilizator
tastatura
Nivel 2

Nivel 2
Mesaje: 156
Membru din: 03 Mar 2016, 17:43
Server: 2021
Regat: Shinsoo
Aprecieri: 731  
Mulţumiri: 21  
Discord: Copiază ID
 Contact:
Medalii

Poftim ce are in fata -- le poti sterge sau lasa.

E funtional testat de mine :D
root@:/usr/game # cd /usr/game/share/locale/romania/quest
root@:/usr/game/share/locale/romania/quest # ./qc test.lua
QUEST : collect_quest_lv30
STATE : start
WHEN : login or
WHEN : levelup
with pc . level >= 30 and pc . level <= 150
STATE : information
WHEN : letter
WHEN : button or
WHEN : info
WHEN : target (__TARGET__.click) or
WHEN : 20084.chat ("A treia misiune")
STATE : go_to_disciple
WHEN : letter
WHEN : button or
WHEN : info
WHEN : 71035.use
WHEN : 20084.chat ("Ai un dinte de orc?")
with pc . count_item ( 30006 ) > 0
STATE : key_item
WHEN : target (__TARGET__.click) or
WHEN : 20084.chat ("Recompensa Dinti de Orc")
STATE : __complete
root@:/usr/game/share/locale/romania/quest #
Pentru acest mesaj, tastatura for the post:
IliaMihai
Avatar utilizator
IliaMihai
Nou Venit

Nou Venit
Mesaje: 19
Membru din: 14 Mai 2016, 00:01
Server: Momentan nu joc
Aprecieri: 71  
Mulţumiri: 0
Discord: Copiază ID
 Contact:
Medalii

tastatura scrie: ↑01 Feb 2021, 19:49 Poftim ce are in fata -- le poti sterge sau lasa.

E funtional testat de mine :D
root@:/usr/game # cd /usr/game/share/locale/romania/quest
root@:/usr/game/share/locale/romania/quest # ./qc test.lua
QUEST : collect_quest_lv30
STATE : start
WHEN : login or
WHEN : levelup
with pc . level >= 30 and pc . level <= 150
STATE : information
WHEN : letter
WHEN : button or
WHEN : info
WHEN : target (__TARGET__.click) or
WHEN : 20084.chat ("A treia misiune")
STATE : go_to_disciple
WHEN : letter
WHEN : button or
WHEN : info
WHEN : 71035.use
WHEN : 20084.chat ("Ai un dinte de orc?")
with pc . count_item ( 30006 ) > 0
STATE : key_item
WHEN : target (__TARGET__.click) or
WHEN : 20084.chat ("Recompensa Dinti de Orc")
STATE : __complete
root@:/usr/game/share/locale/romania/quest #
Mersi mult :D
Închis
Răspunsuri
2
Vizualizări
325
Răspunsuri
2
Vizualizări
633

Înapoi la “Probleme rezolvate”

  • Informaţie