Jump to content
  • 0

Question

Posted (edited)

//Update	2012/11/18
//Author	Goddameit
//Web	http://goo.gl/m1dHu

prontera,135,199,4	script	Refiner	990,{

	set .Scroll,31115;//'Protection Scroll' item id

	set .back,0;
	//when use 'Protection Scroll'
	//-1,-2,-3... -->back to level 1,2,3...(MAX:10) if refine fail
	//1,2,3... --> reduce level 1,2,3.... if refine fail
	
	set @use2,31115;
	set @rate,0;
	set @typr,0;
	set @menu2,0;
	set @use3,0;

	function	CHose	;
	function	nZeny
	{
		switch(getequipweaponlv(getarg(0)))
		{
			case 1:
				return 500;
			case 2:
				return 2000;
			case 0:
			case 3:
			case 4:
				return 5000;
			default:
				return 0;
		}
	}
	
	function	nItem
	{
		if(getarg(1)==1){
			switch(getequipweaponlv(getarg(0)))
			{
				case 0:
					return 985;
				case 1:
					return 1010;
				case 2:
					return 1011;
				case 3:
				case 4:
					return 984;
				default:
					return 0;
			}
		}else{
			switch(getequipweaponlv(getarg(0)))
			{
				case 0:
					return 6241;
				case 1:
				case 2:
				case 3:
				case 4:
					return 6240;
				default:
					return 0;
			}
		}
	}
	
	function	nRate
	{
		function	aRate
		{
			return getarg(getarg(0,0)+1,0);
		}
		switch(getequipweaponlv(getarg(0)))
		{
			case 0:
				return aRate(getarg(1),
				100,100,100,100,60,
				40,40,20,20,10,
				50,30,20,10,10,
				10,10,10,10,10);
				
			case 1:
				return aRate(getarg(1),
				100,100,100,100,100,
				100,100,60,40,20,
				70,70,50,50,30,
				30,20,20,10,10);
				
			case 2:
				return aRate(getarg(1),
				100,100,100,100,100,
				100,60,40,20,20,
				70,50,50,30,30,
				20,20,10,10,10);
				
			case 3:
				return aRate(getarg(1),
				100,100,100,100,100,
				60,50,20,20,20,
				50,50,30,30,20,
				20,10,10,10,10);
				
			case 4:
				return aRate(getarg(1),
				100,100,100,100,60,
				40,40,20,20,10,
				50,30,30,20,20,
				10,10,10,10,10);
		}
	}

	function	sRater	{
		mes "[Successful rate]["+set(@rate,(nRate(@typr,getequiprefinerycnt(@typr))+(@use2>6000?10:0)))+"%]";
		return;
	}

	if(select("Refine","Close")==2)
		close;
	
	set @typr,select(""+getequipname(1),""+getequipname(2),""+getequipname(3),""+getequipname(4),""+getequipname(5),""+getequipname(6),""+getequipname(9),""+getequipname(10));
	callsub OnCon;

	sRater;
	if(select("Refine now","Don't refine")==2)
		close;	
	callsub OnCon2;
OnCon:	
	if(!getequipisenableref(@typr))
	{
		mes "I can't refine this !...";
		close;

	}	
	if(getequiprefinerycnt(@typr)>=20)
	{
		mes "it's not possible to refine this better than +20.";
		close;
	}	
	if(Zeny<nZeny(@typr))
	{
		mes "your Zeny is lower than "+nZeny(@typr)+".";
		close;
	}
	if( @use3 )
	{
		if( !countitem(@use3) )
		{
			mes "your don't have any "+getitemname(@use3)+".";
			close;
		}
	}else{
		if( !countitem(set(@use2,nItem(@typr,select("Don't use Purified.","Use it.")))))
		{
			mes "your don't have any "+getitemname(@use2)+".";
			close;
		}
		set @use3,@use2;
	}
	return;
OnCon2:
	if(.Scroll)
	{
		if( @menu2==2 )
		{
			if(!countitem(.Scroll))
			{
				mes "your don't have Protection Scroll.";
				close;
			}
		}else{
			if( select("Don't use Protection Scroll.","Use it.")==2)
			{
				if(!countitem(.Scroll))
				{
					mes "your don't have Protection Scroll.";
					close;
				}
			}else
				mes " ";
		}

	}
	
	set Zeny,Zeny-nZeny(@typr);
	
	if(.Scroll)
	{
		if( @menu==2 || @menu2==2 )
			delitem .Scroll,1;
	}
	delitem @use2,1;
	
	if(.Scroll)
	{
		if( @menu==2 || @menu2==2 )
		{
			if(@rate<rand(1,100))
			{
				if(.back<0)
				{
					getitem2 getequipid(@typr),1,1,-(.back<-10?-10:.back),0,getequipcardid(@typr,0),getequipcardid(@typr,1),getequipcardid(@typr,2),getequipcardid(@typr,3);
					failedrefitem @typr;
					close;
				}else{
					set .@D,set(.@D,getequiprefinerycnt(@typr)-.back)<0?0:.@D;
					if(getequiprefinerycnt(@typr)<=10)
					{
						getitem2 getequipid(@typr),1,1,.@D,0,getequipcardid(@typr,0),getequipcardid(@typr,1),getequipcardid(@typr,2),getequipcardid(@typr,3);
						failedrefitem @typr;
						close;
					}else
						while(getequiprefinerycnt(@typr)!=.@D)successrefitem @typr;
				}
			}else
				successrefitem @typr;
			CHose(@use2,@menu);
		}
	}
	if(@rate<rand(1,100))
	{

		failedrefitem @typr;
		close;
	}else
		successrefitem @typr;
	CHose(@use2,@menu);
	
	function	CHose	{
		set @menu2,@menu2?@menu2:@menu;
		set @use3,@use3?@use3:@use2;
		next;
		sRater;
		if( select("[continue]","[end]")  == 2 )
			close;
		else
			callsub OnCon,1;
		callsub OnCon2;
	}
}

When trying to refine middle headgear and lower headgear it says cannot refine this....

how or what i need to change to make middle , lower headgear be refinenable

bump

Edited by Chocolate

6 answers to this question

Recommended Posts

Posted

my item_db is fine after i removing this

 

	if(!getequipisenableref(@typr))
	{
		mes "I can't refine this !...";
		close;

	}

It says i can refine but when proceeding the item isn't refining at all but the elunium is decrease its like when you use the refiner npc my item dnt have any + but the elunium gone

Posted

change this

set @typr,select(""+getequipname(1),""+getequipname(2),""+getequipname(3),""+getequipname(4),""+getequipname(5),""+getequipname(6),""+getequipname(9),""+getequipname(10));

to

setarray .@eqi,EQI_HEAD_TOP,EQI_ARMOR,EQI_HAND_L,EQI_HAND_R,EQI_GARMENT,EQI_SHOES,EQI_HEAD_MID,EQI_HEAD_LOW;
set .@i,select(""+getequipname(1),""+getequipname(2),""+getequipname(3),""+getequipname(4),""+getequipname(5),""+getequipname(6),""+getequipname(9),""+getequipname(10));
set @typr,.@eqi[ .@i-1 ];

Join the conversation

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

Guest
Answer this question...

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