Problemă Quest

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Avatar utilizator
catalog12
Nou Venit

Nou Venit
Mesaje: 14
Membru din: 06 Sep 2017, 13:14
Server: Metin2 Ro
Regat: Jinno
Aprecieri: 4  
Mulţumiri: 0
Medalii

*Problemă: Salut, am și eu acest quest, după care am alergat ceva timp și mă gândeam dacă mă puteți ajuta, quest-ul și detaliile o să le postez la *Detalii Suplimentare*.
Tipologie server: PVP
*Resursă folosită: -
*ServerFiles utilizat: -
*Syserr:-
Poză:-
*Detalii suplimentare:
Bun, deci acest quest oferă jucătorului care ucide un alt player, un item din cele 4 direct în inventar, aici, intervine ceea ce voiam să vă întreb și sper să mă puteți ajuta.
1. Vreau ca jucătorul care ucide persoana respectivă să primească 2 iteme în loc de un item.
2. Vreau dacă este posibil, ca quest-ul să funcționeze doar într-o mapa pe care o pot alege eu.
Quest -ul este mai jos:

quest pvpkills begin
	state start begin
		when kill with npc.is_pc() and pc.get_level() >= 250 begin
			local items = {--vnum, count
				{44040, 1},
				{44047, 1},
				{4047, 1},
				{4040, 1}
			}
			if number(1, 100) <= 100 then
				local rand = number(2, table.getn(items))
				pc.give_item2(items[rand][1], items[rand][2])
			end
		end
	end
end
Avatar utilizator
Aerkoi
Utilizator interzis !

Utilizator interzis !
Mesaje: 33
Membru din: 11 Sep 2016, 01:22
Server: Shinote
Regat: Chunjo
Aprecieri: 10  
Mulţumiri: 2  
Medalii

Pentru chestia cu mapa se foloseste pc.get_map_index(). Deci vei inlocui a 3-a linie cu:

Cod: Selectaţi tot

when kill with npc.is_pc() and pc.get_level() >= 250 and pc.get_map_index() == "index mapa" begin
Pentru acest mesaj, Aerkoi for the post:
catalog12
Avatar utilizator
catalog12
Nou Venit

Nou Venit
Mesaje: 14
Membru din: 06 Sep 2017, 13:14
Server: Metin2 Ro
Regat: Jinno
Aprecieri: 4  
Mulţumiri: 0
Medalii

Aerkoi scrie:Pentru chestia cu mapa se foloseste pc.get_map_index(). Deci vei inlocui a 3-a linie cu:

Cod: Selectaţi tot

when kill with npc.is_pc() and pc.get_level() >= 250 and pc.get_map_index() == "index mapa" begin
Mulțumesc frumos, aștept să văd dacă mă poate ajuta cineva și cu primul punct.
Avatar utilizator
klynaTz
Nivel 3

Nivel 3
Mesaje: 342
Membru din: 25 Ian 2014, 12:44
Regat: Chunjo
Aprecieri: 22  
Mulţumiri: 43  
Medalii

quest pvpkills begin
state start begin
when kill with npc.is_pc() and pc.get_level() >= 250 begin
local items = {--vnum, count
{44040, 1},
{44047, 1},
{4047, 1},
{4040, 1}
}
if number(1, 100) <= 100 then
local rand = number(2, table.getn(items))
pc.give_item2(items[rand][1], items[rand][2])
local rand2 = number(2, table.getn(items))
pc.give_item2(items[rand2][1], items[rand][2])
end
end
end
end
Nu e testat, nu am idee daca merge dar incearca-l.
Avatar utilizator
flyjet21
Nivel 3

Nivel 3
Mesaje: 486
Membru din: 29 Apr 2016, 07:43
Server: Rhea Metin2
Regat: Chunjo
Aprecieri: 115  
Mulţumiri: 25  
 Contact:
Medalii

Daca vrei 2x acelasi item.. Baga asta

quest pvpkills begin
state start begin
when kill with npc.is_pc() and pc.get_level() >= 250 begin
local items = {--vnum, count
{44040, 2},
{44047, 2},
{4047, 2},
{4040, 2}
}
if number(1, 100) <= 100 then
local rand = number(2, table.getn(items))
pc.give_item2(items[rand][1], items[rand][2])
end
end
end
end

Daca vrei doua iteme diferite din acea lista baga asta
quest pvpkills begin
state start begin
when kill with npc.is_pc() and pc.get_level() >= 250 begin
local items = {--vnum, count
{44040, 1},
{44047, 1},
{4047, 1},
{4040, 1}
}
if number(1, 100) <= 100 then
local rand = number(2, table.getn(items))
pc.give_item2(items[rand][1], items[rand][2])
pc.give_item2(items[rand][1], items[rand][2])

end
end
end
end

[ Postat de pe Android ] Imagine
proiect in lucru. Imagine Loading... 41%
Afișează semnătura
Avatar utilizator
catalog12
Nou Venit

Nou Venit
Mesaje: 14
Membru din: 06 Sep 2017, 13:14
Server: Metin2 Ro
Regat: Jinno
Aprecieri: 4  
Mulţumiri: 0
Medalii

flyjet21 scrie:Daca vrei 2x acelasi item.. Baga asta

quest pvpkills begin
state start begin
when kill with npc.is_pc() and pc.get_level() >= 250 begin
local items = {--vnum, count
{44040, 2},
{44047, 2},
{4047, 2},
{4040, 2}
}
if number(1, 100) <= 100 then
local rand = number(2, table.getn(items))
pc.give_item2(items[rand][1], items[rand][2])
end
end
end
end

Daca vrei doua iteme diferite din acea lista baga asta
quest pvpkills begin
state start begin
when kill with npc.is_pc() and pc.get_level() >= 250 begin
local items = {--vnum, count
{44040, 1},
{44047, 1},
{4047, 1},
{4040, 1}
}
if number(1, 100) <= 100 then
local rand = number(2, table.getn(items))
pc.give_item2(items[rand][1], items[rand][2])
pc.give_item2(items[rand][1], items[rand][2])

end
end
end
end

[ Postat de pe Android ] Imagine
Tot câte un item primesc, am folosit și varianta lui klynaTz, la fel, un item.
Avatar utilizator
flyjet21
Nivel 3

Nivel 3
Mesaje: 486
Membru din: 29 Apr 2016, 07:43
Server: Rhea Metin2
Regat: Chunjo
Aprecieri: 115  
Mulţumiri: 25  
 Contact:
Medalii

Sunt sigur ca se rezolva
Te voi ajuta cand ajung acasa. Daca nu gasesti solutie.

O alta solutie mai "improvizata" ar fi sa faci un cufar care sa dea itemele care vrei tu.
Iar cufarul sa i se dea cand bate jucatori.

In fine. Vedem..

[ Postat de pe Android ] Imagine
proiect in lucru. Imagine Loading... 41%
Afișează semnătura
Avatar utilizator
catalog12
Nou Venit

Nou Venit
Mesaje: 14
Membru din: 06 Sep 2017, 13:14
Server: Metin2 Ro
Regat: Jinno
Aprecieri: 4  
Mulţumiri: 0
Medalii

Ok, mulțumesc pentru interes, aștept să vedem dacă mai are cineva vre-o idee.
Avatar utilizator
AndyOpris
Nivel 4

Nivel 4
Mesaje: 500
Membru din: 09 Iun 2015, 15:12
Server: -
Regat: Jinno
Aprecieri: 1  
Mulţumiri: 226  
Medalii

Poftim.
Ce am facut?
Am setat eu map_indexul pe 41.
quest pvpkills begin
	state start begin
		when kill with npc.is_pc() and pc.get_level() >= 250 and pc.get_map_index() == 41 begin
			local items = {--vnum, count
				{44040, 1},
				{44047, 1},
				{4047, 1},
				{4040, 1}
			}
			local items2 = {--vnum, count
				{44040, 1},
				{44047, 1},
				{4047, 1},
				{4040, 1}
			}
			if number(1, 100) <= 100 then
				local rand = number(2, table.getn(items))
				pc.give_item2(items[rand][1], items[rand][2])
				local rand1 = number(2, table.getn(items2))
				pc.give_item2(items2[rand1][1], items2[rand1][2])
			end
		end
	end
end
Pentru acest mesaj, AndyOpris for the post:
catalog12
Avatar utilizator
catalog12
Nou Venit

Nou Venit
Mesaje: 14
Membru din: 06 Sep 2017, 13:14
Server: Metin2 Ro
Regat: Jinno
Aprecieri: 4  
Mulţumiri: 0
Medalii

AndyOpris scrie:Poftim.
Ce am facut?
Am setat eu map_indexul pe 41.
quest pvpkills begin
	state start begin
		when kill with npc.is_pc() and pc.get_level() >= 250 and pc.get_map_index() == 41 begin
			local items = {--vnum, count
				{44040, 1},
				{44047, 1},
				{4047, 1},
				{4040, 1}
			}
			local items2 = {--vnum, count
				{44040, 1},
				{44047, 1},
				{4047, 1},
				{4040, 1}
			}
			if number(1, 100) <= 100 then
				local rand = number(2, table.getn(items))
				pc.give_item2(items[rand][1], items[rand][2])
				local rand1 = number(2, table.getn(items2))
				pc.give_item2(items2[rand1][1], items2[rand1][2])
			end
		end
	end
end
Fără rezultat, tot cate un item îmi dă.

EDIT : L-am făcut să funcționeze, mulțumesc frumos. Cer T/C
Închis
Răspunsuri
6
Vizualizări
400
Răspunsuri
4
Vizualizări
221
Răspunsuri
4
Vizualizări
412
Răspunsuri
3
Vizualizări
735

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

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