summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-07-29 06:53:20 -0300
committerJesusaves <cpntb1@ymail.com>2020-07-29 06:53:20 -0300
commite61f12cd8365c3b0e1998110124b14ac59dfe1bd (patch)
treed7e75638a7cb6005cdf137d703da6f74dc38e34e
parentf0e5932f32958290fe0961c7f343b1b9c1a198d4 (diff)
downloadserverdata-e61f12cd8365c3b0e1998110124b14ac59dfe1bd.tar.gz
serverdata-e61f12cd8365c3b0e1998110124b14ac59dfe1bd.tar.bz2
serverdata-e61f12cd8365c3b0e1998110124b14ac59dfe1bd.tar.xz
serverdata-e61f12cd8365c3b0e1998110124b14ac59dfe1bd.zip
Fix the exploit on AFKing, and correct it everywhere else
-rw-r--r--npc/003-0-1/professor.txt8
-rw-r--r--npc/functions/clientversion.txt11
2 files changed, 17 insertions, 2 deletions
diff --git a/npc/003-0-1/professor.txt b/npc/003-0-1/professor.txt
index 98ad20cbb..37a69640b 100644
--- a/npc/003-0-1/professor.txt
+++ b/npc/003-0-1/professor.txt
@@ -76,15 +76,19 @@ OnSpeeching:
switch (AFKING) {
case 28800:
// 24 hours, 28,800 exp
+ .@x=1;
case 201600:
// +1 week, +403,200 exp
+ .@x=(AFKING >= 201600 ? 2 : 1);
case 864000:
// +1 month, +2,592,000 exp
+ .@x=(AFKING >= 864000 ? 3 : 2);
case 2592000:
// +3 months, +10,368,000 exp
- // Note: In the needed time (~4 months) you should be over 60 if you
+ .@x=(AFKING >= 2592000 ? 4 : 3);
+ // Note: In the needed time (~4 months) you should be over 90 if you
// were fighting instead...
- sk_lvup(TMW2_SPEECH);
+ skill(TMW2_SPEECH, .@x, 0);
AFKING+=1;
npctalk3 l("%s, you're a good student. You have a bright future if you keep listening to me.", strcharinfo(0));
dispbottom l("Learning from seeing (aka. AFK-ing) skill LEVEL UP!!");
diff --git a/npc/functions/clientversion.txt b/npc/functions/clientversion.txt
index 480d06639..3e6b11830 100644
--- a/npc/functions/clientversion.txt
+++ b/npc/functions/clientversion.txt
@@ -898,6 +898,17 @@ function script clientupdater {
}
}
+ // AFKing bugfix
+ // qua jul 29 06:52:00 BRT 2020
+ if (UPDATE < 1596016320) {
+ UPDATE=1596016320;
+ .@x=(AFKING >= 28800 ? 1 : 0);
+ .@x=(AFKING >= 201600 ? 2 : 1);
+ .@x=(AFKING >= 864000 ? 3 : 2);
+ .@x=(AFKING >= 2592000 ? 4 : 3);
+ skill(TMW2_SPEECH, .@x, 0);
+ dispbottom l("AFK skill levels fixed.");
+ }
// :// End of Regular Update System
////////////////////////////////////