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";
}