Jump to content

Waken

Members
  • Content Count

    52
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by Waken


  1. On 3/16/2023 at 6:39 PM, ahoy said:

    Hi, thanks for your reply.

     

    I think this case is a little different as `copyarray` requires a reference to an array. Unless I am misunderstanding something, in your example, you are getting a reference to your global array and are then copying it to an array that you are passing as your first argument. But in my case, I need to update a global array. I use `getd` to get a reference to my global array, but the destination array in `copyarray` cannot accept a string reference. When I follow your pattern, I am copying the contents of an array into itself without updating the global array. 

     // 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. On 10/14/2021 at 10:00 AM, Atlas said:

    Hola;

    Quisiera saber donde puedo encontrar un repositorio de data y exe para poder elaborar mi cliente lo mas actualizado posible.

    Alguien me puede echar una mano?

    Gracias

    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. Quote

    1 - How remove the notificacion / ask for the "Teleport" skill at level 1 ?

    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
    Quote

    2 - I want to add custom npc for buy SP Healing items and set the price (well reading the custom scripts i have a minimal idea, but which programming lenguage is this "lua" ?

    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>...}
    Quote

    3 - If possible remove the limit of 15 levels of EXP Share in party modifying some file in the configuration of server?

    Inside conf/common/inter-server.conf
     

    inter_configuration: {
    
    // Level range for sharing within a party
    
    party_share_level: 15
    Quote

    4 - Activate the "swap" of "equipment" without waiting (insta swap) [We can't use looks like is disabled]

    No idea.
     

    Quote

    5 - In which file i can set the rates? because on ratemyserver i know exists servers with rates like

    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
    Quote

    6 - How to add things to the "Navigator System" ?

    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/
     

    Quote

    7 - Finally, Where are the user accounts and characters stored ? Because if i want upgrade server-side & client side to the latest version i prefer backup this information first.


    If you are using the guide that you posted, all databases are in OpenServer.
     

    Quote

    Exist some documentation from where i can start a full-translation of the client to spanish ?

    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


  6. 8 hours ago, Kuroyama said:

    Hi Sir @Dastgir, the error is made from @hatless plugin. I don't know why it's interfering to warp portal skill but I did try to remove that plugin and now the portal skill works again without having this weird crash.

    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)


  7. 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.
    Edit_color_table.jpg

    (old image from the hercules wiki)


  8. 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);


     


  9. 	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)


  10. 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.


  11. So i was trying some options on adding the wind effect to the mesh, but unfortunately i was unable to simulate the animation with bone structures (the conversor uses 3dmax2007 that sucks on simulating gravity and forces)... but its a work in progress i'll keep you guys updated.

     

    but i'm not sure it's going to work, since the official flag has the wind animation already built in but it seems that gravity opted by having it static instead, maybe they disabled the client animation on the flag. Have to test it out.

     

    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.


  12. 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,


  13. @@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.


  14. 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??}, 

  15. 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 :/


  16. Si has puesto el objeto al final del todo, quita la coma.

     

    slotCount = 0, ClassNum = 654
    }, 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.

     

    aa9c2b50d3c5244905e288a5b1b36a2b.png


  17. 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.


  18. 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


  19. Try this if you still got error

     

    attachicon.gif30 Ragnarok Icon.rar

     

    Thanks for share this ^^

     

     

    Like i have mentioned in the patch. the icon file should contain one image of 32x32 size  & 8bpp depth. the patch simply replaces the existing icon image with the one from the icon and Gravity apparently likes to keep almost everything in the 8bit depth.

     

    Anakid's icon pack are all 32 bit icons which is why it did not work.

     

    N.B. To make 32 bit icons work is a headache hence i chose not to go through that path (atleast not for now).

     

    Thanks for the answer,

    But... then this Icon Pack is not working with any client?

×
×
  • Create New...

Important Information

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