cahadeyelo Posted November 27, 2017 Posted November 27, 2017 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; } Quote
0 sader1992 Posted November 27, 2017 Posted November 27, 2017 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); 1 Quote
0 Psy Ops Posted November 17, 2018 Posted November 17, 2018 (edited) 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 November 17, 2018 by Psy Ops Quote
0 n0tttt Posted November 18, 2018 Posted November 18, 2018 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; } } Quote
Question
cahadeyelo
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; }
3 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.