Jump to content
  • 0

script edit please


toohot22

Question


  • Group:  Members
  • Topic Count:  31
  • Topics Per Day:  0.01
  • Content Count:  56
  • Reputation:   0
  • Joined:  11/05/12
  • Last Seen:  

Hi all

 

would someone be so kind to edit this script so its 100% safe refine and the zeny upto 1 million for each refine

 

//===== rAthena Script =======================================
//= Advanced Refiner
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.4a
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= [Aegis Conversion]
//= Refiner that uses Enriched ores to increase upgrade success.
//= After a conversation with Doddler, it's been established that
//= the advanced refiner works similar the the "Bubble Gum" item.
//= The success percentage is not "increased" however, if it fails
//= You get a second try. This tries twice at the same time,
//= effectively giving you a re-roll on your attempt.
//= - Dialog is only partly official to iRO.
//= - Uses the iRO position for this NPC.
//===== Additional Comments: =================================
//= 1.0 First Version. [L0ne_W0lf]
//= 1.1 Fixed a weird carriage return. o_o [L0ne_W0lf]
//= 1.2 Optimizing refine method [Zephyrus]
//= 1.3 Typo fixes [Yommy]
//= 1.4 Removed unnecessary dialogs [Zephyrus]
//= 1.4a Added 'disable_items' command. [Euphy]
//============================================================

prontera,147,167,6	script	Refiner#cash	85,{
	disable_items;
	mes "[Suhnbi]";
	mes "I am the Armsmith";
	mes "I can refine all kinds of weapons,";
	mes "armor and equipment, so let me";
	mes "know what you want to refine.";
	next;
	setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
	set .@menu$,"";
	for( set .@i,1; .@i <= 10; set .@i,.@i+1 )
	{
		if( getequipisequiped(.@i) )
			set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";

		set .@menu$, .@menu$ + ":";
	}
	set .@part,select(.@menu$);

	if( !getequipisequiped(.@part) )
		close;

	if( !getequipisenableref(.@part) )
	{
		mes "[Suhnbi]";
		mes "I don't think I can refine this item at all.";
		close;
	}
	if( !getequipisidentify(.@part) )
	{
		mes "[Suhnbi]";
		mes "This has not been identified. So, it can't be refined...";
		close;
	}
	if( getequiprefinerycnt(.@part) >= 10 )
	{
		mes "[Suhnbi]";
		mes "This item cannot be refined because it has already reached its maximum level...";
		close;
	}

	// Make sure you have the neccessary items and Zeny to refine your items
	// Determines chance of failure and verifies that you want to continue.
	switch( getequipweaponlv(.@part) )
	{
		case 1: callsub S_RefineValidate,1,7620,50,.@part; break;
		case 2: callsub S_RefineValidate,2,7620,200,.@part; break;
		case 3: callsub S_RefineValidate,3,7620,5000,.@part; break;
		case 4: callsub S_RefineValidate,4,7620,20000,.@part; break;
		default: callsub S_RefineValidate,0,7619,2000,.@part; break;
	}

	if( getequippercentrefinery(.@part) > rand(100) || getequippercentrefinery(.@part) > rand(100) )
	{
		mes "[Suhnbi]";
		mes "Clink! Clank! Clunk!";
		SuccessRefItem .@part;
		next;
		Emotion e_no1;
		mes "[Suhnbi]";
		mes "Here you are! It's done.";
		mes "It's been a while since I've made such a fine weapon. You must be happy because it has become stronger!";
		close;
	}
	mes "[Suhnbi]";
	mes "Clink! Clank! Clunk!";
	FailedRefItem .@part;
	next;
	if (rand(5) == 1){
		Emotion e_cash;
	} else {
		Emotion e_omg;
	}
	mes "[Suhnbi]";
	mes "Cough!!!!";
	next;
	mes "[Suhnbi]";
	mes "Cough...Cough..";
	mes "What a shame...";
	mes "Your equipment broke during the refining process. I had told you earlier this might happen!";
	close;

S_RefineValidate:
	mes "[Suhnbi]";
	if (getarg(0))
		mes "A level " + getarg(0) + " weapon...";
	mes "To refine this I need one ^ff9999" + getitemname(getarg(1)) + "^000000 and a service fee of " + getarg(2) + " Zeny.";
	mes "Do you wish to continue?";
	next;
	if( select("Yes:No") == 1 )
	{
		if( getequippercentrefinery(getarg(3)) < 100 )
		{
			mes "[Suhnbi]";
			mes "Wow!!";
			mes "This weapon, probably";
			mes "looks like it's been refined...";
			mes "many times...";
			mes "It may break if";
			mes "you refine it again.";
			next;
			mes "And if it breaks,";
			mes "you can't use it anymore!";
			mes "All the cards in it and the";
			mes "properties";
			mes "^ff0000will be lost^000000!!";
			mes "^ff0000 besides, the equipment will break!^000000";
			mes " ";
			mes "Are you sure you still want to continue?";
			next;
			if( select("Yes:No") == 2 )
			{
				mes "[Suhnbi]";
				mes "I completely agree...";
				mes "I might be a great refiner, but sometimes even I make mistakes.";
				close;
			}
		}
		if( countitem(getarg(1)) > 0 && Zeny > getarg(2) )
		{
			delitem getarg(1), 1;
			set Zeny, Zeny - getarg(2);
			return;
		}
		mes "[Suhnbi]";
		mes "You don't seem to have enough Zeny or " + getitemname(getarg(1)) + "...";
		mes "Go get some more. I'll be here all day if you need me.";
		close;
	}
	mes "[Suhnbi]";
	mes "Yeah... There's no need to rush.";
	mes "Take your time.";
	close;
}

 

thanks in advance

 

 

Link to comment
Share on other sites

1 answer to this question

Recommended Posts


  • Group:  Developer
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  2407
  • Reputation:   613
  • Joined:  07/05/12
  • Last Seen:  

would someone be so kind to edit this script so its 100% safe refine

Replace

getequippercentrefinery(.@part) > rand(100)

by

getequippercentrefinery(.@part) >= 0

the zeny upto 1 million for each refine

    case 1: callsub S_RefineValidate,1,7620,50,.@part; break;
    case 2: callsub S_RefineValidate,2,7620,200,.@part; break;
    case 3: callsub S_RefineValidate,3,7620,5000,.@part; break;
    case 4: callsub S_RefineValidate,4,7620,20000,.@part; break;
    default: callsub S_RefineValidate,0,7619,2000,.@part; break;

The column before .@part is the cost in zeny (ie 50 in the 1st line, 200 in the second..)

Link to comment
Share on other sites

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.

×
×
  • Create New...