SphereCommunity
tag.override.moverate - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: General Help (/Forum-General-Help)
+--- Thread: tag.override.moverate (/Thread-tag-override-moverate--3650)



tag.override.moverate - Skul - 08-09-2014 02:03 AM

Adding a peasant NPC and doing .xtag.override.moverate 1 shows no difference in movement.

Sphere.ini settings

MOVERATE=100

It seems to have no effect on other NPCs too. Is it just me, maybe I'm doing something wrong? Let me know, thanks.


RE: tag.override.moverate - XuN - 08-09-2014 08:12 AM

Here you have a 'bad' example of how does it works (its the code writed now 'in the fly' in spherescript to explain it. TICK_PER_SEC is equal to 10, which are the current ticks per second the Sphere is performing.
Code:
    if (<tag0.override.moverate>)
local.moverate = <tag.override.moverate>
else
local.moverate = <moverate>
endif
local.dex = <dex>
if (fRun) // If character is Moving
if (IsStatFlag(STATF_Pet))    // pets run a little faster.
  if (iDex < 75)
   local.dex = 75; // little adjust for have a minimum speed moverate on pets, so they can follow their master.
  endif
endif
local.NextMove = TICK_PER_SEC / 4 + Rand((100 - (<local.dex>*<local.tick>) / 100) / 5) * TICK_PER_SEC / 10
else
local.NextMove = TICK_PER_SEC + Rand((100 - (<local.dex>*<local.tick>) / 100) / 3) * TICK_PER_SEC / 10;
endif

So for a normal NPC (no pet) with 100 dex and 100 moverate the values will be these: 10 + Rand(33) * 10 / 10 = 41 (r33 gave me 31 when calculating). So this character will do a move each 0.4 seconds.
A normal NPC with 100 dex and 30 moverate will have thse values: 10 + Rand(10)* 10 /10 = 13 (r10 gave me 3), so this character will move each 0.1 seconds.


There are 2 more checks, one ensuring the nextmove is not lesser than 1 and other not allowing it to be higher than 50.


RE: tag.override.moverate - Skul - 08-10-2014 12:49 AM

I see your example above, but how I see it in-game using .xtag.override.moverate 5 on an npc and .xtag.override.moverate 10000 shows no difference in movement.

I use tag.override.moverate for my player's pets so they can follow commands faster (come/follow/guard/kill/go). At the moment I can't find a way to alter their walk/run speed, they move like snails!


RE: tag.override.moverate - amonvangrell - 01-07-2015 03:02 PM

I wonder if now as a staff you'll get us an answer... Tongue