Jump to content

caanmasu

Miembro
  • Contador contenido

    357
  • Ingreso

  • Última visita

  • Días ganados

    38

Mensajes publicados por caanmasu

  1. Hola amigo

    Recuerda que debes cerrar cada if, state y quest con un end cada uno.

    Y las funciones puedes ponerlas locales en la quest o globales en el questlib.

    Por ejemplo, de forma local quedaría 

     

    quest dungeon1 begin
    	state start begin
    
    		function verificar_grupo()
    			--Aquí pones el contenido de la función
    		end
    
    		when 20351.chat."Guardián de Mazmorra" with pc.get_level() >= 50 begin --------------NPC y nivel
    			say_title("Guardián de la Mazmorra")
    			say("blablablabla")
    			say("quieres entrar en la mazmorra?")
    			if select("Si!","No") == 1 then
    				if dungeon1.verificar_grupo() != nil then ------en este caso la dungeon se llama dungeon1
    					d.new_jump_party(index, x, y)  ----------------------------Cordenadas del map
    				end
    			end
    		end
    	end
    end 

     

  2. La función mob.spawn tiene varios argumentos

    mob.spawn(vnum, x, y, radio_x, radio_y, cant)

    En radio_x y radio_y va qué tan cerca de (x, y) se invocará el mob. Para ese evento no importa, deja en 0

    edit: en cant lo máximo es 10. Si quieres más, ponle un ciclo y también cámbiale el radio_x y radio_y para que no salgan en la misma coordenada


    Algo que me causó curiosidad es que al ponerle todos esos argumentos, el mob se vuelve agresivo o.O aunque no creo que pase con los Tanakas, esos no dejan de ser cobardes xD

    y en la parte de la prob solo pon
    if number(1, 2) == 1 then
         game.drop_item…
         chat("Dropeó oreja")
    else
         chat("No tenía oreja")
    end

  3. Jaja dale 

    Si necesitas más cosas sobre la quest, comenta aquí en el post (Y) 

    Sí había la función pc.get_guild()

    Ya mejoré la función verificar_grupo()

     

    edit 1:

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

    no tenía la variable pids, ya funciona xD

    Ya no usa MySQL, disfrútala

  4. Buenas! otra vez yo

    No me acordaba de esa función xD no llevo mucho haciendo quest

    Tomé de la quest de Nemere para hacer que los requisitos para entrar a la mazmorra sean el nivel y del mismo gremio que el líder del grupo

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

    Ahí uso mysql_query() porque no encontré algo como pc.get_guild() 

    Si no quieres que la mazmorra tenga requisito de nivel, solo ponle en nivel_requerido = 1

  5. Sí se puede. Aunque deberías especificar exactamente cómo la quieres. (solo sv 40k+)
    Te recomiendo hacerla tipo dungeon, para que cada grupo tenga su propio mapa y sus regen.

    Aquí tienes la función que hice para que valide lo de la cantidad de miembros

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

    En la parte donde dice local cant_miembros = 3, solo cambia el número 

    Cómo usarla?

    Así:

    if select ("Transportar", "Ahora no") == 1 then
         if nombre_de_tu_quest.verificar_grupo() != nil then
              d.new_jump_party(index, x, y)
         end
    end

    La función solo la pones como si fuera un when 🙂

    Si quieres hacer que cada miembro valide por ejemplo el nivel, gremio, etc. ya se usan otras funciones.
    Escribe por este post cómo quieres que sea exactamente la quest.

  6. Aquí tienes
    Según lo que entendí, ponerle un nivel mínimo a cada mapa. En la última columna lo editas.

     

    Edito: 
     

    quest teleporter begin
    	state start begin
    
    		when 9012.chat."Deseas viajar? " begin
            
    			local data = {
    			
    			{"valleorcos.tga", {{4019, 6744}, {2713, 7398}, {3217, 8076}}, "Valle de Orcos", "Nivel Recomendado: 30-50[ENTER]Equipo Recomendado: +6 o Superior", 1},
    			{"desierto1.tga", {{2178,6267},{2211,5013},{3440,5025}}, "Desierto Yongbi", "Nivel Recomendado: 40-50[ENTER]Equipo Recomendado: +6 o Superior", 1},
    			{"montanasohan.tga", {{4918, 1736}}, "Montaña Sohan", "Nivel Recomendado: 50-60[ENTER]Equipo Recomendado: +7 o Superior", 1},
    			{"torredemons.tga", {{5905, 1105}}, "Torre Demonios", "Nivel Recomendado: 40-70[ENTER]Equipo Recomendado: +7 o Superior", 40},
    			{"paisimha.tga", {{2304, 0}}, "Pais Imha", "Nivel Recomendado: 18-22[ENTER]Equipo Recomendado: +6 o Superior", 1},
    			{"templooscuro.tga", {{5536, 1432}}, "Templo Oscuro", "Nivel Recomendado: 30-35[ENTER]Equipo Recomendado: +6 o Superior", 1},
    			{"aranas_1.tga", {{512, 4864}}, "Arañas 1", "Nivel Recomendado: 45-60[ENTER]Equipo Recomendado: +7 o superior", 1},
    			{"tierrafuego.tga", {{7307, 6898}}, "Tierra de Fuego", "Nivel Recomendado: 70-85[ENTER]Equipo Recomendado: +9 Con alto % de bloqueo", 1},            
    			{"aranas_2.tga", {{6656, 4352}}, "Arañas 2", "Nivel Recomendado: 65-80[ENTER]Equipo Recomendado: +9 Fuerza vs animales", 1},        
    			{"bosquefantasma.tga", {{2902, 57}}, "Bosque Fantasma", "Nivel Recomendado: 60-70[ENTER]Equipo Recomendado: +7 o Superior", 1},
    			{"bosquerojo.tga", {{10496, 0}}, "Bosque Rojo", "Nivel Recomendado: 70-80[ENTER]Equipo Recomendado: +8 o Superior", 1},
    			{"atlantea_1.tga", {{0, 12032}}, "Atlantea 1", "Nivel Recomendado: 75-85[ENTER]Equipo Recomendado: +9 Con alto % de bloqueo", 75},
    			{"atlantea_2.tga", {{2413, 12755}}, "Atlantea 2", "Nivel Recomendado: 85-90[ENTER]Equipo Recomendado: +9 Con alto % de bloqueo", 75},
    			{"ciudad.tga", {{4693, 9642},{557,1579},{9696,2784}}, "Ciudad Principal", "Nivel Recomendado: 1-120[ENTER]Equipo", 1},
    			{"cape.tga", {{11048, 17888}}, "Cabo del dragón", "Nivel Recomendado: 85-90[ENTER]Equipo Recomendado: +9 Con alto % de bloqueo", 90}
    			}
            
    			say_size(400, 400)
    			say_title("Teletransportador")
    			say_yellow("[ENTER]¿A dónde deseas ir viajero?")
    			say("")
    			local tabla_select = {}
    			table.foreachi(data, function(i, t) table.insert(tabla_select, t[3]) end)
    			table.insert(tabla_select, "Salir")
    			local a = select_table(tabla_select)
    
    			addimage(20, 12, data[a][1])
    
    			say_title("[ENTER][ENTER][ENTER]Mapa seleccionado: "..data[a][4])
    			say_yellow("[ENTER]Nivel mínimo: "..data[a][5])
    			say("[ENTER]¿Deseas ir, viajero?")
    			say("")
    			
    			if select("Si","No") == 1 then
    				if pc.get_level() >= data[a][5] then
    					if table.getn(data[a][2]) > 1 then
    						pc.warp(data[a][2][pc.get_empire()][1]*100, data[a][2][pc.get_empire()][2]*100)
    					else
    						pc.warp(data[a][2][1][1]*100, data[a][2][1][2]*100)
    					end
    				end
    			end
    		end
    	end
    end 

     

  7. Solo agrega los vnum de tus metines en ["id_metines"] 

    Deberías ser más específico con tu petición
    Cómo quieres la quest realmente?


    quest contador_metines begin
        state start begin
            function info()
                return {
                    ["id_metines"] = {8001, 8002, 8003},
                }
            end
            when kill begin
                for _, v in pairs(contador_metines.info().id_metines) do 
                    if npc.get_race() == v then
                        game.set_event_flag("contador_metines", game.get_event_flag("contador_metines")+1)
                        chat(string.format("Los jugadores llevan %d metines destruidos.", game.get_event_flag("contador_metines")))
                    end
                end
            end
        end
    end
     

  8. Aunque no esté mal el nombre, te recomiendo dejar el nombre del archivo y el nombre de la quest iguales para que no te confundas.
    quest canjeoslogros begin…

    Para que te funcione bien la quest, solo agrega un end al final

    y también te sobra un elseif p == 2 then, bórralo o te botará error
    Y ya, funcionará 🙂🙂

×
×
  • Crear nuevo...