[Development] Webgame MuOnline

Page 3 of 32 FirstFirst 123456789101113 ... LastLast
Results 31 to 45 of 469
  1. #31
    Account Upgraded | Title Enabled! hack2u is offline
    MemberRank
    Dec 2004 Join Date
    203Posts

    Re: [RELEASE] webgame MuOnline

    How to config online ?

  2. #32
    Coxiez barakuda21 is online now
    MemberRank
    Aug 2006 Join Date
    trashcanLocation
    893Posts

    Re: [RELEASE] webgame MuOnline

    ok i try it!
    No its working with Win7 without any problems check the one that I upload it was different setup and files. Running on Win7



  3. #33
    PwrGames PwrDex is online now
    MemberRank
    Jul 2011 Join Date
    /var/log/cabalLocation
    788Posts

    Re: [RELEASE] webgame MuOnline

    Quote Originally Posted by WireShark View Post
    No its not like Mu Ignition it is a Mu Online game on browser its a flash webgame in 3d not in 2.5d check the difference. This game is way better than Mu Ignition in terms of gameplay and graphics

    Mu Ignition Gameplay
    https://www.youtube.com/watch?v=j4phkhXmZJc
    The core functions are same. May igniton is using other technology or same but earlier version. But example the Membership, the questing, the premium service exactly same..

  4. #34
    Proficient Member slander is offline
    MemberRank
    Oct 2012 Join Date
    157Posts

    Re: [RELEASE] webgame MuOnline

    Quote Originally Posted by WireShark View Post
    No its not like Mu Ignition it is a Mu Online game on browser its a flash webgame in 3d not in 2.5d check the difference. This game is way better than Mu Ignition in terms of gameplay and graphics

    Mu Ignition Gameplay
    https://www.youtube.com/watch?v=j4phkhXmZJc

    I already saw this this source of much of the web somewhere forum I do not remember where

    Mu Ignition

    I found this one to download but I can not download it since deleting collaboration points



    Last edited by slander; 27-03-18 at 04:45 AM.

  5. #35
    Coxiez barakuda21 is online now
    MemberRank
    Aug 2006 Join Date
    trashcanLocation
    893Posts

    Re: [RELEASE] webgame MuOnline

    yup Mu Ignition is not the same graphic's in this Mu Browser. as you can see the graphic of mu ignition is like 2D but this mu browser look's like the old mu graphic's

  6. #36
    Account Upgraded | Title Enabled! vladiks9 is offline
    MemberRank
    Sep 2012 Join Date
    LVSS /LatviaLocation
    345Posts

    Re: [RELEASE] webgame MuOnline

    Source Code ?

  7. #37
    Proficient Member HappyDay is offline
    MemberRank
    Jan 2012 Join Date
    inline floatLocation
    170Posts

    Re: [RELEASE] webgame MuOnline

    Quote Originally Posted by vladiks9 View Post
    Source Code ?
    Decompile them self. That's is just Flash and Java! Dont you are Developer?

    Shop
    Code:
    //DECOMPILED BY HAPPYJD Decompiler 0.7internal
    package com.mu.game.model.shop;
    
    import com.mu.utils.Tools;
    import java.io.InputStream;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.SortedMap;
    import java.util.TreeMap;
    import jxl.Cell;
    import jxl.Sheet;
    import jxl.Workbook;
    
    public class ShopConfigure
    {
      public static final int GoodGroupType_Repurchage = 0;
      public static final int GoodGroupType_Common = 1;
      public static final int ShopId_Vip = 10000;
      public static final int ShopType_Common = 1;
      public static final int ShopType_Aran = 2;
      public static final int ShopType_Vip = 3;
      private static HashMap<Integer, GoodsLabel> labels = new HashMap();
      private static HashMap<Integer, String> shopTypeNames = new HashMap();
      
      private static void initLabelNames(Sheet sheet)
      {
        int rows = sheet.getRows();
        for (int i = 2; i <= rows; i++)
        {
          int labelId = Tools.getCellIntValue(sheet.getCell("A" + i));
          String labelName = sheet.getCell("B" + i).getContents();
          if (labelName == null) {
            labelName = "";
          }
          int labelSort = Tools.getCellIntValue(sheet.getCell("C" + i));
          labels.put(Integer.valueOf(labelId), new GoodsLabel(labelId, labelName, labelSort));
        }
      }
      
      private static void initShopTypeNames(Sheet sheet)
      {
        int rows = sheet.getRows();
        for (int i = 2; i <= rows; i++)
        {
          int shopType = Tools.getCellIntValue(sheet.getCell("A" + i));
          String shopTypeName = sheet.getCell("B" + i).getContents();
          if (shopTypeName == null) {
            shopTypeName = "";
          }
          shopTypeNames.put(Integer.valueOf(shopType), shopTypeName);
        }
      }
      
      public static String getLalelName(int labelId)
      {
        GoodsLabel gl = (GoodsLabel)labels.get(Integer.valueOf(labelId));
        if (gl == null) {
          return "????";
        }
        return gl.getLabelName();
      }
      
      public static int getLabelSort(int labelID)
      {
        GoodsLabel gl = (GoodsLabel)labels.get(Integer.valueOf(labelID));
        if (gl == null) {
          return 1;
        }
        return gl.getLabelSort();
      }
      
      public static String getShopTypeName(int shopType)
      {
        String name = (String)shopTypeNames.get(Integer.valueOf(shopType));
        if (name == null) {
          name = "????";
        }
        return name;
      }
      
      private static HashMap<Integer, SortedMap<Integer, List<Goods>>> allShopItems = new HashMap();
      private static HashMap<Long, Goods> goodsMap = new HashMap();
      
      public static void init(InputStream in)
        throws Exception
      {
        Workbook wb = Workbook.getWorkbook(in);
        Sheet[] sheets = wb.getSheets();
        
        Sheet labelSheet = sheets[1];
        initLabelNames(labelSheet);
        
        Sheet shopTypeSheet = sheets[2];
        initShopTypeNames(shopTypeSheet);
        for (int i = 3; i < sheets.length; i++)
        {
          Sheet sheet = sheets[i];
          int rows = sheet.getRows();
          for (int j = 2; j <= rows; j++)
          {
            Goods goods = new Goods();
            int shopId = Tools.getCellIntValue(sheet.getCell("B" + j));
            int label = Tools.getCellIntValue(sheet.getCell("C" + j));
            goods.setLabel(label);
            goods.setModelID(Tools.getCellIntValue(sheet.getCell("D" + j)));
            goods.setPrice(Tools.getCellIntValue(sheet.getCell("E" + j)));
            goods.setMoneyType(Tools.getCellIntValue(sheet.getCell("F" + j)));
            int ruleID = Tools.getCellIntValue(sheet.getCell("G" + j));
            goods.setStatRuleID(ruleID);
            boolean flag = goods.entity();
            if (flag) {
              addGoods(shopId, label, goods);
            } else {
              throw new Exception("ShopConfigure " + i);
            }
          }
        }
      }
      
      private static void addGoods(int shopId, int label, Goods goods)
      {
        SortedMap<Integer, List<Goods>> goodMap = (SortedMap)allShopItems.get(Integer.valueOf(shopId));
        if (goodMap == null)
        {
          goodMap = new TreeMap();
          allShopItems.put(Integer.valueOf(shopId), goodMap);
        }
        List<Goods> goodList = (List)goodMap.get(Integer.valueOf(label));
        if (goodList == null)
        {
          goodList = new ArrayList();
          goodMap.put(Integer.valueOf(label), goodList);
        }
        goodList.add(goods);
        
        goodsMap.put(Long.valueOf(goods.getGoodsID()), goods);
      }
      
      public static SortedMap<Integer, List<Goods>> getShopItems(int shopId)
      {
        return (SortedMap)allShopItems.get(Integer.valueOf(shopId));
      }
      
      public static Goods getGoods(long goodsID)
      {
        return (Goods)goodsMap.get(Long.valueOf(goodsID));
      }
    Server Main (Gameserver):
    Code:
    //DECOMPILED BY HAPPYJD Decompiler 0.7internal
    package com.mu;
    
    import com.mu.config.Global;
    import com.mu.db.Pool;
    import com.mu.db.manager.GameDBManager;
    import com.mu.db.manager.GlobalDBManager;
    import com.mu.db.manager.MarketDBManager;
    import com.mu.game.dungeon.DungeonManager;
    import com.mu.game.dungeon.DungeonTemplateFactory;
    import com.mu.game.model.team.TeamManager;
    import com.mu.game.task.schedule.ScheduleTask;
    import com.mu.game.task.specified.SpecifiedTimeManager;
    import com.mu.game.task.specified.day.ZeroDailyTask;
    import com.mu.io.client2gateway.server.ClientSocketServer;
    import com.mu.io.game.server.GameSocketServer;
    import com.mu.io.game2gateway.server.GatewaySocketClient;
    import com.mu.io.http.ServletServer;
    import com.mu.io.secure.Security843SocketServer;
    import java.io.PrintStream;
    import org.apache.log4j.xml.DOMConfigurator;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    public class MuServer
    {
      private static final Logger logger = LoggerFactory.getLogger(MuServer.class);
      
      private static boolean initConfigs()
      {
        return (initGlobal()) && (initDatabase()) && (initGlobalData());
      }
      
      private static boolean initGlobal()
      {
        if (!Global.init())
        {
          logger.error("init global properties error,server not start!!!");
          
          return false;
        }
        return true;
      }
      
      private static boolean initDatabase()
      {
        if (!Pool.init())
        {
          logger.error("init Database error,server not start!!!");
          return false;
        }
        Global.checkOpenServer();
        return true;
      }
      
      private static boolean initGlobalData()
      {
        return GlobalDBManager.initData();
      }
      
      private static boolean startServer()
      {
        Security843SocketServer.start();
        initGameModule();
        
        MarketDBManager.searchAllMarketItem();
        
        return (GatewaySocketClient.start()) && 
          (ClientSocketServer.start()) && 
          (GameSocketServer.start()) && 
          (ServletServer.start());
      }
      
      private static void initGameModule()
      {
        ScheduleTask.start();
        SpecifiedTimeManager.start();
        TeamManager.startBroadcastTask();
        ZeroDailyTask.checkNightProtectedWhenServerStar();
        DungeonManager.startCheckDungeon();
        
        DungeonTemplateFactory.startTimingDungeon();
      }
      
      public static void main(String[] args)
      {
        DOMConfigurator.configure("configs/log4j.xml");
        boolean initConfigs = initConfigs();
        boolean startServer = startServer();
        boolean initGameData = GameDBManager.initGameDataFromDB();
        if (((!initConfigs) || (!startServer) || (!initGameData)) && 
          (!Global.isAllowError()))
        {
          System.err.println("exit ......");
          System.exit(0);
        }
        Runtime.getRuntime().addShutdownHook(new ShutdownHook());
      }
    }
    Updated:
    Code from Gameclient (flash):
    For prevent this way of talking: "impossible to unpack, no one tool open it"
    Spoiler:

    Code:
    //Decompiled by HappyDay R@geZone
    package
    {
       import engine.core.Game;
       import engine.core.GameScene;
       import engine.core.event.E;
       import engine.core.event.GameEvent;
       import engine.core.network.CtrlCenter;
       import engine.core.network.NetCenter;
       import engine.core.sound.SoundCenter;
       import engine.core.utils.Configs;
       import engine.core.utils.Tween;
       import engine.core.worker.WorkerCenter;
       import engine.ui.FPSPan;
       import engine.ui.complents.form.FormCenter;
       import engine.ui.complents.other.mouse.Cursor;
       import engine.ui.modles.login.LoginCtrl;
       import engine.ui.modles.login.LoginDebugPan;
       import engine.ui.modles.login.LoginPan;
       import engine.ui.modles.map.MapLoadingPan;
       import engine.ui.modles.system.LowModePan;
       import flash.display.Sprite;
       import flash.events.Event;
       import flash.external.ExternalInterface;
       import flash.system.Capabilities;
       
       public class MUGameClient extends Sprite
       {
           
          
          private var gameScene:GameScene;
          
          private var loginDebugPan:LoginDebugPan;
          
          private var loginPan:LoginPan;
          
          private var lowModePan:LowModePan;
          
          private var fpsPan:FPSPan;
          
          public function MUGameClient()
          {
             super();
             Game.scene = this;
             tabChildren = false;
             tabEnabled = false;
             addEventListener("addedToStage",inial);
          }
          
          private function inial(param1:Event) : void
          {
             removeEventListener("addedToStage",inial);
             stage.align = "TL";
             stage.scaleMode = "noScale";
             var _loc2_:* = false;
             stage.tabChildren = _loc2_;
             _loc2_ = _loc2_;
             stage.stageFocusRect = _loc2_;
             stage.showDefaultContextMenu = _loc2_;
             stage.quality = "low";
             stage.color = 0;
             stage.frameRate = 60;
             Game.stage = stage;
             stage.addEventListener("activate",stage_active);
             stage.addEventListener("deactivate",stage_deactive);
             Configs.instans.addEventListener("LOAD_COMPLETE",configs_load_complete);
             Configs.instans.loadXML();
          }
          
          private function configs_load_complete(param1:GameEvent) : void
          {
             var _loc3_:* = null;
             Configs.instans.removeEventListener("LOAD_COMPLETE",configs_load_complete);
             if(ExternalInterface.available)
             {
                ExternalInterface.call("function noborder(){document.documentElement.style.overflow =\'hidden\';}");
                ExternalInterface.addCallback("swf_un_load",NetCenter.instans.close);
                ExternalInterface.call("function js_swf_un_load(){window.onunload = " + ExternalInterface.objectID + ".swf_un_load;}");
                Configs.URL = ExternalInterface.call("getUrl");
             }
             if(Configs.xml.testURL != undefined)
             {
                Configs.URL = Configs.xml.testURL;
             }
             var _loc2_:RegExp = /ip=(.+)\&port=(\d+)/;
             if(_loc2_.test(Configs.URL))
             {
                _loc3_ = _loc2_.exec(Configs.URL);
                Configs.HOST = _loc3_[1];
                Configs.PORT = _loc3_[2];
             }
             else
             {
                Configs.URL = null;
             }
             WorkerCenter.instans.addEventListener("WORKER_INIALED",woker_inialed);
             WorkerCenter.instans.inial();
             stage.addEventListener("enterFrame",Tween.draw);
             stage.addEventListener("enterFrame",WorkerCenter.instans.run);
          }
          
          private function woker_inialed(param1:GameEvent) : void
          {
             WorkerCenter.instans.removeEventListener("WORKER_INIALED",woker_inialed);
             Cursor.instans;
             NetCenter.instans.addEventListener("SERVER_CONNECTED",server_connect_complete_1);
             NetCenter.instans.connect();
          }
          
          private function server_connect_complete_1(param1:GameEvent) : void
          {
             NetCenter.instans.removeEventListener("complete",server_connect_complete_1);
             CtrlCenter.inial();
             E.instans.addEventListener("SERVER_CONNECTED",server_connect_complete_2);
          }
          
          private function server_connect_complete_2(param1:GameEvent) : void
          {
             E.instans.removeEventListener("SERVER_CONNECTED",server_connect_complete_2);
             E.instans.addEventListener("ROLE_UPDATE",login_suc);
             if(Configs.URL)
             {
                LoginCtrl.instans.s_md5_login(Configs.URL);
             }
             else
             {
                if(!loginDebugPan)
                {
                   loginDebugPan = new LoginDebugPan();
                }
                addChild(loginDebugPan);
             }
          }
          
          private function login_suc(param1:GameEvent) : void
          {
             E.instans.removeEventListener("ROLE_UPDATE",login_suc);
             if(loginDebugPan && loginDebugPan.parent)
             {
                loginDebugPan.parent.removeChild(loginDebugPan);
             }
             E.instans.addEventListener("ROLE_INTO_GAME",role_into_game);
             if(!loginPan)
             {
                loginPan = new LoginPan();
             }
             addChild(loginPan);
             gameScene = new GameScene();
             addChildAt(gameScene,0);
          }
          
          private function role_into_game(param1:GameEvent) : void
          {
             E.instans.removeEventListener("ROLE_INTO_GAME",role_into_game);
             if(loginPan.parent)
             {
                loginPan.parent.removeChild(loginPan);
                loginPan.distroy();
                loginPan = null;
             }
             FormCenter.instans.inial();
             MapLoadingPan.instans.show();
             lowModePan = new LowModePan();
             E.instans.addEventListener("FPS_SHOW",fps_show);
             if(Configs.showFps && Capabilities.isDebugger)
             {
                fps_show();
             }
          }
          
          private function stage_active(param1:Event = null) : void
          {
             SoundCenter.instans.stopNoSound();
          }
          
          private function stage_deactive(param1:Event) : void
          {
             SoundCenter.instans.playNoSound();
          }
          
          private function fps_show(param1:GameEvent = null) : void
          {
             if(!fpsPan)
             {
                fpsPan = new FPSPan();
                fpsPan.y = 290;
                addChild(fpsPan);
             }
          }
       }
    }
    Events:

    Code:
    //Decompiled by HappyDay R@geZone
    package engine.core.event
    {
       import flash.events.Event;
       
       public final class GameEvent extends Event
       {
          
          public static const SERVER_CONNECTED:String = "SERVER_CONNECTED";
          
          public static const LOAD_COMPLETE:String = "LOAD_COMPLETE";
          
          public static const WORKER_INIALED:String = "WORKER_INIALED";
          
          public static const WORKER_RES_LOAD_COMPLETE:String = "WORKER_RES_LOAD_COMPLETE";
          
          public static const WORKER_RES_LOAD_PROGRESS:String = "WORKER_RES_LOAD_PROGRESS";
          
          public static const WORKER_MESH_BATCH_PROSS_COMPLETE:String = "WORKER_MESH_BATCH_PROSS_COMPLETE";
          
          public static const FPS_SHOW:String = "FPS_SHOW";
          
          public static const UNIT_LOAD_COMPLETE:String = "UNIT_LOAD_COMPLETE";
          
          public static const UNIT_RAY_RESULT:String = "UNIT_RAY_RESULT";
          
          public static const UNIT_SELECTED_UNIT:String = "UNIT_SELECTED_UNIT";
          
          public static const UNIT_DEATH:String = "UNIT_DEATH";
          
          public static const UNIT_DISTROY:String = "UNIT_DISTROY";
          
          public static const EQUIP_UPDATE:String = "EQUIP_UPDATE";
          
          public static const PLAYER_FIND_WAY:String = "PLAYER_FIND_WAY";
          
          public static const PLAYER_SET_PATH:String = "PLAYER_SET_PATH";
          
          public static const PLAYER_SY_QL_UPDATE:String = "PLAYER_SY_QL_UPDATE";
          
          public static const PLAYER_TJ_JD:String = "PLAYER_TJ_JD";
          
          public static const PLAYER_PRE_JD:String = "PLAYER_PRE_JD";
          
          public static const PLAYER_MOVE_END:String = "PLAYER_MOVE_END";
          
          public static const PLAYER_DEATH:String = "PLAYER_DEATH";
          
          public static const ROLE_UPDATE:String = "ROLE_UPDATE";
          
          public static const ROLE_RANDOM_NAME:String = "ROLE_RANDOM_NAME";
          
          public static const ROLE_INTO_GAME:String = "ROLE_INTO_GAME";
          
          public static const ROLE_CREATE_RESULT:String = "ROLE_CREATE_RESULT";
          
          public static const ROLE_DELETED:String = "ROLE_DELETED";
          
          public static const PLAYER_SKILL_REBACK:String = "PLAYER_SKILL_REBACK";
          
          public static const PLAYER_RELIFE:String = "PLAYER_RELIFE";
          
          public static const PLAYER_PARRY_UPDATE:String = "PLAYER_PARRY_UPDATE";
          
          public static const PLAYER_ZHANPING_UPDATE:String = "PLAYER_ZHANPING_UPDATE";
          
          public static const PLAYER_BLUE_VIP_UPDATE:String = "PLAYER_BLUE_VIP_UPDATE";
          
          public static const PLAYER_ZMINFO_UPDATE:String = "PLAYER_ZMINFO_UPDATE";
          
          public static const PROP_UPDATE:String = "PROP_UPDATE";
          
          public static const UI_TEXT_BOTTOM_FLOAT:String = "UI_TEXT_BOTTOM_FLOAT";
          
          public static const UI_TEXT_BOTTOM_RIGHT_FLOAT:String = "UI_TEXT_BOTTOM_RIGHT_FLOAT";
          
          public static const UI_DROP_DOWN_PAN_CLOSE:String = "UI_DROP_DOWN_PAN_CLOSE";
          
          public static const UI_ITEM_FILTER_PAN_SELECTED:String = "UI_ITEM_FILTER_PAN_SELECTED";
          
          public static const UI_GN_OPEN:String = "UI_GN_OPEN";
          
          public static const UI_GN_JIANTOU_OPEN:String = "UI_GN_JIANTOU_OPEN";
          
          public static const UI_FORM_OPEN:String = "UI_FORM_OPEN";
          
          public static const UI_FORM_CLOSE:String = "UI_FORM_CLOSE";
          
          public static const MAP_INIALED:String = "MAP_INIALED";
          
          public static const MAP_WORKER_INIALED:String = "MAP_WORKER_INIALED";
          
          public static const MAP_WORLD_MAP_MENU:String = "MAP_WORLD_MAP_MENU";
          
          public static const MAP_GET_SINGLES:String = "MAP_GET_SINGLES";
          
          public static const MAP_GET_WORLD_MAP:String = "MAP_GET_WORLD_MAP";
          
          public static const FAST_COOLING:String = "FAST_COOLING";
          
          public static const ITEM_UPDATE:String = "ITEM_UPDATE";
          
          public static const ITEM_NUM_UPDATE:String = "ITEM_NUM_UPDATE";
          
          public static const ITEM_BIND_UPDATE:String = "ITEM_BIND_UPDATE";
          
          public static const ITEM_LAIJIU_UPDATE:String = "ITEM_LAIJIU_UPDATE";
          
          public static const ITEM_GET_XIULI_INFO:String = "ITEM_GET_XIULI_INFO";
          
          public static const ITEM_XIULI_RESULT:String = "ITEM_XIULI_RESULT";
          
          public static const ITEM_ENABLE_UPDATE:String = "ITEM_ENABLE_UPDATE";
          
          public static const ITEM_BEGIN_COOL:String = "ITEM_BEGIN_COOL";
          
          public static const ITEM_GET_FAST_SELL_MONEY:String = "ITEM_GET_FAST_SELL_MONEY";
          
          public static const ITEM_KUAIJIE_BUY_RESULT:String = "ITEM_KUAIJIE_BUY_RESULT";
          
          public static const SKILL_UPDATE:String = "SKILL_UPDATE";
          
          public static const SKILL_LEVEL_UPED:String = "SKILL_LEVEL_UPED";
          
          public static const SKILL_BEGIN_COOL:String = "SKILL_BEGIN_COOL";
          
          public static const SKILL_SELECTED:String = "SKILL_SELECTED";
          
          public static const SKILL_USED:String = "SKILL_USED";
          
          public static const SKILL_GET_BD_INFO:String = "SKILL_GET_BD_INFO";
          
          public static const BUFF_UPDATE:String = "BUFF_UPDATE";
          
          public static const BAG_UPDATE:String = "BAG_UPDATE";
          
          public static const CK_UPDATE:String = "CK_UPDATE";
          
          public static const DIALOG_OPEN:String = "DIALOG_OPEN";
          
          public static const DIALOG_CLOSE:String = "DIALOG_CLOSE";
          
          public static const SHORTCUT_UPDATE:String = "SHORTCUT_UPDATE";
          
          public static const SHORTCUT_USE_FAST:String = "SHORTCUT_USE_FAST";
          
          public static const TIP_CLOSE:String = "TIP_CLOSE";
          
          public static const ZM_GET_LIST:String = "ZM_GET_LIST";
          
          public static const ZM_SQ_RESULT:String = "ZM_SQ_RESULT";
          
          public static const ZM_GET_CREATE_INFO:String = "ZM_GET_CREATE_INFO";
          
          public static const ZM_CREATE_RESULT:String = "ZM_CREATE_RESULT";
          
          public static const ZM_GET_INFO:String = "ZM_GET_INFO";
          
          public static const ZM_POP_INFO_UPDATE:String = "ZM_POP_INFO_UPDATE";
          
          public static const ZM_GG_UPDATE:String = "ZM_GG_UPDATE";
          
          public static const ZM_MATSER_UPDATE:String = "ZM_MATSER_UPDATE";
          
          public static const ZM_GET_LEVEL_UP_INFO:String = "ZM_GET_LEVEL_UP_INFO";
          
          public static const ZM_LEVEL_UP_RESULT:String = "ZM_LEVEL_UP_RESULT";
          
          public static const ZM_OUT:String = "ZM_OUT";
          
          public static const ZM_IN:String = "ZM_IN";
          
          public static const ZM_GET_JX_INFO:String = "ZM_GET_JX_INFO";
          
          public static const ZM_JX_RESULT:String = "ZM_JX_RESULT";
          
          public static const ZM_GET_SQ_LIST:String = "ZM_GET_SQ_LIST";
          
          public static const ZM_SQ_LIST_UPDATE:String = "ZM_SQ_LIST_UPDATE";
          
          public static const ZM_GET_DENAMYC_INFO:String = "ZM_GET_DENAMYC_INFO";
          
          public static const ZM_GET_MY_REDCARD_LIST:String = "ZM_GET_MY_REDCARD_LIST";
          
          public static const ZM_GIVE_REDCARD_RESULT:String = "ZM_GIVE_REDCARD_RESULT";
          
          public static const ZM_GET_ZM_REDCARD_LIST:String = "ZM_GET_ZM_REDCARD_LIST";
          
          public static const ZM_GET_REDCARD_RESULT:String = "ZM_GET_REDCARD_RESULT";
          
          public static const ZM_REDCARD_SYNUM_UPDATE:String = "ZM_REDCARD_SYNUM_UPDATE";
          
          public static const ZM_GIVE_REDCARD_BY_POP:String = "ZM_GIVE_REDCARD_BY_POP";
          
          public static const ZM_ZH_BOSS_RESULT:String = "ZM_ZH_BOSS_RESULT";
          
          public static const LUOLAN_GET_INFO:String = "LUOLAN_GET_INFO";
          
          public static const LUOLAN_GET_REWARD:String = "LUOLAN_GET_REWARD";
          
          public static const TASK_UPDATE:String = "TASK_UPDATE";
          
          public static const TASK_HUNA_UPDATE:String = "TASK_HUNA_UPDATE";
          
          public static const TASK_HUAN_STAR_REFRESH_SUC:String = "TASK_HUAN_STAR_REFRESH_SUC";
          
          public static const TASK_GETED:String = "TASK_GETED";
          
          public static const TASK_COMMITED:String = "TASK_COMMITED";
          
          public static const TASK_COMPLETE_EFFECT:String = "TASK_COMPLETE_EFFECT";
          
          public static const TASK_MINI_UPDATE:String = "TASK_MINI_UPDATE";
          
          public static const TASK_PARRY_TASK_UPDATE:String = "TASK_PARRY_TASK_UPDATE";
          
          public static const TASK_SHOW_HIDE_NEXT_BUTTON:String = "TASK_SHOW_HIDE_NEXT_BUTTON";
          
          public static const TASK_ZX_GET_REWARD_RESULT:String = "TASK_ZX_GET_REWARD_RESULT";
          
          public static const DUANZHAO_GET_QIANGHUA_DATA:String = "DUANZHAO_GET_QIANGHUA_DATA";
          
          public static const DUANZHAO_QIANGHUA:String = "DUANZHAO_QIANGHUA";
          
          public static const DUANZHAO_GET_FUWEN_DATA:String = "DUANZHAO_GET_FUWEN_DATA";
          
          public static const DUANZHAO_FUWEN_CLEAR:String = "DUANZHAO_FUWEN_CLEAR";
          
          public static const DUANZHAO_FUWEN_IN:String = "DUANZHAO_FUWEN_IN";
          
          public static const DUANZHAO_GET_FUWEN_ZH_DATA:String = "DUANZHAO_GET_FUWEN_ZH_DATA";
          
          public static const DUANZHAO_FUWEN_ZH:String = "DUANZHAO_FUWEN_ZH";
          
          public static const DUANZHAO_GET_ZUIJIA_DATA:String = "DUANZHAO_GET_ZUIJIA_DATA";
          
          public static const DUANZHAO_ZUIJIA:String = "DUANZHAO_ZUIJIA";
          
          public static const DUANZHAO_GET_BAOSHI_XQ_DATA1:String = "DUANZHAO_GET_BAOSHI_XQ_DATA1";
          
          public static const DUANZHAO_GET_BAOSHI_XQ_DATA2:String = "DUANZHAO_GET_BAOSHI_XQ_DATA2";
          
          public static const DUANZHAO_BAOSHI_CLEAR:String = "DUANZHAO_BAOSHI_CLEAR";
          
          public static const DUANZHAO_BAOSHI_XQ:String = "DUANZHAO_BAOSHI_XQ";
          
          public static const DUANZHAO_ITEM_UPDATE:String = "DUANZHAO_ITEM_UPDATE";
          
          public static const DUANZHAO_FILTER_RESULT:String = "DUANZHAO_FILTER_RESULT";
          
          public static const DUANZHAO_GET_EQUIP_LEVEL_UP_INFO:String = "DUANZHAO_GET_EQUIP_LEVEL_UP_INFO";
          
          public static const DUANZHAO_EQUIP_LEVEL_UP:String = "DUANZHAO_EQUIP_LEVEL_UP";
          
          public static const DUANZHAO_GET_RIDE_RH_INFO:String = "DUANZHAO_GET_RIDE_RH_INFO";
          
          public static const DUANZHAO_RIDE_RH:String = "DUANZHAO_RIDE_RH";
          
          public static const HC_GET_DATA:String = "HC_GET_DATA";
          
          public static const HC_GET_VIEW:String = "HC_GET_VIEW";
          
          public static const HC_GET_ITEM_FILTER:String = "HC_GET_ITEM_FILTER";
          
          public static const HC_HC:String = "HC_HC";
          
          public static const LINE_CHANGED:String = "LINE_CHANGED";
          
          public static const TRANS_CLOSE_PAN:String = "TRANS_CLOSE_PAN";
          
          public static const TRANS_PUT_ITEM:String = "TRANS_PUT_ITEM";
          
          public static const TRANS_DELETE_ITEM:String = "TRANS_DELETE_ITEM";
          
          public static const TRANS_SET_MONEY:String = "TRANS_SET_MONEY";
          
          public static const TRANS_LOCK:String = "TRANS_LOCK";
          
          public static const TRANS_UN_LOCK:String = "TRANS_UN_LOCK";
          
          public static const TRANS_OK:String = "TRANS_OK";
          
          public static const MAIL_UPDATE:String = "MAIL_UPDATE";
          
          public static const MAIL_NEW_MAIL:String = "MAIL_NEW_MAIL";
          
          public static const CHAT_ADD_MSG:String = "CHAT_ADD_MSG";
          
          public static const CHAT_FACE_SELECT:String = "CHAT_FACE_SELECT";
          
          public static const CHAT_ADD_PMSG:String = "CHAT_ADD_PMSG";
          
          public static const LINK_SHOW:String = "LINK_SHOW";
          
          public static const PK_MODE_CHANGE:String = "PK_MODE_CHANGE";
          
          public static const TEAM_UPDATE:String = "TEAM_UPDATE";
          
          public static const TEAM_SQ_UPDATE:String = "TEAM_SQ_UPDATE";
          
          public static const TEAM_GET_NEAR_TEAMS:String = "TEAM_GET_NEAR_TEAMS";
          
          public static const TEAM_GET_NEAR_CHARAS:String = "TEAM_GET_NEAR_CHARAS";
          
          public static const TEAM_EXPRATE_UPDATE:String = "TEAM_EXPRATE_UPDATE";
          
          public static const SYSTEM_ENGINE_SET_UPDATE:String = "SYSTEM_ENGINE_SET_UPDATE";
          
          public static const SYSTEM_SET_UPDATE:String = "SYSTEM_SET_UPDATE";
          
          public static const GUAJI_SET_UPDATE:String = "GUAJI_SET_UPDATE";
          
          public static const GUAJI_SET_SAVE:String = "GUAJI_SET_SAVE";
          
          public static const GUAJI_UPDATE:String = "GUAJI_UPDATE";
          
          public static const GUAJI_START:String = "GUAJI_START";
          
          public static const GUAJI_GET_AUTOSELL_SAIXUAN_FILTERS:String = "GUAJI_GET_AUTOSELL_SAIXUAN_FILTERS";
          
          public static const CHIBANG_UPDATE:String = "CHIBANG_UPDATE";
          
          public static const CHIBANG_GET_SH_INFO:String = "CHIBANG_GET_SH_INFO";
          
          public static const CHIBANG_GET_JJ_INFO:String = "CHIBANG_GET_JJ_INFO";
          
          public static const CHIBANG_JJ_SUC:String = "CHIBANG_JJ_SUC";
          
          public static const CHIBANG_AUTO_JJ_STOP:String = "CHIBANG_AUTO_JJ_STOP";
          
          public static const YONGBIN_UPDATE:String = "YONGBIN_UPDATE";
          
          public static const YONGBIN_ACTIVE:String = "YONGBIN_ACTIVE";
          
          public static const YONGBIN_GET_JJ_INFO:String = "YONGBIN_GET_JJ_INFO";
          
          public static const YONGBIN_JJ_SUC:String = "YONGBIN_JJ_SUC";
          
          public static const YONGBIN_AUTO_JJ_STOP:String = "YONGBIN_AUTO_JJ_STOP";
          
          public static const YONGBIN_LEVEL_UP:String = "YONGBIN_LEVEL_UP";
          
          public static const YONGBIN_EXP_UPDATE:String = "YONGBIN_EXP_UPDATE";
          
          public static const DENAMYCMENU_UPDATE:String = "DENAMYCMENU_UPDATE";
          
          public static const DENAMYCMENU_VISIBLE_UPDATE:String = "DENAMYCMENU_VISIBLE_UPDATE";
          
          public static const DENAMYCMENU_JIANTOU_DISP:String = "DENAMYCMENU_JIANTOU_DISP";
          
          public static const DENAMYCMENU_CLICK:String = "DENAMYCMENU_CLICK";
          
          public static const FB_GET_INFO:String = "FB_GET_INFO";
          
          public static const FB_IN:String = "FB_IN";
          
          public static const FB_OUT:String = "FB_OUT";
          
          public static const FB_INFO_UPDATE:String = "FB_INFO_UPDATE";
          
          public static const FB_GUWU:String = "FB_GUWU";
          
          public static const FB_CSYS_GET_REWARD_RESULT:String = "FB_CSYS_GET_REWARD_RESULT";
          
          public static const FB_GET_SUPER_EMO_TOP_INFO:String = "FB_GET_SUPER_EMO_TOP_INFO";
          
          public static const PMH_GET_ITEMS:String = "PMH_GET_ITEMS";
          
          public static const PMH_GET_TRAN_RECORD:String = "PMH_GET_TRAN_RECORD";
          
          public static const PMH_PUT_ITEM_SUC:String = "PMH_PUT_ITEM_SUC";
          
          public static const PMH_BUY_ITEM_SUC:String = "PMH_BUY_ITEM_SUC";
          
          public static const PMH_CTRL_ITEM_NAME_INPUT:String = "PMH_CTRL_ITEM_NAME_INPUT";
          
          public static const YB_GET_INFO:String = "YB_GET_INFO";
          
          public static const QD_GET_INFO:String = "QD_GET_INFO";
          
          public static const QD_GET_REWARD_INFO:String = "QD_GET_REWARD_INFO";
          
          public static const QD_STATE_UPDATE:String = "QD_STATE_UPDATE";
          
          public static const QD_REWARD_GET_SUC:String = "QD_REWARD_GET_SUC";
          
          public static const HYD_UPDATE:String = "HYD_UPDATE";
          
          public static const HYD_ITEM_UPDATE:String = "HYD_ITEM_UPDATE";
          
          public static const HYD_ITEM_PROG_UPDATE:String = "HYD_ITEM_PROG_UPDATE";
          
          public static const HYD_REWARD_UPDATE:String = "HYD_REWARD_UPDATE";
          
          public static const HYD_REWARD_STATE_UPDATE:String = "HYD_REWARD_STATE_UPDATE";
          
          public static const HYD_GET_REWARD_SUC:String = "HYD_GET_REWARD_SUC";
          
          public static const ONLINE_GET_INFO:String = "ONLINE_GET_INFO";
          
          public static const ONLINE_GET_REWARD_RESULT:String = "ONLINE_GET_REWARD_RESULT";
          
          public static const BOSS_UPDATE:String = "BOSS_UPDATE";
          
          public static const BOSS_CAN_UPDATE:String = "BOSS_CAN_UPDATE";
          
          public static const BOSS_ZXDROP_UPDATE:String = "BOSS_ZXDROP_UPDATE";
          
          public static const BOSS_TZ_START:String = "BOSS_TZ_START";
          
          public static const TOP_GET_INFO:String = "TOP_GET_INFO";
          
          public static const HUDUN_GET_INFO:String = "HUDUN_GET_INFO";
          
          public static const HUDUN_JJ_RESULT:String = "HUDUN_JJ_RESULT";
          
          public static const VIP_UPDATE:String = "VIP_UPDATE";
          
          public static const VIP_BLUE_CZ_INFO:String = "VIP_BLUE_CZ_INFO";
          
          public static const LICAI_GET_INFO:String = "LICAI_GET_INFO";
          
          public static const LICAI_TYPE_UPDATE:String = "LICAI_TYPE_UPDATE";
          
          public static const LICAI_REWARD_UPDATE:String = "LICAI_REWARD_UPDATE";
          
          public static const LICAI_GET_REWARD_RESULT:String = "LICAI_GET_REWARD_RESULT";
          
          public static const LICAI_OPEN_REAULT:String = "LICAI_OPEN_REAULT";
          
          public static const HUODONG_UPDATE:String = "HUODONG_UPDATE";
          
          public static const HUODONG_GET_INFO:String = "HUODONG_GET_INFO";
          
          public static const HUODONG_GET_REWARD:String = "HUODONG_GET_REWARD";
          
          public static const HUODONG_BLUE_ONEKYE:String = "HUODONG_BLUE_ONEKYE";
          
          public static const HUODONG_GET_QIRI_INFO:String = "HUODONG_GET_QIRI_INFO";
          
          public static const HUODONG_QIRI_WABAO_RESULT:String = "HUODONG_QIRI_WABAO_RESULT";
          
          public static const HUODONG_GET_ZHUANPAN_INFO:String = "HUODONG_GET_ZHUANPAN_INFO";
          
          public static const HUODONG_ZHUANPAN_RESULT:String = "HUODONG_ZHUANPAN_RESULT";
          
          public static const HUODONG_ZHUANPAN_RECORD_UPDATE:String = "HUODONG_ZHUANPAN_RECORD_UPDATE";
          
          public static const AIR_REFRESH:String = "AIR_REFRESH";
          
          public static const AIR_LOGIN_ROLE_INFO:String = "AIR_LOGIN_ROLE_INFO";
          
          public static const AIR_CLOSE:String = "AIR_CLOSE";
          
          public static const COUREN_UPDATE:String = "COUREN_UPDATE";
          
          public static const ZHINAN_GET_INFO:String = "ZHINAN_GET_INFO";
          
          public static const XUNBAO_GET_INFO:String = "XUNBAO_GET_INFO";
          
          public static const XUNBAO_RECORD_UPDATE:String = "XUNBAO_RECORD_UPDATE";
          
          public static const XUNBAO_RESULT:String = "XUNBAO_RESULT";
          
          public static const XUNBAO_GET_JF_SHOP_INFO:String = "XUNBAO_GET_JF_SHOP_INFO";
          
          public static const XUNBAO_BUY_JF_ITEM_SUC:String = "XUNBAO_BUY_JF_ITEM_SUC";
          
          public static const NICK_INFO:String = "NICK_INFO";
          
          public static const FAVT_GET_INFO:String = "FAVT_GET_INFO";
          
          public static const FAVT_RESLUT:String = "FAVT_RESLUT";
          
          public static const ZYTAR_GET_INFO:String = "ZYTAR_GET_INFO";
          
          public static const ZYTAR_GET_EQUIP_WAY:String = "ZYTAR_GET_EQUIP_WAY";
          
          public static const ZYTAR_GET_NICK:String = "ZYTAR_GET_NICK";
          
          public static const NUMBER_BOX_UPDATE:String = "NUMBER_BOX_UPDATE";
          
          public static const UNLINE_GET_BUFF:String = "UNLINE_GET_BUFF";
          
          public static const UNLINE_GET_HDBACK:String = "UNLINE_GET_HDBACK";
          
          public static const TX_GET_INFO_1:String = "TX_GET_INFO_1";
          
          public static const TX_GET_INFO_2:String = "TX_GET_INFO_2";
          
          public static const TX_START:String = "TX_START";
          
          public static const TX_SUC_ONECE:String = "TX_SUC_ONECE";
          
          public static const TX_PUT_IN_BAG:String = "TX_PUT_IN_BAG";
          
          public static const TX_GET_SQ_INFO:String = "TX_GET_SQ_INFO";
          
          public static const TX_SQ_CL_JJ_SUC:String = "TX_SQ_CL_JJ_SUC";
          
          public static const ZH_GET_INFO:String = "ZH_GET_INFO";
          
          public static const ZH_GET_EQUIP_FILTER_TJS:String = "ZH_GET_EQUIP_FILTER_TJS";
          
          public static const ZH_EQUIP_FILTER_RESULT:String = "ZH_EQUIP_FILTER_RESULT";
          
          public static const ZH_GET_EQUIP_EXP:String = "ZH_GET_EQUIP_EXP";
          
          public static const ZH_LH_SUC:String = "ZH_LH_SUC";
          
          public static const ZH_USE_ITEM_SUC:String = "ZH_USE_ITEM_SUC";
          
          public static const FRIEND_INFO_UPDATE:String = "FRIEND_INFO_UPDATE";
          
          public static const FRIEND_INFO_UPDATE1:String = "FRIEND_INFO_UPDATE1";
          
          public static const FRIEND_ADD_SUC:String = "FRIEND_ADD_SUC";
          
          public static const FRIEND_DELETE_SUC:String = "FRIEND_DELETE_SUC";
          
          public static const FRIEND_SQ_MESSAGE:String = "FRIEND_SQ_MESSAGE";
          
          public static const FRIEND_GET_SQ_LIST:String = "FRIEND_GET_SQ_LIST";
          
          public static const FRIEND_ALLOW_RESULT:String = "FRIEND_ALLOW_RESULT";
          
          public static const FRIEND_ONLINE_UPDATE:String = "FRIEND_ONLINE_UPDATE";
          
          public static const FRIEND_FRIENDLY_UPDATE:String = "FRIEND_FRIENDLY_UPDATE";
          
          public static const FRIEND_KILL_NUM_UPDATE:String = "FRIEND_KILL_NUM_UPDATE";
          
          public static const FRIEND_GET_XYC_INFO:String = "FRIEND_GET_XYC_INFO";
          
          public static const FRIEND_XYC_ZF_LOG_UPDATE:String = "FRIEND_XYC_ZF_LOG_UPDATE";
           
          
          public var value:Object;
          
          public function GameEvent(param1:String, param2:Object = null)
          {
             super(param1,bubbles,cancelable);
             this.value = param2;
          }
       }
    }

    Just use your developer skills and everything is possible

    In fact, with hands and brains, you can obtain source for that version of MuOnline. Just let's go work for it!
    Hmm about version, it tells: public static var version:String = "2016.5.11.01"; really not too old



    ps. please dont spam my PM with asking for source code, swf files decrypt and etc... Try to be a developers, not a leechers. Just try to figure them out by yourself. You already have all files for reverse & develop. And that is not C/C++ with Themida/Armadilo packer-protector, kernel-layer inline hooks, anti-reverse code and etc... Feel the difference.
    I just can tell you - yeah that is possible to decompile server files, assembly them on InteliJ-Idea into the project and compile again. Yeah that is possible to decrypt swf client files, after - decompile them via JPEX decompiler, and assembly them again on InteliJ-Idea into the project (but also requires local params renaming cuz them full of _loc88_, _loc43_ and other bullshit) or if you dont wanna fix over9000 code for compile them, just use RABCDASM for patch them. Just try to make this all by your self. That is over9000 times better than after you leech everything without put any job on it, and lie to you users "we are develop blah blah blah... new game from our team blahblahblah"... Just stop do that, and please, try to do something by your self. Be a real developers.
    Last edited by HappyDay; 27-03-18 at 07:45 AM.

  8. #38
    Apprentice calvinsyrus is offline
    MemberRank
    Apr 2015 Join Date
    7Posts

    Re: [RELEASE] webgame MuOnline

    HappyDay do u know unpack file .0 and other swf decrypt? .. i use JPEX but can't read swf

  9. #39
    Lucky Duck paoxbr is offline
    MemberRank
    Apr 2005 Join Date
    lolLocation
    234Posts

    Re: [RELEASE] webgame MuOnline

    Please, lower the Toxicity,


    im trying to get Public, but im stuck with black screen, local is working, i believe there maybe some IP config inside swf,

    im using wireshark simple pack on C;/

  10. #40
    Apprentice smoothy87 is offline
    MemberRank
    Mar 2018 Join Date
    6Posts

    Re: [RELEASE] webgame MuOnline

    Hi all,
    Anyone can write tutorial how to config server from this files?

  11. #41
    Proficient Member HappyDay is offline
    MemberRank
    Jan 2012 Join Date
    inline floatLocation
    170Posts

    Re: [RELEASE] webgame MuOnline

    Hmm that game, is probably some fork of Mu Tempest from WebZen, but from chinese server. Also you may try to download a client files from it, probably they are not obfuscated same way... But anyways, it seems like no english version here is exists.

    Last edited by HappyDay; 27-03-18 at 10:58 PM.

  12. #42
    Valued Member darkdemo is offline
    MemberRank
    Nov 2007 Join Date
    FloridaLocation
    112Posts

    Re: [RELEASE] webgame MuOnline

    waht is the config for test using public ip ?

  13. #43
    Proficient Member slander is offline
    MemberRank
    Oct 2012 Join Date
    157Posts

    Re: [RELEASE] webgame MuOnline

    anyone get download this source and share for development?

    main link in the photo and only add this add-on
    /thread-631-1-1.html

  14. #44
    Cypher WireShark is offline
    MemberRank
    Jun 2009 Join Date
    Planet Earth xDLocation
    950Posts

    Re: [RELEASE] webgame MuOnline

    Quote Originally Posted by HappyDay View Post
    Hmm that game, is probably some fork of Mu Tempest from WebZen, but from chinese server. Also you may try to download a client files from it, probably they are not obfuscated same way... But anyways, it seems like no english version here is exists.

    Yes exactlt its Mu Tempest by chinese webzen and no english server exist on this one to much work that is needed to translate this game much easier if theres an english server that we can extract the .swf files and decompile it.

    Sent from my SM-J730G using Tapatalk

  15. #45
    Proficient Member HappyDay is offline
    MemberRank
    Jan 2012 Join Date
    inline floatLocation
    170Posts

    Re: [RELEASE] webgame MuOnline

    Quote Originally Posted by WireShark View Post
    Yes exactlt its Mu Tempest by chinese webzen and no english server exist on this one to much work that is needed to translate this game much easier if theres an english server that we can extract the .swf files and decompile it.
    Yep, but that is possible to extract and decompile swf for current files. Another problem, is how to translate UI elements? Photoshop? Many words here is a pictures
    Plus the thing - is how to turn them back? Literally client works like:

    GL.swf----{key}---->load client into memory ------------->[LZMA uncompress]-------->load image, model, etc.

    In that case, if someone want to edit client files, first of all, you should to use RABCDasm for detach GL.swf loader, and make your own pre-loader. Step 2 - re-write some web files (JS, php) for load game a bit on other way. + compress/uncompress resource files from qj/res/ via LZMA.

    Yeah, it requires some handy work, and main question here - that is worth for it?



Advertisement