ah I didnt think of the fact that timers will also pass faster lol
Why bother detecting it. It does not alter game play in the slightest, it only speeds the tick frequency of the game. You get a similar effect running replays at 32* speed.
Unless of course you have created an RPG where time is progress. In which case it is your own fault for bad map design I guess. If you make it challenging so that humans must provide skilled input to progress then people will not speed up the map anyway.
Doctor, I respect you much. Can you help me on this one? I've indeed started creating an rpg, well you will not be able to kill bosses with speed hack, but it will help farming and leveling which I want to prevent. Please help me triggering this, can you try the solution to detect a unit's position and then after 2 real seconds of game time(using wait timer) detect the position again and for example if it's more than 522, defeat everyone. The unit will be specific(I will add patrol unit outside the playable map for this task)
constant native GetGameSpeed takes nothing returns gamespeed
native SetGameSpeed takes gamespeed whichspeed returns nothing
constant native GetGameSpeed takes nothing returns gamespeed
function UnlockGameSpeedBJ takes nothing returns nothing
call SetMapFlag(MAP_LOCK_SPEED, false)
endfunction
function LockGameSpeedBJ takes nothing returns nothing
call SetMapFlag(MAP_LOCK_SPEED, true)
endfunction
constant gamespeed MAP_SPEED_FASTEST=ConvertGameSpeed(4)
constant gamespeed MAP_SPEED_FAST=ConvertGameSpeed(3)
constant gamespeed MAP_SPEED_NORMAL=ConvertGameSpeed(2)
constant gamespeed MAP_SPEED_SLOW=ConvertGameSpeed(1)
constant gamespeed MAP_SPEED_SLOWEST=ConvertGameSpeed(0)
It modifies the game speed, probably without limit. It probably using whatever normal hosting uses to configure game speed but sets it to something insane.
Have you tried any action to modify game speed?
JASS:constant native GetGameSpeed takes nothing returns gamespeed native SetGameSpeed takes gamespeed whichspeed returns nothing constant native GetGameSpeed takes nothing returns gamespeed function UnlockGameSpeedBJ takes nothing returns nothing call SetMapFlag(MAP_LOCK_SPEED, false) endfunction function LockGameSpeedBJ takes nothing returns nothing call SetMapFlag(MAP_LOCK_SPEED, true) endfunction constant gamespeed MAP_SPEED_FASTEST=ConvertGameSpeed(4) constant gamespeed MAP_SPEED_FAST=ConvertGameSpeed(3) constant gamespeed MAP_SPEED_NORMAL=ConvertGameSpeed(2) constant gamespeed MAP_SPEED_SLOW=ConvertGameSpeed(1) constant gamespeed MAP_SPEED_SLOWEST=ConvertGameSpeed(0)
Sure. I have attached one where Player 1 hitting ESC will toggle game speed from fastest to slowest.Can you make it in a sample map?
When speed is not locked you can change game speed with the '-' and '+' numpad keys. Most multiplayer games are hosted with speed locked which disables them. My guess is that the server can still send up game speed change packets even when speed is locked. The hack must create fake speed change orders, ordering the game to an impossible speed. WC3 supports such speed for replay playback purposes however it is not meant to be used for actual play.Also, the hack doesnt start immediately when map loads. The host alt+tabs and then sets the game speed to x2 or x30 or whatever.
This would be the ideal solution if possible.So we would need maybe to modify game speed every 30 seconds or do what to prevent this?
Bit too malicious.OR Can we check if game speed is not equal to fast and if so, defeat all players, crash map etc.?
Used to disable user game speed changes. Commonly used in multiplayer to stop "speed wars" where two players constantly change game speed to opposite extremes. This is a common feature to most good RTS games, even Age of Empires had it.Or what is this Lock game speed function?
When set to locked it should be impossible to be changed. However I am guessing WC3 does not actually checked if it is locked when receiving a speed change command and so will change speed regardless. As such I doubt it is possible.Is it possible to "lock" it and not to be able to be modified by external sources?
Probably not. Must be setting the base game speed somehow in a way that network syncs.Can we fix this ?