Jump to content

Nanashi

Members
  • Posts

    59
  • Joined

  • Last visited

  • Days Won

    5

Nanashi last won the day on June 2 2017

Nanashi had the most liked content!

2 Followers

About Nanashi

  • Birthday 11/14/1994

Profile Information

  • Gender
    Male
  • Location
    Spain

Contact Methods

Recent Profile Visitors

4912 profile views

Nanashi's Achievements

Poring

Poring (1/15)

19

Reputation

  1. @Aaeria Thanks a lot and yes, it's fully coded and working fine, if you search on google the server name (in the pic logo), you can actually see it online.
  2. Hi again, today I would like to share with you guys the new website I've been working for the last months. The server is an ancient ep 7 server so I've tried to give it a classic style but with the new features and design trendings. Here is the result, hope you liked it
  3. Hi to everyone, i would like to show you the new project i'm working on right now. Hope you guys liked it . PD: It's not over, gess i'll upload the full content when it get finished.
  4. I highly recommend you to use SQL instead of txt, because those data are saved in variables and it's much more harder to track and debug the script than you can imagine . Here is an expample you can use for what you are looking for in SQL: STEP 1: LOAD THE TABLE IN YOUR SQL BEFORE USE THE SCRIPT Run this query on your sql database: SET FOREIGN_KEY_CHECKS=0; -- ------------------------------------ -- Table structure for `mvp_ranking` -- ------------------------------------ DROP TABLE IF EXISTS `mvp_ranking`; CREATE TABLE `mvp_ranking` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `char_id` int(11) unsigned NOT NULL DEFAULT '0', `mvp_count` smallint(6) unsigned NOT NULL DEFAULT '1', PRIMARY KEY `id` (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; -- ------------------------------------ -- End of table `mvp_ranking`. -- ------------------------------------ STEP 2: LOAD THE SCRIPT IN YOUR SERVER Create and load the next script: - script Rank MvP -1,{ OnInit: setarray .mobid[0],1511,1647,1785,1630,1399,1039,1874,2068,1272,1719,1046,1389,1112,1115,1957,1418,1871,1252,1768,1086,1688,1646,1373,1147,1059,1150,1956,2022,1087,1190,1038,1157,1159,1502,1623,1650,1583,1708,1312,1751,1685,1648,1917,1658; set .a, 1; // [ 1 - Enable global announcement on MvP kill ] [ 0 - Disable global announcement ] set $@top, 10; // Number of top rankings that will be shown. end; OnNPCKillEvent: if (getgmlevel() > 10) end; for (set .@c, 0; .@c < getarraysize(.mobid); set .@c, .@c + 1) { if (killedrid == .mobid[.@c]) set .@s, 1; } // Check MvP if (!.@s) end; if (.a) announce "The user [" +strcharinfo(0) +"] has killed [" +getmonsterinfo(killedrid,0) +"] in map [" +strcharinfo(3) +"]",bc_blue|bc_all; query_sql "SELECT char_id FROM mvp_ranking WHERE char_id = "+getcharid(0),@char_id; if (@char_id == getcharid(0)) { query_sql "SELECT mvp_count FROM mvp_ranking WHERE char_id = "+getcharid(0),@mvptotal; set @mvptotal, @mvptotal +1; query_sql "UPDATE mvp_ranking SET mvp_count = '"+@mvptotal+"' WHERE char_id = "+getcharid(0); } else { set @mvptotal, 1; query_sql "INSERT INTO mvp_ranking (id,char_id,mvp_count) VALUES ('','"+getcharid(0)+"','"+@mvptotal+"')"; } end; } prontera,150,150,3 script MvP Rank 411,{ set .@menu$, "- Check TOP 10 MVP ranking:- Check my stats"; if (getgmlevel() >= 80) { set .@menu$, .@menu$ + ":- ^FF0000Reset All Rankings^000000"; } mes "[Top " +$@top +" MvP Rank]"; mes "Please select an option."; next; switch(select(.@menu$)) { case 1: query_sql "SELECT mvp_count FROM mvp_ranking ORDER BY mvp_count ASC LIMIT "+$@top,@count[0]; query_sql "SELECT char_id FROM mvp_ranking ORDER BY mvp_count ASC LIMIT "+$@top,@char_id[0]; query_sql "SELECT `name` from `char` WHERE `char_id` = '"+@char_id[.@c]+"'",.@names$[0]; mes "[Top " +$@top +" MvP Rank]"; for (set .@c, 0; .@c < $@top; set .@c, .@c + 1){ mes ""; mes "Top ^FF0000" +(.@c + 1)+"^000000 ^0000FF"+.@names$[.@c]+"^000000 with ^FF0000"+@count[.@c]+"^000000 MVP killed."; } close; case 2: query_sql "SELECT `mvp_count` FROM `mvp_ranking` WHERE `char_id` = "+getcharid(0),@amount; if (@amount) { mes "[Top " +$@top +" MvP Rank]"; mes "You have killed ^FF0000"+@amount+"^000000 MVP"+( ( .@amount == 1)? "." : "s." ); } close; case 3: mes "[Top " +$@top +" MvP Rank]"; mes "This will delete all existing rankings."; mes "Do you want to proceed?"; next; if (select("No:Yes") == 1) end; query_sql "DELETE FROM `mvp_ranking`"; mes "[Top " +$@top +" MvP Rank]"; mes "All rankings have been reset."; close; } end; } Have tested it and works fine , if you find any error let me know. PD: If there is any spelling mistake I apologize, I don't speak English.
  5. No si esta es la sección correspondiente a tu problema .
  6. Hola @Jormundgander, para crear el script que pides (suponiendo que sepas hacer lo demás) solo necesitas almacenar los datos en una tabla sql. Ejemplo: Para que lo veas más claro supongamos que el script entrega un item X que almacenamos en @item$ y queremos que guarde el nombre del personaje al que se entregó dicho objeto, la id del objeto que se entregó, el job de ese personaje, su id de personaje, su nivel base/job y, por último, la hora a la que se entregó el objeto. Esta información la guardaremos en una tabla a la que llamaremos Reward_System. Para almacenar estos datos simplemente utilizaremos la siguiente query_sql en el script: query_sql "INSERT INTO `Reward_System` (`id`,`char_id`,`name`,`class`,`base_level`,`job_level`,`item_id`,`time`) VALUES ('','"+getcharid(0)+"','"+strcharinfo(0)+"','"+jobname(Class)+"','"+readparam(BaseLevel)+"','"+readparam(JobLevel)+"','"+@item$+"','"+ gettimestr("%Y-%m-%d %H:%M:%S",21) +"')"; Espero que te haya sido de ayuda para lo que pretendes hacer, si tienes alguna duda avísame, un saludo .
  7. Solucionado Se trataba de un error con el bonus IG_Potion (id 37) que estaba mal escrito: bAddItemHealRate en lugar de bAddItemGroupHealRate que es el correcto.
  8. HI! here is the release of this new design, which I want to share with this community, for a private Ragnarok Online server, hope you like it: (The text that appears in there are not the specifications of that server) Author of the Theme: BVERSION
  9. Hi everyone, first of all sry for my English (is not my native language). I would like to request if someone can show me the way to make the Monk/Champion combo skills act as passive skills. So when u attack a monster you have a chance to auto make the combo skills without the need of using the skills in order or even clicking the skill, because it is suppose to work as passive skills now. Is it possible? Hope you guys understand what I'm trying to explain. Thanks in advice Edit: To understand it better, I want to make the skills and Chain Combo and Combo Finish work as Triple Combo Attack. Edit 2: Resolved, can close this topic.
  10. Buena guía Celsius pero este tipo de cosas siempre es más recomendable hacerlo mediante scripts, así solucionas todos los errores o detalles que mencionaste que ocurren tras la modificación por src. Además puedes añadir efectos, sonidos y animaciones, crear una probabilidad de que la runa, gema, etc, se pueda romper o incluso hacer que se pueda tener más de una en un mismo slot y muchas más cosas q se te ocurran.
  11. Gracias @Ziu, se agradece .
  12. Comprueba en que el atributo <view> del objeto en el item_db.txt y en la carpeta luafiles514 sea 1051 y esté asignado al sprite LDTail. Si después de haberlo comprobado está todo correcto, deberías abrir el archivo LDTail.spr por si acaso a ver si realmente contiene el sprite correcto. Si el sprite era incorrecto te adjunto el verdadero: LDTail Sprite.zip
  13. 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/
  14. ¿Podrías dar más detalles? Necesitamos la versión del cliente que utilizas, si tu cliente está configurado para leer el itemInfo.lua/itemInfo.lub o si está configurado para leer los idum2, el sprite o nombre del custom que intentas agregar o al menos señalarlo en la imagen que has subido, etc... Intenta siempre dar tantos detalles como puedas para obtener una mejor respuesta.
  15. Hi everyone, I would like to request a script command that works like addmonsterdrop but adding some extra item parameters like in getitem2. So that it would look like this: *addmonsterdrop2 <mob_id or name>,<item id>,<rate>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>; Is it posible? Thanks in advance.
×
×
  • Create New...