summaryrefslogblamecommitdiff
path: root/npc/merchants/diamond.txt
blob: 431f8b7ac9039461f36b8a5dadf805a90083527d (plain) (tree)






















































































































































































































































































































































































                                                                                                                                                          
//===== 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