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