Jump to content

WhiteEagle

Members
  • Posts

    461
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by WhiteEagle

  1. 22 hours ago, aleph075 said:

    Wich is the command to read the level of the user? I wanna make the players pay for healing, depending on the level. But dunno the code.
    I aprecciate if u give me some "basic useful" commands like this, or a guide where i can read it. THX!

    You can use stuff like this:
    Zeny -= value * BaseLevel;

    or like Rynbef said, do if checks like

    if (BaseLevel >= 30)
    Zeny -= 2000;
    else if (BaseLevel >= 20)
    Zeny -= 1000;

    and so on

    • Upvote 1
  2. 13 hours ago, aleph075 said:

    Como hago si quiero que la curacion siga una FORMULA? Es decir, no quiero que cure por 5 o por 7. Por ejemplo, quiero que cure 5 + (La mitad de tu nivel base). Es correcto editar asi? 

    case NV_FIRSTAID:
    		clif_skill_nodamage(src,bl,skill_id,5,1);
    		status_heal(bl,5 + (BaseLevel/2),0,0); <---- just change 5 to your wished amount
    		break;

     

    Sí, debería estar bien.

  3. 6 hours ago, aleph075 said:

    ¿De que puedo editar el script de first aid para que altere su curacion segun el nivel por ejemplo?

    src/skill.cpp

    case NV_FIRSTAID:
    		clif_skill_nodamage(src,bl,skill_id,5,1);
    		status_heal(bl,5,0,0); <---- just change 5 to your wished amount
    		break;

     

    • Upvote 1
  4. 2 hours ago, morrigon9 said:

    hi white for rathena version this is the fullclient right? if it is im using the 20230404 one.

    You talk about the client date, not the rAthena version. Im confused how do you able to use rAthena when you don't know what rAthena is. xD

  5. Looks like you use a really old version of rAthena.
    Well, in atcommand.cpp, you can search for mobinfo and scroll down to // drops
    In the latest rAthena, the part looks like this:

    int droprate = mob_getdroprate( &sd->bl, mob, mob->dropitem[i].rate, drop_modifier );
    
                sprintf(atcmd_output2, " - %s  %02.02f%%", item_db.create_item_link( id ).c_str(), (float)droprate / 100);

    So, if you want to get displayed in @mi your bubblegum, you need to add the part with the SC_ITEMBOOST in mob.cpp

  6. You seem to have misunderstood his issue.
    The problem is not about displaying the exact value with 5 decimal places or how its calculated ^^, but rather that nothing changes for him, whether with or without Bubble Gum active (SC_ITEMBOOST).
    And you said, its not changing at @mi or @monsterinfo if u are using bubble gum or HE gum, but it does. I don't talk about the calculation for 100%, 200% or other SC_ITEMBOOST value. 😄
    Just, when you are using an Item with SC_ITEMBOOST, it's showing in @mi, that what he ask for.

  7. Well, you can search in mob.cpp for:

    if (src) {
    		if (battle_config.drops_by_luk) // Drops affected by luk as a fixed increase [Valaris]
    			drop_rate += status_get_luk(src) * battle_config.drops_by_luk / 100;
    		if (battle_config.drops_by_luk2) // Drops affected by luk as a % increase [Skotlex]
    			drop_rate += (int)(0.5 + drop_rate * status_get_luk(src) * battle_config.drops_by_luk2 / 10000.);

    There should be a part with
     

    if (sd->sc.getSCE(SC_ITEMBOOST))
                    drop_rate_bonus += sd->sc.getSCE(SC_ITEMBOOST)->val1;

     

  8. 4 hours ago, Outlook said:

    No use item HP and SP look like autopot

    If = % use item HP if use SP If = % use item SP

    This refers to the fact that it is easier and faster to reduce the player's HP/SP than to use skills for 5 minutes.
    !heal 0 -1500 as an example would have deducted 1500 SP from you, triggering the AutoPot.

    Was just a help to make your videos shorter

  9. 3 hours ago, luizinhomt said:

    Thank you for answering more than I need and may the cutin stay within the window.

    I saw this on a server, it looks better because you can move the window to another place to better view the image

    errocutin.png

    I think, you talk about cutin "filename",3;  <-- position 3
     

    *cutin "<filename>",<position>;
    *cutin2 "<filename>",<position>;
    
    This command will display a picture, usually an NPC illustration, also called
    cutin, for the currently attached client. The position parameter determines the
    placement of the illustration and takes following values:
    
    	0	bottom left corner
    	1	bottom middle
    	2	bottom right corner
    	3	middle of screen in a movable window with an empty title bar
    	4	middle of screen without the window header, but still movable
    	255	clear all displayed cutins



     

    • Upvote 1
  10. Hey guys, Could anyone show me how to create a SC_STATUS like SC_BURNING,
    that deals damage based on players 'ATK/MATK instead of fixed or percentage damage?
    I couldn't find a DoT effect where the damage depends on the player's stats, so I need your help.

    Thanks ~

    case SC_BURNING:
    		if (sce->val4 >= 0) {
    			int64 damage = 1000 + (3 * status->max_hp) / 100; // Deals fixed (1000 + 3%*MaxHP)
    			map_freeblock_lock();
    			dounlock = true;
    			status_fix_damage(bl, bl, damage, clif_damage(bl, bl, tick, 0, 1, damage, 1, DMG_NORMAL, 0, false),0);
    		}
    		break;

     

  11. 3 hours ago, borealis said:

    hi sir. when can adjust the broadcastsuccess? what file i will edit?

    It's in refine_db.yml.
    Path: db/pre-re/ or db/re/

    And its used like this here:

              - Level: 13
                Bonus: 2800
                BlacksmithBlessingAmount: 16
                BroadcastSuccess: true
                BroadcastFailure: true
                Chances:
                  - Type: Normal
                    Rate: 800
                    Price: 100000
                    Material: Carnium
                    BreakingRate: 2000
                    DowngradeAmount: 3
                  - Type: HD
                    Rate: 800
                    Price: 100000
                    Material: HD_Carnium
                    DowngradeAmount: 1

     

  12. Hey there~

    I want to switch the order of the name and title, but after a few hours, I give up. So, it would be nice if you could help me out with my problem.
    Here is my problem: When you use 'setunittitle', the title appears above the NPC name. As an example:

    image.png.b2b25890e0f88239c3ccd31599a52b89.png

    But I want the title beneath the name, like here:
    image.png.aec626d4ff84b327e498b9dec3f3d703.png

    "I know I could simply use the name in 'setunittitle' and change the NPC name to the title name,
    but, well... that's not the intended use, is it?" 😄

    In clif.cpp, the section where the name and title are defined is located:
    void clif_name( struct block_list* src, struct block_list *bl, send_target target ){

                    case BL_HOM:
    		case BL_MER:
    		case BL_PET:
    		case BL_NPC:
    		case BL_ELEM: {
    			PACKET_ZC_ACK_REQNAMEALL_NPC packet = { 0 };
    
    			packet.packet_id = HEADER_ZC_ACK_REQNAMEALL_NPC;
    			packet.gid = bl->id;
    
    			switch (bl->type) {
    				case BL_HOM:
    					memcpy(packet.name, ((TBL_HOM *)bl)->homunculus.name, NAME_LENGTH);
    					break;
    				case BL_MER:
    					memcpy(packet.name, ((TBL_MER *)bl)->db->name.c_str(), NAME_LENGTH);
    					break;
    				case BL_PET:
    					safestrncpy(packet.name, ((TBL_PET *)bl)->pet.name, NAME_LENGTH);
    					break;
    				case BL_NPC:
    					safestrncpy(packet.name, ((TBL_NPC *)bl)->name, NAME_LENGTH);
    					break;
    				case BL_ELEM:
    					safestrncpy(packet.name, ((TBL_ELEM *)bl)->db->name.c_str(), NAME_LENGTH);
    					break;
    			}
    
    #if PACKETVER_MAIN_NUM >= 20180207 || PACKETVER_RE_NUM >= 20171129 || PACKETVER_ZERO_NUM >= 20171130
    			unit_data *ud = unit_bl2ud(bl);
    
    			if (ud != nullptr) {
    				memcpy(packet.title, ud->title, NAME_LENGTH);
    				packet.groupId = ud->group_id;
    			}
    #endif
    
    			clif_send(&packet, sizeof(packet), src, target);
    		}




    The next consideration is whether it would be possible to add a function that centers the name beneath the title.
    As you can observe, when the name is shorter than the title, it looks quite unappealing.


    image.png.c52120e580f518449e30ba223d80a371.png



    It would be a good change for rAthena, I think, as I am not the only one bothered by this and centering the name would be a generally positive modification.
    I would greatly appreciate it if someone could provide me with the solution. Thank you.

    • Love 1
×
×
  • Create New...