PokeMMO Server+Client (Browserbased)

Page 37 of 38 FirstFirst ... 2729303132333435363738 LastLast
Results 541 to 555 of 557
  1. #541
    Ω -DefaulT is offline
    True MemberRank
    Aug 2006 Join Date
    Emerald CityLocation
    1,427Posts

    Re: PokeMMO Server+Client (Browserbased)

    PokeMMO Server+Client (Browserbased)
    Quote Originally Posted by DeathLord17 View Post
    Well , that made me think pretty hard about this. 8 years ago.
    You can try IntelliJ, Brackets or Visual Studio for the editor. They all work fine for me.
    As to the confirm button, if I remember right, that's caused by the client not connecting to the server properly. Are you using Beetle2k's version?
    I got it working with some js edits.
    I have a live version running for now on
    PokeMMO

    @felixcruzer you still have your maps etc?

    The current issue im facing is mapping, i have tiled, and i noticed the latest version changed the way the export json data is saved so i am using an older version, i am trying to add door to oaklab for example and it isnt working in game. Rather frustrating really. So any tips on mapping would be helpful, id gladly map all of kanto if i could get this to save, and it is saving my map edits just not warps for some reason.

    Ledges and animated tiles dont work so that might be next on my list as well

    Im gonna play around with this and see what i can come up with, I would love to start a public repository and post all development to it to continue this source. My JS knowledge is lacking and ive never used Haxe before but no time like the present to learn up.

    I'm also using Bradley's last source release.

    few things i noticed that i added small tweaks for.

    Fixed chat textbox overflow
    Code:
        /site/main.out.js -> line 2242 pokemmo.Chat.chatBox.maxLength = 128; -> pokemmo.Chat.chatBox.maxLength = 85;
    Fixed bug with pokemon getting negative hp on level up when near death
    Code:
        /server/server.out.node.js -> line 2419 if(this.hp > 0) this.hp += this.maxHp - oldMaxHp; - > if(this.hp > 0) this.hp += oldMaxHp - this.maxHp;
    Fixed shiny followers / shiny battle back images
    Code:
        /side/main.out.js -> line 2585 ish or Find: arr[i].icon = pokemmo.Game.curGame != null?pokemmo.Game.curGame.getImage("resources/picons/" + arr[i].id + "_1.png"):new pokemmo.ImageResource("resources/picons/" + arr[i].id + "_1.png");
        -> Below replace     pokemmo.Game.curGame.getImage("resources/back/" + arr[i].id + ".png");
                            pokemmo.Game.curGame.getImage("resources/followers/" + arr[i].id + ".png");
        -> With             if (this.followerShiny == true) {
                                pokemmo.Game.curGame.getImage("resources/back_shiny/" + arr[i].id + ".png");
                                pokemmo.Game.curGame.getImage("resources/shinyfollowers/" + arr[i].id + ".png");
                            } else {
                                pokemmo.Game.curGame.getImage("resources/back/" + arr[i].id + ".png");
                                pokemmo.Game.curGame.getImage("resources/followers/" + arr[i].id + ".png");
                            }
    Fixed shiny encounter images
    Code:
        /site/main.out.js -> Line 4389 ish or Find: pokemmo.GameObject.call(this,x,y,dir);    
        -> Below replace     this.image = id == null?null:pokemmo.Game.curGame.getImage("resources/followers/" + id + ".png");
        -> With             if (shiny == true){
                                this.image = id == null?null:pokemmo.Game.curGame.getImage("resources/shinyfollowers/" + id + ".png");
                            } else {
                                this.image = id == null?null:pokemmo.Game.curGame.getImage("resources/followers/" + id + ".png");
                            }
    Basic shiny encounter chance edit
    Code:
                                    
        /server/server.out.node.js -> Line 2679 ish or Find: this.shiny = 0.0001220703125 > Math.random();
        -> Replace 0.0001220703125 with a larger number to increase shiny spawns, and lower number to decrease | 0.9999999999999 being always shiny
    Basic GM `/heal` command (does not update ui until after a battle, can be used in battle. account level 30 = mod, 70 = admin)
    Code:
        /site/main.out.js -> Line 2300 ish or Find: if(str.indexOf("/kick ") == 0) {
        -> Add Above         if(str.indexOf("/heal") == 0  && pokemmo.Game.accountLevel >= 30) {
                                pokemmo.Connection.socket.emit("healPlayer");
                                pokemmo.Chat.resetChat();
                                pokemmo.Main.jq(pokemmo.Main.onScreenCanvas).focus();
                                return;
                            }
        /server/server.out.node.js -> Line 1750 ish or Find: if(client.accountLevel >= 30) client.socket.on("kickPlayer",function(data) {
        -> Add Above         if(client.accountLevel >= 30) client.socket.on("healPlayer",function(data) {
                                _g.restorePokemon();
                            });
    New sprites adjustments to battle screen [requires download]
    Code:
        /site/main.out.js -> Line 1280 ish or Find: ,drawPlayerPokemon: function(ctx) {
        -> Replace             ctx.moveTo(60,96);
                            ctx.lineTo(188,96);
                            ctx.lineTo(188,224);
                            ctx.lineTo(60,224);
                            ctx.lineTo(60,96);
        -> With             ctx.moveTo(10,96);
                            ctx.lineTo(188,96);
                            ctx.lineTo(188,224);
                            ctx.lineTo(10,224);
                            ctx.lineTo(10,96);
        /site/main.out.js -> Line 1289 ish or Find: if(this.pokemonFainted) {
        -> Replace            if(this.pokemonFainted) {
                                if(pokemmo.Renderer.numRTicks - this.pokemonFaintedTick <= 5) ctx.drawImage(this.curPokemon.backsprite.obj,60,96 + (pokemmo.Renderer.numRTicks - this.pokemonFaintedTick) * 30);
                            } else ctx.drawImage(this.curPokemon.backsprite.obj,60,96 + ((this.step == pokemmo.BATTLE_STEP.BATTLE_STEP_ACTION_MENU || this.step == pokemmo.BATTLE_STEP.BATTLE_STEP_FIGHT_MENU) && (this.now + this.randInt) % 600 < 300?2:0));
        -> With             if(this.pokemonFainted) {
                                if(pokemmo.Renderer.numRTicks - this.pokemonFaintedTick <= 5) ctx.drawImage(this.curPokemon.backsprite.obj,10,86 + (pokemmo.Renderer.numRTicks - this.pokemonFaintedTick) * 30);
                            } else ctx.drawImage(this.curPokemon.backsprite.obj,10,86 + ((this.step == pokemmo.BATTLE_STEP.BATTLE_STEP_ACTION_MENU || this.step == pokemmo.BATTLE_STEP.BATTLE_STEP_FIGHT_MENU) && (this.now + this.randInt) % 600 < 300?2:0));
        /site/main.out.js -> Line 1344 ish or Find: ,renderEnemy: function(ctx) {
        -> Replace             ctx.moveTo(290,30);
                            ctx.lineTo(418,30);
                            ctx.lineTo(418,158);
                            ctx.lineTo(290,158);
                            ctx.lineTo(290,30);
        ->With                 ctx.moveTo(260,20);
                            ctx.lineTo(418,20);
                            ctx.lineTo(418,158);
                            ctx.lineTo(260,158);
                            ctx.lineTo(260,20);
    If anybody has any interest in a public open source project let me know.

    Sprite updates [code above, download below]:
    Old -> New





    Download Sprites: https://onisekai.com/pokesources/Pok...riteUpdate.zip



    I got map editing working; i suggest tiled map editor version 0.9.0 for proper json exporting as the formatting has updated through the years on tiled.

    Oaks lab


    I am running into issues with newly created maps, when entering them im getting a "failed loading files" so im trying to figure that one out.

    Viridian forest
    Last edited by -DefaulT; 06-11-20 at 08:05 PM.

  2. #542
    Death Welcomes All DeathLord17 is offline
    True MemberRank
    Jul 2012 Join Date
    531Posts

    Re: PokeMMO Server+Client (Browserbased)

    Quote Originally Posted by -DefaulT View Post
    Are you on about Tiled not saving the warps, or the game engine not reading them properly? It's been awhile but I remember making maps with working warps. If it's the game engine, can you show me a working map file and one you've created and I'll see if there's anything I notice/remember

  3. #543
    Ω -DefaulT is offline
    True MemberRank
    Aug 2006 Join Date
    Emerald CityLocation
    1,427Posts

    Re: PokeMMO Server+Client (Browserbased)

    @DeathLord17
    Warps i fixed by changing my version of tiled map editor, ive found version 0.9.0 to be the most accurate json export so far.
    Its having issues loading map files, for example by re-exporting viridian forest, i made a gm command to teleport to the forest and the map loads fine.

    However, when i add a map I make, such as the connection map between viridian forest and pallet, the warps to it from both the forest and pallet map work, it just fails to load file on a black screen and gets my char stuck to which i have to edit the db to get out.

    I even copied the pallet_rival_home.tmx as a base before i remapped the layers.
    Here is an example of a working rival home and the non working forest entrance map.

    Rival
    Code:
    { "height":11,
     "layers":[
            {
             "data":[30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 8, 8, 71, 72, 8, 73, 81, 82, 8, 87, 8, 23, 26, 30, 30, 57, 58, 59, 60, 5, 64, 91, 92, 5, 97, 5, 22, 25, 30, 30, 67, 68, 69, 70, 1, 74, 1, 1, 1, 1, 1, 21, 24, 30, 30, 1, 2, 2, 2, 31, 32, 32, 32, 32, 33, 2, 2, 2, 30, 30, 1, 2, 2, 2, 41, 50, 55, 56, 54, 43, 2, 2, 2, 30, 30, 1, 2, 2, 2, 41, 50, 65, 66, 54, 43, 2, 2, 2, 30, 30, 1, 2, 2, 2, 34, 40, 40, 40, 40, 44, 2, 2, 2, 30, 30, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 30, 30, 94, 2, 51, 52, 53, 2, 2, 2, 2, 2, 2, 2, 93, 30, 30, 30, 30, 61, 62, 63, 30, 30, 30, 30, 30, 30, 30, 30, 30],
             "height":11,
             "name":"Tile Layer 1",
             "opacity":1,
             "type":"tilelayer",
             "visible":true,
             "width":15,
             "x":0,
             "y":0
            }, 
            {
             "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
             "height":11,
             "name":"Tile Layer 2",
             "opacity":1,
             "properties":
                {
                 "overchars":"1",
                 "solid":"0"
                },
             "type":"tilelayer",
             "visible":true,
             "width":15,
             "x":0,
             "y":0
            }, 
            {
             "height":11,
             "name":"warps",
             "objects":[
                    {
                     "height":32,
                     "name":"pallet_warp",
                     "properties":
                        {
                         "destination":"{\"mapName\":\"pallet\", \"x\":93, \"y\":149, \"direction\":0}",
                         "type":"arrow"
                        },
                     "type":"warp",
                     "width":32,
                     "x":128,
                     "y":320
                    }],
             "opacity":1,
             "type":"objectgroup",
             "visible":true,
             "width":15,
             "x":0,
             "y":0
            }, 
            {
             "data":[101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, 0, 0, 0, 0, 0, 101, 101, 101, 101, 0, 0, 0, 0, 101, 101, 0, 0, 0, 0, 0, 101, 101, 101, 101, 0, 0, 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101],
             "height":11,
             "name":"data",
             "opacity":0.389999985694885,
             "properties":
                {
                 "data_layer":"1"
                },
             "type":"tilelayer",
             "visible":true,
             "width":15,
             "x":0,
             "y":0
            }],
     "orientation":"orthogonal",
     "properties":
        {
         "players_per_instance":"1"
        },
     "tileheight":32,
     "tilesets":[
            {
             "firstgid":1,
             "image":"..\/tilesets\/pallet_interior.png",
             "imageheight":320,
             "imagewidth":320,
             "margin":0,
             "name":"pallet_interior",
             "properties":
                {
    
                },
             "spacing":0,
             "tileheight":32,
             "tileproperties":
                {
                 "10":
                    {
                     "solid":"1"
                    },
                 "11":
                    {
                     "solid":"1"
                    },
                 "14":
                    {
                     "solid":"1"
                    },
                 "17":
                    {
                     "solid":"1"
                    },
                 "18":
                    {
                     "solid":"1"
                    },
                 "21":
                    {
                     "solid":"1"
                    },
                 "22":
                    {
                     "solid":"1"
                    },
                 "24":
                    {
                     "solid":"1"
                    },
                 "29":
                    {
                     "solid":"1"
                    },
                 "34":
                    {
                     "solid":"1"
                    },
                 "35":
                    {
                     "solid":"1"
                    },
                 "4":
                    {
                     "solid":"1"
                    },
                 "49":
                    {
                     "solid":"1"
                    },
                 "5":
                    {
                     "solid":"1"
                    },
                 "53":
                    {
                     "solid":"1"
                    },
                 "54":
                    {
                     "solid":"1"
                    },
                 "55":
                    {
                     "solid":"1"
                    },
                 "56":
                    {
                     "solid":"1"
                    },
                 "57":
                    {
                     "solid":"1"
                    },
                 "58":
                    {
                     "solid":"1"
                    },
                 "59":
                    {
                     "solid":"1"
                    },
                 "6":
                    {
                     "solid":"1"
                    },
                 "60":
                    {
                     "solid":"1"
                    },
                 "61":
                    {
                     "solid":"1"
                    },
                 "62":
                    {
                     "solid":"1"
                    },
                 "63":
                    {
                     "solid":"1"
                    },
                 "64":
                    {
                     "solid":"1"
                    },
                 "65":
                    {
                     "solid":"1"
                    },
                 "7":
                    {
                     "solid":"1"
                    },
                 "70":
                    {
                     "solid":"1"
                    },
                 "71":
                    {
                     "solid":"1"
                    },
                 "72":
                    {
                     "solid":"1"
                    },
                 "74":
                    {
                     "solid":"1"
                    },
                 "75":
                    {
                     "solid":"1"
                    },
                 "8":
                    {
                     "solid":"1"
                    },
                 "80":
                    {
                     "solid":"1"
                    },
                 "81":
                    {
                     "solid":"1"
                    },
                 "84":
                    {
                     "solid":"1"
                    },
                 "85":
                    {
                     "solid":"1"
                    },
                 "9":
                    {
                     "solid":"1"
                    },
                 "90":
                    {
                     "solid":"1"
                    },
                 "91":
                    {
                     "solid":"1"
                    },
                 "92":
                    {
                     "solid":"1"
                    },
                 "93":
                    {
                     "solid":"1"
                    }
                },
             "tilewidth":32
            }, 
            {
             "firstgid":101,
             "image":"..\/tilesets\/data.png",
             "imageheight":64,
             "imagewidth":256,
             "margin":0,
             "name":"data",
             "properties":
                {
    
                },
             "spacing":0,
             "tileheight":32,
             "tileproperties":
                {
                 "0":
                    {
                     "solid":"1"
                    },
                 "1":
                    {
                     "water":"1"
                    },
                 "10":
                    {
                     "ledge":"1",
                     "ledge_dir":"1"
                    },
                 "11":
                    {
                     "ledge":"1",
                     "ledge_dir":"3"
                    },
                 "2":
                    {
                     "grass":"1"
                    },
                 "8":
                    {
                     "ledge":"1",
                     "ledge_dir":"0"
                    },
                 "9":
                    {
                     "ledge":"1",
                     "ledge_dir":"2"
                    }
                },
             "tilewidth":32
            }],
     "tilewidth":32,
     "version":1,
     "width":15
    }
    and forest
    Code:
    { "height":13,
     "layers":[
            {
             "data":[275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 1917, 1918, 1919, 1917, 1917, 1933, 1934, 1935, 1917, 1917, 1918, 1919, 1917, 275, 275, 1925, 1926, 1927, 1925, 1925, 1941, 1942, 1943, 1925, 1925, 1926, 1927, 1925, 275, 275, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 275, 275, 1954, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 275, 275, 1954, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 275, 275, 1954, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 275, 275, 1954, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 275, 275, 1954, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 275, 275, 1954, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 275, 275, 1954, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 275, 275, 1954, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275],
             "height":13,
             "name":"Ground",
             "opacity":1,
             "type":"tilelayer",
             "visible":true,
             "width":15,
             "x":0,
             "y":0
            }, 
            {
             "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1511, 0, 0, 0, 1511, 0, 0, 0, 1511, 0, 0, 1511, 0, 0, 0, 0, 0, 0, 0, 0, 949, 950, 951, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 957, 958, 959, 0, 1407, 1803, 1804, 0, 0, 30, 1511, 1511, 0, 0, 0, 957, 958, 959, 0, 1407, 1811, 1812, 1408, 0, 30, 0, 0, 0, 0, 0, 957, 958, 959, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 957, 958, 959, 0, 0, 1803, 1804, 0, 0, 30, 1511, 1511, 0, 0, 0, 965, 966, 967, 0, 0, 1811, 1812, 1408, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 979, 980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 986, 987, 988, 0, 0, 0, 0, 0, 0],
             "height":13,
             "name":"Solid",
             "opacity":1,
             "type":"tilelayer",
             "visible":true,
             "width":15,
             "x":0,
             "y":0
            }, 
            {
             "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1503, 0, 0, 0, 1503, 0, 0, 0, 1503, 0, 0, 1503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1503, 1503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1503, 1503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
             "height":13,
             "name":"Overchars",
             "opacity":1,
             "properties":
                {
                 "overchars":"1",
                 "solid":"0"
                },
             "type":"tilelayer",
             "visible":true,
             "width":15,
             "x":0,
             "y":0
            }, 
            {
             "height":13,
             "name":"warps",
             "objects":[
                    {
                     "height":32,
                     "name":"pallet_warp",
                     "properties":
                        {
                         "destination":"{\"mapName\": \"pallet\", \"x\":83, \"y\":33, \"direction\":0}",
                         "type":"arrow"
                        },
                     "type":"warp",
                     "visible":true,
                     "width":32,
                     "x":224,
                     "y":384
                    }, 
                    {
                     "height":32,
                     "name":"forest_warp",
                     "properties":
                        {
                         "destination":"{\"mapName\": \"viridianforest\", \"x\":41, \"y\":71, \"direction\":2}",
                         "type":"arrow"
                        },
                     "type":"warp",
                     "visible":true,
                     "width":32,
                     "x":224,
                     "y":64
                    }],
             "opacity":1,
             "type":"objectgroup",
             "visible":true,
             "width":15,
             "x":0,
             "y":0
            }, 
            {
             "data":[101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 0, 0, 0, 101, 0, 0, 0, 101, 0, 0, 101, 0, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, 101, 0, 101, 101, 101, 101, 0, 0, 0, 0, 0, 0, 0, 101, 101, 101, 101, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, 0, 101, 101, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, 101, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101],
             "height":13,
             "name":"data",
             "opacity":0.379999995231628,
             "properties":
                {
                 "data_layer":"1"
                },
             "type":"tilelayer",
             "visible":true,
             "width":15,
             "x":0,
             "y":0
            }],
     "orientation":"orthogonal",
     "properties":
        {
         "players_per_instance":"1"
        },
     "tileheight":32,
     "tilesets":[
            {
             "firstgid":1,
             "image":"..\/tilesets\/pallet_interior.png",
             "imageheight":320,
             "imagewidth":320,
             "margin":0,
             "name":"pallet_interior",
             "properties":
                {
    
                },
             "spacing":0,
             "tileheight":32,
             "tileproperties":
                {
                 "10":
                    {
                     "solid":"1"
                    },
                 "11":
                    {
                     "solid":"1"
                    },
                 "14":
                    {
                     "solid":"1"
                    },
                 "17":
                    {
                     "solid":"1"
                    },
                 "18":
                    {
                     "solid":"1"
                    },
                 "21":
                    {
                     "solid":"1"
                    },
                 "22":
                    {
                     "solid":"1"
                    },
                 "24":
                    {
                     "solid":"1"
                    },
                 "29":
                    {
                     "solid":"1"
                    },
                 "34":
                    {
                     "solid":"1"
                    },
                 "35":
                    {
                     "solid":"1"
                    },
                 "4":
                    {
                     "solid":"1"
                    },
                 "49":
                    {
                     "solid":"1"
                    },
                 "5":
                    {
                     "solid":"1"
                    },
                 "53":
                    {
                     "solid":"1"
                    },
                 "54":
                    {
                     "solid":"1"
                    },
                 "55":
                    {
                     "solid":"1"
                    },
                 "56":
                    {
                     "solid":"1"
                    },
                 "57":
                    {
                     "solid":"1"
                    },
                 "58":
                    {
                     "solid":"1"
                    },
                 "59":
                    {
                     "solid":"1"
                    },
                 "6":
                    {
                     "solid":"1"
                    },
                 "60":
                    {
                     "solid":"1"
                    },
                 "61":
                    {
                     "solid":"1"
                    },
                 "62":
                    {
                     "solid":"1"
                    },
                 "63":
                    {
                     "solid":"1"
                    },
                 "64":
                    {
                     "solid":"1"
                    },
                 "65":
                    {
                     "solid":"1"
                    },
                 "7":
                    {
                     "solid":"1"
                    },
                 "70":
                    {
                     "solid":"1"
                    },
                 "71":
                    {
                     "solid":"1"
                    },
                 "72":
                    {
                     "solid":"1"
                    },
                 "74":
                    {
                     "solid":"1"
                    },
                 "75":
                    {
                     "solid":"1"
                    },
                 "8":
                    {
                     "solid":"1"
                    },
                 "80":
                    {
                     "solid":"1"
                    },
                 "81":
                    {
                     "solid":"1"
                    },
                 "84":
                    {
                     "solid":"1"
                    },
                 "85":
                    {
                     "solid":"1"
                    },
                 "9":
                    {
                     "solid":"1"
                    },
                 "90":
                    {
                     "solid":"1"
                    },
                 "91":
                    {
                     "solid":"1"
                    },
                 "92":
                    {
                     "solid":"1"
                    },
                 "93":
                    {
                     "solid":"1"
                    }
                },
             "tilewidth":32
            }, 
            {
             "firstgid":101,
             "image":"..\/tilesets\/data.png",
             "imageheight":64,
             "imagewidth":256,
             "margin":0,
             "name":"data",
             "properties":
                {
    
                },
             "spacing":0,
             "tileheight":32,
             "tileproperties":
                {
                 "0":
                    {
                     "solid":"1"
                    },
                 "1":
                    {
                     "water":"1"
                    },
                 "10":
                    {
                     "ledge":"1",
                     "ledge_dir":"1"
                    },
                 "11":
                    {
                     "ledge":"1",
                     "ledge_dir":"3"
                    },
                 "2":
                    {
                     "grass":"1"
                    },
                 "8":
                    {
                     "ledge":"1",
                     "ledge_dir":"0"
                    },
                 "9":
                    {
                     "ledge":"1",
                     "ledge_dir":"2"
                    }
                },
             "tilewidth":32
            }, 
            {
             "firstgid":117,
             "image":"..\/tilesets\/Interior general.PNG",
             "imageheight":8032,
             "imagewidth":256,
             "margin":0,
             "name":"interior_general",
             "properties":
                {
    
                },
             "spacing":0,
             "tileheight":32,
             "tilewidth":32
            }],
     "tilewidth":32,
     "version":1,
     "width":15
    }
    Ive tried comparing them myself as even a missing , or other miss placed char could fail to load the file.

    Update

    I figured one issue out, i never moved the new tilesets into the public html folder so thats why i couldnt enter the map, i can now teleport in via command but the warp from either pallet side or viridian forest side still give the black screen failed loading files
    Last edited by -DefaulT; 07-11-20 at 07:19 PM.

  4. #544
    Death Welcomes All DeathLord17 is offline
    True MemberRank
    Jul 2012 Join Date
    531Posts

    Re: PokeMMO Server+Client (Browserbased)

    @-DefaulT
    Only thing I could see in that file is the
    "visible":true,
    inside of the warp objects, is that a valid property for those objects? It's not part of the rival map object.
    Are there no debug logs you could add to the map loading code, or have you chcked the console log in the browser to see if it outputs naything when you try and use the broken warps?

  5. #545
    Ω -DefaulT is offline
    True MemberRank
    Aug 2006 Join Date
    Emerald CityLocation
    1,427Posts

    Re: PokeMMO Server+Client (Browserbased)

    Quote Originally Posted by DeathLord17 View Post
    @-DefaulT
    Only thing I could see in that file is the

    inside of the warp objects, is that a valid property for those objects? It's not part of the rival map object.
    Are there no debug logs you could add to the map loading code, or have you chcked the console log in the browser to see if it outputs naything when you try and use the broken warps?
    @DeathLord17 yeah those do nothing, the dont effect it either which way, still fails to load.
    Its strange because the command i added will teleport me into the map, and i can exit the map with either warp, but trying to use a warp on pallet or in viridian forest fails to load the map.
    Code:
    if(client.accountLevel >= 0) client.socket.on("teleViridian",function(data) {
    _g.warp("viridian_forest_entrance", 3, 7, 1);
        });
    


    Last edited by -DefaulT; 08-11-20 at 05:51 PM.

  6. #546
    Death Welcomes All DeathLord17 is offline
    True MemberRank
    Jul 2012 Join Date
    531Posts

    Re: PokeMMO Server+Client (Browserbased)

    @-DefaulT
    Not sure about that then, would have to get my hands on it and try. Is the warp in a map available on your demo?

  7. #547
    Ω -DefaulT is offline
    True MemberRank
    Aug 2006 Join Date
    Emerald CityLocation
    1,427Posts

    Re: PokeMMO Server+Client (Browserbased)

    @DeathLord17

    Yeah should be, i was remapping pallet and just gonna replace the warp map destination with the forest directly since it works for now until i can get a better understanding of whats going on.

    But the warp is still linked to the map so you'll be able to see.

  8. #548
    Registered miyukj is offline
    MemberRank
    Apr 2018 Join Date
    18Posts

    Re: PokeMMO Server+Client (Browserbased)

    Quote Originally Posted by -DefaulT View Post
    I got it working with some js edits.
    I have a live version running for now on
    PokeMMO

    @felixcruzer you still have your maps etc?

    The current issue im facing is mapping, i have tiled, and i noticed the latest version changed the way the export json data is saved so i am using an older version, i am trying to add door to oaklab for example and it isnt working in game. Rather frustrating really. So any tips on mapping would be helpful, id gladly map all of kanto if i could get this to save, and it is saving my map edits just not warps for some reason.

    Ledges and animated tiles dont work so that might be next on my list as well

    Im gonna play around with this and see what i can come up with, I would love to start a public repository and post all development to it to continue this source. My JS knowledge is lacking and ive never used Haxe before but no time like the present to learn up.

    I'm also using Bradley's last source release.

    few things i noticed that i added small tweaks for.

    Fixed chat textbox overflow
    Code:
        /site/main.out.js -> line 2242 pokemmo.Chat.chatBox.maxLength = 128; -> pokemmo.Chat.chatBox.maxLength = 85;
    Fixed bug with pokemon getting negative hp on level up when near death
    Code:
        /server/server.out.node.js -> line 2419 if(this.hp > 0) this.hp += this.maxHp - oldMaxHp; - > if(this.hp > 0) this.hp += oldMaxHp - this.maxHp;
    Fixed shiny followers / shiny battle back images
    Code:
        /side/main.out.js -> line 2585 ish or Find: arr[i].icon = pokemmo.Game.curGame != null?pokemmo.Game.curGame.getImage("resources/picons/" + arr[i].id + "_1.png"):new pokemmo.ImageResource("resources/picons/" + arr[i].id + "_1.png");
        -> Below replace     pokemmo.Game.curGame.getImage("resources/back/" + arr[i].id + ".png");
                            pokemmo.Game.curGame.getImage("resources/followers/" + arr[i].id + ".png");
        -> With             if (this.followerShiny == true) {
                                pokemmo.Game.curGame.getImage("resources/back_shiny/" + arr[i].id + ".png");
                                pokemmo.Game.curGame.getImage("resources/shinyfollowers/" + arr[i].id + ".png");
                            } else {
                                pokemmo.Game.curGame.getImage("resources/back/" + arr[i].id + ".png");
                                pokemmo.Game.curGame.getImage("resources/followers/" + arr[i].id + ".png");
                            }
    Fixed shiny encounter images
    Code:
        /site/main.out.js -> Line 4389 ish or Find: pokemmo.GameObject.call(this,x,y,dir);    
        -> Below replace     this.image = id == null?null:pokemmo.Game.curGame.getImage("resources/followers/" + id + ".png");
        -> With             if (shiny == true){
                                this.image = id == null?null:pokemmo.Game.curGame.getImage("resources/shinyfollowers/" + id + ".png");
                            } else {
                                this.image = id == null?null:pokemmo.Game.curGame.getImage("resources/followers/" + id + ".png");
                            }
    Basic shiny encounter chance edit
    Code:
                                    
        /server/server.out.node.js -> Line 2679 ish or Find: this.shiny = 0.0001220703125 > Math.random();
        -> Replace 0.0001220703125 with a larger number to increase shiny spawns, and lower number to decrease | 0.9999999999999 being always shiny
    Basic GM `/heal` command (does not update ui until after a battle, can be used in battle. account level 30 = mod, 70 = admin)
    Code:
        /site/main.out.js -> Line 2300 ish or Find: if(str.indexOf("/kick ") == 0) {
        -> Add Above         if(str.indexOf("/heal") == 0  && pokemmo.Game.accountLevel >= 30) {
                                pokemmo.Connection.socket.emit("healPlayer");
                                pokemmo.Chat.resetChat();
                                pokemmo.Main.jq(pokemmo.Main.onScreenCanvas).focus();
                                return;
                            }
        /server/server.out.node.js -> Line 1750 ish or Find: if(client.accountLevel >= 30) client.socket.on("kickPlayer",function(data) {
        -> Add Above         if(client.accountLevel >= 30) client.socket.on("healPlayer",function(data) {
                                _g.restorePokemon();
                            });
    New sprites adjustments to battle screen [requires download]
    Code:
        /site/main.out.js -> Line 1280 ish or Find: ,drawPlayerPokemon: function(ctx) {
        -> Replace             ctx.moveTo(60,96);
                            ctx.lineTo(188,96);
                            ctx.lineTo(188,224);
                            ctx.lineTo(60,224);
                            ctx.lineTo(60,96);
        -> With             ctx.moveTo(10,96);
                            ctx.lineTo(188,96);
                            ctx.lineTo(188,224);
                            ctx.lineTo(10,224);
                            ctx.lineTo(10,96);
        /site/main.out.js -> Line 1289 ish or Find: if(this.pokemonFainted) {
        -> Replace            if(this.pokemonFainted) {
                                if(pokemmo.Renderer.numRTicks - this.pokemonFaintedTick <= 5) ctx.drawImage(this.curPokemon.backsprite.obj,60,96 + (pokemmo.Renderer.numRTicks - this.pokemonFaintedTick) * 30);
                            } else ctx.drawImage(this.curPokemon.backsprite.obj,60,96 + ((this.step == pokemmo.BATTLE_STEP.BATTLE_STEP_ACTION_MENU || this.step == pokemmo.BATTLE_STEP.BATTLE_STEP_FIGHT_MENU) && (this.now + this.randInt) % 600 < 300?2:0));
        -> With             if(this.pokemonFainted) {
                                if(pokemmo.Renderer.numRTicks - this.pokemonFaintedTick <= 5) ctx.drawImage(this.curPokemon.backsprite.obj,10,86 + (pokemmo.Renderer.numRTicks - this.pokemonFaintedTick) * 30);
                            } else ctx.drawImage(this.curPokemon.backsprite.obj,10,86 + ((this.step == pokemmo.BATTLE_STEP.BATTLE_STEP_ACTION_MENU || this.step == pokemmo.BATTLE_STEP.BATTLE_STEP_FIGHT_MENU) && (this.now + this.randInt) % 600 < 300?2:0));
        /site/main.out.js -> Line 1344 ish or Find: ,renderEnemy: function(ctx) {
        -> Replace             ctx.moveTo(290,30);
                            ctx.lineTo(418,30);
                            ctx.lineTo(418,158);
                            ctx.lineTo(290,158);
                            ctx.lineTo(290,30);
        ->With                 ctx.moveTo(260,20);
                            ctx.lineTo(418,20);
                            ctx.lineTo(418,158);
                            ctx.lineTo(260,158);
                            ctx.lineTo(260,20);
    If anybody has any interest in a public open source project let me know.

    Sprite updates [code above, download below]:
    Old -> New





    Download Sprites: https://onisekai.com/pokesources/Pok...riteUpdate.zip



    I got map editing working; i suggest tiled map editor version 0.9.0 for proper json exporting as the formatting has updated through the years on tiled.

    Oaks lab


    I am running into issues with newly created maps, when entering them im getting a "failed loading files" so im trying to figure that one out.

    Viridian forest
    hi bro, can u share your source, i found some links, all are die
    can u help me

  9. #549
    Ω -DefaulT is offline
    True MemberRank
    Aug 2006 Join Date
    Emerald CityLocation
    1,427Posts

    Re: PokeMMO Server+Client (Browserbased)

    Quote Originally Posted by miyukj View Post
    hi bro, can u share your source, i found some links, all are die
    can u help me
    PokeMMO Server+Client (Browserbased)

    im using ^ that source.

  10. #550
    Death Welcomes All DeathLord17 is offline
    True MemberRank
    Jul 2012 Join Date
    531Posts

    Re: PokeMMO Server+Client (Browserbased)

    @-DefaulT

    I get this error when trying to go into that warp, looks like a simple 404 error trying to load the map, maybe the warp handler is navigating to the wrong folder location?

    Also noticed these:
    1. Collision detection is done after movement, this could be moved to before movement without causing many problems (would need some testing)
    2. The title screen tries to connect to someones twitter via Twitter AI v1, which is no longer in use so causes an error in the console

  11. #551
    Ω -DefaulT is offline
    True MemberRank
    Aug 2006 Join Date
    Emerald CityLocation
    1,427Posts

    Re: PokeMMO Server+Client (Browserbased)

    @DeathLord17

    those are good to know, ill see about removing the twitter and moving collision detection.

    and yeah i had it pointed to the wrong one thanks for that lol

    Now just to get the portal from the forest to the connector map, it fails to load backwards but it is the correct map name this time
    Last edited by -DefaulT; 12-11-20 at 07:42 PM.

  12. #552
    Registered miyukj is offline
    MemberRank
    Apr 2018 Join Date
    18Posts

    Re: PokeMMO Server+Client (Browserbased)



    How i can fix this error

    - - - Updated - - -

    Quote Originally Posted by -DefaulT View Post
    PokeMMO Server+Client (Browserbased)

    im using ^ that source.
    thank u bro
    Can u help some problem
    Last edited by PyroSamurai; 14-11-20 at 05:37 PM. Reason: Global Rule #27

  13. #553
    Ω -DefaulT is offline
    True MemberRank
    Aug 2006 Join Date
    Emerald CityLocation
    1,427Posts

    Re: PokeMMO Server+Client (Browserbased)

    This error basically means your socketio module is unable to connect to the ip/port, make sure to go through the .js files and replace any references of localhost or 127.0.0.1 or other IP's that are not your own to your local public ip.

    Also be sure to forward the ports and if needed create firewall exceptions for the ports as well.

  14. #554
    Ω -DefaulT is offline
    True MemberRank
    Aug 2006 Join Date
    Emerald CityLocation
    1,427Posts

    Re: PokeMMO Server+Client (Browserbased)

    Hey all,

    I recently got in contact with @Lucila and purchased source files I was told was Bitou's source but after inspecting it I have found it is not, or at the very least it does not have everything that Bitou has claimed. If these aren't Bitou's i was scammed and lucila refuses to refund me (so lucila is a scammer!), and on the wild off chance these files are in fact Bitou's source, then they lied about the work done.

    Screen shots for reference:


    As you can see in the DM Lucila clearly claims these are Bitou files but the files are missing all things listed. For example in server.out.node.js and main.out.js there are 0 references to npcs, quests, pvp, trading, trainer battles, objects, signposts etc. which if this were Bitou's version it would have these right?

    Basically after reviewing the sources there are quite a few differences to the code (using dif checker) it looks like somebody attempted to rewrite some of the code and it is a bit cleaner, however it does not have all the changes that have been made in this thread (one dead give away is the fact that the viridian_florest bug was still in these files when i got them).

    Since lucila decided to rip me off and refuses to be a decent person and refund my money I am just gonna release the files here cause they are ultimately useless to me.

    https://onisekai.com/pokesources/Pokemmo_2020.rar

    Enjoy

  15. #555
    RaGEZONER || Webdevloper KiruHoshino is offline
    True MemberRank
    Oct 2011 Join Date
    HungaryLocation
    646Posts

    Re: PokeMMO Server+Client (Browserbased)

    I'm sorry your loss. Give here a feedback. Maybe the admins will ban him.

    http://forum.ragezone.com/f610/



Advertisement