ID:2314184
 
(See the best response by FKI.)
Code:
mob
var/tmp/moving= 1
step_size = 8
/*mob
Move()
if(src.frozen||src.moving ||src.onlogin) {return 0}
else
src.moving=1
src.refresh()
src.afk_time=0
var/tag/teleport/teleport = locate() in src.loc
if(teleport)
teleport.Access(src)
if(shop&&shop.len)
shop=null
for(var/obj/NPC/N in oview(2))
N.contents=null
if(src.grabberSTR&&prob(5))
for(var/mob/A in view(1,src))
if(A.grabbee==src)
var/escapechance=(src.strength*src.powerlevel*5)/src.grabberSTR
if(prob(escapechance))
A.grabbee=null
src.attacking=0
A.attacking=0
src.grabberSTR=null
view(src)<<output("<font color=7#FFFF00>[usr] breaks free of [A]'s hold!","ic")
else
view(src)<<output("<font color=#FFFFFF>[usr] struggles ast [A]'s hold!","ic")
if(block)
dir = dir
return 0
if(. && build_type)
Build()
sleep(src.attack_delay)
src.moving=0




mob/Move()
if(src.frozen)
return
if(src.block)
src.dir = dir
return

else
src.frozen = 1
..()
src.frozen = 0
var/tag/teleport/teleport = locate() in usr.loc
if(teleport)
teleport.Access(src)



#define DEBUG
#define DEBUG(n) world << n
#define TICK_LEN 10
#define SECOND 10/TICK_LEN
var/area = 1#INF
var/zoom = 0
var/view_width, view_height
var/startingwipe=0
world
hub = "YukayKaryuu.EraZ"
hub_password = ""
status = "Public Beta"
fps = 45
icon_size = 32
loop_checks=0
view = "59x30"
New()
startingwipe=1
spawn (1)Begin()
spawn(1) Years()
spawn(1) DayCycle()
TIME=new/obj/Time
STATISTICS=new/obj/Stats
//SRC=/new/obj/SRC
spawn(0)
TICK()
Del()
SaveYear()
SaveRules()
Save_All()


Problem description:



Not sure if if it's an issue with client.eye or client.perspective but I make sure that after the Finishing() proc of Creation, the client eye is set to usr.client.mob and the perspective to EYE_PERSPECTIVE.. What I've been noticing as an issue for the LONGEST is that my character/mob does not move at all what so ever. I've tried using two different Move() codes as you can see, and even tried the change from usr to src, and src to usr vice versa.. Nothing is working. The Maps are all un-dense. I'm confused at this point and it's stopping me from throwing the game up live :/

Any help?
The first snippet does not call and return the parent proc ..(), so movement is never triggered.

The second snippet calls the parent proc ..(), but does not properly return the value -- you should be able to move though.

Are you sure Move() is even being called?

What about your skin's macros -- are they setup properly?

In your skin, is the map control's default setting ticked/selected?
I didn't think Move() would need a call since it is a MobProc similar to Stat.

The First snippet had a call () proc for it but removed it thinking it was out of place or might be the problem. The first snippet is the movement I want to work actually but he 2nd is the new move proc I wrote to see if it was just the coding I was messing up, but apparently not even that one works aswell.

Just went to check the map controls. The Default setting was ticked. Is that the issue perhaps?
In response to Yukay Karyuu
Just went to check the map controls. The Default setting was ticked. Is that the issue perhaps?

Nah, that is correct.

So have you debugged to make sure the Move() proc is being called? If not, add a message at the beginning (at the very least) to verify.
mob/Move()
usr<<"test"
if(src.frozen)
return
if(src.block)
src.dir = dir
return

else
src.frozen = 1
..()
src.frozen = 0
var/tag/teleport/teleport = locate() in usr.loc
if(teleport)
teleport.Access(src)



https://prnt.sc/h9gxrl


So apparently... Move() isn't even being called. Now im pooped. Any pointers?
In response to Yukay Karyuu
Change the usr to src and try again.

If you still don't see any output, then you may have another Move() defined elsewhere that does not call ..(). In most cases you should be doing this, and making sure Move() always returns a 1 or 0 (or any other number in the case of pixel movement) to indicate successful/failed movements.

Also, if you overrode any of the client movement procs, i.e. client/Move(), client/North(), etc., then make sure those call ..() as well.
Still nothing.

I think my game is reading clients as mob/usrs or something different but I dont see where exactly.. I mean, if it's read via src in mob/procs im not sure why certain things do not work.

I get this error alot upon finalizing aswell in-game.

runtime error: Cannot modify null.interface.
proc name: New (/HUD/New)
source file: HUD.dm,51
usr: Yukay Karyuu (/mob)
src: /HUD (/HUD)
usr.loc: Enviornment (8,325,11) (/turf)
call stack:
/HUD (/HUD): New(Yukay Karyuu (/mob))
Yukay Karyuu (/mob): Finishing()
Enviornment (5,313,11) (/turf/Screens/Finish): Click(Enviornment (5,313,11) (/turf/Screens/Finish), "default.map1", "icon-x=21;icon-y=22;left=1;scr...")


mob/proc/Finishing()
if(src.buildchosen==0||src.agechosen==0)
alert("You need to finish building your character first!(Your points, build or age hasn't been chosen yet.)")
return
else
refresh(src)
winshow(src,"startpoints",0)
src.onlogin=0
src.frozen=0
src.doing=0
BuildFinalize()
src.hud = new(src)
src.client.eye = usr.client.mob
src.client.perspective = EYE_PERSPECTIVE
src.sight &= ~SEE_SELF
PowerToSaga()
src.pixel_y=0
src.pixel_x=0
src.health=src.maxHealth
src.ki=src.maxki
src.zenni+=rand(50,119)
if(src.birthplace=="Earth")
src.loc=locate(rand(115,204),rand(192,393),1)
if(src.birthplace=="Vegeta")
src.loc=locate(rand(24,344),rand(29,86),5)
if(src.birthplace=="Namek")
src.loc=locate(rand(65,174),rand(46,168),4)
if(src.birthplace=="Icer")
src.loc=locate(rand(91,152),rand(189,160),6)
if(src.birthplace=="Arconia")
src.loc=locate()
if(src.birthplace=="Afterlife")
if(src.race=="Kaio"||src.race=="Genie")
var/random=rand(1,3)
if(random==1)
src.loc=locate(193,111,7)
if(random==2)
src.loc=locate(193,111,7)
if(random==3)
src.loc=locate(346,192,8)
if(src.race=="Demon")
var/random=rand(1,4)
if(random==1)
src.loc=locate(324,326,9)
if(random==2)
src.loc=locate(329,90,9)
if(random==3)
src.loc=locate(81,93,9)
if(random==4)
src.loc=locate(81,327,9)

///// FINISH THIS
src.logged=1
src<<output("<b>[global.month] , [global.year]</b>","chatOutput")
src.birthdate = Year //set the birthyear to this year
src.Hunger=100
src.Thirst=100
src.pixel_y=0
src.pixel_x=0
usr.onlogin=0
usr.frozen=0
usr.doing=0
var/obj/A=new/obj/Droppable/Minerals
src.contents-=A
src.contents+=A
src.Variance()
src.auracolor +=input("Choose the color for your Aura") as color
src.blastcolor +=input("Choose the color for your Blast") as color
var/skills/basics/train/T= new ; src.contents += T
var/skills/basics/attack/S = new ; src.contents += S
var/skills/basics/dodge/D = new ; src.contents += D


If that'll help.

But I don't see any other Move()'s defined anywhere else besides Mob/NPC and for Beaming Projectiles.

Agh..this is a head bust.
In the Finishing() proc, I tweaked it this morning adding usr.onlogin=0/usr.frozen=0 near the ending of the procs thinking either or would maybe fix the issue as to why it wasn't moving.

BUT-- still nothing.
I wouldn't mind taking a look at your source via Teamviewer or something. It's likely you are overlooking something. Figuring out what that is, though, is a painful process as we're communicating now.

If you're down to let me connect via Teamviewer, page me via BYOND.
Best response
The problem turned out to be he had no movement macros setup in his skin (as I mentioned in my first post lol). All good now.
Thank you very much FKI.

And as he said, the issue was me not having any marcos setup for movement. Ontop of that apparently a var I had that was useless was interrupting the movement process aswell as me not initializing the .=..() call aswell.

Everythings fine now :).