1 level la fiecare folosire a unui item

Avatar utilizator
Nahual
Ţepar / Untrusted User

Ţepar / Untrusted User
Mesaje: 308
Membru din: 14 Mai 2018, 08:30
Regat: Jinno
Aprecieri: 2  
Mulţumiri: 197  
Medalii

Nume: Level
Descriere: Prin folosirea itemului ti se ofera 1 level in plus, mi se pare destul de bun pentru serverele pvp(desi merge si in pvm, cu un drop sau craft care te face sa vrei sa cresti singur). Ceruse cineva un astfel de quest, am vazut ca nu este postat si ma gandeam ca va este folositor.
Imagini: Nu e nevoie
Quest:

Cod: Selectaţi tot

quest level begin
   state start begin
      when 40004.use begin------------de aici va alegeti voi ce item vreti sa se foloseasca pentru level
         local item_vnum = 40004-------puneti din nou itemul
         local item_delete_count = 0-----daca vreti ca inelul sa se foloseasca nelimitat nelimitat puneti 0, daca vreti sa se foloseasca numai o data puneti 1
         local l_min = 10------------level minim de folosire al obiectului
         local l_max = 105-----------level maxim pe server sau level maxim de folosire a obiectului
         local level_offered = 1-----de aici modificati cate leveluri sa va ofere la fiecare folosire
         local l_min1 = (l_min - 1)
         local l_max1 = (l_max - 2)
         local l_max2 = (l_max - 1)
         local E = pc.get_exp()
         local lvl = (pc.get_level() + level_offered)
            if pc.count_item(item_vnum) < 1 then
				syschat("nu ai destule, ma")
				return
			end
            if pc.get_level() == l_max then
               syschat("Ai deja nivelul "..pc.get_level()..", nu mai ai nevoie de obiect !")
               pc.remove_item( item_vnum, 1)
               syschat("Obiectul a fost eliminat !")
            end
            if pc.get_level() < l_min1 then
               syschat("Nivelul minim pentru a folosi obiectul este "..l_min..", iar al tau este "..pc.get_level().."")
               syschat("Pentru a putea folosi obiectul, iti mai trebuie "..(l_min - pc.get_level()).." niveluri !")
            end
            if pc.get_level() == l_min1 then
               syschat("Nivelul minim pentru a folosi obiectul este "..l_min..", iar al tau este "..pc.get_level().."")
               syschat("Pentru a putea folosi obiectul, iti mai trebuie "..(l_min - pc.get_level()).." nivel !")
            end
            if pc.get_level() == l_max1 then
               while pc.get_level() < lvl do
                  pc.set_level(lvl)
                  pc.give_exp2(-E)
                  pc.remove_item( item_vnum, item_delete_count)
                  syschat("Felicitari, "..pc.get_name()..", ai primit level "..pc.get_level().." !")
                  syschat("Mai ai nevoie de "..(l_max - pc.get_level()).." nivel pana la "..l_max.." !")
               end
            end
            if pc.get_level() >= l_min and pc.get_level() < l_max1 then
               while pc.get_level() < lvl do
                  pc.set_level(lvl)
                  pc.give_exp2(-E)
                  pc.remove_item( item_vnum, item_delete_count)
                  syschat("Felicitari, "..pc.get_name()..", ai primit level "..pc.get_level().." !")
                  syschat("Mai ai nevoie de "..(l_max - pc.get_level()).." niveluri pana la "..l_max.." !")
               end
            end
            if pc.get_level() >= l_min and pc.get_level() <= l_max2 then
               while pc.get_level() < lvl do
                  pc.set_level(lvl)
                  pc.give_exp2(-E)
                  pc.remove_item( item_vnum, item_delete_count)
                  syschat("Felicitari, "..pc.get_name()..", ai primit level "..pc.get_level().." !")
                  syschat("De acum nu mai poti folosi obiectul !")
               end
            end
      end---when
   end----state
end----quest
--==========================================================================
--verificati quest_functions pentru:
--pc.get_exp
--pc.get_level
--pc.give_exp2
--pc.get_next_exp
--In cazul in care nu le aveti, le adaugati voi la sfarsitul fisierului.
--pentru probleme ma gasiti pe Just4Metin
--cu numele de Nahual
--==========================================================================
Download(Opţional): nu are rost, doar creati un fisier cu orice_nume.lua si il instalati

Tutorial instalare quest:
  • Salvaţi conţinutul quest-ului într-un fişier text numit, de exemplu, nume_quest.quest/.lua
  • Vă conectaţi la filezilla / winscp şi întrati în /usr/home/game/share/locale/germany/quest (depinde ce server aveţi).
  • Îl puneţi acolo (să fie .quest sau .lua).
  • Te loghezi în FreeBSD / putty şi scrii în felul următor: cd /usr/home/game/share/locale/romania/quest (depinde ce server aveţi) apoi ./qc nume_quest.quest/.lua
  • Intraţi pe server şi scrieţi /reload q
  • Testaţi quest-ul.



Edit: mda, tocmai am vazut ca a postat Raffael questul pentru cineva de pe forum, in probleme si intrebari, daca nu-si are locul aici, puteti sa-l stergeti ;) :ymhug:

Update: Acum va arata si ce level ati primit dupa folosire, care este levelul maxim pana la care poate fi folosit si cate leveluri mai aveti de facut pana la lvl max. + rezolvare crash core.
Update2... v-am pus si count..

il puteti descarca de aici: https://mega.nz/#!KIwH2RxY!XvtUfL2H7vp1 ... ZPe0swoU2c

VT: https://www.virustotal.com/#/file/9c15d ... /detection
Ultima oară modificat 28 Aug 2018, 04:18 de către Nahual, modificat de 5 ori în total.
Pentru acest mesaj, Nahual for the post:
Meriusb5
Ce are tata de vânzare ?

Imagine
Crezi ca te pot ajuta ?
Discord -> Nahual#1133
https://nahual.jimdosite.com
Afișează semnătura
Avatar utilizator
Inuyasha
Utilizator interzis !

Utilizator interzis !
Mesaje: 1087
Membru din: 17 Feb 2017, 22:54
Server: Metin2 Ro
Regat: Chunjo
Aprecieri: 12  
Mulţumiri: 182  
 Contact:
Medalii

crash.
„Vrei să trăiești cum se cuvine? Învață mai întâi să mori.” — Confucius
Afișează semnătura
Avatar utilizator
Nahual
Ţepar / Untrusted User

Ţepar / Untrusted User
Mesaje: 308
Membru din: 14 Mai 2018, 08:30
Regat: Jinno
Aprecieri: 2  
Mulţumiri: 197  
Medalii

bebedani scrie:crash.
Gata, am facut update, scuze ! :ymhug:
Ce are tata de vânzare ?

Imagine
Crezi ca te pot ajuta ?
Discord -> Nahual#1133
https://nahual.jimdosite.com
Afișează semnătura
Avatar utilizator
Jnebun
Nivel 1

Nivel 1
Mesaje: 113
Membru din: 15 Oct 2015, 15:57
Aprecieri: 0
Mulţumiri: 19  
Medalii

Nahual scrie:Nume: Level
Descriere: Prin folosirea itemului ti se ofera 1 level in plus, mi se pare destul de bun pentru serverele pvp(desi merge si in pvm, cu un drop sau craft care te face sa vrei sa cresti singur). Ceruse cineva un astfel de quest, am vazut ca nu este postat si ma gandeam ca va este folositor.
Imagini: Nu e nevoie
Quest:

Cod: Selectaţi tot

quest level begin
	state start begin
		when 40004.use begin------------de aici va alegeti voi ce item vreti sa se foloseasca pentru level
			local item_vnum = 40004-------puneti din nou itemul
			local item_delete_count = 0-----daca vreti ca inelul sa se foloseasca nelimitat nelimitat puneti 0, daca vreti sa se foloseasca numai o data puneti 1
			local l_min = 10------------level minim de folosire al obiectului
			local l_max = 105-----------level maxim pe server sau level maxim de folosire a obiectului
			local level_offered = 1-----de aici modificati cate leveluri sa va ofere la fiecare folosire

			local l_min1 = (l_min - 1)
			local l_max1 = (l_max - 2)
			local lvl = (pc.get_level() + level_offered)
				if pc.get_level() == l_max then
					syschat("Ai deja nivelul "..pc.get_level()..", nu mai ai nevoie de obiect !")
				end
				if pc.get_level() == l_max then
					pc.remove_item( item_vnum, 1)
					syschat("Inelul a fost eliminat !")
				end
				if pc.get_level() < (l_min - 1) then
					syschat("Nivelul minim pentru a folosi obiectul este "..l_min..", iar al tau este "..pc.get_level().."")
					syschat("Pentru a putea folosi obiectul, iti mai trebuie "..(l_min - pc.get_level()).." niveluri !")
				end
				if pc.get_level() == l_min1 then
					syschat("Nivelul minim pentru a folosi obiectul este "..l_min..", iar al tau este "..pc.get_level().."")
					syschat("Pentru a putea folosi obiectu,l iti mai trebuie "..(l_min - pc.get_level()).." nivel !")
				end
				if pc.get_level() == l_max1 then
					while pc.get_level() < lvl do
						pc.give_exp2(pc.get_next_exp())
						pc.remove_item( item_vnum, item_delete_count)
						syschat("Felicitari, "..pc.get_name()..", ai primit level "..pc.get_level().." !")
						syschat("Mai ai nevoie de "..(l_max - pc.get_level()).." nivel pana la "..l_max.." !")
					end
				end
				if pc.get_level() > l_min and pc.get_level() < l_max1 then
					while pc.get_level() < lvl do
						pc.give_exp2(pc.get_next_exp())
						pc.remove_item( item_vnum, item_delete_count)
						syschat("Felicitari, "..pc.get_name()..", ai primit level "..pc.get_level().." !")
						syschat("Mai ai nevoie de "..(l_max - pc.get_level()).." niveluri pana la "..l_max.." !")
					end
				end
				if pc.get_level() < l_max then
					while pc.get_level() < lvl do
						pc.give_exp2(pc.get_next_exp())
						pc.remove_item( item_vnum, item_delete_count)
						syschat("Felicitari, "..pc.get_name()..", ai primit level "..pc.get_level().." !")
						syschat("De acum nu mai poti folosi obiectul !")
					end
				end
		end---when
	end----state
end----quest
--==========================================================================
--verificati quest_functions pentru:
--pc.get_level
--pc.give_exp2
--pc.get_next_exp
--In cazul in care nu le aveti, le adaugati voi la sfarsitul fisierului.
--pentru probleme ma gasiti pe Just4Metin
--cu numele de Nahual
--==========================================================================
Download(Opţional): nu are rost, doar creati un fisier cu orice_nume.lua si il instalati

Tutorial instalare quest:
  • Salvaţi conţinutul quest-ului într-un fişier text numit, de exemplu, nume_quest.quest/.lua
  • Vă conectaţi la filezilla / winscp şi întrati în /usr/home/game/share/locale/germany/quest (depinde ce server aveţi).
  • Îl puneţi acolo (să fie .quest sau .lua).
  • Te loghezi în FreeBSD / putty şi scrii în felul următor: cd /usr/home/game/share/locale/romania/quest (depinde ce server aveţi) apoi ./qc nume_quest.quest/.lua
  • Intraţi pe server şi scrieţi /reload q
  • Testaţi quest-ul.



Edit: mda, tocmai am vazut ca a postat Raffael questul pentru cineva de pe forum, in probleme si intrebari, daca nu-si are locul aici, puteti sa-l stergeti ;) :ymhug:

Update: Acum va arata si ce level ati primit dupa folosire, care este levelul maxim pana la care poate fi folosit si cate leveluri mai aveti de facut pana la lvl max. + rezolvare crash core.
Ai pus aceleasi conditi de mai multe ori
Pt fiecare level ia

Cod: Selectaţi tot

tem_delete_count
Nu are verificare daca detine numarul de itm necesare

Cod: Selectaţi tot

tem_delete_count
Concluzie folositi questul asta

Cod: Selectaţi tot

quest level begin
	state start begin
		when 40004.use begin				--cod itm
			local item_vnum = 40004			--cod itm
			local item_delete_count = 1		--de cate itm sa fie nevoie
			local l_min = 10				--level minim pentru folosirea obiectului
			local l_max = 105				--level maxim pentru folosirea obiectului
			local level_offered = 1			--cate levele sa ofere
			local lvl = (pc.get_level() + level_offered)
			if pc.get_level() < l_min then
				syschat("Nivelul minim pentru a folosi obiectul este "..l_min..", iar al tau este "..pc.get_level()..".")
				syschat("Pentru a putea folosi obiectul, iti mai trebuie "..(l_min - pc.get_level()).." niveluri !")
				return
			end
			if pc.get_level() == l_max then
				syschat("Nivelul maxim pentru a folosi obiectul este "..(l_max-1)..", iar al tau este "..pc.get_level()..".")
				return
			end
			if pc.count_item(item_vnum) < item_delete_count then
				syschat("Ai nevoie de "..item_delete_count.." obiecte pentru a le putea folosi.")
				return
			end
			pc.remove_item( item_vnum, item_delete_count)
			while pc.get_level() < lvl do
				if pc.get_level() == l_max then
					return
				end
				pc.give_exp2(pc.get_next_exp())
				syschat("Felicitari, "..pc.get_name()..", ai primit level "..pc.get_level().." !")
				syschat("Mai ai nevoie de "..(l_max - pc.get_level()).." niveluri pana la "..l_max.." !")
			end
		end
	end
end
Avatar utilizator
Nahual
Ţepar / Untrusted User

Ţepar / Untrusted User
Mesaje: 308
Membru din: 14 Mai 2018, 08:30
Regat: Jinno
Aprecieri: 2  
Mulţumiri: 197  
Medalii

Jnebun scrie:
Nahual scrie:Nume: Level
Descriere: Prin folosirea itemului ti se ofera 1 level in plus, mi se pare destul de bun pentru serverele pvp(desi merge si in pvm, cu un drop sau craft care te face sa vrei sa cresti singur). Ceruse cineva un astfel de quest, am vazut ca nu este postat si ma gandeam ca va este folositor.
Imagini: Nu e nevoie
Quest:

Cod: Selectaţi tot

quest level begin
	state start begin
		when 40004.use begin------------de aici va alegeti voi ce item vreti sa se foloseasca pentru level
			local item_vnum = 40004-------puneti din nou itemul
			local item_delete_count = 0-----daca vreti ca inelul sa se foloseasca nelimitat nelimitat puneti 0, daca vreti sa se foloseasca numai o data puneti 1
			local l_min = 10------------level minim de folosire al obiectului
			local l_max = 105-----------level maxim pe server sau level maxim de folosire a obiectului
			local level_offered = 1-----de aici modificati cate leveluri sa va ofere la fiecare folosire

			local l_min1 = (l_min - 1)
			local l_max1 = (l_max - 2)
			local lvl = (pc.get_level() + level_offered)
				if pc.get_level() == l_max then
					syschat("Ai deja nivelul "..pc.get_level()..", nu mai ai nevoie de obiect !")
				end
				if pc.get_level() == l_max then
					pc.remove_item( item_vnum, 1)
					syschat("Inelul a fost eliminat !")
				end
				if pc.get_level() < (l_min - 1) then
					syschat("Nivelul minim pentru a folosi obiectul este "..l_min..", iar al tau este "..pc.get_level().."")
					syschat("Pentru a putea folosi obiectul, iti mai trebuie "..(l_min - pc.get_level()).." niveluri !")
				end
				if pc.get_level() == l_min1 then
					syschat("Nivelul minim pentru a folosi obiectul este "..l_min..", iar al tau este "..pc.get_level().."")
					syschat("Pentru a putea folosi obiectu,l iti mai trebuie "..(l_min - pc.get_level()).." nivel !")
				end
				if pc.get_level() == l_max1 then
					while pc.get_level() < lvl do
						pc.give_exp2(pc.get_next_exp())
						pc.remove_item( item_vnum, item_delete_count)
						syschat("Felicitari, "..pc.get_name()..", ai primit level "..pc.get_level().." !")
						syschat("Mai ai nevoie de "..(l_max - pc.get_level()).." nivel pana la "..l_max.." !")
					end
				end
				if pc.get_level() > l_min and pc.get_level() < l_max1 then
					while pc.get_level() < lvl do
						pc.give_exp2(pc.get_next_exp())
						pc.remove_item( item_vnum, item_delete_count)
						syschat("Felicitari, "..pc.get_name()..", ai primit level "..pc.get_level().." !")
						syschat("Mai ai nevoie de "..(l_max - pc.get_level()).." niveluri pana la "..l_max.." !")
					end
				end
				if pc.get_level() < l_max then
					while pc.get_level() < lvl do
						pc.give_exp2(pc.get_next_exp())
						pc.remove_item( item_vnum, item_delete_count)
						syschat("Felicitari, "..pc.get_name()..", ai primit level "..pc.get_level().." !")
						syschat("De acum nu mai poti folosi obiectul !")
					end
				end
		end---when
	end----state
end----quest
--==========================================================================
--verificati quest_functions pentru:
--pc.get_level
--pc.give_exp2
--pc.get_next_exp
--In cazul in care nu le aveti, le adaugati voi la sfarsitul fisierului.
--pentru probleme ma gasiti pe Just4Metin
--cu numele de Nahual
--==========================================================================
Download(Opţional): nu are rost, doar creati un fisier cu orice_nume.lua si il instalati

Tutorial instalare quest:
  • Salvaţi conţinutul quest-ului într-un fişier text numit, de exemplu, nume_quest.quest/.lua
  • Vă conectaţi la filezilla / winscp şi întrati în /usr/home/game/share/locale/germany/quest (depinde ce server aveţi).
  • Îl puneţi acolo (să fie .quest sau .lua).
  • Te loghezi în FreeBSD / putty şi scrii în felul următor: cd /usr/home/game/share/locale/romania/quest (depinde ce server aveţi) apoi ./qc nume_quest.quest/.lua
  • Intraţi pe server şi scrieţi /reload q
  • Testaţi quest-ul.



Edit: mda, tocmai am vazut ca a postat Raffael questul pentru cineva de pe forum, in probleme si intrebari, daca nu-si are locul aici, puteti sa-l stergeti ;) :ymhug:

Update: Acum va arata si ce level ati primit dupa folosire, care este levelul maxim pana la care poate fi folosit si cate leveluri mai aveti de facut pana la lvl max. + rezolvare crash core.
Ai pus aceleasi conditi de mai multe ori
Pt fiecare level ia

Cod: Selectaţi tot

tem_delete_count
Nu are verificare daca detine numarul de itm necesare

Cod: Selectaţi tot

tem_delete_count
Concluzie folositi questul asta

Cod: Selectaţi tot

quest level begin
	state start begin
		when 40004.use begin				--cod itm
			local item_vnum = 40004			--cod itm
			local item_delete_count = 1		--de cate itm sa fie nevoie
			local l_min = 10				--level minim pentru folosirea obiectului
			local l_max = 105				--level maxim pentru folosirea obiectului
			local level_offered = 1			--cate levele sa ofere
			local lvl = (pc.get_level() + level_offered)
			if pc.get_level() < l_min then
				syschat("Nivelul minim pentru a folosi obiectul este "..l_min..", iar al tau este "..pc.get_level()..".")
				syschat("Pentru a putea folosi obiectul, iti mai trebuie "..(l_min - pc.get_level()).." niveluri !")
				return
			end
			if pc.get_level() == l_max then
				syschat("Nivelul maxim pentru a folosi obiectul este "..(l_max-1)..", iar al tau este "..pc.get_level()..".")
				return
			end
			if pc.count_item(item_vnum) < item_delete_count then
				syschat("Ai nevoie de "..item_delete_count.." obiecte pentru a le putea folosi.")
				return
			end
			pc.remove_item( item_vnum, item_delete_count)
			while pc.get_level() < lvl do
				if pc.get_level() == l_max then
					return
				end
				pc.give_exp2(pc.get_next_exp())
				syschat("Felicitari, "..pc.get_name()..", ai primit level "..pc.get_level().." !")
				syschat("Mai ai nevoie de "..(l_max - pc.get_level()).." niveluri pana la "..l_max.." !")
			end
		end
	end
end
Nu prea te-ai deranjat sa citesti questul, nu ?
Aceleasi conditii sunt pentru a nu iti zice ca mai ai nevoie de "1 niveluri", in loc de "1 nivel".
Cat despre itemele necesare este, de fapt, unul singur .. care oricum provoaca o secunda de lag, deci count nu ar avea efect
Eu apreciez ca te-ai deranjat sa citesti o particica din el, dar data viitoare, citeste-l pe tot, cu atentie.
Mersi !
Ultima oară modificat 27 Aug 2018, 15:19 de către Nahual, modificat 1 dată în total.
Ce are tata de vânzare ?

Imagine
Crezi ca te pot ajuta ?
Discord -> Nahual#1133
https://nahual.jimdosite.com
Afișează semnătura
Avatar utilizator
șumahăr
Mister Just4Metin

Mister Just4Metin
Mesaje: 701
Membru din: 29 Iun 2018, 13:50
Aprecieri: 187  
Mulţumiri: 2319  
Discord: Copiază ID
Medalii

Imi place mult, Folositor pentru pvm-uri cat si pvp-uri! +1
Avatar utilizator
Jnebun
Nivel 1

Nivel 1
Mesaje: 113
Membru din: 15 Oct 2015, 15:57
Aprecieri: 0
Mulţumiri: 19  
Medalii

Nahual scrie: Nu prea te-ai deranjat sa citesti questul, nu ?
Aceleasi conditii sunt pentru a nu iti zice ca mai ai nevoie de "1 niveluri", in loc de "1 nivel".
Cat despre itemele necesare este, de fapt, unul singur .. care oricum provoaca o secunda de lag, deci count nu ar avea efect
Eu apreciez ca te-ai deranjat sa citesti o particica din el, dar data viitoare, citeste-l pe tot, cu atentie.
Mersi !
Modifica item_delete_count cu 10 si puneti doar un itm in inventar sa vezi ca tot iti da lv.
Avatar utilizator
Braxy
Quest Creator

Quest Creator
Mesaje: 293
Membru din: 04 Mai 2016, 17:13
Regat: Jinno
Aprecieri: 7  
Mulţumiri: 228  
Medalii

Avatar utilizator
Nahual
Ţepar / Untrusted User

Ţepar / Untrusted User
Mesaje: 308
Membru din: 14 Mai 2018, 08:30
Regat: Jinno
Aprecieri: 2  
Mulţumiri: 197  
Medalii

iBraxy scrie:
Fa-ma sa-ti dau mesaj pe skype =))
Se putea ma sa nu sara el ? :))
Ce are tata de vânzare ?

Imagine
Crezi ca te pot ajuta ?
Discord -> Nahual#1133
https://nahual.jimdosite.com
Afișează semnătura
Avatar utilizator
Syron
Developer

Developer
Mesaje: 712
Membru din: 14 Mai 2014, 23:41
Aprecieri: 5  
Mulţumiri: 138  
Medalii

SetLevel(GetLevel() + 1);

???
Răspunde

Înapoi la “Quest-uri”

  • Informaţie
  • Cine este conectat

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