Jump to content

Gidz Cross

Members
  • Posts

    686
  • Joined

  • Days Won

    9

Posts posted by Gidz Cross

  1. Hi. Any explanation why there is folder named lord_of_vermillion in the effects folder while LOV effects is also in the effect folder? I am meddling with the effects and found out that my client reads whats on the lord_of_vermillion folder inside the effect folder. Before it reads whats inside the effect folder.

    is this new client thingy? I use 2018. Have some friends that uses 2022+ but their LOV effects are inside effect folder only. Strange.

  2. I've added custom job but there is this problem with the garment.
    image.gif.7052c2dd38f7e52264bcd1597a71003d.gif

    As you can see, it is also displaying in front. Now  I know that i need to edit some lub files and perhaps add the job id but i don't know where to start. Any help would be appreciated.

    *EDIT

    FIXED

  3. 12 hours ago, ckx_ said:

    I hackily solved this on the source side. A side effect of my solution is that it shows extra damage numbers (but the multihit total is still correct, and the extra damage numbers are visual only). My solution:

    In the "display damage" switch block in skill_attack:

    		case CG_ARROWVULCAN:
    		case AS_SONICBLOW: {
    			dmg.dmotion = clif_skill_damage(dsrc, bl, tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, flag & SD_LEVEL ? -1 : skill_lv, dmg_type, dmg.crit);
    			struct unit_data* ud = unit_bl2ud(dsrc);
    			if (ud) {
    				ud->dmg = dmg;
    				ud->sb_animation = 0;
    				ud->sb_target = bl->id;
    				ud->sb_timer = add_timer(gettick()+20, skill_sonicblow_animation, dsrc->id, 0);
    			}
    			break;
    		}

    ↑ This plays the default SB animation, sets up some data, then adds a new timer function.

    Here's the code for the timer_func it adds:

    TIMER_FUNC(skill_sonicblow_animation){
    	struct block_list *target, *src;
    	struct unit_data *ud;
    	struct status_change *sc = NULL;
    	int flag = 0;
    
    	src = map_id2bl(id);
    	if(src == NULL) {
    		return 0;
    	}
    
    	ud = unit_bl2ud(src);
    	if(ud == NULL) {
    		return 0;
    	}
    	target = map_id2bl(ud->sb_target);
    
    	if (!target || ud->sb_animation >= ud->dmg.div_ || ud->sb_timer == INVALID_TIMER) {
    		ud->sb_animation = 0;
    		ud->sb_timer = INVALID_TIMER;
    		return 0;
    	}
    	int div_ = ud->dmg.div_;
    	if (div_ < 1) {
    		div_ = 1;
    	}
    	t_tick canmove = tick_diff(ud->canmove_tick, tick);
    	canmove /= (div_-ud->sb_animation);
    	if (canmove > 175) {
    		canmove = 175;
    	}
    	clif_damage(src, target, tick, 125, ud->dmg.dmotion/div_, ud->dmg.damage/div_, div_, DMG_NORMAL, ud->dmg.damage2/div_, ud->dmg.isspdamage);
    	ud->sb_animation++;
    	ud->sb_timer = add_timer(tick+canmove, skill_sonicblow_animation, id, data);
    	return 1;
    }

    ↑ This just sets up some damage then calls clif_damage, and sets up another timer func to keep it going until sb_animation reaches skill's div count. To be clear this will work for any multiattack that you want to have spam auto attacks, not just SB. Sorry for the naming scheme.

    The extra damage numbers are customizable by changing what you pass to the clif_damage call. You can set it to all 1s, or all misses, or anything else. Unfortunately I never found a way to implement this without the extra numbers—I'm not sure how to force the client to arbitrarily play an auto attack animation with no corresponding damage numbers. If someone knows, I'd be interested.

    and in the unit_data struct:

    	int sb_animation, sb_target, sb_timer; // hacky sb animation fix

    ↑ just some state data, ud seemed like the best place to put it so that it works on both mobs and players.

    This produces a sonic blow like in the attached file. also viewable here: https://mikomiko.org/files/Screencast_20240512_005716.webm

    It's not perfect but I'm happy enough with it for now.

     

    This is nice to those who are on 2019+ client. Keep it up!

  4. 9 hours ago, Tokei said:

    That is... a strange issue, I'm not able to reproduce it. If you opened GRF Editor without the "Always reopen latest opened GRF", you will get a template GRF as such:

    image.png.76473fac26406c24baa2afc5ca46cf1e.png

    As you can see, the window title is "GRF Editor - new *", with a star at the end, meaning it hasn't been saved yet. It also has a "data" folder in it. In your screenshot, you have neither. That means you've opened an actual GRF, but that also doesn't make sense since an opened GRF will display the full path in the title. As much as I'd like to fix this issue, it doesn't seem possible to reproduce.

    The error shows that the magic string is empty instead of "Master of Magic". That looks like an empty file...? That also doesn't make much sense. I would need additional information (well, assuming that error is worth fixing since it doesn't seem to trigger normally at all).

    I will do a quick re install.

    Edit*

    Yep! It was fixed. image.png.74e40df5ba568a3ad6975e9397c65ef5.pngThanks @Tokei!

    • Upvote 1
  5. 6 hours ago, Chaos92 said:

    What does it shows when you click the ! button ?

    Something to do with the header thingy.
    image.png.a4e6854b9062d32cc245799ce49edfd1.png

    Also i always do this settings to prevent opening the previous opened grf.
    image.png.75a4e460698a8a30741ccb8d66d8d939.png

  6. 4 hours ago, Tokei said:

    Fixed in 1.8.7.3. The issue comes from selecting "red objects/textures", objects/textures that cannot normally be selected because their resources aren't found in your current GRF(s). But by clicking on the "guildhall.gnd" node, it selects everything anyway. If you want to extract everything, I'd recommend adding more resource GRFs:

    image.png.c931462ca9619cd825888e5e221a2a2a.png

    (Version 1.8.7.3 also allows to read Alpha GRFs, for anyone interested...)

    Thank you so much tokei!

  7. 6 hours ago, Tokei said:

    Please use "Copy exception" and paste the result here; I'm unable to reproduce.

    Thank you so much for your prompt response. Additional Information.

     

    And here are the result from four errors from copy exception
     

    To Tokei.rar

     

    I did come from version 1.8.6.6 and did experience this. I just updated to the latest to check if the problem still persist.

     

×
×
  • Create New...