Jump to content

[BUG FIX] Combate de arena


aerandir

Recommended Posts

Hola. Tras mucho tiempo sin pasar por aqui ni mirar metin vuelvo para daros una solucion, como ya hace mas de un año di a la guerra de gremios (por esos entonces en univjuegos).

He conseguido "Desbuguear" el combate de arena. Sois el primer sitio donde lo publico. Lo probe con los files de DAROO. Puede que no coincidan las rutas pero si los archivos de vuestro server.

NOTA: REALIZAD COPIA DE SEGURIDAD PRIMERO.

Empezamos. Lo primero, buscamos en el cliente el archivo atlasinfo.txt (normalmente en el root.epk-eix) y añadimos lo siguiente mirad que no haya uno ya:
 

NOTA:CUANDO COPIAIS ESTE TEXTO OS PONE ESPACIOS. DADLE TAB'S

metin2_map_duel    844800    0    1    1metin2_map_duel    848400    100    1    1

Ahora vamos al servidor.

Buscamos la ruta /usr/home/game/ y en los archivos CONFIG de las carpetas channel y game99 (segun tengais):

channel1, 2, 3, 4:

Añadid el numero 90 a la lista de MAP_ALLOW y mirad que no este el numero 112 en la lista.

Game99:

Revisad que en la lista MAP_ALLOW tengais el numero 112 (y que no tengais ningun mapa con numero 90)


A continuacion vais a la carpeta de los mapas (/usr/home/game/share/locale/germany/map) y en ella buscais y editais archivo Index:

Buscad

112 metin2_map_duel

cambiad por:

90 metin2_map_duel

(Si no esta ninguno, poneis solo el 90 metin2_map_duel y mirad bien que no haya mapa con numero 90)

Despues vais a la carpeta del pais (en mi caso germany: /usr/home/game/share/locale/germany) y editais el archivo settings.lua:

Buscad si teneis estas lineas:

arena.add_map(112, 8534, 101, 8564, 101)arena.add_map(112, 8584, 101, 8614, 101)arena.add_map(112, 8534, 155, 8564, 155)arena.add_map(112, 8584, 155, 8514, 155)

Si estan, editadlas por:

arena.add_map(90, 8534, 101, 8564, 101)arena.add_map(90, 8584, 101, 8614, 101)arena.add_map(90, 8534, 155, 8564, 155)arena.add_map(90, 8584, 155, 8514, 155)

Si no estan, solo poned las ultimas (arena.add_map(90)

 

Por ultimo el archivo de la quest (La traduccion es mala, pero funciona xD)

quest arena_manager begin	state start begin		when 20017.chat."Combate de Arena." begin			if game.get_event_flag("arena_close") > 0 then				say("Lucha en progreso vuelva mas tarde.")				say("")				return			end			if not npc.lock() then				say("Duelo en progreso.")				say("")				return			end			local useMinLevel = game.get_event_flag("arena_use_min_level")			if useMinLevel == 0 then				useMinLevel = 25 ;			end			if pc.get_level() < useMinLevel then				say("Usted debe estar al mismo nivel "..useMinLevel.." para utilizar la arena.")				say("")				npc.unlock()				return			else				say("Escriba el nombre de su oponente.")				say("")				local sname = input()				if sname == "" then					say("Su adversario no puede entrar.")					npc.unlock()					return				else					say(sname.." Solicitud de envio a la lucha.")					say("")					local opp_vid = find_pc_by_name(sname)					if opp_vid == 0 then						say(sname.." no esta conectado.")						say("")						npc.unlock()						return					elseif opp_vid == pc.get_vid() then						say("Usted no puede desafiarse a si mismo.")						say("")						npc.unlock()						return					end					local old = pc.select(opp_vid)					local opp_level = pc.get_level()					pc.select(old)					if opp_level < useMinLevel then						say("El oponente debe ser "..useMinLevel.." Minimo.")						say("")						npc.unlock()						return					end					if not npc.is_near_vid(opp_vid, 10) then						say("El oponente debe estar a su lado.")						say(sname.." esta demasiado lejos.")						say("")						npc.unlock()						return ;					end					local a = arena.is_in_arena(opp_vid)					if a == 0 then						say(sname.."El oponente se ha desconectado.")						say("")						npc.unlock()						return ;					end					local agree = confirm(opp_vid, pc.name.." Aceptar la lucha?", 30)					if agree != CONFIRM_OK then						say(sname.." Negar la lucha?")						say("")						npc.unlock()						return					end					s = arena.start_duel(sname, 3)								if s == 0 then						say("Ha ocurrido un error.")						say("Intentalo de nuevo mas tarde.")						say("")					elseif s == 2 then						say("Estan combatiendo en este momento.")						say("")					elseif s == 3 then						say("En este momento el campo de")						say("entrenamiento esta totalmente")						say("ocupado. Por favor, espera.")						say("")					end				end			end			npc.unlock()		end		when 20017.chat."Lista de los combates." begin			local g = arena.get_duel_list()			local arena_name = {}			local arena_observer = {}			table.foreachi(g,				function(n, p)					arena_name[n] = p[1].." vs "..p[2]					arena_observer[n] = { p[3], p[4], p[5] }				end			)			table.insert(arena_name, "Combate")			table.insert(arena_observer, 0)			local count = table.getn(g)			if count == 0 then				say("No se permite pelear ahora.")				say("")				return ;			else				say("En este momento "..hay.." observadores.")				say("")				wait()			end			if table.getn(g) != 0 then				local s = select_table(arena_name)				if table.getn(arena_observer) == s then					return ;				end				if table.getn(arena_observer) >= s then					arena.add_observer(arena_observer[s][1], arena_observer[s][2], arena_observer[s][3])				end			end		end	endend

Un saludo :)

Link to comment
Share on other sites

hice todo y  no funciono puse como index 173 xq el 90 lo tenia

 

Voy a revisar todo por si se me ha pasado algo. Tambien te subire el mapa a ver si es por eso. Confirmo que a mi me funciono el sistema. ¿Te sale algun mensaje cuando hablas con yu-hwan? mandame privado

Link to comment
Share on other sites

  • 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...