ID:1744031
 
(See the best response by Zasif.)
Code: world.dm
world
name = "My first game"
turf = /turf/floor


Code: Player.dm
mob
icon = 'player.dmi'
Login()
usr.Move(locate(2,3,1))
world << "[usr] has logged in!"
usr << "Welcome back!"


Code: turfs.dm
turf
floor
icon = 'floor.dmi'
wall
icon = 'wall.dmi'
density = 1


Code: verbs.dm
mob
verb/say(msg as text)
world << "[usr] says: [msg]"


Problem description: Hi i was trying to follow the tutorials on how to program in byond. I've looked through it many times and can not find what i did wrong but when i run the game the arrow keys do nothing and i can't run around. Code compiles with zero errors or warnings and the map and player appear like they are supposed to. Also the arrow keys work in any other byond game i try to play.

I separated the code into their own separate files to be more organized. The problem happens the same if its in one file or five.


Might be possible that all of the turfs in the map are dense, or that all of the directions you're trying to go to are walls (or dense turfs).

Take a screenshot of your map so we can see what the map looks like.

Edit: I'm pretty sure Login() requires a call to the parent proc, and should look like this:
mob
icon = 'player.dmi'
Login()
usr.Move(locate(2,3,1)) // try usr.loc = locate(2,3,1)
world << "[usr] has logged in!"
usr << "Welcome back!"
..() // <-- this calls the default procedure for Login()
Here is the map.dmm screenshot. Don't laugh ... its all just placeholder stuff lol.

Map.dmm


What it looks like when i run



I tried adding the ..() default proc like you suggested and nothing changed after i recompiled and ran. I also when back and changed the floor turf to be density = 0. Didn't fix the issue
Usually issues like this arise when you overide the Move() proc. Have you overriden the Move() proc?

mob
Move()
// Did you change anything here?
..()
No, I haven't done anything with the move proc other than in the player.dm where i say

usr.Move(locate(2,3,1))


I also change it to

usr.loc = locate(2,3,1)


Didn't change any results
Wait why are you using usr in Login()? I'm not entirely sure Login() has a usr. Should be using src or nothing.
Best response
Maybe you scrwed something in the Skin and removed the macros for the movement, check that out.
i've tried it with both src and usr, both yield the same result

This is the skin file, i never even touched it before now but i don't think it looks messed up

There isn't a macro at all. You need to add one.
How do i do that? like whats the commands?
.north, .south, etc. (check case) You could make a new interface file and see the default macros.
That definitely was the issue, it all works now. Thanks for all your help :)
No Votes for me Q_Q
In response to Zasif
Thar ya go.
The world feels right again!