diff options
author | Jesusaves <cpntb1@ymail.com> | 2019-03-06 19:22:32 +0000 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2019-03-08 20:29:18 -0300 |
commit | 85b919f32ed78fffbeb7fea89da01d2a7c450909 (patch) | |
tree | 9d859b0aa50eee134cbb2dafc625b38c46ee5d1d | |
parent | 7c49636d99ab189302c300688f67f14bc15bf481 (diff) | |
download | serverdata-85b919f32ed78fffbeb7fea89da01d2a7c450909.tar.gz serverdata-85b919f32ed78fffbeb7fea89da01d2a7c450909.tar.bz2 serverdata-85b919f32ed78fffbeb7fea89da01d2a7c450909.tar.xz serverdata-85b919f32ed78fffbeb7fea89da01d2a7c450909.zip |
Implements @resync
-rw-r--r-- | npc/commands/resync.txt | 40 | ||||
-rw-r--r-- | npc/scripts.conf | 1 |
2 files changed, 41 insertions, 0 deletions
diff --git a/npc/commands/resync.txt b/npc/commands/resync.txt new file mode 100644 index 00000000..63b2d290 --- /dev/null +++ b/npc/commands/resync.txt @@ -0,0 +1,40 @@ +// Evol script +// Author: Jesusalva <admin@tmw2.org> +// +// Introduces @resync +// +// It'll cast slide to your own position +// Hopefully making client update your real position without causing server warning + +- script @resync 32767,{ + end; + +// Soft Resync +OnCall: + // Sliding a dead player have undesired side effects + if (ispcdead()) { + dispbottom l("Impossible to resync: You are dead."); + end; + } + // I add a small delay in case slide() trigger some invincibility timer or something + if (@rsync_delay > gettimetick(2)) { + dispbottom l("Not resync'ing to prevent flood."); + end; + } + + // This is a hack + getmapxy(.@m$, .@x, .@y, 0); + slide .@x, .@y; + @rsync_delay=gettimetick(2)+rand(4,6); + + // Uncomment this line to cause server to resend every packet to ManaPlus + // and get rid of latency effect (like dead mobs still being shown) + //atcommand("@refresh"); + end; + +// Anyone can call @resync, but only support and upwards for other players. +// ie. GMs can try to fix lag for other people. +OnInit: + bindatcmd "resync", "@resync::OnCall", 0, 2, 0; + end; +} diff --git a/npc/scripts.conf b/npc/scripts.conf index ba1a5196..8185ef56 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -116,6 +116,7 @@ "npc/commands/debug-preset.txt", "npc/commands/debug.txt", "npc/commands/super-menu.txt", +"npc/commands/resync.txt", // config script "npc/config/hairstyle_config.txt", |