ID:165523
 
I was wondering how I would lock a players screen and keep the person screen from moving left or right or up and down while walking?
That would have absolutely nothing to do with screen.loc (as it is a positioning of an /atom/movable on a client's screen... translation: a HUD)

You want to have a temp. variable and modify the Move() for mobs (or client if you wish to)
mob/var/tmp/menu=0

mob/Move()
if(menu) return //If menu is TRUE, mob will not move
..()


- GhostAnime
client
Move()
if(lockmove)return 0
else return 1
var
lockmove = 0
proc
Lock()
lockmove = !lockmove
src<<"You have been [lockmove ? "" : "un"]locked"
center()
... // do menu stuff
lockmove()

In response to GhostAnime
This is not what I want at all. My world screen size is 6 and I want it so that all they see is what they see and the screen does not move with them as they move.
In response to Dbgtsuperfreak
Than you did not added the HUDs properly [as it should move along with you], please show us a snippet (and even a clearer explanation) >_>

- GhostAnime
In response to Dbgtsuperfreak
I know what ya looking for i think :S

Look up lazy.eye or just read this


client lazy_eye = 5

This setting allows client.mob to move onto the entire 11x11 visible region without changing the value of client.eye. The moment it steps out of this region, the entire region will shift 5 tiles in the direction of motion.

You can assign lazy_eye to any value valid as a view size, so, for example, if you have a non-square setting for client.view, say, "17x11", you could apply a similar setting to lazy_eye. You can even make one dimension lazy and the other one strictly centered: "0x5".

Cheers.
In response to GhostAnime
Here look at this...

http://i69.photobucket.com/albums/i75/LegendaryLCD/ untitled-1.jpg

you see where it says veiw...thats what im talking about(sorry if i seem rude) I need it so that the screen does not move with the player when he is moving lik eon an rpg. The screen moves how he is moving i dont want that... I need it so the screen is locked as he or she is moving.
In response to Dbgtsuperfreak
You can do that via lazy eye the view your talking about sets how big the screen size on the client is.
In response to A.T.H.K
Thank you i figured it out but i added some extra code to fit my need.
In response to Dbgtsuperfreak
Dbgtsuperfreak wrote:
http://i69.photobucket.com/albums/i75/LegendaryLCD/ untitled-1.jpg

From that I can see that you set world/loop_checks=0. This is bad. It should always be set to 1 so it will alert you when there's a possible infinite loop. If you get a warning about such a message and it ends your loop, it simply means you setup the loop wrong.

proc/loop()
world<<{"This is a bad loop. It constantly calls itself increasing the call
stack, which will eventually give you an error and a message about world/loop_checks
being 0."}

sleep(50)
loop()

...

proc/loop()
world<<{"This is what I'd call a "moderate" loop. It does constantly call
itself but it uses the spawn instruction to make a new call stack, avoiding the
world/loop_checks error."}

sleep(50)
spawn loop()

...


proc/loop()
while(1)
world<<{"This is a good loop. It doesn't constantly call stuff
and uses a simple while statement to loop with. It's nice 'n clean 'n efficent!"}

sleep(50)