Emistry icon

[RO] Floating Rate - Equip

Emistry | PRO | 09/10/18 11:15:52 PM UTC | 0 ⭐ | 981 👁️ | Never ⏰ | []
text |

3.67 KB

|

None

|

0 👍

/

0 👎

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

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎