Jump to content
  • 0
karazu

Card Remover w/o breaking chance.

Question

5 answers to this question

Recommended Posts

  • 0

Try this

 

 

//===== Hercules Script ======================================//= Card Removal NPC//===== By: ==================================================//= TyrNemesis^//===== Current Version: =====================================//= 1.2a//===== Description: =========================================//= Removes cards from equipped items.//===== Additional Comments: =================================//= 1.0 First version. [TyrNemesis^]//= 1.2 Optimized and fixed getequipname menu. [Kisuka]//= 1.2a Added 'disable_items' command. [Euphy]//============================================================prt_in,28,73,4	script	Wise Old Woman#eAcustom	78,{	set .zenycost,200000; // Set base cost in zeny of the card remover services	set .percardcost,25000; // set cost per card of the card remover services	set .faildestroy,1; // Should the card remover have a chance of failure that destroys items? 1 = Yes, 0 = No.	disable_items;	mes "[Wise Old Woman]";	mes "Good day, young one. I have the power to remove cards that you have compounded onto your equipment. Does this idea please you?";	next;	switch(select("Yes, it does.:What do you charge?:No thanks.")) {	case 1:		mes "[Wise Old Woman]";		mes "Very well. Which item shall I examine for you?";		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)) {			mes "[Wise Old Woman]";			mes "Young one... Your not wearing anything there that I can remove cards from.";			close;		}		if(getequipcardcnt(.@part) == 0) {			mes "[Wise Old Woman]";			mes "Young one... There are no cards compounded on this item. I can do nothing with it, I'm afraid.";			close;		}		set .@cardcount,getequipcardcnt(.@part);				if (!checkweight(1202,(.@cardcount+1))) { 			mes "^3355FFJust a minute!";			mes "I can't offer any of my";			mes "services to you because";			mes "you're carrying too much";			mes "stuff. Put your extra items in";			mes "Kafra Storage and come again~";			close;		}		mes "[Wise Old Woman]";		mes "This item has " + .@cardcount + " cards compounded on it. To perform my magic, I will need " + (.zenycost+(.@cardcount * .percardcost)) + " zeny, a ^0000FFStar Crumb^000000, and a ^0000FFYellow Gemstone^000000.";		next;		if(select("Very well. Do it.:Nevermind.") == 2) {			mes "[Wise Old Woman]";			mes "Very well. Return at once if you seek my services.";			close;		}		if((zeny < (.zenycost+(.@cardcount * .percardcost))) || (countitem(1000) < 1) || (countitem(715) < 1)) {			mes "[Wise Old Woman]";			mes "You do not have all the items I require to work my magic, child. Come again when you do.";			close;		}		mes "[Wise Old Woman]";		mes "Which is more important to you: The cards, or the item?";		next;		switch(select("I changed my mind about this.:The item.:The cards.")) {		case 1:			mes "[Wise Old Woman]";			mes "Very well. Return at once if you seek my services.";			close;		case 2:			set .@failtype,1;			break;		case 3:			set .@failtype,2;		}		mes "[Wise Old Woman]";		mes "Very well. I shall begin.";		set zeny,zeny - (.zenycost+(.@cardcount * .percardcost));		delitem 1000,1;		delitem 715,1;				// Replace the constants in the next 3 lines with failure chance values defined in refine_db.txt		// First value = Total failure chance (item and cards destroyed)		// Second value = Partial failure chance (one or the other is destroyed, player decides which one is safe)		// Third value = Harmless failure chance (all that's lost is your investment)/*		set .@failchance,rand(100);		if (.faildestroy==1) {			if(.@failchance < 2) {				next;				failedremovecards .@part,0;				mes "[Wise Old Woman]";				mes "The process was a total failure. I am afraid the item and the cards were destroyed.";				close;			}			if(.@failchance < 8) {				if (.@failtype == 1) {					next;					failedremovecards .@part,1;					mes "[Wise Old Woman]";					mes "While I have managed to remove the cards from the item, they were destroyed in the process. The item, however, is okay.";					close;				}				if (.@failtype == 2) {					next;					failedremovecards .@part,2;					mes "[Wise Old Woman]";					mes "Most unfortunate. I succeeded at removing the cards, but the item itself was destroyed in the process.";					close;				}			}		}		if(.@failchance < 10) {			next;			failedremovecards .@part,3;			mes "[Wise Old Woman]";			mes "I have failed to remove the cards. Luckily, however, both the item and the cards are still okay.";			close;		}*/		next;		successremovecards .@part;		mes "[Wise Old Woman]";		mes "The process was a success. Here are your cards and your item. Farewell.";		close;	case 2:		mes "[Wise Old Woman]";		mes "I charge a flat fee of "+.zenycost+" zeny, plus "+.percardcost+" zeny for each card I remove from the item. In addition, I need a star crumb and a yellow gemstone to work my magic.";		close;	case 3:		mes "[Wise Old Woman]";		mes "Very well. Return at once if you seek my services.";		close;	}}

 


 

I removed the failchance using /* */ 

 

 

 

		set .@failchance,rand(100);		if (.faildestroy==1) {			if(.@failchance < 2) {				next;				failedremovecards .@part,0;				mes "[Wise Old Woman]";				mes "The process was a total failure. I am afraid the item and the cards were destroyed.";				close;			}			if(.@failchance < 8) {				if (.@failtype == 1) {					next;					failedremovecards .@part,1;					mes "[Wise Old Woman]";					mes "While I have managed to remove the cards from the item, they were destroyed in the process. The item, however, is okay.";					close;				}				if (.@failtype == 2) {					next;					failedremovecards .@part,2;					mes "[Wise Old Woman]";					mes "Most unfortunate. I succeeded at removing the cards, but the item itself was destroyed in the process.";					close;				}			}		}		if(.@failchance < 10) {			next;			failedremovecards .@part,3;			mes "[Wise Old Woman]";			mes "I have failed to remove the cards. Luckily, however, both the item and the cards are still okay.";			close;		}

 

 

Share this post


Link to post
Share on other sites
  • 0

Yes I don't want my card remover to destroy the items of the players, because the default card remover has a chance to break the equipment by 10%..

 

 

Ok thank you for this..

Edited by karazu

Share this post


Link to post
Share on other sites
  • 0

set .faildestroy,0; // Should the card remover have a chance of failure that destroys items? 1 = Yes, 0 = No.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.