// https://rathena.org/board/topic/106916-customized-floating-rates/
prontera,155,181,5 script Floating Rate 757,{
doevent "floating_rate_main::OnTalk";
}
- script floating_rate_main -1,{
OnInit:
.setting_cost_1 = 10000000;
.setting_duration_1 = 86400;
setarray .setting_1$,"";
.setting_cost_2 = 20000000;
.setting_duration_2 = 86400;
setarray .setting_2$,"";
// original rates
.item_rate_equip = getbattleflag("item_rate_equip");
.item_rate_equip_boss = getbattleflag("item_rate_equip_boss");
.item_rate_equip_mvp = getbattleflag("item_rate_equip_mvp");
.npc_name_target$ = "Floating Rate";
.npc_name$ = strnpcinfo(3);
initnpctimer;
.@gettimetick = gettimetick(2);
if ($setting_duration_1 > 0 && $setting_duration_1 < .@gettimetick) {
setbattleflag("item_rate_equip", (.item_rate_equip * 2));
hideonnpc .npc_name_target$;
}
if ($setting_duration_2 > 0 && $setting_duration_2 < .@gettimetick) {
setbattleflag("item_rate_equip_boss", (.item_rate_equip_boss * 2));
setbattleflag("item_rate_equip_mvp", (.item_rate_equip_mvp * 2));
hideonnpc .npc_name_target$;
}
end;
OnTalk:
mes "X2 The EQUIP DROP RATE";
mes "Cost: "+F_InsertComma(.setting_cost_1)+" Zeny";
mes "Current: "+F_InsertComma($setting_cost_1)+" Zeny";
mes " ";
mes "X2 THE MVP EQUIP DROPRATE";
mes "Cost: "+F_InsertComma(.setting_cost_2)+" Zeny";
mes "Current: "+F_InsertComma($setting_cost_2)+" Zeny";
next;
.@mode = select(
"X2 The EQUIP DROP RATE",
"X2 THE MVP EQUIP DROPRATE",
"BOTH"
);
if (.@mode & 1) {
// normal equip
.@total_cost += (.setting_cost_1 - $setting_cost_1);
}
if (.@mode & 2) {
// mvp equip
.@total_cost += (.setting_cost_2 - $setting_cost_2);
}
if (Zeny >= .@cost && .@cost > 0) {
if (select("Donate Zeny", "Cancel") == 1) {
mes "You need "+F_InsertComma(.@total_cost)+" Zeny to active the event.";
input .@donation,0,.@total_cost;
if (.@donation) {
if (.@donation > Zeny)
.@donation = Zeny;
Zeny -= .@donation;
mes "Thank you, you have donated "+F_InsertComma(.@donation)+" Zeny";
if (.@mode == 1) {
$setting_cost_1 += .@donation;
}
else if (.@mode == 2) {
$setting_cost_2 += .@donation;
}
else {
$setting_cost_1 += (.@donation / 2);
$setting_cost_2 += (.@donation / 2);
}
donpcevent .npc_name$+"::OnCheckDonation";
}
}
}
close;
OnCheckDonation:
.@gettimetick = gettimetick(2);
if ($setting_cost_1 >= .setting_cost_1) {
$setting_cost_1 = 0;
$setting_duration_1 = .@gettimetick + .setting_duration_1;
setbattleflag("item_rate_equip", (.item_rate_equip * 2));
}
if ($setting_cost_2 >= .setting_cost_2) {
$setting_cost_2 = 0;
$setting_duration_2 = .@gettimetick + .setting_duration_2;
setbattleflag("item_rate_equip_boss", (.item_rate_equip_boss * 2));
setbattleflag("item_rate_equip_mvp", (.item_rate_equip_mvp * 2));
}
end;
OnTimer60000:
.@gettimetick = gettimetick(2);
if ($setting_duration_1 > 0 && $setting_duration_1 < .@gettimetick) {
$setting_duration_1 = 0;
setbattleflag("item_rate_equip", .item_rate_equip);
}
if ($setting_duration_2 > 0 && $setting_duration_2 < .@gettimetick) {
$setting_duration_2 = 0;
setbattleflag("item_rate_equip_boss", .item_rate_equip_boss);
setbattleflag("item_rate_equip_mvp", .item_rate_equip_mvp);
}
if (($setting_duration_1 > 0 && $setting_duration_1 < .@gettimetick)
|| ($setting_duration_1 > 0 && $setting_duration_1 < .@gettimetick))
hideonnpc .npc_name_target$;
initnpctimer;
end;
}
Comments
0 B
|👍
/👎