SovietBR Posted July 9, 2024 Group: Members Topic Count: 7 Topics Per Day: 0.01 Content Count: 20 Reputation: 1 Joined: 12/10/22 Last Seen: May 17 Share Posted July 9, 2024 I'm trying to add the Battle Manual effect to this script, but I don't know how to make it. - script 175Exp -1,{ OnNPCKillEvent: if(BaseLevel >= 99 && BaseLevel <= 120 && getmonsterinfo(killedrid, 1) >= 70) { BaseExp = BaseExp + 100 * getmonsterinfo(killedrid, 3); JobExp = JobExp + 50 * getmonsterinfo(killedrid, 4); } else if(BaseLevel >= 120 && BaseLevel <= 139 && getmonsterinfo(killedrid, 1) >= 70) { BaseExp = BaseExp + 3000 * getmonsterinfo(killedrid, 3); JobExp = JobExp + 2500 * getmonsterinfo(killedrid, 4); } else if(BaseLevel >= 140 && BaseLevel <= 159 && getmonsterinfo(killedrid, 1) >= 70) { BaseExp = BaseExp + 3000 * getmonsterinfo(killedrid, 3); JobExp = JobExp + 1500 * getmonsterinfo(killedrid, 4); } else if(BaseLevel >= 160 && BaseLevel <= 180 && getmonsterinfo(killedrid, 1) >= 70) { BaseExp = BaseExp + 40000 * getmonsterinfo(killedrid, 3); JobExp = JobExp + 6000 * getmonsterinfo(killedrid, 4); } else if(BaseLevel >= 180 && BaseLevel <= 199 && getmonsterinfo(killedrid, 1) >= 70) { BaseExp = BaseExp + 200000 * getmonsterinfo(killedrid, 3); JobExp = JobExp + 8000 * getmonsterinfo(killedrid, 4); } else if(BaseLevel >= 200 && BaseLevel <= 250 && getmonsterinfo(killedrid, 1) >= 70) { BaseExp = BaseExp + 600000 * getmonsterinfo(killedrid, 3); JobExp = JobExp + 300000 * getmonsterinfo(killedrid, 4); } end; } Like, in the fist case, if I have the SC_EXPBOOST stat active, instead of BaseExp + 100*, I would get 150, and so on. I'm pretty new at programing, so if someone could shine a light for me, I would be pretty grateful. Thanks in advance! Quote Link to comment Share on other sites More sharing options...
1 Racaae Posted July 9, 2024 Group: Members Topic Count: 0 Topics Per Day: 0 Content Count: 249 Reputation: 114 Joined: 06/02/12 Last Seen: 6 hours ago Share Posted July 9, 2024 Hi. You can use getstatus command to check if player used Battle Manual. *getstatus(<effect type>{,<type>{,<char_id>}}) Retrieve information about a specific status effect when called. Depending on <type> specified the function will return different information. Possible <type> values: - 0 or undefined: whether the status is active - 1: the val1 of the status 8 hours ago, SovietBR said: Like, in the fist case, if I have the SC_EXPBOOST stat active, instead of BaseExp + 100*, I would get 150 if (getstatus(SC_EXPBOOST)) BaseExp = BaseExp + 100 + 50 * getmonsterinfo(killedrid, 3); Example: - script 175Exp -1,{ OnNPCKillEvent: if (getmonsterinfo(killedrid, 1) < 70) end; if (BaseLevel >= 99 && BaseLevel <= 120) { .@base_bonus = 100; .@job_bonus = 50; } else if (BaseLevel >= 120 && BaseLevel <= 139) { .@base_bonus = 3000; .@job_bonus = 2500; } else if (BaseLevel >= 140 && BaseLevel <= 159) { .@base_bonus = 3000; .@job_bonus = 1500; } else if (BaseLevel >= 160 && BaseLevel <= 180) { .@base_bonus = 40000; .@job_bonus = 6000; } else if (BaseLevel >= 180 && BaseLevel <= 199) { .@base_bonus = 200000; .@job_bonus = 8000; } else if (BaseLevel >= 200 && BaseLevel <= 250) { .@base_bonus = 600000; .@job_bonus = 300000; } if (getstatus(SC_EXPBOOST)) { .@base_bonus += getstatus(SC_EXPBOOST,1); .@job_bonus += getstatus(SC_EXPBOOST,1); } .@base_total = .@base_bonus * getmonsterinfo(killedrid, MOB_BASEEXP); .@job_total = .@job_bonus * getmonsterinfo(killedrid, MOB_JOBEXP); getexp2 .@base_total,.@job_total; end; } 1 Quote Link to comment Share on other sites More sharing options...
0 SovietBR Posted July 9, 2024 Group: Members Topic Count: 7 Topics Per Day: 0.01 Content Count: 20 Reputation: 1 Joined: 12/10/22 Last Seen: May 17 Author Share Posted July 9, 2024 3 hours ago, Racaae said: Hi. You can use getstatus command to check if player used Battle Manual. *getstatus(<effect type>{,<type>{,<char_id>}}) Retrieve information about a specific status effect when called. Depending on <type> specified the function will return different information. Possible <type> values: - 0 or undefined: whether the status is active - 1: the val1 of the status if (getstatus(SC_EXPBOOST)) BaseExp = BaseExp + 100 + 50 * getmonsterinfo(killedrid, 3); Example: - script 175Exp -1,{ OnNPCKillEvent: if (getmonsterinfo(killedrid, 1) < 70) end; if (BaseLevel >= 99 && BaseLevel <= 120) { .@base_bonus = 100; .@job_bonus = 50; } else if (BaseLevel >= 120 && BaseLevel <= 139) { .@base_bonus = 3000; .@job_bonus = 2500; } else if (BaseLevel >= 140 && BaseLevel <= 159) { .@base_bonus = 3000; .@job_bonus = 1500; } else if (BaseLevel >= 160 && BaseLevel <= 180) { .@base_bonus = 40000; .@job_bonus = 6000; } else if (BaseLevel >= 180 && BaseLevel <= 199) { .@base_bonus = 200000; .@job_bonus = 8000; } else if (BaseLevel >= 200 && BaseLevel <= 250) { .@base_bonus = 600000; .@job_bonus = 300000; } if (getstatus(SC_EXPBOOST)) { .@base_bonus += getstatus(SC_EXPBOOST,1); .@job_bonus += getstatus(SC_EXPBOOST,1); } .@base_total = .@base_bonus * getmonsterinfo(killedrid, MOB_BASEEXP); .@job_total = .@job_bonus * getmonsterinfo(killedrid, MOB_JOBEXP); getexp2 .@base_total,.@job_total; end; } Thanks! I'll try that later. Quote Link to comment Share on other sites More sharing options...
Question
SovietBR
I'm trying to add the Battle Manual effect to this script, but I don't know how to make it.
- script 175Exp -1,{ OnNPCKillEvent: if(BaseLevel >= 99 && BaseLevel <= 120 && getmonsterinfo(killedrid, 1) >= 70) { BaseExp = BaseExp + 100 * getmonsterinfo(killedrid, 3); JobExp = JobExp + 50 * getmonsterinfo(killedrid, 4); } else if(BaseLevel >= 120 && BaseLevel <= 139 && getmonsterinfo(killedrid, 1) >= 70) { BaseExp = BaseExp + 3000 * getmonsterinfo(killedrid, 3); JobExp = JobExp + 2500 * getmonsterinfo(killedrid, 4); } else if(BaseLevel >= 140 && BaseLevel <= 159 && getmonsterinfo(killedrid, 1) >= 70) { BaseExp = BaseExp + 3000 * getmonsterinfo(killedrid, 3); JobExp = JobExp + 1500 * getmonsterinfo(killedrid, 4); } else if(BaseLevel >= 160 && BaseLevel <= 180 && getmonsterinfo(killedrid, 1) >= 70) { BaseExp = BaseExp + 40000 * getmonsterinfo(killedrid, 3); JobExp = JobExp + 6000 * getmonsterinfo(killedrid, 4); } else if(BaseLevel >= 180 && BaseLevel <= 199 && getmonsterinfo(killedrid, 1) >= 70) { BaseExp = BaseExp + 200000 * getmonsterinfo(killedrid, 3); JobExp = JobExp + 8000 * getmonsterinfo(killedrid, 4); } else if(BaseLevel >= 200 && BaseLevel <= 250 && getmonsterinfo(killedrid, 1) >= 70) { BaseExp = BaseExp + 600000 * getmonsterinfo(killedrid, 3); JobExp = JobExp + 300000 * getmonsterinfo(killedrid, 4); } end; }
Like, in the fist case, if I have the SC_EXPBOOST stat active, instead of BaseExp + 100*, I would get 150, and so on. I'm pretty new at programing, so if someone could shine a light for me, I would be pretty grateful.
Thanks in advance!
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.