From 2a315a7ab545dd95d19fff828cfc39dbb746466c Mon Sep 17 00:00:00 2001 From: script-z3r0 Date: Wed, 11 Jan 2012 20:46:47 +0000 Subject: Added Rare Diamond Merchant, converted from AEGIS script git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15422 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/merchants/diamond.txt | 375 ++++++++++++++++++++++++++++++++++++++++++++++ npc/scripts_athena.conf | 1 + 2 files changed, 376 insertions(+) create mode 100644 npc/merchants/diamond.txt diff --git a/npc/merchants/diamond.txt b/npc/merchants/diamond.txt new file mode 100644 index 000000000..431f8b7ac --- /dev/null +++ b/npc/merchants/diamond.txt @@ -0,0 +1,375 @@ +//===== rAthena Script ======================================= +//= Rare Diamond Merchant +//===== By: ================================================== +//= Z3R0 +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Exchanges 17 Carat Diamond +//===== Additional Comments: ================================= +//= v1.0 First / Optimized Version +//============================================================ + +prontera,165,89,6 script Rare Diamond Merchant#1 58,{ + + // Store NPC Name for Ease of Use + set .@npc$, "[Rare Diamond Merchant]"; + + // Standard Dialog + mes .@npc$; + mes "Ladies and Gentlemen! ! !"; + mes "You've heard rumors but you've never once seen with your own eyes"; + mes "the world's rarest diamond!"; + mes "The ^FF82FF'17 Carat Diamond'^000000 is currently on sale for a cheap price!!"; + mes "If valuable diamonds interest you then listen up!"; + + // Display Next Button + next; + + // Standard Dialog + mes .@npc$; + mes "You can give the diamond as a gift to your lover."; + mes "The receiver of the ^FF82FF'17 Carat Diamond'^000000 will cherish it"; + mes "and treasure you in their heart."; + + // Display Emotion + emotion 56; + + // Display Next Button + next; + + // Standard Dialog + mes .@npc$; + mes "What? You don't have a lover?"; + mes "You can still just hang on to it for yourself."; + mes "The enchanting aura of the ^FF82FF'17 Carat Diamond'^000000 is likely"; + mes "to bring love into your life."; + + // Display Next Button + next; + + // Standard Dialog + mes .@npc$; + mes "Known as the captivating diamond of diamonds..."; + mes "It is the ^FF82FF'17 Carat Diamond'^000000!"; + + // Display Next Button + next; + + // Store Menu Variable String Object + set .@menu$, "^FF82FF'17 Carat Diamond'^000000?"; + + // Determine if Item ID 6024 Exists in Inventory + if (countitem(6024)) { + // If Exists (Appends String to Menu) + set .@menu$, .@menu$ + ":Exchange my 17 Carat Diamond for zeny.."; + } + + // Displays Menu to Client & uses Switch to Determine Option Selected + switch(select(.@menu$)) { + case 1: // Buy Diamond + // Standard Dialog + mes .@npc$; + mes "Yes!"; + mes "Hehe, the ^FF82FF'17 Carat Diamond'^000000 you see right now"; + mes "is one of the highest quality 17 carat diamonds."; + mes "Comparing it to any pea-sized, colorless rock you may have"; + mes "dug up from Morroc is unspeakable!"; + + // Display Emotion + emotion 23; + + // Display Next Button + next; + + // Standard Dialog + mes .@npc$; + mes "Some claim that this is the very same diamond"; + mes "that was seen by Kachua in Comodo!"; + + // Display Next Button + next; + + // Show Menu to Client and Determine if First Option (1) was Chosen + if (select("End Conversation:How much is it?") == 1) { + // Standard Dialog + mes .@npc$; + mes "It's rather inexpensive!"; + mes "If you're interested, talk to me any time!"; + + // Display Close Button + close; + } + + // Standard Dialog + mes .@npc$; + mes "Of course! The most important thing is price!"; + mes "As I've said earlier, the ^FF82FF'17 Carat Diamond'^000000 has been"; + mes "appraised as a 17 carat diamond."; + mes "There aren't many like it in the world."; + + // Display Next Button + next; + + // Standard Dialog + mes .@npc$; + mes "The price is a mere 500 million zeny!"; + mes "There is also a 1,000,000z service fee."; + mes "Compared to the quality of the diamond"; + mes "this is a small price to pay."; + + // Display Next Button + next; + + // Show Menu to Client and Determine if First Option (1) was Chosen + if (select("^828282It's too expensive.^000000:I'll buy it.") == 1) { + // Standard Dialog + mes .@npc$; + mes "To say that a diamond such as the"; + mes "^FF82FF'17 Carat Diamond'^000000 is too expensive, "; + mes "you leave me speechless."; + + // Display Close Button + close; + } + + // Standard Dialog + mes .@npc$; + mes "OOOH! I knew from the moment I saw you that you were the rightful"; + mes "owner of this wonderful diamond."; + mes "I'm glad I wasn't wrong!"; + mes "I believe this diamond will suit you quite well."; + mes "All I need from you is to complete this contract."; + + // Display Next Button + next; + + // Loop Indefinitely Until Told to Break (1) Always is True + while(1) { + + // Show Menu to Client and Determine if Second Option (2) was Chosen + if (select("^B9062FI will sign the contract.^000000:^828282Nevermind, I changed my mind.^000000") == 2) { + // Standard Dialog + mes .@npc$; + mes "I see, that's too bad.."; + + // Display Close Button + close; + } + + // Standard Dialog + mes .@npc$; + mes "What is your name?"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "My name is " + strcharinfo(0) + "."; + + // Display Next Button + next; + + // Standard Dialog + mes .@npc$; + mes "Alright then, please sign here."; + + // Display Next Button + next; + + // Ask Client to Type Value, Store into Variable + input .@charname$; + + // Determine if Typed Value equals Character Name + if (.@charname$ == strcharinfo(0)) { + // Standard Dialog + mes .@npc$; + mes "Okay, good."; + mes "All that is left now is payment."; + + // Display Next Button + next; + + // Determine if Client Zeny is Greater or Equal to Value (501000000) + if (Zeny >= 501000000) { + // Standard Dialog + mes .@npc$; + mes ". . . . . ."; + + // Display Next Button + next; + + // Standard Dialog + mes .@npc$; + mes "Calculating the price and service fee.."; + mes "501,000,000 zeny."; + mes "Amount has been confirmed."; + + // Display Emotion + emotion 56; + + // Change Zeny to Itself Minus Value (501000000) + set Zeny, Zeny - 501000000; + + // Give Client One (1) of Item ID 6024 + getitem 6024, 1; + + // Display Next Button + next; + + // Standard Dialog + mes .@npc$; + mes "You may exchange the diamond back for zeny at any time."; + mes "However, there will be a 1,000,000z service fee."; + mes "Thank you for your business."; + + // Display Emotion + emotion 15; + + // Display Close Button + close; + } + else { // The Zeny Check Failed + // Standard Dialog + mes .@npc$; + mes "Hm?"; + mes "I'm sorry, but you don't have sufficient funds."; + mes "Including the service fee, a total of 501,000,000z is required."; + mes "Please check your zeny balance and try again."; + + // Display Emotion + emotion 20; + + // Display Close Button + close; + } + } + else { // Signature Check (Typed Value Did Not Equal Character Name) + // Standard Dialog + mes .@npc$; + mes "Is this really your signature?"; + mes "Will sign again to confirm?"; + + // Display Next Button + next; + } + } + case 2: // Exchange Diamond (Only Available if Diamond is in Inventory) + // Standard Dialog + mes .@npc$; + mes "AAH. You would like to exchange your ^FF82FF'17 Carat Diamond'^000000 for zeny?"; + + // Display Emotion + emotion 0; + + // Display Next Button + next; + + // Show Menu to Client and Determine if Second Option (2) was Chosen + if (select("Yes:No") == 2) { + // Standard Dialog + mes .@npc$ + mes "Then, what is it you desire?.."; + mes ". . . . . ...."; + + // Display Emotion + emotion 9; + + // Display Close Button + close; + } + + // Standard Dialog + mes .@npc$; + mes "I see. After I receive your signature, "; + mes "You must offer your ^FF82FF'17 Carat Diamond'^000000."; + mes "Also don't forget there is a 1,000,000z service fee!"; + + // Display Next Button + next; + + // Standard Dialog + mes .@npc$; + mes "What is your name?"; + + // Display Next Button + next; + + // Standard Dialog + mes "[" + strcharinfo(0) + "]"; + mes "My name is " + strcharinfo(0) + "."; + + // Display Next Button + next; + + // Standard Dialog + mes .@npc$; + mes "Alright then, please sign here."; + + // Display Next Button + next; + + // Loop Indefinitely Until Told to Break (1) Always is True + while (1) { + + // Show Menu to Client and Determine if Second Option (2) was Chosen + if (select("Sign:Don't Sign") == 2) { + // Standard Dialog + mes .@npc$; + mes "The trade cannot be completed without your signature."; + + // Display Close Button + close; + } + + // Ask Client to Type Value, Store into Variable + input .@charname$; + + // Determine if Typed Value equals Character Name + if (.@charname$ == strcharinfo(0)) { + // Standard Dialog + mes .@npc$; + mes "Your signature has been received."; + mes "I will now take your ^FF82FF'17 Carat Diamond'^000000.."; + mes "You will receive ^0000FF499,000,000z^000000 afterwards."; + + // Display Next Button + next; + + // Standard Dialog + mes .@npc$; + mes "Thank you for your business."; + mes "Whenever you need a ^FF82FF'17 Carat Diamond'^000000,"; + mes "come back anytime with 500 million zeny."; + + // Display Emotion + emotion 15; + + // Delete One (1) of Item ID 6024 from Client + delitem 6024, 1; + + // Change Zeny to Itself Plus Value (499000000) + set Zeny, Zeny + 499000000; + + // Display Close Button + close; + } + else { // Signature Check (Typed Value Did Not Equal Character Name) + // Standard Dialog + mes .@npc$; + mes "Is this really your signature?"; + mes "Will sign again to confirm?"; + + // Display Next Button + next; + } + } + } +} + +geffen,106,63,6 duplicate(Rare Diamond Merchant#1) Rare Diamond Merchant#2 58 +morocc,146,100,6 duplicate(Rare Diamond Merchant#1) Rare Diamond Merchant#3 58 +alberta,129,60,6 duplicate(Rare Diamond Merchant#1) Rare Diamond Merchant#4 58 +lighthalzen,163,65,6 duplicate(Rare Diamond Merchant#1) Rare Diamond Merchant#5 58 +rachel,106,142,6 duplicate(Rare Diamond Merchant#1) Rare Diamond Merchant#6 58 +payon,180,130,6 duplicate(Rare Diamond Merchant#1) Rare Diamond Merchant#7 58 diff --git a/npc/scripts_athena.conf b/npc/scripts_athena.conf index e33c32598..dd4e81231 100644 --- a/npc/scripts_athena.conf +++ b/npc/scripts_athena.conf @@ -61,6 +61,7 @@ npc: npc/merchants/splendide.txt npc: npc/merchants/wander_pet_food.txt npc: npc/merchants/buying_shops.txt npc: npc/merchants/3rd_trader.txt +npc: npc/merchants/diamond.txt // -------------------------------------------------------------- // ------------------------- Cash Shop -------------------------- // See file before enabling, as you may wish to change the -- cgit v1.2.3-60-g2f50