Jump to content

Pedido quest mineria


Metin2Arceus

Mensajes recomendados

Hola buenas zone tengo un evento de mineria que al activarlo no sale la opcion en uriel dejo por aqui la quest para ver como podria acerlo

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

Enlace para comentar
Compartir en otros sitios

hace 15 horas, Metin2Arceus dijo:

Yo el mapa le tengo pero quiero una quest que pueda poner en uriel que al activar ese evento diga "Evento Mineria" le dan y les lleva a ese mapa donde se activan las vetas para picar

Es que una cosa es el evento que has pasado (donde se paga a los mineros) y otra una quest teleport a ese mapa, cojes la quest de teleport y remplazas cordenadas por las del mapa y el npc por uriel: 

quest mapa_mineria
    state start begin
        when IDURIEL.chat."Mapa mineria" begin
            say_title("Uriel:")
            say("Para poder buscar minerales mejor te llevo a un mapa especial")
            say("Allí podrás obtener los minerales deseados.")

            say("puedes acceder a partir del nivel 30")
            say("")
            if pc.level >= 30 then
                local main_set = select ("Mineria","Cancelar")
                    if main_set == 1 then
                        pc.warp ( Cordenada , Cordenada )

                    elseif main_set == 2 then
                        return
                    end
            else
                say_title("Información:")
                say_reward("Desafortunadamente no tiene el nivel adecuado para")
                say_reward("entrar a este lugar, porfavor vuelva cuando")
                say_reward("Sea nivel 30. Hasta pronto.")
            end
        end    
    end
end

Enlace para comentar
Compartir en otros sitios

hace 3 horas, NazoX dijo:

Es que una cosa es el evento que has pasado (donde se paga a los mineros) y otra una quest teleport a ese mapa, cojes la quest de teleport y remplazas cordenadas por las del mapa y el npc por uriel:

Este es con activacion o siempre estara activo?

Enlace para comentar
Compartir en otros sitios

hace 49 minutos, Metin2Arceus dijo:

Este es con activacion o siempre estara activo?

Es que te explicas mal.. tu lo que quieres es una quest que active el evento + teleport + los canjeos esos xd, haber especificado, hay solo pides una quest para que te lleve al mapa, por lo cual siempre estará activo.  sería algo así , no se si funciona, pero de está forma haces que puedas activar el evento o no, (tienes que añadir tu las betas y toda esas cosas.

 

quest nazox begin
    state start begin
            when URIEL.chat."Evento" with pc.is_gm() begin
                say_title("Empezar el evento")
                say("Evento")
                say("Quieres activar el evento?")
                say("")
                say_reward("Que quieres hacer?")
                local evento = select ("Activarlo","Desactivarlo","Salir")
                if evento == 1 then
                    game.set_event_flag("evento",1)
                    notice_all("El evento ha comenzado.")
                    notice_all("Buena suerte a todos")
                elseif evento == 2 then
                    game.set_event_flag("evento",0)
                    notice_all("El evento ha terminado")
                    notice_all("Esperamos que os hayáis divertido.")
                    return end end --------------------------------------------Con toda está función haces que uriel te diga activar - desactivar evento, lógicamente no te va a funcionar porque falta la función de las betas

          when FUNCION DE PICAR O ALGO ASÍ with not npc.is_pc() and pc.get_level() >= 30 and game.get_event_flag("evento")==1 begin ------------función
                local drop = {50605,50606,50610,50601} -----------betas
                game.drop_item_with_ownership(drop[aleatorio],1) -----------drop aleatorio
            end
        end
    end
end

solo te falta saber la función de las betas, q no tengo ni idea, para que te teletransporte no se como hacerlo, así que lo que se me ocurre es que, llenes el mapa de betas, y uses la questque te he puesto antes para que te lleve a ese mapa, editas el nivel al 5000 por ejemplo y así no van, y cuando actives el evento pues cambias el nivel de la quest y ya xd un /reload q o pidesela a alguien que sepa mas, yo te doy una idea.

Enlace para comentar
Compartir en otros sitios

hace 55 minutos, NazoX dijo:

Es que te explicas mal.. tu lo que quieres es una quest que active el evento + teleport + los canjeos esos xd, haber especificado, hay solo pides una quest para que te lleve al mapa, por lo cual siempre estará activo.  sería algo así , no se si funciona, pero de está forma haces que puedas activar el evento o no, (tienes que añadir tu las betas y toda esas cosas.

Osea pongo las dos una quest para activar evento para los gm y la otra para uriel usarios

Enlace para comentar
Compartir en otros sitios

No lo he probado

quest mineria begin
state start begin
when 20091.chat."gm event" with pc.is_gm() begin
coord_map_x = numero
coord_map_y = numero
index_map = index
say_title("Npc")
say("Npc")
local event = select("Activar","Cancelar","Cerrar")
if event == 1 then
	game.set_event_flag("event1",1)
	notice_all("evento activo")
elseif event == 2 then
	game.set_event_flag("event1",0)
	notice_all("evento terminado")
	return
end
end
when 20091.chat."mapa mineria" with game.get_event_flag("event1")==1 begin
local map = select("Entrar","Cancelar")
if map == 1 then
	pc.warp(coord_map_x,coord_map_y)
	return
end
end
when login with pc.get_map_index()==index_map and get_event_flag("event1")==1 begin
loop_timer("eliminarobjeto",5)
loop_timer("warp",10)
end
when warp.timer begin
if game.get_event_flag("event1")==0 then
	cleartimer("warp")
	warp_to_village()
end end
when eliminarobjeto.timer begin
if game.get_event_flag("event1")==0 then
	local lista_mineral = {id1,id2,id3} -- elimina los minerales cuando acaba el evento, se debe poner las ids aqui
	for i=1,table.getn(lista_mineral) do
		pc.remove_item(lista_mineral[i],999)
		cleartimer("eliminarobjeto")
	end end end
when 20091.chat."Obtener objetos" with game.get_event_flag("event1")==1 and pc.get_map_index()==index_map begin
local objetos = {
	{"objeto1", idmineral, cantidad,premio,cantidad},
	{"objeto2",	idmineral, cantidad,premio,cantidad},
	{"objeto3",	idmineral, cantidad,premio,cantidad},
	{"Cerrar"}
}
local objetos2 = {}
for i = 1, table.getn(objetos) do
	table.insert(objetos2, objetos[i][1])
end
local sel = select_table(objetos2)
if pc.count_item(objetos[sel][2]) < objetos[sel][3] then
	say_reward("No tienes la cantidad necesaria")
	return end
	pc.remove_item(objetos[sel][2],objetos[sel][3])
	pc.give_item2(objetos[sel][4],objetos[sel][5])
end
end
end

 

Enlace para comentar
Compartir en otros sitios

Me dio error alguien sabe porque puede fallar? Solo necesito una quest para activar el evento mineria y al activarlo salga la opcion en uriel de que el evento esta abierto y alli ya esten las vetas añadidas por el mapa y cuando acabe el evento se cierre y mande todo a city1

Enlace para comentar
Compartir en otros sitios

quest Mineria begin
    state start begin
        when 33002.chat."GM: Evento Mineria" with pc.is_gm() begin    
            say_title("Evento Mineria")
                say("")            
                say("Buenos días "..pc.get_name()..",")
                say("")        
            say_reward("Que deseas hacer?")    
                say("")         
    
        local Mineria = select ("Activar","Desactivar","Entrar","Cerrar")    
            if Mineria == 1 then    
                notice_all("*El Evento Mineria  ha comenzado")        
                notice_all("*entra por NPC ubicado en cada reino")    
                server_timer("Mineria_Evento")    
                game.set_event_flag("Mineria_activado", 1)    
            elseif Mineria == 2 then    
                notice_all("*El Evento Mineria se ha desactivado")
                notice_all("*Seran todos teletransportados a sus citys.*")        
                warp_all_to_village( pc.get_map_index() , 1 )
                game.set_event_flag("Mineria_activado", 0)    
                game.set_event_flag("empezar_Mineria",0)    
                warp_to_village()
            elseif Mineria == 3 then    
                pc.warp(307200 , 409600)    
            end    
        end    

        when Mineria_Evento.server_timer begin    
                notice_all("*El Evento Mineria se ha puesto en marcha*")    
                game.set_event_flag("empezar_Mineria",1)    
        end    
        
        when 33002.chat."Evento Mineria" with pc.get_level() >= 35 begin
                if game.get_event_flag("Mineria_activado") == 0 then        
                say_title("Evento Mineria")    
                say("")        
                say("Hola "..pc.get_name().." soy el encargado del Evento")    
                say("y lamento decirte que en estos momentos")    
                say("el evento no se encuentra activo")
                say("")            
            return        
        end            
                say_title(" "..pc.get_name().." ")    
                say("Hola Metinero , hoy hemos dicido")    
                say("realizar evento de Mineria")    
                say("Esperamos que sea de tu agrado.")
                say("")        
                say_reward("¿Desear ir a la Mina?")
            local mapa = select ("Si" , "No")    
                if mapa == 1 then        
                pc.warp(307200 , 409600)
            end
        end    
    end
end 

 

 

Con esta puedes acceder fácilmente

 

Claro esta que ando intentando mejorarla para que saque pj al terminar el evento con tiempo, que de premios estilo tanaka y que no deje entrar y saque a los pj cuando no este activo el evento.

 

 

Enlace para comentar
Compartir en otros sitios

hace 5 horas, Metin2Arceus dijo:

Me dio error alguien sabe porque puede fallar? Solo necesito una quest para activar el evento mineria y al activarlo salga la opcion en uriel de que el evento esta abierto y alli ya esten las vetas añadidas por el mapa y cuando acabe el evento se cierre y mande todo a city1

Listo, prueba
 

 

hace 48 minutos, NikoMT dijo:

Claro esta que ando intentando mejorarla para que saque pj al terminar el evento

Hay unos detalles que estan mal en tu quest
Ej:

hace 48 minutos, NikoMT dijo:

                notice_all("*El Evento Mineria  ha comenzado")        
                notice_all("*entra por NPC ubicado en cada reino")    
                server_timer("Mineria_Evento")    
                game.set_event_flag("Mineria_activado", 1)  

Este server timer no te funcionara por que no has puesto el tiempo: server_timer("Mineria_Evento",60*30) << en este caso terminara en 30 minutos

Y un when al timer cuando se cumpla el tiempo, solo asi desactivara el evento:
when Mineria_Evento. server_timer begin
game.set_event_flag("Mineria_activado",0)

warp_all_to_village(indexmapa, 30)

notice_all("Evento terminado")
end

hace 48 minutos, NikoMT dijo:

                notice_all("*El Evento Mineria se ha desactivado")
                notice_all("*Seran todos teletransportados a sus citys.*")        
                warp_all_to_village( pc.get_map_index() , 1 )
                game.set_event_flag("Mineria_activado", 0)    
                game.set_event_flag("empezar_Mineria",0)    
                warp_to_village()

Aqui:
warp_all_to_village(indexmapa, 30) -- para que saque a todos del mapa
clear_server_timer("Mineria_Evento") -- debes eliminar si o si el timer, o sino dependiendo de lo que hagas con el npc del evento puede tirar el servidor

El resto con practica y mirando codigo hecho etc lo iras entendiendo

Enlace para comentar
Compartir en otros sitios

  • Dilong locked this tema
Guest
Este tema está cerrado a otras respuestas.
  • Recientemente navegando por este tema   0 miembros

    • No hay usuarios registrados visitando esta página.
×
×
  • Crear nuevo...