Jump to content

【ℛ-𝓝】ℛ𝔂𝓼𝒆

Miembro
  • Contador contenido

    576
  • Ingreso

  • Última visita

  • Días ganados

    371

Mensajes publicados por 【ℛ-𝓝】ℛ𝔂𝓼𝒆

  1. En 17/8/2021 a las 6:11, caanmasu dijo:

    Así debería funcionar o.O ese 'Ninguno' ese el valor de 3, y (3 < 3) es false, o sea que no entra al if :v

     

    Al seleccionar Ninguno se me borra el item del inventario 😧

  2. En 24/4/2019 a las 17:13, caanmasu dijo:

    EDITO: había un bug que al darle clic al objeto y luego darle a "Cerrar" o presionar ESC, se borraba el objeto. Le añadí que cuando presione "Cerrar" (o esc), no se borre el ítem y ya.

     

     

    Hola
    Este es mi primer regalo luego de aprender a hacer quest

    Por ahí vi que la pidieron pero fue hace mucho tiempo.

    Si no sirve para la 6° habilidad para guerreros y ninjas, deben agregar en su questlib.lua esto:
    Buscar la tabla special.active_skill_list y agregan la 6, 21, 36 y 51.

    Eso es todo, que lo disfruten

    
    --[[					QUEST
    Quest creada por Camilo, basada en la quest de las P
    Consiste en subir una sola habilidad a P.
    Al usar el anillo, aparecerá en una ventana las
    habilidades que no tengas en nivel 40 (P) y al
    seleccionar una de ellas, te la pondrá en lvl 40 (P)
    y el objeto se desaparecerá.
    Discord: Camilo #0869
    --]]
    
    
    quest una_hab_p begin
    	state start begin
    		when 40004.use begin
    			MAX_LVL_SKILL = 40
    			if pc.get_skill_group() != 0 then
    				local skill_list = special.active_skill_list[pc.job+1][pc.get_skill_group()]
    				local ret_vnum_list, ret_name_list = {}, {}
    
    				table.foreach(skill_list,
    				function(i, skill_vnum)
    				local skill_level = pc.get_skill_level(skill_vnum)
    				if skill_level < MAX_LVL_SKILL then
    					table.insert(ret_vnum_list, skill_vnum)
    					local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
    					if name == nil then 
    						name=skill_vnum 
    					end
    						table.insert(ret_name_list, name)
    					end
    				end)
    				if table.getn(ret_name_list) != 0 then 
    					table.insert(ret_name_list, "Cerrar")
    					say_title("Subir habilidad a P")
    					say("[ENTER]Desaparece tras su uso")
    					local sel = select_table(ret_name_list)
    					if sel != table.getn(ret_name_list) then
    						pc.set_skill_level(ret_vnum_list[sel], MAX_LVL_SKILL)
    						item.remove()
    					end
    				end
    			end
    		end
    	end
    end

     

    Una pregunta... como puedo hacer que al elegir la opcion de "Ninguna" el item no se borre?

     

    quest PF begin
    	state start begin
    		function ParseJob()
    			local DefineRace = { [0] = {"Guerrero"}, [1] = {"Ninja"}, [2] = {"Sura"}, [3] = {"Chaman"}	}
    			return DefineRace[pc.get_job()][1]
    		end
    		function ParseSkill(x)
    			local DefineSkill = { [0] = {"Corporal", "Mental"}, [1] = {"Asesino", "Arquero"}, [2] = {"Magía Negra", "Armamento"}, [3] = {"Dragón", "Luz"} }
    			return DefineSkill[pc.get_job()][x]
    		end
    		when 50512.use begin
    			if pc.get_level() < 5 then
    				say_title(item_name(50512))
    				say("Tu nivel no es el indicado para usar esta piedra.")
    				say_reward("Nivel Requerido: 5")
    				say_reward("Nivel Actual: "..pc.get_level())
    				return
    			end
    			if pc.get_gold() < 1000 then
    				say_title(item_name(50512))
    				say("Parece que tus ingresos no son los")
    				say("suficientes para usar esta piedra.")
    				say("Necesitas dar una ofrenda de: 1.000 Yang")
    				say_reward("Actualmente tienes: "..pc.get_gold().." Yang")
    				return
    			end
    			say_title(item_name(50512))
    			say("Ancestral "..PF.ParseJob())
    			say("Cual es tu camino a seguir?")
    			if select(PF.ParseSkill(1), PF.ParseSkill(2), 'Ninguno') < 3 then
    				table.foreachi(special.active_skill_list[pc.get_job()+1][pc.get_skill_group()],function(r,skill) pc.set_skill_level(skill,59) end)
    				syschat("Tus habilidades han alcanzado su nivel máximo.")
    				item.remove()
    			end
    		end
    	end
    end

     

  3. hace 15 horas, Enju dijo:

    Es algo bastante simple, te dejo por aquí cómo puedes hacerlo desde la propia quest de seleccionar las habilidades.

    No puedo mirar nada, así que te he hecho una mini guía tirando de memoria, no lo he probado, me he podido equivocar en el nombre de alguna cosa.

    Si tienes la 5ta raza implementada, añades el registro a skill_vnums con las IDs de las habilidades del lícano. No lo puse porque no puedo consultarlo ahora y no me acuerdo de sus IDs. Lo mismo si tienes la 9na habilidad implementada, añade las IDs a skill_vnums.

    Se puede hacer más simplificado haciendo uso de funciones definidas en el src, pero no puedo mirar ahora. Se queda así que no está mal.

     

    En la quest de seleccionar habilidades, la cual creo recordar que se llama algo así como skill_group.quest o algo similar, haces los siguientes cambios:

     

    1- Añadir el siguiente define al comienzo del fichero:

    
    DEFINE SKILL_LEVEL 59	-- 59 Si quieres que las habilidades suban a P

     

    2 - Añadir la siguiente función:

    
    function set_skills_level()
    	skill_vnums = {
    		[0]	=	{	1,	2,	3,	4,	5,	6	},	-- Guerrero corporal
    		[1]	=	{	16,	17,	18,	19,	20,	21	},	-- Guerrero mental
    		[2]	=	{	31,	32,	33,	34,	35,	36	},	-- Ninja daga
    		[3]	=	{	46,	47,	48,	49,	50,	51	},	-- Ninja arco
    		[4]	=	{	61,	62,	63,	64,	65,	66	},	-- Sura espejo
    		[5]	=	{	76,	77,	78,	79,	80,	81	},	-- Sura magia
    		[6]	=	{	91,	92,	93,	94,	95,	96	},	-- Chamán dragón
    		[7]	=	{	101,	102,	103,	104,	105,	106	},	-- Chamán luz
    	}
    
    	for idx, skillId in ipairs(skill_vnums[pc.get_job() * 2 + pc.get_skill_group()]) do pc.set_skill_level(skillId, SKILL_LEVEL) end
    end

     

    3 - Añadir la llamada a la función: después de haber seleccionado las habilidades (set_skill_group(X)), donde creas conveniente.

    
    set_skills_level()

     

    Ya me comentas si te ha servido

     

    .Un saludo

     

    hace 8 horas, caanmasu dijo:

    Al final cuando el pj reciba sus habilidades pones abajo

    
    table.foreachi(special.active_skill_list[pc.get_job()+1][pc.get_skill_group()],function(r,skill) pc.set_skill_level(skill,59) end)

    pero debes asegurarte que tengas la 6° habilidad puesta en el questlib

    
    special.active_skill_list = {
        {
            { 1, 2, 3, 4, 5, 6}, //Guerrero corporal
            { 16, 17, 18, 19, 20, 21}, //mental
        },
        {
            {31, 32, 33, 34, 35, 36},
            {46, 47, 48, 49, 50, 51},
        },
        {
            {61, 62, 63, 64, 65, 66},
            {76, 77, 78, 79, 80, 81},
        },
        {
            {91, 92, 93, 94, 95, 96},
            {106, 107, 108, 109, 110, 111},
        },
    	{
            {170, 171, 172, 173, 174, 175}, //lícano
        },
    }

     

    Gracias a los 2 ❤️ voy a probar a ver que tal me queda JAJA, solamente puse las habilidades normales de siempre, no le puse 6ta e.e muchas gracias 😄

  4. Buenas, no es nada del otro mundo, pero les traigo una guía sencilla que puedan actualizar su versión de Python 😁😎

     

    Actualizar Python22 > Python27

     

    Comenzamos descargando el archivo 

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     lo descomprimimos y agregamos los archivos en sus respectivas

    carpetas, los de la carpeta "Binario" en la carpeta "extern" de nuestro binario y los archivos de la carpeta "Cliente" los

    agregamos a la carpeta raiz de nuestro cliente, ahora abrimos nuestro source binario con visual studio y comenzamos

    con la edición de las lineas en cada archivo.

     

    Comenzamos abriendo el archivo: Userinterface/Userinterface.cpp

    Buscamos la linea:

    ( lib, "python22.lib" )

     

    La reemplazamos por:

    ( lib, "python27.lib" )

     

    Ahora abrimos el archivo: ScriptLib/PythonLauncher.cpp

    Buscamos la linea:

    #include <Python-2.2/frameobject.h>

     

    La reemplazamos por:

    #include <Python-2.7/frameobject.h>

     

    Ahora abrimos el archivo: ScriptLib/PythonLauncher.h

    Buscamos la linea:

    #include <Python-2.2/frameobject.h>

     

    La reemplazamos por:

    #include <Python-2.7/frameobject.h>

     

    Ahora abrimos el archivo: ScriptLib/PythonMarshal.cpp

    Buscamos la linea:

    #include <Python-2.2/longintrepr.h>

     

    La reemplazamos por:

    #include <Python-2.7/longintrepr.h>

     

    Ahora abrimos el archivo: ScriptLib/StdAfx.h

    Buscamos todos los:

    #include <Python-2.2

     

    Los reemplazamos a todos por:

    #include <Python-2.7

     

    Por ultimo abrimos el archivo: ScriptLib/PythonUtils.cpp

    Debajo de:

    #include "StdAfx.h"
    #include "PythonUtils.h"

     

    Dejamos un espacio y agregamos las siguientes lineas:

    #define PyLong_AsLong PyLong_AsLongLong
    #define PyLong_AsUnsignedLong PyLong_AsUnsignedLongLong

     

    Eso sería todo, quedaría compilar el binario y listo, saludos y espero les haya sido de utilidad.

    No olviden dejar su "Me gusta" si te sirvió esta guía 😎

  5. hace 16 horas, WUJEK dijo:

    Hello, I will help someone upload the Polish language to the server because I am green in these matters

    Video tutorial:

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

    Every language related file have it's other variants too, you just need to swap file names.

    Server:
    1. /usr/metin2/server/share/conf/item_names_xy.txt
    2. /usr/metin2/server/share/conf/mob_names_xy.txt
    3. /usr/metin2/server/share/locale/english/translate_xy.lua
    4. /usr/metin2/server/share/locale/english/locale_string_xy.txt

    You have to rename the files listed above for example item_names.txt to item_names_en.txt,
    then item_names_de.txt to item_names.txt, then you'll have german item names. Do the same with the others!

    Client:
    1. locale_xy.cfg

    You have to rename locale.cfg to locale_en.cfg, and rename locale_de.cfg to locale.cfg, then you'll have german language at clientside.

    Optional but recommended:
    1: /usr/metin2/server/share/locale/english <-- rename english to your locale like germany/hungary/france.
    2: Open database common/locale table and rename LOCALE's mValue to your locale like germany/hungary/france.
    3: Edit root/.cshrc file's questcompile command ..locale/english/quest/make.py to the correct folder name if you are using the vdi.
    EN: english
    DE: germany
    HU: hungary
    FR: france
    CZ: czech
    DK: denmark
    ES: spain
    GR: greek
    IT: italy
    NL: netherlands
    PL: poland
    PT: portugal
    RO: romania
    RU: russia
    TR: turkey

  6. hace 7 horas, [D]ELARO dijo:

    se ven decente y creo que estos files los estan usando en un servidor internacional que dice usar la base de .us xd, lo malo es que deberán trabajarlos para dejarlos mas decentes ya que están muy muy pero muy limpios, meter sistemas que hoy por hoy se necesitan, offline shop, inventario especial y alguno mas.

    Si, es mas que nada una base para iniciar algún proyecto ya que está limpia y varios errores fueron corregidos, siempre hay cosas por arreglar pero para iniciar un proyecto los recomiendo!

×
×
  • Crear nuevo...