New Map Issue

12/23/2013 00:11 .Light#1
ISSUE HAS BEEN RESOLVED. FOR SOLUTION (THANKS TO IMPULSE) GO [Only registered and activated users can see links. Click Here To Register...]


I recently added a new map from Crazy Tao (thanks to LordGragen. for his guide).

Here is the image of the map actually working on the CO client:
[Only registered and activated users can see links. Click Here To Register...]

The problem: You can't move lol. You can't jump/walk anything. Just teleports you back.


EDIT: I added the map in Enums.cs and now I can jump, new issue though, if I jump in the wrong spot I get teleported to map 1005(PK arena).
12/23/2013 00:48 Super Aids#2
Dmap checks server side.
12/23/2013 00:49 Santa#3
I'm not entirely sure. Actually not sure at all but did you edit gamemap.dat?
12/23/2013 00:58 .Light#4
Quote:
Originally Posted by Super Aids View Post
Dmap checks server side.
In my server files "ConquerSource\bin\Debug\database\maps" folder there are .map files. I don't have a file in there for this newly added map. I don't even know what .map files do lol but in the DMap.cs it references the .map files but its commented out.

Code:
//if (!File.Exists(Constants.DMapsPath + "\\maps\\" + MapID.ToString() + ".map"))
Another update: If I put the original GameMap.dat in the server files(the one that doesn't include the new map) then I can jump around. I still get teleported to PKA if i hit the wrong spot but I can jump/walk.

If I put the new GameMap.Dat into the server files then I can't jump or walk at all.
12/23/2013 01:10 Super Aids#5
Try breakpoint from the start of your jump handler (subtype of GeneralData).

That way you will figure out what does it.
12/23/2013 01:17 .Light#6
[Only registered and activated users can see links. Click Here To Register...]
put a breakpoint right before generalData. No clue what this means lol


No clue why but I'm not teleporting and I can move...its working just fine since I put that breakpoint in?
12/23/2013 01:18 turk55#7
Did you try using a unique ID ?
12/23/2013 01:20 .Light#8
Quote:
Originally Posted by turk55 View Post
Did you try using a unique ID ? Last time I checked 1005 was used by PK arena.
Yeah 1005 is what it teleports me to if I were to jump in a wrong spot. The unique ID is 16823.
12/23/2013 01:22 Super Aids#9
When you breakpoint you can step through the code one line at a time to check what happens. It's called debugging. I think Fang posted a guide with it sometime ago, not sure.

Just step through and check when it teleports you.
12/23/2013 01:23 turk55#10
Well make sure that every change you make client side to do it server side aswell.
When logging into the map, check what the map ids are.
If you load the map with the ID of PKA, it probably means that you haven't added it properly.
12/23/2013 01:49 .Light#11
Yeah I can't figure this out, I put a breakpoint on every line in PlayerJump, went through and it all worked fine, removed the breakpoints and it doesn't let me jump lol
12/23/2013 02:22 Super Aids#12
you only put one breakpoint and then uses the "step over" function implemented in your IDE (ex. Visual Studio) to step through.
12/24/2013 20:25 abdoumatrix#13
if u walked did it teleport u to arena map 1005?

if so check Map void at GameClient.cs or GameState.cs
12/24/2013 21:15 .Light#14
Quote:
Originally Posted by abdoumatrix View Post
if u walked did it teleport u to arena map 1005?

if so check Map void at GameClient.cs or GameState.cs
Noticed this in GameClient.cs

Code:
        public Game.Map Map
        {
            get
            {
                if (map == null)
                {
                    if (Entity == null) return null;
                    Kernel.Maps.TryGetValue(Entity.MapID, out map);
                    if (Entity.MapID >= 11000 && map == null)
                        Entity.MapID = 1005;
                    if (map == null)
                        return (map = new Game.Map(Entity.MapID, Database.MapsTable.MapInformations[Entity.MapID].BaseID, Database.DMaps.MapPaths[Database.MapsTable.MapInformations[Entity.MapID].BaseID]));
                }
                else
                {
                    if (map.ID != Entity.MapID)
                    {
                        Kernel.Maps.TryGetValue(Entity.MapID, out map);
                        if (Entity.MapID >= 11000 && map == null)
                            Entity.MapID = 1005;
                        if (map == null)
                            return (map = new Game.Map(Entity.MapID, Database.MapsTable.MapInformations[Entity.MapID].BaseID, Database.DMaps.MapPaths[Database.MapsTable.MapInformations[Entity.MapID].BaseID]));
                    }
                }
                return map;
            }
        }
12/24/2013 21:27 Spirited#15
The reason why you teleport back is because the movement handlers for walk and jump are both checking map coordinates that should be loaded by the dmap or whatever map on the server. If you don't have the server loading that map, then that's a problem. I know you're using Alex's base source which has been abused by foreign boards. The server converts maps to another map type, so you need to make a new folder (if one doesn't already exist) for dmaps (in the same directory the maps folder is in), and place the maps you wish to convert. Reading the source would greatly help you understand what's going on and why.