Jump to content
  • 0

Card Removal using cash point


bcz666

Question


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  5
  • Reputation:   0
  • Joined:  04/16/16
  • Last Seen:  

please help me to change this script guys.. i need change the cost fromm 200k zeny to 50k cashpoint.. thanks for helping me..

//===== rAthena Script =======================================
//= Card Removal NPC
//===== By: ==================================================
//= TyrNemesis^
//===== Current Version: =====================================
//= 1.2a
//===== Compatible With: =====================================
//= rAthena Project
//===== 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;    // base cost of the card remover services (in Zeny)
	set .percardcost,25000;  // cost per card of the card remover services (in Zeny)
	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 "Before I begin, I must warn you--I may fail. If I do, I may destroy the cards, the item, or both. I do not give refunds. That being said, 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; //Star_Crumb
		delitem 715,1; //Yellow_Gemstone
		
		// 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 "+callfunc("F_InsertComma",.zenycost)+" zeny, plus "+callfunc("F_InsertComma",.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;
	}
}
 


thanks to emistry..

 

please help me. thanskkk

Edited by Emistry
codebox
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  34
  • Topics Per Day:  0.01
  • Content Count:  386
  • Reputation:   38
  • Joined:  04/28/13
  • Last Seen:  

//===== rAthena Script =======================================
//= Card Removal NPC
//===== By: ==================================================
//= TyrNemesis^
//===== Current Version: =====================================
//= 1.2a
//===== Compatible With: =====================================
//= rAthena Project
//===== 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]
//= 1.3 Changed zeny for CashPoints [PromisE]
//============================================================
 
prt_in,28,73,4	script	Wise Old Woman#eAcustom	78,{
 
	set .cashcost,50000;    // base cost of the card remover services (in Cash)
	set .percardcost,7000;  // cost per card of the card remover services (in Cash)
	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 " + (.cashcost+(.@cardcount * .percardcost)) + " CashPoints, 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((#CASHPOINTS < (.cashcost+(.@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 "Before I begin, I must warn you--I may fail. If I do, I may destroy the cards, the item, or both. I do not give refunds. That being said, 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 #CASHPOINTS, #CASHPOINTS - (.cashcost+(.@cardcount * .percardcost));
		delitem 1000,1; //Star_Crumb
		delitem 715,1; //Yellow_Gemstone
		
		// 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 "+callfunc("F_InsertComma",.cashcost)+" CashPoints, plus "+callfunc("F_InsertComma",.percardcost)+" CashPoints 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;
	}
}

This should works fine.

Its 50k cost and 7k for each card.

You can edit the costs in the configuration:

	set .cashcost,50000;    // base cost of the card remover services (in Cash)
	set .percardcost,7000;  // cost per card of the card remover services (in Cash)
	set .faildestroy,1;      // should the card remover have a chance of failure that destroys items? (1=yes, 0=no)
 
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...