Jump to content

Slyx

Members
  • Posts

    57
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Slyx

  1. Hello guys,

    How do I calculate these mob data assuming I get the initial data from Divine Pride. I tried searching in status and mob cpp but cant find the exact formula

    For instance:

    Scorpion (mob ID 1001)

    divine pride speed (cell/sec) = 5    rathena mob.db Speed = 200

    divine pride aspd (atk/sec) = 1.16    rathena mob.db aDelay = 1564

     

  2. 22 minutes ago, n0tttt said:

    I didn't understand very well.

    Could you try with one of these commands? Like sleep 2 * 60 * 60 * 1000;

    Sorry..Im trying to find a way to delay the script after mvp is dead (OnMobDead) for 2 hours. During these 2 hours, even the countkill has reached, the mvp will not spawn. I managed to script it but have not tried it yet. The sleep command seems suitable for my case.

    here is the script I made:

    pay_d03_i,0,0,0	script	Trigger	-1,{
    	end;
    OnMobDead:
    	$MobDead++;
    	if ($MobDead == 5 && .mvp_monster == 0) {
    		$MobDead = 0;
    		mapannounce "pay_d03_i", "Angry Moonlight Flower: Here I am!!.", bc_map;
    		monster "pay_d03_i",155,134,"--en--",3760,1,"Trigger::OnMvpDead";
    		.mvp_monster = 1;
    	}
    	end;
    OnMvpDead:
    	initnpctimer;
    	.delay = 0;
    	killmonster "pay_d03_i", "Trigger::OnMvpDead";
    	mapannounce "pay_d03_i", "Angry Moonlight Flower: OH NO!!.", bc_map;
    	end;
    OnTimer60000:
    	.delay++;
    	if (.delay < 100)
    		initnpctimer;
    	else {
    		stopnpctimer;
    		.delay = 0;
    		.mvp_monster = 0;
    	}
    	end;
    }

     

  3. How do I trigger a boss spawn based on specific monster ID and number of kill. For instance:

    Kill monster (ID  = 3759)  10 times to spawn boss  (ID = 3758)

    Edit:OK found it ?

    pay_d03_i,0,0,0	script	Trigger	-1,{
    	end;
    OnMobDead:
    	$MobDead++;
    	if ($MobDead == 5) {
    		$MobDead = 0;
    		mapannounce "pay_d03_i", "Angry Moonlight Flower: Here I am!!.", bc_map;
    		monster "pay_d03_i",0,0,"--en--",3758,1;
    	}
    	end;	
    }

    But I am still looking to delay the mvp spawn for 2 hours even the mobcount is greater than 5.

  4. hello guys,

    I am trying to implement NPC_WIDEWEB skill but the location of skill unit is fixed on the caster coordinate while officially it should only affect the targets around caster for 15x15 aoe size.

    Below are the modification i did on source and db files

    //skill.cpp	under skill_castend_pos2 block
    case NPC_WIDEWEB:
    	flag|=1;//Set flag to 1 to prevent deleting ammo (it will be deleted on group-delete).
    case GS_GROUNDDRIFT: //Ammo should be deleted right away.
    case GN_WALLOFTHORN:
    case GN_DEMONIC_FIRE:
    	skill_unitsetting(src,skill_id,skill_lv,x,y,0);
    
    //skill_db
    721,0,6,4,0,0x3,7,1,1,no,0,0x2,0,none,0,0x0,	NPC_WIDEWEB,Wide Web
    
    //skill_unit_db
    721,0xb7,     ,  0, 0,  -1,enemy, 0x8000	//NPC_WIDEWEB

     

    Animation (1).gif

  5. 	struct status_change *sc;
    	struct status_change_entry *sce;

    Hello guys,

    I am still learning coding in map folder. May I know what is the different(s) between these 2 struct?

  6. // The maximum weight for a character to carry when the character stops healing naturally. (in %)
    // For renewal: Requires client 20171025 or newer to display properly
    natural_heal_weight_rate: 50
    natural_heal_weight_rate_renewal: 70

    If you set 70% to be the weight limit for natural regeneration  to be disabled  and set your character weight  in between 50 to 69 percent, this warning pops up every time you log in:

    • Your weight limit is over 50, HP and SP will not recover naturally.

    Suppose this warning only trigger of your carriage weight is over 70% right?

  7. Thank you! It works!

    Apparently if I want to assign all subskills to WL_TETRAVORTEX, the bugged animation re appeared.

    		} else if(!sd) {
    			int i, k, subskill = 0;
    			for( i = 0; i < 4; i++ ) {
    				switch( i ) {
    					case 0:  subskill = WL_TETRAVORTEX; k |= 1; break;
    					case 1:  subskill = WL_TETRAVORTEX; k |= 4; break;
    					case 2:  subskill = WL_TETRAVORTEX; k |= 2; break;
    					case 3:  subskill = WL_TETRAVORTEX; k |= 8; break;
    				}
    				skill_addtimerskill(src, tick + i * 200, bl->id, k, 0, subskill, skill_lv, i, flag);
    				clif_skill_nodamage(src, bl, subskill, skill_lv, 1);
    			}
    		}	

    This must be from the assigned k value in the code. May i know what does k value means?

    EDIT:

    Found the solution. I forced these skills to be neutral if cast by mob in battle.cpp and retain the animation of fire, water, lightning and earth. I think the animation sprite for WL_TETRAVORTEX is designed to be like that in grf file

     

    • Like 1
  8. Hello guys,

    Tetravortex skill, when cast by monster, gives a black rectangular-shaped on skill animation as shown in gif below. I am not sure where the source of this problem but I suspect it might be from clif_skill_nodamage function?

    Thank you in advance for your comment and support

    Animation (1).gif

  9. From the video below, when the rune knight used concentration skill, the def was not reduced base on the status window shown.

    Did they remove the def penalty from concentration or the def reduction is not displayed on the status window?

     

     

     

×
×
  • Create New...