summaryrefslogtreecommitdiff
path: root/npc/merchants
diff options
context:
space:
mode:
Diffstat (limited to 'npc/merchants')
-rw-r--r--npc/merchants/diamond.txt375
1 files changed, 375 insertions, 0 deletions
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