Jump to content

Recommended Posts

Posted (edited)

why its not get the item ?

T_T

can you help me ?

its get only the 1st hit, then no repeated get the item..

hmm..

Edited by mrlongshen
  • 4 years later...
Posted

Okay, got this to work, but the question is, how do I make it so that the getitem only procs when attacking that guardian stone?

In its current setting, attacking anything will proc the getitem values in the script.

Posted (edited)
2 hours ago, Quesooo said:

please update this :)

just change the following line in Minner.txt and this'll work just fine.

Spoiler

else if( getequipid(9) == 6010 && getequipid(6) == 5009 )

- It was using an old slot before, so it wasn't properly detecting the upper headgear and weapon slot.

 

- Anyway, the bigger issue is that the script procs on ANY monster you attack, so you get iron ores, elus, irons, even when you're just attacking porings.

 

- I've been trying find a way to make it proc only when you're attacking a certain mob, like the guardian stone for example.

 

- I'm a newb at scripting (an understatement to be sure), I tried strmobinfo, OnTouchNPC, and a slew of other methods but I can't make it behave as I desire, it can be done, hopefully. Maybe I just lack the necessary scripting knowledge or syntax savvy to make it behave the way I want it to, I'm still hoping that someone would come to my rescue.

 

- I actually found a way to make it work, but it would become an instancing event and that would suck, big time.

Edited by Kidlatsv
  • 11 months later...
  • 3 months later...
  • 3 months later...
  • 1 year later...
Posted

Check these changes. I managed to make this work.

 

Made some updates.

 getequipid(8) == 6010 && getequipid(6) == 5009

/*

	Author	Goddameit
	Version	2013/02/06
	Web	http://bit.ly/MDuQ9F

*/
function	script	Minner_Main	{

	if( getarg(0) == 2 )
	{
		undisguise;
		if( strcharinfo(3) == "manuk" )
			warp "SavePoint",0,0;
		end;
	}
	else if( strcharinfo(3) == "manuk" && getequipid(8) == 6010 && getequipid(6) == 5009 )
	{
		if( getarg(0) == 0 )
			disguise 1169;
		if( getarg(0) == 1 )
		{	
			set .@r, rand(1000);
			if( .@r < 700 )
				getitem 1002,1;
			else if( .@r >= 700 && .@r < 990 )
				getitem 757,1;
			else
				getitem 756,1;
			specialeffect2 154;
		}else
			;
		return;
	}
	else
		;
	return;
}
-	script	Minnerx	-1,{OnLill:
	set .@t,1;OnInit:
	if(!.@t)set .@t,100;
	monster     "manuk",0,0,"--ja--",1907,.@t,"Minnerx::OnLill";
	end;
}

I updated the Pickaxe, from bonus bAtkRate, -100, to bonus bAtkRate, -99.

6010,Pickaxe,Pickaxe,4,10,,10,10,,1,0,0xFFFFFFFF,7,0,34,0,0,0,0,{ bonus bAspd,-30; bonus bCritical,100; bonus bAtkRate,-99; autobonus "{ callfunc \"Minner_Main\",1; }",10000,1,BF_WEAPON; },{ callfunc "Minner_Main",0; },{ callfunc "Minner_Main",2; }

 

  • Upvote 1
  • 2 months later...
Posted
On 1/24/2021 at 8:35 AM, mawjustin said:

Check these changes. I managed to make this work.

 

Made some updates.

 getequipid(8) == 6010 && getequipid(6) == 5009


/*

	Author	Goddameit
	Version	2013/02/06
	Web	http://bit.ly/MDuQ9F

*/
function	script	Minner_Main	{

	if( getarg(0) == 2 )
	{
		undisguise;
		if( strcharinfo(3) == "manuk" )
			warp "SavePoint",0,0;
		end;
	}
	else if( strcharinfo(3) == "manuk" && getequipid(8) == 6010 && getequipid(6) == 5009 )
	{
		if( getarg(0) == 0 )
			disguise 1169;
		if( getarg(0) == 1 )
		{	
			set .@r, rand(1000);
			if( .@r < 700 )
				getitem 1002,1;
			else if( .@r >= 700 && .@r < 990 )
				getitem 757,1;
			else
				getitem 756,1;
			specialeffect2 154;
		}else
			;
		return;
	}
	else
		;
	return;
}
-	script	Minnerx	-1,{OnLill:
	set .@t,1;OnInit:
	if(!.@t)set .@t,100;
	monster     "manuk",0,0,"--ja--",1907,.@t,"Minnerx::OnLill";
	end;
}

I updated the Pickaxe, from bonus bAtkRate, -100, to bonus bAtkRate, -99.


6010,Pickaxe,Pickaxe,4,10,,10,10,,1,0,0xFFFFFFFF,7,0,34,0,0,0,0,{ bonus bAspd,-30; bonus bCritical,100; bonus bAtkRate,-99; autobonus "{ callfunc \"Minner_Main\",1; }",10000,1,BF_WEAPON; },{ callfunc "Minner_Main",0; },{ callfunc "Minner_Main",2; }

 

I managed to run, but I wanted to add more items. Has as?

  • 4 weeks later...
Posted
15 hours ago, macmac88 said:

how do i put this on my test server?

i'm a newbie in scripting... does the script only work on manuk map?

put this in your npc script, I suggest you study basic rathena scripting first
this is coded for manuk, so yes.

 

	if( getarg(0) == 2 )
	{
		undisguise;
		if( strcharinfo(3) == "manuk" )
			warp "SavePoint",0,0;
		end;
	}
	else if( strcharinfo(3) == "manuk" && getequipid(8) == 6010 && getequipid(6) == 5009 )
	{
  • 2 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...