[LUA] Drop item depending on equipment or other functions

Avatar utilizator
VegaS
Membru Club

Membru Club
Mesaje: 233
Membru din: 30 Oct 2015, 17:31
Aprecieri: 68  
Mulţumiri: 298  
 Contact:
Medalii

Once you put an item or activate a function of the available mine will start to start the timer approx. 5 seconds to check. After checking function fulfill their duties start namely:
Default I put in the verification of armor which is (20009 - beta war) once equipped with this item you will start checking after 5 seconds the quest to propiu said, not trivial change in other assets.
Once started questu killing any metin / etc ve monster he could drop the item x, we put three dropare functions as perhaps others will want to fail them directly in inventory on others below by owner etc.
We added a chance to fail this item not to fall steadily every mob killed specifically to be changed easily between 1 and xxxxx.
Which means that once the item drop of mobs x500 (example).
Timer verification may change but in one decent.
Imagine
Available functions in quest you like sons:
-----  ['Verificare in functie de arma']        = functie.quest1
-----   ['Verificare in functie de level']        = functie.quest12
-----   ['Verificare in functie de HP']        = functie.quest3
-----   ['Verificare in functie de Maxima HP']        = functie.quest4
-----   ['Verificare in functie de PM']        = functie.quest5
-----   ['Verificare in functie de Maxima PM']        = functie.quest6
-----   ['Verificare in functie de Experienta']        = functie.quest7
-----   ['Verificare in functie de  nivelul urmator']        = functie.quest8
-----   ['Verificare in functie de rasa']        = functie.quest9
-----   ['Verificare in functie de yang']         = functie.quest10
-----   ['Verificare in functie de nume']         = functie.quest11
-----   ['Verificare in functie de minute jucate']     = functie.quest12
-----   ['Verificare in functie leader']     = functie.quest13
-----   ['Verificare in functie de regat']         = functie.quest14
-----   ['Verificare in functie de skill-uri']     = functie.quest15
?i altele...
-----------------------------------------------------

-----
-----local vegas = pc.get_armor() ----- Functie verificare armura
-----if vegas==20009 and pc.getqf("verificare_costum") != 1 then	----- Modificare vnum item in care se face verificarea
-----
-----
-----local level = pc.get_level() ----- Functie verificare level
-----if level==105 and pc.getqf("verificare_level") != 1 then	----- Modificare level pentru verificare
-----
-----
 -----   ['Verificare arma']		= pc.getweapon() 
 -----   ['Verificare level']		= pc.get_level() 
 -----   ['Verificare HP']		= pc.gethp() 
 -----   ['Verificare Maxima HP']		= pc.getmaxhp() 
 -----   ['Verificare PM']		= pc.getsp() 
 -----   ['Verificare Maxima PM']		= pc.getmaxsp() 
 -----   ['Verificare Exp']		= pc.get_exp() 
 -----   ['Verificare pentru nivelul urmator']		= pc.get_next_exp() 
 -----   ['Verificare in functie de rasa']		= pc.get_job() 
 -----   ['Verificare in functie de yang'] 		= pc.getmoney() 
 -----   ['Verificare in functie de nume'] 		= pc.getname() 
 -----   ['Verificare in functie de minute jucate'] 	= pc.getplaytime() 
 -----   ['Verificare leader'] 	= pc.getleadership() 
 -----   ['Verificare in functie de regat'] 		= pc.getempire() 
 -----   ['Verificare in functie de skill-uri'] 	= pc.get_skill_group() 
quest simple_quest begin
	state start begin		
		when login begin
			loop_timer("verificare_echipament", 5) -- Numar secunde pentru a face verificarea
		end
		when verificare_echipament.timer begin
			local vegas = pc.get_armor() -- Functie verificare armura
			if vegas==20009 and pc.getqf("verificare_armura") != 1 then	-- Modificare vnum item in care se face verificarea daca itemul este echipat
				pc.setqf("verificare_armura", 1)
				set_state(verificare)		
			end
		end
	end

	state verificare begin
		when kill with not npc.is_pc() begin	
			local vegas = pc.get_armor()
			if vegas==20009 and pc.getqf("verificare_armura") != 1 then
			sansa = math.random ( 1 , 5 ) -- Modificare sansa drop
				if sansa == 1 then						
				game.drop_item_with_ownership(50512,1)	-- Modificare vnum item
			    -----	game.drop_item(50512, 1)	-- Modificare vnum item + cantitate (picare item pe jos)
				----- 	pc.give_item2(50512,1)		-- Itemul se dropeaza in inventar
				end
			end
		end
	end
end
Tutorial instalare quest:
1. Salvaţi conţinutul quest-ului într-un fişier text numit de exemplu nume_quest.quest .
2. Vă conectaţi la filezilla / winscp şi întrati în /usr/home/game/share/locale/germany/quest (depinde ce server aveţi).
3. Îl puneţi acolo (să fie .quest) şi da-ţi permisiuni 777.
4. Te loghezi în FreeBSD / putty şi scrii în felul următor: cd /usr/home/game/share/locale/germany/quest apoi ./qc nume_quest.quest
5. Intraţi pe server şi scrieţi /reload q .
6. Testaţi quest-ul .
Ultima oară modificat 25 Iun 2016, 17:24 de către VegaS, modificat 1 dată în total.
Pentru acest mesaj, VegaS a primit 2 (de) mulţumiri
Quatro • C.Anatol
Avatar utilizator
C.Anatol
Nou Venit

Nou Venit
Mesaje: 8
Membru din: 06 Feb 2016, 20:01
Aprecieri: 1  
Mulţumiri: 0
 Contact:
Medalii

Foarte bună ideea :)
Questul este foarte folositor la efectuarea unor evente :)
Exemplu : „Să dropezi armura și apoi când ai armura dropezi și altă piesa:”
Fain, Merci ;)
Avatar utilizator
VegaS
Membru Club

Membru Club
Mesaje: 233
Membru din: 30 Oct 2015, 17:31
Aprecieri: 68  
Mulţumiri: 298  
 Contact:
Medalii

C.Anatol scrie:Foarte bună ideea :)
Questul este foarte folositor la efectuarea unor evente :)
Exemplu : „Să dropezi armura și apoi când ai armura dropezi și altă piesa:”
Fain, Merci ;)
Cu plăcere xD
Avatar utilizator
vinulet4
Nivel 2

Nivel 2
Mesaje: 231
Membru din: 27 Ian 2015, 18:57
Server: Nici unu
Regat: Jinno
Aprecieri: 32  
Mulţumiri: 34  
Medalii

Pe inel nu se poate in loc de armura sau pe costum?
Edit Am facut cu ai spus am modificat cum ai zis tu dar nu merge de loc uite questu cum lam facut eu

Cod: Selectaţi tot

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

-----
-----local vegas = pc.get_armor() ----- Functie verificare armura
-----if vegas==21099 and pc.getqf("verificare_costum") != 1 then	----- Modificare vnum item in care se face verificarea
-----
-----
-----local level = pc.get_level() ----- Functie verificare level
-----if level==120 and pc.getqf("verificare_level") != 1 then	----- Modificare level pentru verificare
-----
-----
 -----   ['Verificare arma']		= pc.getweapon() 
 -----   ['Verificare level']		= pc.get_level() 
 -----   ['Verificare HP']		= pc.gethp() 
 -----   ['Verificare Maxima HP']		= pc.getmaxhp() 
 -----   ['Verificare PM']		= pc.getsp() 
 -----   ['Verificare Maxima PM']		= pc.getmaxsp() 
 -----   ['Verificare Exp']		= pc.get_exp() 
 -----   ['Verificare pentru nivelul urmator']		= pc.get_next_exp() 
 -----   ['Verificare in functie de rasa']		= pc.get_job() 
 -----   ['Verificare in functie de yang'] 		= pc.getmoney() 
 -----   ['Verificare in functie de nume'] 		= pc.getname() 
 -----   ['Verificare in functie de minute jucate'] 	= pc.getplaytime() 
 -----   ['Verificare leader'] 	= pc.getleadership() 
 -----   ['Verificare in functie de regat'] 		= pc.getempire() 
 -----   ['Verificare in functie de skill-uri'] 	= pc.get_skill_group() 
quest simple_quest begin
	state start begin		
		when login begin
			loop_timer("verificare_echipament", 5) -- Numar secunde pentru a face verificarea
		end
		when verificare_echipament.timer begin
			local vegas = pc.get_armor() -- Functie verificare armura
			if vegas==21099 and pc.getqf("verificare_armura") != 1 then	-- Modificare vnum item in care se face verificarea daca itemul este echipat
				pc.setqf("verificare_armura", 1)
				set_state(verificare)		
			end
		end
	end

	state verificare begin
		when kill with not npc.is_pc() begin	
			local vegas = pc.get_armor()
			if vegas==21099 and pc.getqf("verificare_armura") != 1 then
			sansa = math.random ( 25 , 70 ) -- Modificare sansa drop
				if sansa == 1 then						
				game.drop_item_with_ownership(50011,5)	-- Modificare vnum item
			    -----	game.drop_item(50011, 5)	-- Modificare vnum item + cantitate (picare item pe jos)
				----- 	pc.give_item2(50011,5)		-- Itemul se dropeaza in inventar
				end
			end
		end
	end
end
Avatar utilizator
djdragos2009
Nivel 1

Nivel 1
Mesaje: 106
Membru din: 21 Apr 2015, 20:43
Server: Metin2Athos.tk
Regat: Jinno
Aprecieri: 3  
Mulţumiri: 0
Medalii

cu ce ajuta quest-ul asta ca nu inteleg
imi poti explica ?
Răspunde

Înapoi la “Quest-uri”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 4 vizitatori