krias2013 Posted May 25, 2014 Group: Members Topic Count: 5 Topics Per Day: 0.00 Content Count: 14 Reputation: 0 Joined: 10/05/13 Last Seen: July 21, 2023 Share Posted May 25, 2014 (edited) necesito que las runas amm por ejemplo 4700 al darles clic se bayan directo al 4to slot y no permitan colocar otra runa pero nose porque pero no me permite hacer eso lo que ase que las runas se colocan en orden del eslot 1 al 4 en vez de quedar directo en el 4to slot, dejo unas imagenes para que bean como esta queda en mi emulador rAthena, pero yo necesito que sea de esta forma como esta en el video Edited May 25, 2014 by krias2013 Quote Link to comment Share on other sites More sharing options...
Nanashi Posted May 28, 2014 Group: Members Topic Count: 15 Topics Per Day: 0.00 Content Count: 59 Reputation: 19 Joined: 01/03/13 Last Seen: August 27, 2024 Share Posted May 28, 2014 (edited) Hola krias, disculpa que no haya podido responder antes. Es posible que el sistema que utiliza el autor del video sea mediante la modificación del src o mediante el uso de un script (concretamente una función llamada desde el objeto). En el caso de que quieras hacerlo por src no puedo ayudarte sin embargo, si decides hacerlo mediante un script deberás hacer lo siguiente: PASO 1. MODIFICAR EL TIPO DE OBJETO En tu emulador rAthena dirígete a "../db/import/item_db.txt" (en el caso de que uses este archivo para agregar los items custom, sino al archivo item_db.txt dónde tienes agregados los objetos que quieres insertar en el equipo). Ahora modifica el atributo <type> de los objetos que quieres agregar al equipo poniendo el número 11 (segúramente los debes tener con el número 6) y el atributo { < script> } dejandolo cómo { callfunc "F_enchant",<numero>; } . ¡ATENCIÓN! en la parte de <numero> de cada item tienes que poner numeros, comenzando desde 1 hasta el último item. Ejemplo: Imagina que estamos añadiendo 5 runas diferentes (cada una da stats diferentes), el itemdb debería quedar así: 29001,Runa_Roja,STR +10,11,0,,0,,,,,,,,,,,,,{ callfunc "F_enchant",1; },{},{} 29002,Runa_Amarilla,AGI +10,11,0,,0,,,,,,,,,,,,,{ callfunc "F_enchant",2; },{},{} 29003,Runa_Azul,INT +10,11,0,,0,,,,,,,,,,,,,{ callfunc "F_enchant",3; },{},{} 29004,Runa_Verde,VIT +10,11,0,,0,,,,,,,,,,,,,{ callfunc "F_enchant",4; },{},{} 29005,Runa_Negra,DEX +10,11,0,,0,,,,,,,,,,,,,{ callfunc "F_enchant",5; },{},{} ¿Para qué sirve este numero? Con este número identificaremos que objeto es el que está llamando la función desde el script. PASO 2. CREAR EL SCRIPT CORRESPONDIENTE Ahora te toca configurar la función en un script " function script F_enchant { } " ahí ya le puedes dar las condiciones que quieras al usar el objeto. Recuerda hacer que el script elimine el item al finalizar la acción que se ha usado para llamar la función, si no haces esto el objeto podrá usarse indefinidas veces. Consejo 1: para obtener el id del objeto que llama la función usa: if (getarg(0) == 1) @runeID = <ID de la runa correspondiente al número 1>; if (getarg(0) == 2) @runeID = <ID de la runa correspondiente al número 2>; if (getarg(0) == 3) @runeID = <ID de la runa correspondiente al número 3>; ... Consejo 2: recuerda agregar las siguientes seis condiciones obligatorias: Evitar que el usuario quite el equipo o la runa mientras se usa el script con " disable_items; " al inicio del script. Guardar la parte del equipo seleccionada (en la que insertaremos la runa) en una variable (ejemplo "@part"). Comprobar que el objeto seleccionado no tenga nada equipado en el 4º slot con " if (getequipcardid(@part,3) != 0) end; " Obtener todas las propiedades (cartas, si es refinable o no, su refine, etc...) antes de dar el nuevo objeto con la runa equipada. Guardar el id del equipo seleccionado con " set @itemid, getequipid(@part); ". Por último hacer que el script elimine la runa " delitem @runeID,1; " y nos de el objeto con la runa insertada usando: ESTRUCTURA: getitem2 <item_id>,<amount>,<identify>,<refine>,<atribute>,<card1>,<card2>,<card3>,<card4>{,<account ID>}; COMO DEBE QUEDAR: getitem2 @itemid,1,1,getequiprefinerycnt(@part),0,getequipcardid(@part,0),getequipcardid(@part,1),getequipcardid(@part,2),@runeID; Si tienes alguna duda o no has entendido algo pregúntame. Un saludo. EDIT: si prefieres hacerlo mediante src tal vez este topic te sea de ayuda: http://rathena.org/board/topic/95342-set-enchant-rune-cards-directly-into-4th-slot/ Edited May 28, 2014 by Nanashi 1 Quote Link to comment Share on other sites More sharing options...
Ziu Posted May 28, 2014 Group: Members Topic Count: 178 Topics Per Day: 0.04 Content Count: 909 Reputation: 247 Joined: 11/08/11 Last Seen: April 16 Share Posted May 28, 2014 @Nanashi perfecto.. great work!! Quote Link to comment Share on other sites More sharing options...
Nanashi Posted May 29, 2014 Group: Members Topic Count: 15 Topics Per Day: 0.00 Content Count: 59 Reputation: 19 Joined: 01/03/13 Last Seen: August 27, 2024 Share Posted May 29, 2014 Gracias @Ziu, se agradece . Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.