izlude,124,139,6 script Lucy 101,{
function Display_Timer; // define function
if ($totaldonate >= 75000000)
end;
// Variables
set .@n$, "[Lucy]";
setarray .@donation_Zeny[0],
5000000,
10000000,
15000000,
25000000;
// Zeny Detector
if (Zeny < .@donation_Zeny[0]) {
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."; // '$' for permanent server variable
close; // don't need end after close
}
// Start
mes .@n$;
mes "Hello, Citizen of Ragnarok Offline.";
mes "Can I help you with something?";
next;
if (select("Yes, I would like to donate:No, Thank you") == 1) {
mes .@n$;
mes "Okay then. See you later.";
close;
}
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.";// different from menu
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;
.@size = getarraysize( .@donation_Zeny );
for ( .@i = 0; .@i < .@size; .@i++ )
.@menu$ += callfunc( "F_InsertComma", .@donation_Zeny[.@i] ) + ":"; // dynamical menu
.@s = select(.@menu$) - 1;
if ($totaldonate >= 75000000) { // already on
mes .@n$;
mes "The total amount I collected is : ^0000CD[" + $totaldonate + "]^000000 Zeny.";
close;
}
if (Zeny < .@donation_Zeny[.@s]) { // re-check player zeny amount
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;
}
set Zeny, Zeny - .@donation_Zeny[.@s];
set $totaldonate, $totaldonate + .@donation_Zeny[.@s];
mes .@n$;
mes "Thank you for donating " + callfunc( "F_InsertComma", .@donation_Zeny[.@s] ) + "z!";
mes "We appreciate your generosity.";
announce "[Charity Lucy: "+strcharinfo(0)+"] has donated [" + callfunc( "F_InsertComma", .@donation_Zeny[.@s] ) + "z] to Charity! We appreciate your generosity.",0;
if ($totaldonate >= 75000000) {
$donation_timer = gettimetick(2) + 86400; // 86400 seconds = 2 days
donpcevent strnpcinfo(3) + "::OnInit";
}
next;
mes .@n$;
mes "The total amount I collected is : ^0000CD[" + $totaldonate + "]^000000 Zeny.";
close;
function Display_Timer {
.@time = getarg(0);
.@hour = .@time / 3600;
.@mins = ( .@time % 3600 ) / 60;
.@secs = .@time % 60;
.@string$ = (.@hour ? .@hour + " hour" : "");
.@string$ += (.@string$ != "" ? " " : "") + (.@mins ? .@mins + " min" + (.@mins > 1 ? "s" : "" ) : "");
.@string$ += (.@string$ != "" ? " " : "") + (.@secs + " sec") + (.@secs > 1 ? "s" : "" );
return .@string$;
}
OnInit:
if ($totaldonate < 75000000)
end;
.@time_left = $donation_timer - gettimetick(2);
if (.@time_left <= 0)
$totaldonate = 0;
else {
// unhide npc
while (.@time_left > 0) {
waitingroom Display_Timer( .@time_left ),0;
sleep 1000;
delwaitingroom;
.@time_left--;
}
// hidenpc
set $totaldonate, 0;
$donation_timer = 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;
}
end;
}
This script i found on rathena, the countdown works
but i want to make it give double EXP when the zeny charity is fulfilled
please help me what part to modify?
thank you
Question
Heartfelt
izlude,124,139,6 script Lucy 101,{ function Display_Timer; // define function if ($totaldonate >= 75000000) end; // Variables set .@n$, "[Lucy]"; setarray .@donation_Zeny[0], 5000000, 10000000, 15000000, 25000000; // Zeny Detector if (Zeny < .@donation_Zeny[0]) { 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."; // '$' for permanent server variable close; // don't need end after close } // Start mes .@n$; mes "Hello, Citizen of Ragnarok Offline."; mes "Can I help you with something?"; next; if (select("Yes, I would like to donate:No, Thank you") == 1) { mes .@n$; mes "Okay then. See you later."; close; } 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.";// different from menu 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; .@size = getarraysize( .@donation_Zeny ); for ( .@i = 0; .@i < .@size; .@i++ ) .@menu$ += callfunc( "F_InsertComma", .@donation_Zeny[.@i] ) + ":"; // dynamical menu .@s = select(.@menu$) - 1; if ($totaldonate >= 75000000) { // already on mes .@n$; mes "The total amount I collected is : ^0000CD[" + $totaldonate + "]^000000 Zeny."; close; } if (Zeny < .@donation_Zeny[.@s]) { // re-check player zeny amount 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; } set Zeny, Zeny - .@donation_Zeny[.@s]; set $totaldonate, $totaldonate + .@donation_Zeny[.@s]; mes .@n$; mes "Thank you for donating " + callfunc( "F_InsertComma", .@donation_Zeny[.@s] ) + "z!"; mes "We appreciate your generosity."; announce "[Charity Lucy: "+strcharinfo(0)+"] has donated [" + callfunc( "F_InsertComma", .@donation_Zeny[.@s] ) + "z] to Charity! We appreciate your generosity.",0; if ($totaldonate >= 75000000) { $donation_timer = gettimetick(2) + 86400; // 86400 seconds = 2 days donpcevent strnpcinfo(3) + "::OnInit"; } next; mes .@n$; mes "The total amount I collected is : ^0000CD[" + $totaldonate + "]^000000 Zeny."; close; function Display_Timer { .@time = getarg(0); .@hour = .@time / 3600; .@mins = ( .@time % 3600 ) / 60; .@secs = .@time % 60; .@string$ = (.@hour ? .@hour + " hour" : ""); .@string$ += (.@string$ != "" ? " " : "") + (.@mins ? .@mins + " min" + (.@mins > 1 ? "s" : "" ) : ""); .@string$ += (.@string$ != "" ? " " : "") + (.@secs + " sec") + (.@secs > 1 ? "s" : "" ); return .@string$; } OnInit: if ($totaldonate < 75000000) end; .@time_left = $donation_timer - gettimetick(2); if (.@time_left <= 0) $totaldonate = 0; else { // unhide npc while (.@time_left > 0) { waitingroom Display_Timer( .@time_left ),0; sleep 1000; delwaitingroom; .@time_left--; } // hidenpc set $totaldonate, 0; $donation_timer = 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; } end; }
This script i found on rathena, the countdown works
but i want to make it give double EXP when the zeny charity is fulfilled
please help me what part to modify?
thank you
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.