jaBote
Community Contributors-
Content Count
2037 -
Joined
-
Last visited
-
Days Won
43
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by jaBote
-
I think they already have their default drops. Isn't it?
-
So, to make sure, you want to add your new NPC sprites?
-
You mean making NPCs from scratch? Sure, simply make a new file (preferably .txt for ease of editing, but the extension doesn't matter at all since you could have it .c or even without extension if you want) wherever you like within the npc/ folder (you can even make a new folder inside it!) and add your NPC there. In fact, it's not even needed to put your script inside npc/, but that helps your tidyness. For loading it, you could use the @loadnpc <path> script command or the loading structure that is called at bootup. I reccommend seeing examples directly in some files like npc/scripts.conf, which is better than giving an explanation and will let you know exactly what it asks for a location. You can also read this part, extracted from doc/script_commands.txt to let you know a bit more: Hope I helped on it. Else please restate your question since I may have misunderstood.
-
1st) It's in seconds. You can convert them to minutes or hours yourself. Please see gettimetick script command documentation for it, either in our wiki or the scripting documentation: 2nd) You can use the killedrid var that is set as player value when running that OnPCKillEvent, and rid2name it . Documentation: Answer: announce strcharinfo(0) +"Killed " + rid2name(killedrid) + " At The PVP Room",bc_blue|bc_all; 3rd: Variables with an @ prefix are temporary char variables (documentation) that get reset/deleted when logging out. You could make your variables permanent to the characters if you put them without any prefix (documentation). Full documentation for this part: Answer: Simply change all @Delay variable names to Delay without the @. This will force the var not to get deleted on log out. Hope it helped you.
-
Hola de nuevo. Parece que tienes un pequeño lío, voy a tratar de ayudarte a solventarlo antes de darte una respuesta (si no quieres leer la explicación ve hasta donde la línea horizontal ) Ni rAthena ni Hercules son servidores. Son proyectos de software libre que tratan de emular el comportamiento de los servidores oficiales. Todo servidor privado para entendernos es un servidor no oficial (porque si dices que es público ya puedes tener problemas con Gravity, la empresa titular de la propiedad intelectual de Ragnarök Online y que explota o concede licencias para explotar el RO públicamente). Los servidores no oficiales bien se crean su propio emulador (cosa que jamás he visto hasta el momento) o recurren a cualquiera de estos proyectos libres para tener un paquete de programas que permita ejecutar algo que se parezca a los servidores oficiales. Aún así, no todos los servidores oficiales son iguales y, por tanto, la administración de cada emulador decide centrarse en uno de ellos. Tanto Hercules como rAthena emulan el servidor oficial coreano (kRO) porque es un servidor, pero tratando de obtener un producto en inglés. El resto de servidores oficiales tiene características mayoritariamente idénticas con la salvedad del idioma (salvo excepciones como el servidor japonés, jRO, que decidió no implementar mecánicas Renewal, y quizá algunos otros) y otros pequeños cambios. De hecho, international RO (iRO) es de los que más pequeños cambios introduce respecto a kRO. Esto lo sabe Ziu mejor que yo porque él está jugando actualmente en kRO y ha constatado previamente diferencias entre servidores oficiales, o incluso servidores oficiales y comportamiento por defecto de emuladores. Lo que es cierto y verdad es que, con casi total seguridad, ni iRO (International RO) ni kRO hayan cambiado el comportamiento de Rapid Throw (Mucha Nage para kRO). El hecho de escoger kRO como fuente para emular es sencillo: kRO es el servidor "oficial de oficiales". Prácticamente todas las implementaciones y cambios que seguirán todos los servidores oficiales (salvo que los adapten o modifiquen) se hacen y se prueban primero en un servidor kRO específico, llamado kRO Sakray. Incluso Ziu tiene un blog en que traduce al español los parches que se aplican a los servidores oficiales en kRO (enlace). Eso sí, en los códigos fuente de nuestros propios emuladores hemos confiado muchas veces en que el comportamiento que describen jugadores de iRO y fRO sea como ocurre en kRO. Además, como está en inglés, resulta más fácil de leer el contenido un enlace a irowiki o frowiki que algo en coreano. Bueno, ya es suficiente con esto, vamos a lo que realmente te interesa: Voy a analizar esa skill desde ambos emuladores ya que aquí dices que estás usando Hercules pero en el foro de rAthena comentas que usas rAthena. No deberías hacer esto ya que no sé qué emulador usas en verdad (ni yo nunca he mordido a nadie por ello, he respondido en las secciones internacionales de este mismo foro a preguntas sobre rAthena mejor que lo que hace personal de rAthena en sus propios foros ). Supondré que como hablas de Kagerou y Oboro, junto a skills de Shadow Chaser, estás en un servidor compilado en modo Renewal. Voy a comenzar con rAthena, ya que la forma que tienen ellos ahora mismo de determinar si una habilidad se puede copiar o no me gusta más que la que hay actualmente en Hercules y es más fácil de analizar. Las habilidades que se pueden copiar en rAthena aparecen en una tabla de texto en el archivo db/skill_copyable_db.txt. Como ves, no hay ni rastro de Rapid Throw o Mucha Nage al buscar su clave: KO_MUCHANAGE. Más aún, no hay ninguna entrada dedicada a ninguna habilidad de Kagerou ni Oboro. Por tanto, teóricamente la habilidad Rapid Throw no podría ser copiada a través de Plagiarism o Intimidate ni de Reproduce, y esto es así con el resto de habilidades de estas clases. En Hercules es más complicado: hay una tabla de texto para las habilidades que puedes reproducir (que, como comenté en mi anterior respuesta, se encuentra en db/skill_reproduce_db.txt), directamente heredada de cuando Hercules hició fork de rAthena, sin ningún cambio desde hace poco más de un par de años (ni mucho menos ninguna habilidad de Oboro/Kagerou) y luego una función en el código fuente que te permite comprobar si efectivamente puedes copiar una habilidad (que te muestro con comentarios detallados en español por mi parte): // Comprueba si una habilidad puede ser copiada con Plagiarism o Reproduce.// Devuelve 1 en caso afirmativo y 0 en caso negativo.int can_copy (struct map_session_data *sd, uint16 skill_id, struct block_list* bl){ // No se pueden copiar las habilidades de personajes casados o que solo pueden usar monstruos NPC if (skill->get_inf2(skill_id)&(INF2_NPC_SKILL|INF2_WEDDING_SKILL)) return 0; // ¿Qué hacer con las habilidades de clases renacidas? Ver conf/battle/skill.conf línea 200 y siguientes if((skill_id >= LK_AURABLADE && skill_id <= ASC_CDP) || (skill_id >= ST_PRESERVE && skill_id <= CR_CULTIVATION)) { if(battle_config.copyskill_restrict == 2) // Configurado para que NO se copie (como oficial) return 0; else if(battle_config.copyskill_restrict) // Si se trata de un valor de 1: solo lo copian Stalker pero no Rogues return (sd->status.class_ == JOB_STALKER); } // Si el valor de copyskill_restrict es 0, no hay restricción y se seguirá ejecutando la función, que devolverá 1 para ellas en todo caso // No es posible copiar Increase Agility ni Blessing. Se impone esta condición. if ((skill_id == AL_INCAGI || skill_id == AL_BLESSING || skill_id == CASH_BLESSING || skill_id == CASH_INCAGI || skill_id == MER_INCAGI || skill_id == MER_BLESSING)) return 0; // Si no estás en Reproduce y se ejecuta esta función, es que estás usando Plagiarism. Evitar plagiar cualquier habilidad de 3rd job. // Rapid Throw/Mucha Nage es una habilidad con skill ID dentro del rango de KO_YAMIKUMO Y OB_AKAITSUKI, por lo que por defecto no se copia. if( !(sd->sc.data[SC__REPRODUCE]) && ((skill_id >= RK_ENCHANTBLADE && skill_id <= SR_RIDEINLIGHTNING) || (skill_id >= KO_YAMIKUMO && skill_id <= OB_AKAITSUKI))) return 0; // Reproduce funcionará solo para las habilidades que estén en la lista de skill_reproduce_db (en particular ninguna de Oboro/Kagerou) else if( sd->sc.data[SC__REPRODUCE] && !skill->reproduce_db[skill->get_index(skill_id)] ) return 0; return 1;} -> Enlace: conf/battle/skill.conf, línea 200 -> Enlace: Lista de Skill IDs con sus nombres (resaltada línea de Mucha Nage) db/re/skill_db.txt Como ves, haciendo teóricamente imposible copiar de ninguna de las maneras cualquier habilidad de Oboro/Kagerou, en particular Rapid Throw o Mucha Nage. Aún así, parece que es oficial que (salvo esa misma), ninguna habilidad de Oboro/Kagerou se pueda copiar (enlace). Esto explica que por desgracia, ni en Hercules ni en rAthena se puede copiar. No es oficial y lo reportaré como bug en nuestro sistema para seguimiento y corrección de bugs (Bug Tracker) de tal forma que cuando se solucione el dueño/administrador de tu servidor solo tenga que actualizar Hercules (suponiendo que sea lo que usa). Si el dueño de tu servidor así lo prefiere y ejecuta Hercules, puede intentar aplicar la solución que coloqué en mi anterior respuesta. Teóricamente, nosotros damos soporte a los dueños, administradores o gente que tenga acceso a modificar cosas de sus respectivos servidores. No solemos poder dar respuesta general a preguntas de usuarios de servidores porque es posible que el servidor tenga cierta mecánica modificada a su gusto (es por eso por lo que se distribuye el código fuente con el emulador) y entonces para poder dar soporte apropiado a ello tiene que venir un responsable del servidor y comentar qué ha hecho primero. Y eso es todo de momento. ¡Un saludo!
-
If you issue this: make sql plugins Will make both of them, in the order you specify #Tips.
-
You can just use renewal mapcache in db/re/map_cache.dat as yours and you'll have all renewal maps on your servers. For the mobs... Well, you can directly copy them to your pre-re folder, but problem is you'll have overpowered mobs compared to what your pre-renewal mechanics will be. There is no current balance solution for that unless you manually balance them, but you'll get no other way for it. Moving topic to General server support sice I think it fits best there.
-
You should have your server previously made (doesn't matter when) when making plugins. Not sure if it's how it works but AFAIK it helps you save from getting errors. Anyways you should have your server off to make plugins, so I'd make sql plugins and you'll always be 100% certain plugins will work unles there have been changes at HPM.
-
¡Hola! No estoy del todo seguro, aunque mirando en el código y sin probar en el emulador (mi PC no aguanta 2 clientes ) parece que de momento no se puede copiar aquí ni en rAthena por parte de nadie, aunque iROwiki lo deja bien claro: Mañana cuando pueda rellenaré un bug report al efecto. Mientras tanto, si quieres solucionar el bug por tu cuenta (y arriesgarte a recibir conflictos de actualización cuando se arregle el bug) puedes intentar lo siguiente: db/skill_reproduce_db.txt : Añade al final lo siguiente: // Kagerou / Oboro3008 // Mucha Nage (iRO: Rapid Throw) src/map/skill.c:434 Cambia: if( !(sd->sc.data[SC__REPRODUCE]) && ((skill_id >= RK_ENCHANTBLADE && skill_id <= SR_RIDEINLIGHTNING) || (skill_id >= KO_YAMIKUMO && skill_id <= OB_AKAITSUKI))) Por: if( !(sd->sc.data[SC__REPRODUCE]) && ((skill_id >= RK_ENCHANTBLADE && skill_id <= SR_RIDEINLIGHTNING) || (skill_id >= KO_YAMIKUMO && skill_id <= OB_AKAITSUKI && skill_id != KO_MUCHANAGE))) (No lo he probado, pero debería funcionar). ¡Un saludo!
-
Need Help Daily Reward Auto Restart when 6Am
jaBote replied to ahmadshidqi's question in Script Support
I wouldn't break my mind and simply use a SQL query: - script dailyrewards -1,{OnPCLoginEvent: getmapxy .@map$, .@x, .@y, 0; if ( .@map$=="invek" ) { if( #Daily != gettime(5) ) { set .@point_amt, 25; set #CASHPOINTS, #CASHPOINTS + .@point_amt; dispbottom "Gained Daily Cash 25..."; dispbottom "Current Balance = "+#CASHPOINTS+" Cashpoints"; set #Daily,gettime(5); } } end;OnHour06: query_sql("DELETE FROM `acc_reg_num_db` WHERE `key` = '#Daily'"); end;} Be warned I didn't test this script, so this may cause unwanted deletion of vars. Try it first on a test server with a backup of your DB. -
Try with group ID# 0 (it's default for new users) conf/groups.conf groups: ({id: 0 /* group 0 is the default group for every new account */name: "Player"level: 0inherit: ( /*empty list*/ )commands: {/* no commands by default */}permissions: {/* without this basic permissions regular players could nottrade or party */can_trade: truecan_party: true}},
-
Well then, you should alter it, give a glance to the first lines: # Copyright (c) Hercules Dev Team, licensed under GNU GPL.# See the LICENSE file################ PLUGIN CONFIGURATION ############################### ## When you add a plugin, add its name here: ## Example: if you have a plugin named my_cool_plugin.c and another ## one named my_second_plugin.c, add them to the list like this: ## ## MYPLUGINS = my_cool_plugin my_second_plugin ## ## This is only needed if you want to build your plugin through ## 'make plugins' or 'make all'. If you don't add it to this list, ## you will still be able to build your plugin through ## 'make plugin.my_plugin' ## ## Note: DO NOT include the .c extension!!! #MYPLUGINS =# ########## DO NOT EDIT ANYTHING BELOW THIS LINE!!! ##################
-
This was previously a PM he sent to me, and I encouraged him to make a topic out of it. I'll also share the insights I gave him via PM (Felipe Brasil, please certify I didn't edit a single letter from it), along with a couple of side notes: Side note: There are a couple of systems I'd be willing to have, but overall product, its support and price are no way an appeal for me. Anyways that is not an option for the no-donation oriented servers I've had (only one as main admin, some others as co-admin without being owner). None of my servers were meant to be profitable and I'm proud none of them ever were (with not even a single surplus month, which I'm also proud of). Only donating people were these who actually trusted me and wanted to help me cover ONLY the monthly expenses, not those that wanted any donation items. In fact, they weren't given any exclusive privilege. You can hear me rant about that on my blog entry. This allows me to say your server can be successful without that hotchpotch of features (of which you'll use only a couple) provided you can be creative and keep an income of features to your server. However, while it is known I'm not a fan of eAmod, this topic is to have a polite, civil and appropriate discussion about this 3rd party paid modification. I won't allow any attacks or drama to be held on (I especially mean this for these people that make me think they're permanently angry when reading them) this topic, or I will start handing down warnings (and other proper punishments when needed) no matter who did it (be it a member of Hercules, someone defending eAmod or the Pope of Rome himself) or it'll get closed and removed if gets out of control.
-
Hi Sunzuki. We dropped conf/packets.conf around a year ago. Hercules uses src/map/packets.h. And sorry I don't understand the purpose of allowing DNS support on the IP rules server-side, since only clients can connect to the server and they all will have different host names, so that would be useless IMHO.
-
In my honest opinion, I think we are solid enough as a community (and on its staff) to withstand this without problem, but it is true some helped quite a lot before and can't help anymore because of lack of time, making this survey somewhat unfair for them.
-
Haven't had a grasp at it, but last notice I knew from that client is that it isn't stable. Let's wait till someone can give you a better abswer than mine.
-
We need more information such as what client version are you running. Not good on this myself, but this could prepare you for getting a good reply from someone else
-
HELP: How to see MAP CRASH error in linux?
jaBote replied to Hadeszeus's question in General Server Support
Try launching both login and char servers by separate this way. Assuming you're on your Hercules folder: ./login-server && ./char-server And launch map server so that all output is saved to a txt file: ./map-server > map_log.txt All Map server output will now be saved to map_log.txt (you can specify the filename you want). Hope this helps. -
No entiendo bien tu consulta, aunque creo que tienes un fallito en esos valores y debería darte error de lectura al cargar las configuraciones. max_level es la información de nivel máximo que el cliente puede aceptar. No deberías tocarlo si no sabes qué es lo que estás haciendo. aura_level es un nivel a partir del que quieres que se muestren las auras, cuyo valor debería ser siempre igual o superior a max_level. Todo personaje que tenga un nivel entre max_level y aura_level, recibirá información en su cliente de como si fuera max_level-1, para evitar que el cliente le asigne aura. Personalmente esta es una de las configuraciones que no entiendo bien, aunque prueba a usar esto si el nivel a partir del que quieres mostrar aura es 150: // Maximum allowed 'level' value that can be sent in unit packets.// Use together with the aura_lv setting to tell when exactly to show the aura.// NOTE: You also need to adjust the client if you want this to work.// NOTE: Default is 99. Values above 127 will probably behave incorrectly.// NOTE: If you don't know what this does, don't change it!!!max_lv: 99// Level required to display an aura.// NOTE: This assumes that sending max_lv to the client will display the aura.// NOTE: aura_lv must not be less than max_lv.// Example: If max_lv is 99 and aura_lv is 150, characters with level 99~149// will be sent as being all level 98, and only characters with level// 150 or more will be reported as having level 99 and show an aura.aura_lv: 150
-
We'd need the contents of your groups.conf to provide support to it. We can't guess an error that isn't specified unless we see where it comes from.
-
It should be inside your grf, just inside /data. Use a GRF editor to try look on it.
-
TRUNCATE TABLE `table_name1`;TRUNCATE TABLE `table_name2`; And so on. If you don't have permissions to truncate tables, I'd reccommend you to use: DELETE FROM `table_name` But what I should truly reccommend is dropping all tables for the database then loading them again, which can even be faster than that.
-
Try this: OnEquipScript: <" { atcommand "@aura999"; } ">OnUnequipScript: <" { atcommand "@aura 0"; } ">
-
If it doesn't turn on, something must be wrong on it, since if compilation is correct and you use the provided script to run it, it should be run. Other issue could be if the map server was launched but an error made it to close (which happens). In that case, you can redirect its output to a file and see what happens: Launch both char and login server by separate (or with that script), then launch map server like this: ./map-server > map_log.txt All output on the map server will then be saved on that file instead of being displayed on the screen. You can see that log and copy it to us if you wanted to further diagnose the problem.
-
There's no error in there. Don't you have something that could be related to a debug, warning or an error on any of the 3 consoles?