Jump to content

  •  

ar7shadow

Member Since 27 Apr 2017
Offline Last Active May 20 2017 11:15 PM
-----

Topics I've Started

Charity NPC - Help pls

27 April 2017 - 03:43 PM

Hello everyone, I'm trying to make a Charity NPC. I'm beginner in scripting and Im using guides and forums just to see how it works.
It working without any errors, i just want to add an activation event and deactivation event. Thank you


The way i want it to work is like :

  • Players can choose how much they would donate in ZENY. (5m, 10m, 15m or 25m)
  • If player, donated a money to the NPC it will do an announcement.
  • If the npc collects 75m it will activate/show the NPC Quests (quest npcs are hidden) for 2 days.
  • After 2 days, it will hide the quest npcs. So players need to donate 75m in total to activate again.

Heres the script i made.

//Charity NPC//
//Ryonin//

izlude,124,139,6	script	Lucy	101,{

		// Variables
		set .@n$, "[Lucy]";
		set ##donate5m, 5000000;
		set ##donate10m, 10000000;
		set ##donate15m, 15000000;
		set ##donate25m, 25000000;
		
		// Zeny Detector
		if (Zeny < ##donate5m)
			{
			mes .@n$;
			mes "Sorry, you dont have enough money to talk to me.";
			mes "You need to have atleast ^FF00005,000,000z^000000.";
			mes "The total amount I collected is : ^0000CD["+##totaldonate+"]^000000 zeny.";
			close;
			end;}		
		
		// Start
		mes .@n$;
		mes "Hello, Citizen of Ragnarok Offline.";
		mes "Can I help you with something?";
		next;
		switch(select("Yes, I would like to donate:No, Thank you")) {
		
		case 1:
			mes .@n$;
			mes "I was assigned by the ^DAA520 GM Team^000000 to collect the donation money.";
			mes "The total amount I collected is : ^0000CD["+##totaldonate+"]^000000 zeny.";
			next;
			mes .@n$;
			mes "You can only donate 1,000,000z or 5,000,000z.";
			next;
			mes .@n$;
			mes "If I collected a total amount of ^FF000075,000,000^000000z.";
			mes "I can activate this event:";
			mes "Event: ^8B008BComodo Hat Festival Quest^000000.";
			mes "Event Duration: ^006400[2 DAYS]^000000.";
			next;
			mes .@n$;
			mes "How much money you want to donate?";
			mes "Once you donate, I can't your money back.";
			next;
			switch(select("5,000,000z:10,000,000z:15,000,000z:25,000,000z")) {
				case 1:
					mes .@n$;
					set zeny, zeny - ##donate5m;
					goto Donate5M;
					close;
					
				case 2:
					mes	.@n$;
					set zeny, zeny - ##donate10m;
					goto Donate10M;
					close;
				
				case 3:
					mes .@n$;
					set zeny, zeny - ##donate15m;
					goto Donate15M;
					close;
				
				case 4:
					mes	.@n$;
					set zeny, zeny - ##donate25m;
					goto Donate25M;
					close;
					
				}
			close;
			end;
		case 2:
			mes .@n$;
			mes	"Okay then. See you later.";
			close;
			end;
		}
// Zeny Donation Selection

	Donate5M:
				set ##totaldonate, ##totaldonate + 5000000;
				mes "Thank you for donating 5,000,000z!";
				mes "We appreciate your generosity.";
				announce "[Charity Lucy: "+strcharinfo(0)+"] has donated [5,000,000z] to Charity! We appreciate your generosity.",0;
				next;
				mes .@n$;
				mes "The total amount I collected is : ^0000CD["+##totaldonate+"]^000000 zeny.";
				close;
				
	Donate10M:
				set ##totaldonate, ##totaldonate + 10000000;
				mes "Thank you for donating 10,000,000z!";
				mes "We appreciate your generosity.";
				announce "[Charity Lucy: "+strcharinfo(0)+"] has donated [10,000,000z] to Charity! We appreciate your generosity.",0;
				next;
				mes .@n$;
				mes "The total amount I collected is : ^0000CD["+##totaldonate+"]^000000 zeny.";
				close;
				
	Donate15M:
				set ##totaldonate, ##totaldonate + 15000000;
				mes "Thank you for donating 15,000,000z!";
				mes "We appreciate your generosity.";
				announce "Charity Lucy: ["+strcharinfo(0)+"] has donated [15,000,000z] to Charity! We appreciate your generosity.",0;
				next;
				mes .@n$;
				mes "The total amount I collected is : ^0000CD["+##totaldonate+"]^000000 zeny.";
				close;
				
	Donate25M:
				set ##totaldonate, ##totaldonate + 25000000;
				mes "Thank you for donating 25,000,000z!";
				mes "We appreciate your generosity.";
				announce "Charity Lucy: ["+strcharinfo(0)+"] has donated [25,000,000z] to Charity! We appreciate your generosity.",0;
				next;
				mes .@n$;
				mes "The total amount I collected is : ^0000CD["+##totaldonate+"]^000000 zeny.";
				close;
				
	Reset:
				set ##totaldonate, 0;
				announce "Charity Lucy: Charity Event for 2 Days has ended. Don't forget to donate to activate.",0;
				sleep 10000;
				announce "Charity Lucy: Thank you for your generosity.",0;
				close;
}