Jump to content

Waken

Members
  • Content Count

    52
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Waken

  1. // Set each element of the array individually for (.@i = 0; .@i < getarraysize(.@keys); .@i++) { setd("$global_storage_keys" + ":" + .@guild_id + "[" + .@i + "]", .@keys[.@i]); } Sadly seems that the script engine is clunky when you need to work with setd and arrays, this should be done by the engine itself, but since seems like setd isn't doing the job behind the scene, maybe you could try my code.
  2. I guess you have been passing the wrong struct to ShowScript function, use this instead : (as you can see here) clif->ShowScript(&(*sd)->bl, "your message", AREA); About deleting that conditional... You shouldn't do it if the original function is not gonna be executed ever, not sure about this specific case, and keep in note that when using preHook your function is gonna be executed first.
  3. Hello there, i'm not an expert but i'm gonna try to help. 1. About your warning, i got zero errors compiling your plugin in linux so i have no idea why it gives you the warning. 2. Since now you are using a preHook, you don't need to use **retVal**. This is only used when it's a postHook, because sometimes you want to know the returned value from the original execution (for example... stop your hook if you need it when returning an error). Is it your "little version" related to the warning, or there's more code somewhere?
  4. Hey, quizás llego tarde... aún así ten lo dejo por aquí. Todos los clientes: http://nemo.herc.ws/clients/ Data Actualizada tanto para Pre como Renewal: https://github.com/llchrisll/ROenglishRE
  5. Did you tried? achievement_iscompleted(<ach_id>{, <account_id>}) And if the "bonus syntax" doesn't work you could try to create your own status and assign them to the players when they login.
  6. conf/map/battle/skill.conf // Allows players to skip menu when casting Teleport level 1 // Menu contains two options. "Random" and "Cancel" skip_teleport_lv1_menu: false It's not lua, it's a custom one called "scripting" and you can read about how it works inside doc/script_commands.txt This for example can be found inside the script_commands.txt : ** Define a shop/cashshop NPC. -%TAB%shop%TAB%<NPC Name>%TAB%<sprite>,<itemid>:<price>{,<itemid>:<price>...} <map name>,<x>,<y>,<facing>%TAB%shop%TAB%<NPC Name>%TAB%<sprite>,<itemid>:<price>{,<itemid>:<price>...} Inside conf/common/inter-server.conf inter_configuration: { // Level range for sharing within a party party_share_level: 15 No idea. conf/map/battle/exp.conf // Rate at which exp. is given. (Note 2) base_exp_rate: 100 // Rate at which job exp. is given. (Note 2) job_exp_rate: 100 That is related to client resources, you need to change client files inside data/luafiles514/lua files/navigation/ This repo could be useful https://github.com/zackdreaver/ROenglishRE/ If you are using the guide that you posted, all databases are in OpenServer. I don't know, but you can start with msgstringtable.txt, it's inside your data folder. And please, consider these things : - Create topics and don't use the introduction to make your questions. - Use the wiki (https://github.com/HerculesWS/Hercules/wiki) and the search before ask - Si necesitas soporte en Español, tienes una sección para ello
  7. To know what is exactly the problem as Dastgir told you it's needed a crashdump. https://github.com/HerculesWS/Hercules/wiki/GDB (For linux) https://github.com/HerculesWS/Hercules/wiki/MSVC-Crash-Debugging (Windows Visual Studio instead)
  8. That's not possible without modifying the client. @Functor have a service for this, try to ask him.
  9. They are not sprites but palettes, so in your data/grf you need to have palettes for both (brown and white), you can manage it by ranges. (1-100 white 100-200 brown). And then modify your stylist npc to let the players choose if they want the brown skin or the white. Sadly the cloth colors and the skin are not separated because they are an unique palette (as you see in the image below) and this is hardcoded in client. (old image from the hercules wiki)
  10. As i told you at the Discord Channel, you need to declare it first, the compiler is saying there that "tstatus is unknown for him" that's probably because the before declaration of status are out of the scope (because they are inside conditionals) I didn't tested it but try to declare it like this before your conditional : struct status_data *tstatus = status->get_status_data(bl);
  11. case CR_ACIDDEMONSTRATION: #ifdef RENEWAL {// [malufett] int64 matk=0, atk; short tdef = status->get_total_def(target); short tmdef = status->get_total_mdef(target); int targetVit = min(120, status_get_vit(target)); short totaldef = (tmdef + tdef - ((uint64)(tmdef + tdef) >> 32)) >> 1; // FIXME: What's the >> 32 supposed to do here? tmdef and tdef are both 16-bit... matk = battle->calc_magic_attack(src, target, skill_id, skill_lv, mflag).damage; atk = battle->calc_base_damage(src, target, skill_id, skill_lv, nk, false, s_ele, ELE_NEUTRAL, EQI_HAND_R, (sc && sc->data[SC_MAXIMIZEPOWER]?1:0)|(sc && sc->data[SC_WEAPONPERFECT]?8:0), md.flag); md.damage = matk + atk; if( src->type == BL_MOB ){ totaldef = (tdef + tmdef) >> 1; md.damage = 7 * targetVit * skill_lv * (atk + matk) / 100; /* // Pending [malufett] if( unknown condition ){ md.damage = 7 * md.damage % 20; md.damage = 7 * md.damage / 20; }*/ }else{ float vitfactor = 0.0f, ftemp; if( (vitfactor=(status_get_vit(target)-120.0f)) > 0) vitfactor = (vitfactor * (matk + atk) / 10) / status_get_vit(target); ftemp = max(0, vitfactor) + (targetVit * (matk + atk)) / 10; md.damage = (int64)(ftemp * 70 * skill_lv / 100); if (target->type == BL_PC) md.damage >>= 1; } md.damage -= totaldef; if( tsc && tsc->data[SC_LEXAETERNA] ) { md.damage <<= 1; status_change_end(target, SC_LEXAETERNA, INVALID_TIMER); } } #else // updated the formula based on a Japanese formula found to be exact [Reddozen] if(tstatus->vit+sstatus->int_) //crash fix md.damage = (int)(7*tstatus->vit*sstatus->int_*sstatus->int_ / (10*(tstatus->vit+sstatus->int_))); else md.damage = 0; if (tsd) md.damage>>=1; #endif // Some monsters have totaldef higher than md.damage in some cases, leading to md.damage < 0 if( md.damage < 0 ) md.damage = 0; if( md.damage > INT_MAX>>1 ) //Overflow prevention, will anyone whine if I cap it to a few billion? //Not capped to INT_MAX to give some room for further damage increase. md.damage = INT_MAX>>1; break; In battle_calc_misc_attack (battle.c)
  12. Puedes hacer multitud de cosas ... - Quest de historia : Hablar con múltiples npcs eligiendo tal vez las opciones correctas hasta llegar a resolver la trama. - Quest de busqueda : Encontrar a alguien escondido o localizaciones. No estoy muy inspirado ahora mismo, pero tienes multitud de comandos, te recomiendo que te fijes en los comandos en script_commands seguramente se te ocurran quest e ideas cuando veas las posibilidades que tienes.
  13. Nice work, i'm following this topic It's hard to do animations for gr2 format, in 3dmax looks cool... and slower, but in gr2 viewer looks really fast and bad... Try to put the animation in the folder "3dmob_bone" like this ... "5_stand.gr2" with the number of the model. Maybe will work, dunno ! At least my stand animation is working on my models doing this. But, you are right, if they disabled the client animation on the flag.... owww the pain.
  14. Better at optimization, but uncompleted. (unfortunately...) Here do you have the github of the project : https://github.com/Borf/browedit
  15. She takes her work very serious and does it fast. Daifuku is easy to talk to, has patience, is friendly and flexible. What else do you need? Her graphics are awesome. I recomment her if you need high quality graphics. 10/10 It was nice to meet this awesome artist.
  16. Hi, this tool continues supporting hercules and pre-renewal? Because i tested and i got this : "'hercules' is an invalid mode." But in the info of the command db appears -> "usage: valid modes are [eathena | rathena | hercules | resource]" Regards,
  17. @@Neo My client crashes when i trying to login... I tried with default lubs of nemo, and only happens with the option "Enable custom Jobs." And i have the lubs in the correct folder, all is fine with my previous client ( 2013-08-07aRagexe ) Now i'm using 2013-12-23cRagexe. Why...? Thanks! I tested 2014-10-22b also and still happens, the client crashes.
  18. Notepad++ or this is cool too http://herc.ws/board/files/file/108-npc-script-editor/
  19. Te recuerdo que la ID View se declara en item_db2. Una vez que especificas la id view en tus luas como dijo Kusoo debes de especificarla en la db. Como pusiste en el principio : { Id: 40000 AegisName: "c_frog_king_hat" Name: "Custome Frog King Hat" Type: 5 Buy: 0 Job: 0xFFFFFFFF Loc: 1024 EquipLv: 1 Refine: false View: 40000 <--- ¿¿Has puesto la id que tienes en tus luas declarada??},
  20. No, no es tema ni de orden, ni del objeto que has añadido, al parecer tu lua falla por otro lado... He estado mirando pero no he encontrado nada, además se ve muy mal, sin fabulaciones y sin nada :S Por ejemplo, mira la diferencia como se ven aquí https://raw.githubusercontent.com/ROClientSide/Translation/master/System/itemInfo.lua No tiene nada que ver... si no encuentras el problema te recomiendo cambiar de luas porque esas pfff, para buscar algo allí, te puedes morir y... he leído iteminfo.lub del cartel de error del cliente, ten cuidado con eso porque si alguien actualiza ragnarok se le actualizará el fichero iteminfo.lub :/
  21. Si has puesto el objeto al final del todo, quita la coma. Dime si ya no te da error, saludos. Se me olvidaba, el anterior ID de objeto, el penúltimo antes del tuyo, si no tiene coma ponla. Algo así te tendría que quedar.
  22. De nada, por cierto... te informo, si deseas cambiar el directorio o nombre del archivo donde va a leer los items se puede cambiar a la hora de diffear tu cliente con NEMO (Es decir, por si quieres que en vez de que sea iteminfo.lua sea... el nombre que tu quieras, para evitar conflictos con otros server que estén en la misma carpeta) Una cosa más ya que he visto que dices que tienes users online... No es necesario parar el servidor para hacer cambios en las db de objetos, tan sólo necesitas hacer el siguiente comando in-game @reloaditemdb y si son cambios en archivos locales, tampoco tendrás problemas ya que tan sólo te afectan visualmente a ti.
  23. ¿Qué cliente estás usando? Lo digo porque los últimos clientes tienen la información de los objetos (descripciones, sprite que se va a usar) en la carpeta System, generalmente en iteminfo.lua.
  24. Buenas. 1) Para solucionar tu problema debes de utilizar una id menor que 40.000 ya que sobrepasas el limite, prueba con 24000 para adelante. 2) Utiliza mejor item_db2.conf para items custom, si en un futuro se actualizan las db de items perderás los custom. 3) View: 40000 <-- ??? revisa lo, no me cuadra que sea esa view id
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.