Jump to content

Recommended Posts

Posted

Necesito una quest de leveo por pvp. El nivel maximo de mi servidor es 170, y quiero que desde el 150 hasta el 170, leveen matando otros pjs. Os dejo una lista de cosas que quiero que haga la quest:

 

1.- Si el pj es lvl 150, no recibir exp de mobs.

 

2.- Si el pj es lvl 150, recibir 200kk de exp por cada jugador de DISTINTO reino matado, y 100kk por cada jugador de su MISMO reino matado.

 

2.1.- Reducir la exp recibida a la mitad cada vez que el pj mate a otro jugador de manera consecutiva (1º muerte: 200kk, 2º muerte: 100kk, 3º muere: 50kk) Con esto conseguimos reducir el numero de pjs que se "alian" para levear matandose. Nota: Aunque el pj muera, hasta pasados 5 minutos no debe volver a recibir la recompensa de exp inicial.

 

3.- Si la ip del pj que ha muerto, coincide con la que lo ha matado, reducir 200kk de exp al jugador que ha matado. Con esto conseguimos que no se hagan segundos pjs para levear, y darles una sancion automatica cada vez que lo hagan.

 

4.- Si el pj que ha muerto es menor de lvl 90, el que ha matado no recibe exp.

 

5.- Desactivar la quest en mapas de leveo, como pueden ser gruta, arañas... Asi evitamos que los lvl 150+ vayan a molestar a otros pj mientras levean.

 

Espero que todo esto sea posible de hacer, y si ya esta creado, poned link porfavor, os lo agradeceria.

 

 

Posted
--[[needed functions:	npc.get_vid() -> http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/2177716-release-new-game-function-npc-get_vid.html]]quest pvplevelup begin	state start begin		when kill begin			-- 1			if not npc.is_pc() and pc.level >= 150 then -- killing mobs				pc.give_exp2(-pc.get_exp())			end			-- 5			local canContinue = true			local mapdict = {idx1, idx2, idx3, idx4, idx5, idx6} -- levelup map indexes			for _, v in ipairs(mapdict) do				if pc.get_map_index() == v then					canContinue = false					break				end 			end 			if pc.level >= 170 or canContinue == false then return end			if npc.is_pc() then -- killing other players				-- 4				local oppvid = pc.select(npc.get_vid())				local opplvl, oppid = 0, 0				if oppvid == 0 then return end				opplvl, oppid = pc.level, pc.get_player_id()				pc.select(oppvid)				if opplvl < 90 or get_time() < pc.getqf("delay") then return end				-- 2				local expvalue = tonumber(pc.getqf("killed_id") ~= oppid and 200000000 or 200000000/pc.getqf("killcount")+1)				pc.setqf("killed_id", oppid)				pc.setqf("killcount", tonumber(pc.getqf("killcount") == 2 and 0 or pc.getqf("killcount")+1))				pc.setqf("delay", get_time()+60*5)				pc.give_exp2(expvalue)			end		end	endend
  • Dilong locked this topic
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

This site uses cookies to enhance your browsing experience and provide relevant content. By continuing to browse, you agree to our We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. and Terms of Use. For more information on how we protect your data, please check our Privacy Policy.