Jump to content
  • 0

About my Floating Rates


cahadeyelo

Question


  • Group:  Members
  • Topic Count:  68
  • Topics Per Day:  0.02
  • Content Count:  168
  • Reputation:   1
  • Joined:  11/13/14
  • Last Seen:  

why is it my floating rates didn't go back to normal after an hour, instead it keeps on multiplying after and after
 

-	script	HappyHour	-1,{
OnMinute01:
	setbattleflag "base_exp_rate", 2*getbattleflag("base_exp_rate");
	setbattleflag "job_exp_rate", 2*getbattleflag("job_exp_rate");
	setbattleflag "item_rate_common", 2*getbattleflag("item_rate_common");
	setbattleflag "item_rate_common_boss", 2*getbattleflag("item_rate_common_boss");
	setbattleflag "item_rate_common_mvp", 2*getbattleflag("item_rate_common_mvp");
	setbattleflag "item_rate_heal_boss", 2*getbattleflag("item_rate_heal_boss");
	setbattleflag "item_rate_heal_mvp", 2*getbattleflag("item_rate_heal_mvp");
	setbattleflag "item_rate_use_boss", 2*getbattleflag("item_rate_use_boss");
	setbattleflag "item_rate_use_mvp", 2*getbattleflag("item_rate_use_mvp");
	setbattleflag "item_rate_equip_boss", 2*getbattleflag("item_rate_equip_boss");
	setbattleflag "item_rate_equip_mvp", 2*getbattleflag("item_rate_equip_mvp");
	setbattleflag "item_rate_card_boss", 2*getbattleflag("item_rate_card_boss");
	setbattleflag "item_rate_heal", 2*getbattleflag("item_rate_heal");
	setbattleflag "item_rate_use", 2*getbattleflag("item_rate_use");
	setbattleflag "item_rate_equip", 2*getbattleflag("item_rate_equip");
	setbattleflag "item_rate_card", 2*getbattleflag("item_rate_card");
	setbattleflag "item_rate_mvp", 2*getbattleflag("item_rate_mvp");
	setbattleflag "item_rate_treasure", 2*getbattleflag("item_rate_treasure");
	atcommand "@reloadmobdb";
	announce "HAPPY HOUR IS NOW ACTIVE.",0;
	sleep 3600000;
	setbattleflag "base_exp_rate", getbattleflag("base_exp_rate")/2;
	setbattleflag "job_exp_rate", getbattleflag("job_exp_rate")/2;
	setbattleflag "item_rate_common", 2*getbattleflag("item_rate_common")/2;
	setbattleflag "item_rate_common_boss", 2*getbattleflag("item_rate_common_boss")/2;
	setbattleflag "item_rate_common_mvp", 2*getbattleflag("item_rate_common_mvp")/2;
	setbattleflag "item_rate_heal_boss", 2*getbattleflag("item_rate_heal_boss")/2;
	setbattleflag "item_rate_heal_mvp", 2*getbattleflag("item_rate_heal_mvp")/2;
	setbattleflag "item_rate_use_boss", 2*getbattleflag("item_rate_use_boss")/2;
	setbattleflag "item_rate_use_mvp", 2*getbattleflag("item_rate_use_mvp")/2;
	setbattleflag "item_rate_equip_boss", 2*getbattleflag("item_rate_equip_boss")/2;
	setbattleflag "item_rate_equip_mvp", 2*getbattleflag("item_rate_equip_mvp")/2;
	setbattleflag "item_rate_card_boss", 2*getbattleflag("item_rate_card_boss")/2;
	setbattleflag "item_rate_heal", 2*getbattleflag("item_rate_heal")/2;
	setbattleflag "item_rate_use", 2*getbattleflag("item_rate_use")/2;
	setbattleflag "item_rate_equip", 2*getbattleflag("item_rate_equip")/2;
	setbattleflag "item_rate_card", 2*getbattleflag("item_rate_card")/2;
	setbattleflag "item_rate_mvp", 2*getbattleflag("item_rate_mvp")/2;
	setbattleflag "item_rate_treasure", 2*getbattleflag("item_rate_treasure")/2;
	atcommand "@reloadmobdb";
	announce "HAPPY HOUR HAS ENDED.",0;
	end;

}

 

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

  • Group:  Content Moderator
  • Topic Count:  55
  • Topics Per Day:  0.02
  • Content Count:  1676
  • Reputation:   703
  • Joined:  12/21/14
  • Last Seen:  

i will take one for example 

setbattleflag "item_rate_common", 2*getbattleflag("item_rate_common");

so here getbattleflag("item_rate_common") = x
2*x 
first put the calculation in bracelet
so it will be 
setbattleflag "item_rate_common", (2*getbattleflag("item_rate_common"));

the next one for reseting the rate 
setbattleflag "item_rate_common", 2*getbattleflag("item_rate_common")/2;
if x is the original
then on the happy hour start is 
2*x
at end is 
2*(2*x)/2 = 2*x
math lol
just the happy hour end put it like that
setbattleflag "item_rate_common", (getbattleflag("item_rate_common")/2);

 

  • Love 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  70
  • Reputation:   0
  • Joined:  06/19/18
  • Last Seen:  

Tried the script, was bout to have an error every time you needed to reload the npc file.

is there like no set fuction to put it on the default server rates first before the script loads?

I feel as if the script its good but it loops (the rates stack when you reload)

Update:

Will the true function solve the reload nature of this script?

Edited by Psy Ops
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  4
  • Topics Per Day:  0.00
  • Content Count:  303
  • Reputation:   117
  • Joined:  12/10/16
  • Last Seen:  

Cold you try this?

-	script	HappyHour	-1,{

	function set_rates;

OnMinute01:

	if(gettime(DT_HOUR)%2) {
		set_rates(1,"base_exp_rate","job_exp_rate","item_rate_common","item_rate_common_boss","item_rate_common_mvp","item_rate_heal_boss","item_rate_heal_mvp","item_rate_equip_boss","item_rate_heal","item_rate_use","item_rate_equip","item_rate_card","item_rate_mvp","item_rate_treasure");
		announce "HAPPY HOUR IS NOW ACTIVE.",0;
	} else {
		set_rates(2,"base_exp_rate","job_exp_rate","item_rate_common","item_rate_common_boss","item_rate_common_mvp","item_rate_heal_boss","item_rate_heal_mvp","item_rate_equip_boss","item_rate_heal","item_rate_use","item_rate_equip","item_rate_card","item_rate_mvp","item_rate_treasure");
		announce "HAPPY HOUR HAS ENDED.",0;
	}
	end;

OnInit:

	// Put here your original rates.
	//                     base   job  items
	set .@original_rates[0], 100, 100, 100;
	set_rates(.@original_rates[0],"base_exp_rate");
	set_rates(.@original_rates[1],"job_exp_rate");
	set_rates(.@original_rates[2],"item_rate_common","item_rate_common_boss","item_rate_common_mvp","item_rate_heal_boss","item_rate_heal_mvp","item_rate_equip_boss","item_rate_heal","item_rate_use","item_rate_equip","item_rate_card","item_rate_mvp","item_rate_treasure");
	end;

	function	set_rates	{

		.@type = getarg(0);
		.@args = getargcount();
		for(.@i = 1;.@i < .@args;.@i++) {
			if(.@type == 1)
				setbattleflag getarg(.@i),getbattleflag(getarg(.@i))*2, .@i/(.@args - 1);
			else if(.@type == 2)
				setbattleflag getarg(.@i),getbattleflag(getarg(.@i))/2, .@i/(.@args - 1);
			else
				setbattleflag getarg(.@i),.@type, .@i/(.@args - 1);
		}
		return;

	}

}

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...