ID:1861142
 
(See the best response by Maximus_Alex2003.)
Code:
#define TILE_HALF_HEIGHT 8

world
fps = 25
icon_size = "32x16"
map_format = ISOMETRIC_MAP
view = 16
mob
step_size = 32
icon='player.dmi'

obj
step_size = 8

world
turf=/turf/grass

turf
grass
icon='hex3.dmi'

turf/Click()
walk_to(usr,src)


Problem description:

Hi, I'm making an isometric hexagon game where movement is done via clicking the mouse. I want to slow down the movement-speed of my player but not by decreasing step_size because that makes it so that the player wont move inside the hexagons. If anyone got any ideas or could point me in the direction of some good tutorials I would be most grateful.
You'll want to sleep() your movement.

So, if you don't already have a hardcoded movement proc, you'll want to alter atom Move() to have a sleep() delay in addition to a variable that checks if they have moved or not.

So,

Step 1. Check if moving, if moving return.
Step 2. If not moving, set varible to is moving and create movement.
Step 3. sleep()
Step 4. Set is moving variable back to not.
If you're just using walk_to() for movement, you can supply a delay directly into your call to walk_to(). Check the DM reference for that proc you're using.
In response to Kaiochao
I can't seem to get it to work at all could you give an example of how it would be done?
Best response
mob
proc
move(atom/location, delay)
walk_to(src, location, 1, delay, 0)

turf
Click()
usr.move(src, 10)
..()


walk_to(reference, target location, minimum distance, delay, step-size)
In response to Maximus_Alex2003
Nice try but you don't even use the "delay" variable or sleep(), is_moving will always be 0 everytime it's checked.
In response to Superbike32
Yeah, sorry. I originally had a snippet that wasn't using walk_to which utilized is_moving and sleep(). I'll correct it.