Jump to content

Question

1 answer to this question

Recommended Posts

Posted

Check out Mysterious' Coin Exchanger here :

http://mysterious-project.googlecode.com/svn/trunk/npc/CoinExchanger.txt

also use the Search function,before posting new Topics,please!

this is the edited version for you :

[color=#000000]//===== eAthena/rAthena Script ======================================= [/color]

//= Coin Exchanger
//===== By: ================================================== 
//= Mysterious
//===== Current Version: ===================================== 
//= 1.9
//===== Compatible With: ===================================== 
//= eAthena or rAthena SVN 
//===== Description: ========================================= 
//= Exchange Coins (Mythril, Bronze, Gold, Platinum) into
//= Zeny and vice versa
//===== Other Information: ===================================
// The script is written to have a Soft Code and a Hard code
// Soft code contains Currencies, Colours, etc.
// Core code is the NPC itself.
//===== TODO: ================================================
// - Nothing
//===== Additional Comments: =================================
//= v1.0 - First release [Mysterious]
//= v1.1 - Fixed a bug [Mysterious]
//= v1.2 - Fixed Sentence structures [Mysterious]
//= v1.3 - Fixed a bug where coins wasn't changing properly [Mysterious]
//= v1.4 - Fixed a Typo [Mysterious]
//= v1.5 - Fixed a bug where Zeny wasn't changing properly [Mysterious]
//= v1.6 - New sentence structure and added Friendly messages [Mysterious]
//= v1.7 - Made sure the NPC checks the players Zeny before converting coins to zeny [Mysterious]
//= v1.8 - Added more Friendly Messages [Mysterious]
//= v1.9 - Just changed a sentence structure [Mysterious]
//============================================================

prontera,158,173,4	script	Coin Trader	860,{

// ----------------------
// - Core Code
// ----------------------

cutin "kafra_08",2;
mes "[" + .colors$[1] + .npc_name$ + .colors$[0] + "]";
mes "What would you like to do today?";
set .@trade_type, select("- Coins -> Zeny:- Zeny -> Coins");

mes "Very well. Here is the list on how much each coin is worth:";
for (set .@a, 0; .@a < getarraysize(.coin_id); set .@a, .@a + 1) {
	mes .colors$[3 + .@a] + getitemname(.coin_id[.@a]) + .colors$[0] + ": " + .coin_to_zeny_format$[.@a] + "z";
	set .@coin_menu$, .@coin_menu$ + (.@coin_menu$ == "" ? "" : ":") + .colors$[3 + .@a] + getitemname(.coin_id[.@a]) + .colors$[0];
}

mes "Tell me, what coin would you like to exchange?";
next;

set .@coin_choice, select(.@coin_menu$) - 1;

next;

mes "[" + .colors$[1] + .npc_name$ + .colors$[0] + "]";

switch(.@trade_type) {
	case 1: // Coins -> Zeny
		mes "How much coins would you like to give up?";
		input .@amount;
		if (.@amount <= 0) { // Invalid Number?
			mes .colors$[2] + "Please Input a number greater than 0:";
			cutin "",255;
			close;
		} else if (countitem(.coin_id[.@coin_choice]) < .@amount) {
			mes .colors$[2] + "I'm sorry, you do not have " + .@amount + " " + getitemname(.coin_id[.@coin_choice]) + (.@amount == 1 ? "" : "s");
			cutin "",255;
			close;
		} else { // Ok! Checks Passed, Let's Trade!
                               if(Zeny >= 2000000000) goto L_FullZeny; //Checks to see if the player has more than 1.8b
			set Zeny,Zeny + (.coin_to_zeny[.@coin_choice] * .@amount);
			delitem .coin_id[.@coin_choice],.@amount;
			cutin "",255;
			break;
		}

	case 2: // Zeny -> Coins
		mes "How much coins would you like?";
		input .@amount;
		if (.@amount <= 0) { // Invalid Number?
			mes .colors$[2] + "Please Input a number greater than 0:";
			cutin "",255;
			close;
		} else if (!checkweight(.coin_id[.@coin_choice],.@amount)) { // Will it Make Char Overweight?
			mes .colors$[2] + "I'm Sorry, but you can't carry this due to weight restrictions";
			cutin "",255;
			close;
		} else if (Zeny < .coin_to_zeny[.@coin_choice] * .@amount) {
			mes .colors$[2] + "I'm sorry, you do not have enough zeny...";
			cutin "",255;
			close;
		} else { // Checks OK! Let's trade!
			set Zeny, Zeny - (.coin_to_zeny[.@coin_choice] * .@amount);
			getitem .coin_id[.@coin_choice], .@amount;				
			cutin "",255;
		}
	}
	mes "[" + .colors$[1] + .npc_name$ + .colors$[0] + "]";
	mes "Pleasure doing business with you.";
	close2;
	cutin "", 255;
	close;


	L_FullZeny:
                       next;
                       mes "[" + .colors$[1] + .npc_name$ + .colors$[0] + "]";
                       mes "I'm sorry, but I can't allow you to exchange Coins into Zeny when you have over 1.8b zeny.";
                       close;

		// ----------------------
		// - Soft Code
		// ----------------------	

                 OnInit:
		// Store NPC Name
		set .npc_name$, "Coin Master";

		// Storing Colours
		// Order of Array: Default Text, NPC Name, Error, coin_type1, coin_type2, coin_type3, coin_type4, etc...
		// Note: If you plan on adding additional coins, simply add a new color here
		setarray .colors$[0],"^000000", "^336699", "^550000", "^996633", "^666666", "^FFFF66", "^99CCCC";

		// Set Coin Item ID's
		// In Order coin_id1, coin_id2, coin_id3, coin_id4, etc...
		setarray .coin_id[0],674, 671, 675, 670;

		// Coin -> Zeny Value
                       // Change the Value you want the coins to be worth | Order: Mithril Coin, Gold Coin, Silver Coin, Bag of Gold Coin
		setarray .coin_to_zeny[0],1000000,10000000,200000000,1000000000;

		// Currency Formatted String of Zeny | Order: Bronze Coin, Gold Coin, Platinum Coin, Mithril Coin
		setarray .coin_to_zeny_format$[0],"1,000,000","10,000,000","200,000,000","1,000,000,000";
}

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