Mirage Source
Hmmm... Map Send, Error? - Printable Version

+- Mirage Source (https://mirage-engine.uk/forums)
+-- Forum: Mirage Source (Nostalgia) (https://mirage-engine.uk/forums/forumdisplay.php?fid=61)
+--- Forum: Archive (2006-2011) (https://mirage-engine.uk/forums/forumdisplay.php?fid=18)
+---- Forum: General (https://mirage-engine.uk/forums/forumdisplay.php?fid=17)
+---- Thread: Hmmm... Map Send, Error? (/showthread.php?tid=157)



Hmmm... Map Send, Error? - Obsidian - 02-07-2006

Alright, i'm about to release my game, but i have a little problem... i've fixed all the other errors up to this point, but this one has me a bit stumped.

If you join a map, (by switching over) you aren't sent the new map. However, if you're already on the map and it hasn't been sent... then you do a /warpto *mapnum*, it sends the map to you.

This would cause a bit of a problem for players so i need to have it resolved.

I looked at a non-edited version of the source, and then my version, and i still have all of the original "needmap" and "checkformap" packets the same way that they were for an unedited version.

I'm not really sure what causes it to do that, and i've debug printed the hell out of it, but there still seems to be a packet being dropped somewhere, and i can't seem to find it.

Any ideas?


- Tosuxo - 02-07-2006

do you have a warp tile that's warping them straight back to that map? (sorry, sometimes it's really obvious stuff you see)


- Obsidian - 02-07-2006

no, they're on the new map. ok like i just went through and i'm still trying to debug it.

If you do a /warpto, or a mapover move... the first time you join the map... you don't see anything. then... once you're on the map, if you warp to it again, then it just all magically shows up :evil:

[Edit] There might be a revision problem somewhere now that i think about it... atleast, that would make sense to me...


- Tosuxo - 02-07-2006

then it's a problem with the GetMap stuff, or maybe the loadmap.... did you perhaps do the "don't load map twice" fix? because you may have done it wrong and caused this problem?


- Obsidian - 02-07-2006

nope, i thought that may have been a problem too and i went back and checked and i didn't even use that tutorial...


- Tosuxo - 02-07-2006

then sorry, i haven't got a clue.... unless it's server sided?


- Obsidian - 02-07-2006

well the thing is, is that it's sending and recieving the packet the same (thx to debug.print), so i don't think the server is doing anything wrong...


[Edit]

Then again... i did a debug print (well, several.. on the client), here's sort of what i did

Debug.Print "Revision: " & Y & " Current Revision " & GetMapRevision(X)

Then in the if statement put a Debug.Print "Don't Need Map..."
Then after the if statement (before the exit sub) i put, Debug.Print "Requested New Map..."

Everytime it should be showing "Reqested New Map..." it does, but it doesn't always show the map in-game, atleast not until i warp to the map again.... so maybe it is a serverside error :?


- Tosuxo - 02-07-2006

delete all the maps from client side... see if that helps....? (who knows)


- Dr. Spoon - 02-07-2006

well if the client says it is requesting the map
then the server needs to be reciveing that packet
and then respond appropriately..
by sending the correct map data back to the client

i woudl say now that you have checked sending the request client side youc oudl aslo check the incoming mapdata client side to see if any parts of it are missing


- Obsidian - 02-07-2006

I'll go through and check on that, thanks spoon.

Tosuxo, i have to go through and delete the maps in the client folder to replicate the error, because i'm not going to send out clients with 2500 maps on them... thanks though.


- SheepDog - 02-07-2006

Did you add ZLib by any chance? I had this error too. Never figured out how to resolve it though.


- Obsidian - 03-07-2006

yea. i'll try removing it to see what (if anything) happens.


- Obsidian - 04-07-2006

Ah, i fixed it... i'm so dumb sometimes. And, good call Spoon.

Turns out in a sad optimization attempt on the "mapdata" packet, i'd changed

Map(Val(Parse$(1))) to Map(GetPlayerMap(Index)), which is why it was only getting it the 2nd time. I'm so retarded sometimes :?

Thanks for everyone's help/suggestions.


- Dr. Spoon - 04-07-2006

no problem
(maybe that is why they still let me in here with all you young kids)