Exemple #1
0
        public void Init(IServerObjectHelper pSOH)
        {
            serverObjectHelper  = pSOH;
            mapService          = (MapServer)serverObjectHelper.ServerObject;
            mapServerDataAccess = (IMapServerDataAccess)serverObjectHelper.ServerObject;

            // Check if this service contains a Utility Network layer
            unLayerInfo = soeUtil.GetUNLayerInfo(mapService);
            if (unLayerInfo != null)
            {
                // Get the Utility Network dataset
                IFeatureClass fc = (IFeatureClass)mapServerDataAccess.GetDataSource(mapService.DefaultMapName, unLayerInfo.SubLayers.Element[0]);

                // Get UN dataset
                IFeatureDataset fd        = fc.FeatureDataset;
                IDataset        ds        = (IDataset)fd;
                IEnumDataset    enumSubDS = ds.Subsets;
                IDataset        subDS     = enumSubDS.Next();
                while (subDS != null)
                {
                    if (subDS.Type == esriDatasetType.esriDTUtilityNetwork)
                    {
                        unDataset = subDS;
                        break;
                    }
                    subDS = enumSubDS.Next();
                }

                logger.LogMessage(ServerLogger.msgType.infoStandard, soe_name + ".init()", 200, "UN dataset found: " + unDataset.Name);
            }
        }
Exemple #2
0
        public static void WebStart(HttpConfiguration config)
        {
            SignumServer.Start(config, typeof(Global).Assembly);
            AuthServer.Start(config, () => Starter.Configuration.Value.AuthTokens, "IMPORTANT SECRET FROM Southwind. CHANGE THIS STRING!!!");
            CacheServer.Start(config);
            FilesServer.Start(config);
            UserQueryServer.Start(config);
            DashboardServer.Start(config);
            WordServer.Start(config);
            ExcelServer.Start(config);
            ChartServer.Start(config);
            MapServer.Start(config);
            TranslationServer.Start(config, new AlreadyTranslatedTranslator(new BingTranslator()));
            SchedulerServer.Start(config);
            ProcessServer.Start(config);
            DisconnectedServer.Start(config);
            MailingServer.Start(config);
            ProfilerServer.Start(config);
            DiffLogServer.Start(config);

            OmniboxServer.Start(config,
                                new EntityOmniboxResultGenenerator(),
                                new DynamicQueryOmniboxResultGenerator(),
                                new ChartOmniboxResultGenerator(),
                                new DashboardOmniboxResultGenerator(DashboardLogic.Autocomplete),
                                new UserQueryOmniboxResultGenerator(UserQueryLogic.Autocomplete),
                                new UserChartOmniboxResultGenerator(UserChartLogic.Autocomplete),
                                new MapOmniboxResultGenerator(type => OperationLogic.TypeOperations(type).Any()),
                                new ReactSpecialOmniboxGenerator()
                                   //new HelpModuleOmniboxResultGenerator(),
                                ); //Omnibox
        }
Exemple #3
0
 public void Destroy()
 {
     _player.NetUserDataChanged -= Player_NetUserDataChanged;
     _save.Destroy();
     _object.Destroy();
     _pet?.Destroy();
     CharsMgr.SaveCharacter(_char);
     if (_dialog != null)
     {
         _dialog.Dialog.OnDialogEnd(this);
     }
     if (_shop != null)
     {
         _shop.Movement.Unlock();
     }
     foreach (var item in _clones.Values.ToArray())
     {
         item.Destroy();
     }
     _pet    = null;
     _save   = null;
     _shop   = null;
     _user   = null;
     _char   = null;
     _trade  = null;
     _items  = null;
     _clones = null;
     _dialog = null;
     _server = null;
     _player = null;
     _object = null;
     _skills = null;
 }
 public DialogScript(DB_Dialog data, MapServer server)
 {
     _id      = data.ID;
     _server  = server;
     _npcs    = new WO_NPC[2];
     _entries = data.Entries;
 }
Exemple #5
0
        /// <summary>
        ///
        /// </summary>
        /// <returns>1:数据库地址 2:数据库名称 3:数据库用户名 4:数据库密码</returns>
        // GET: api/MapConfig
        public IEnumerable <string> Get()
        {
            MapServer      vSystemConfig = new MapServer();
            SystemConfigEF vModel        = vSystemConfig.GetMapConfig();

            return(new string[] { vModel.ItemValue1, vModel.ItemValue2, vModel.ItemValue3, vModel.ItemValue4 });
        }
Exemple #6
0
        public static void WebStart(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime lifetime)
        {
            SignumServer.Start(app, env, typeof(Startup).Assembly);

            AuthServer.Start(app, () => Starter.Configuration.Value.AuthTokens, "IMPORTANT SECRET FROM AtTest. CHANGE THIS STRING!!!");
            CacheServer.Start(app);
            FilesServer.Start(app);
            UserQueryServer.Start(app);
            DashboardServer.Start(app);
            WordServer.Start(app);
            ExcelServer.Start(app);
            ChartServer.Start(app);
            MapServer.Start(app);
            ToolbarServer.Start(app);
            TranslationServer.Start(app, new AlreadyTranslatedTranslator(new AzureTranslator("Your API Key for Azure Translate")));
            SchedulerServer.Start(app, lifetime);
            ProcessServer.Start(app);
            MailingServer.Start(app);
            ProfilerServer.Start(app);
            DiffLogServer.Start(app);
            PredictorServer.Start(app);
            OmniboxServer.Start(app,
                                new EntityOmniboxResultGenenerator(),
                                new DynamicQueryOmniboxResultGenerator(),
                                new ChartOmniboxResultGenerator(),
                                new DashboardOmniboxResultGenerator(DashboardLogic.Autocomplete),
                                new UserQueryOmniboxResultGenerator(UserQueryLogic.Autocomplete),
                                new UserChartOmniboxResultGenerator(UserChartLogic.Autocomplete),
                                new MapOmniboxResultGenerator(type => OperationLogic.TypeOperations(type).Any()),
                                new ReactSpecialOmniboxGenerator()
                                   //new HelpModuleOmniboxResultGenerator(),
                                ); //Omnibox

            SignumCultureSelectorFilter.GetCurrentCulture = (ctx) => GetCulture(ctx);
        }
Exemple #7
0
        public override void Reload()
        {
            DataFrames.Clear();
            _mapServerDefinition = null;

            try
            {
                _mapServerDefinition = MapServer.GetMapServerDefinition();
                string defaultName = MapServer.GetDefaultMapName();

                foreach (MapServerInfo mapServerInfo in _mapServerDefinition.MapServerInfos)
                {
                    bool         isDefault = mapServerInfo.Name == defaultName;
                    AgsDataFrame dataFrame = new AgsDataFrame(this, mapServerInfo, isDefault);

                    DataFrames.Add(dataFrame);

                    if (isDefault)
                    {
                        DefaultDataFrame = dataFrame;
                    }
                }
            }
            catch (Exception ex)
            {
                throw new AgsException("Unable to communicate with the ArcGIS Server", ex);
            }
        }
Exemple #8
0
 public ActionResult MapServerConfig(MapServerConfigViewModel Model)
 {
     MapServer vMapServer = new MapServer();
     if (vMapServer.SetMapConfig(Model.MapServerAddress, Model.MapDBName, Model.DBUserName, Model.DBPassword))
         ModelState.AddModelError("","地图服务设置成功" );
     else
         ModelState.AddModelError("", "地图服务设置失败");
     return View(Model);
 }
Exemple #9
0
 public WorldObject(uint guid, ObjectsMgr manager)
 {
     _manager    = manager;
     _lock       = new object();
     _server     = manager.Server;
     _guid       = guid | (uint)(TypeID << 16);
     _components = new ObjectComponent[Constants.ArrayCapacity];
     _manager.Add(this);
 }
Exemple #10
0
 public MapPlayer(Player player, MapServer server)
 {
     _server   = server;
     _player   = player;
     _user     = player.TnUser <UserData>();
     m_choices = new List <DialogChoice>();
     _clones   = new Dictionary <int, WO_NPC>();
     _player.NetUserDataChanged += Player_NetUserDataChanged;
 }
Exemple #11
0
 public WorldObject(uint guid, ObjectsMgr manager)
 {
     _manager    = manager;
     _lock       = new object();
     _server     = manager.Server;
     _guid       = guid | (uint)(TypeID << 16);
     _updatable  = ArrayEx.Empty <IUpdatable>();
     _components = ArrayEx.Empty <ObjectComponent>();
     _manager.Add(this);
 }
Exemple #12
0
 public ActionResult MapServerConfig()
 {
     MapServerConfigViewModel vModel = new MapServerConfigViewModel();
     MapServer vMapServer = new MapServer();
     SystemConfigEF vMapConfigEF =  vMapServer.GetMapConfig();
     vModel.MapServerAddress = vMapConfigEF.ItemValue1;
     vModel.MapDBName = vMapConfigEF.ItemValue2;
     vModel.DBUserName = vMapConfigEF.ItemValue3;
     vModel.DBPassword = vMapConfigEF.ItemValue4;
     return View(vModel);
 }
 public static IServerObject CreateMockMapServerObject(string mxdFile)
 {
     IMapServer mapServer = new MapServer();
     IMapServerInit mapinit = mapServer as IMapServerInit;
     mapinit.PhysicalOutputDirectory = @"C:\Data";
     //mapinit.VirtualOutputDirectory = @"C:\Data";
     mapinit.Connect(mxdFile);
     string foo = mapServer.MapName[0];
     IServerObject so = mapServer as IServerObject;
     return so;
 }
 public DialogScript(DialogScript data)
 {
     _id     = data._id;
     _server = data._server;
     _npcs   = new WO_NPC[data._npcs.Length];
     for (int i = 0; i < _npcs.Length; i++)
     {
         _npcs[i] = data._npcs[i];
     }
     _entries = data._entries;
 }
Exemple #15
0
 public NetUNTracingRESTSOE()
 {
     soe_name            = this.GetType().Name;
     logger              = new ServerLogger();
     reqHandler          = new SoeRestImpl(soe_name, CreateRestSchema()) as IRESTRequestHandler;
     soeUtil             = new SOEUtil();
     mapService          = null;
     unLayerInfo         = null;
     mapServerDataAccess = null;
     unDataset           = null;
 }
 public ObjectsMgr(MapServer server)
 {
     _server    = server;
     _mapID     = server.Map.Id;
     _released  = new ConcurrentQueue <ushort>();
     _objects   = new ConcurrentDictionary <uint, WorldObject>();
     _nsObjects = new ConcurrentDictionary <ushort, WorldObject>();
     _nvObjects = new ConcurrentDictionary <ushort, WorldObject>();
     _plObjects = new ConcurrentDictionary <ushort, WorldObject>();
     _dnObjects = new ConcurrentDictionary <ushort, WorldObject>();
     LoadObjects();
 }
Exemple #17
0
 void Start()
 {
     map      = new MapServer(31, 31);
     unitList = new Dictionary <PlayerServer, List <UnitServer> >();
     players  = new List <PlayerServer>();
     Debug.Log("Server Start");
     for (int i = 0; i < numPlayers; i++)
     {
         PlayerServer      player = new PlayerServer(i);
         List <UnitServer> units  = new List <UnitServer>();
         players.Add(player);
         for (int u = 0; u < 5; u++)
         {
             units.Add(new UnitServer(u, new Vector2(14 + u, 16 - 2 * i), 1, 1, 2, player));
         }
         unitList[player] = units;
     }
 }
Exemple #18
0
 void Start()
 {
     map = new MapServer(31, 31);
     unitList= new Dictionary<PlayerServer, List<UnitServer>>();
     players = new List<PlayerServer>();
     Debug.Log("Server Start");
     for(int i = 0; i < numPlayers; i++)
     {
         PlayerServer player = new PlayerServer(i);
         List<UnitServer> units = new List<UnitServer>();
         players.Add(player);
         for(int u = 0; u < 5; u++)
         {
             units.Add(new UnitServer(u, new Vector2(14+u,16-2*i), 1, 1, 2, player));
         }
         unitList[player] = units;
     }
 }
 public void Destroy()
 {
     foreach (var item in _objects)
     {
         item.Value.Destroy();
     }
     _objects.Clear();
     _nsObjects.Clear();
     _nvObjects.Clear();
     _plObjects.Clear();
     _dnObjects.Clear();
     _server    = null;
     _objects   = null;
     _released  = null;
     _nsObjects = null;
     _nvObjects = null;
     _plObjects = null;
     _dnObjects = null;
 }
Exemple #20
0
 public void Destroy()
 {
     _spawned = false;
     _manager.RemoveView(this);
     _manager.Remove(this);
     if ((_guid & Constants.ReleaseGuide) > 0)
     {
         _manager.ReleaseGuid(_guid);
     }
     if (_updatable.Length > 0 || eventOnUpdate != null)
     {
         _server.RemoveFromUpdate(this);
     }
     OnDestroy?.Invoke();
     _server     = null;
     _manager    = null;
     _updatable  = null;
     _components = null;
 }
Exemple #21
0
 public override void Parse(SagaLib.Client client)
 {
     try
     {
         foreach (CharServer i in LoginServer.charServerList.Values)
         {
             MapServer map = i.mapServers[0];
             Packets.Map.Send.MapPing p = new SagaLogin.Packets.Map.Send.MapPing();
             map.sClient.netIO.SendPacket(p, map.sClient.SessionID);
             LoginClient.CPGateway = (LoginClient)client;
             return;
         }
     }
     catch (Exception)
     {
         Packets.Server.MapPong p = new SagaLogin.Packets.Server.MapPong();
         p.SetResult(0);
         client.netIO.SendPacket(p, 0xFFFFFFFF);
     }
 }
Exemple #22
0
        // GET: api/GetLayers
        public LayerStruct[] Get()
        {
            MapServer          vMapServer  = new MapServer();
            DataTable          vLayerTable = vMapServer.GetLayers();
            List <LayerStruct> vLyaers     = new List <LayerStruct>();

            foreach (DataRow vTempRow in vLayerTable.Rows)
            {
                LayerStruct vLayer = new LayerStruct()
                {
                    ID         = DBConvert.ToInt32(vTempRow["ID"]),
                    classify   = DBConvert.ToString(vTempRow["classify"]),
                    Expository = DBConvert.ToString(vTempRow["Expository"]),
                    Name       = DBConvert.ToString(vTempRow["Name"]),
                    Type       = DBConvert.ToInt32(vTempRow["Type"])
                };
                vLyaers.Add(vLayer);
            }
            return(vLyaers.ToArray());
        }
Exemple #23
0
        public bool Startup()
        {
            DB_Map    map; string[] list;
            MapServer mapServer; int id;

            if (Load())
            {
                if (Configs.Get <bool>(Configs.Server_Master))
                {
                    (_master = new MasterServer()).Start();
                }
                if (Configs.Get <bool>(Configs.Server_Characters))
                {
                    (_characters = new CharServer()).Start();
                }
                if (Configs.Get <bool>(Configs.Server_AllMaps))
                {
                    foreach (var item in DataMgr.SelectAllMaps())
                    {
                        _maps.Add(mapServer = new MapServer(item));
                        mapServer.Start();
                    }
                }
                else
                {
                    list = Configs.Get <string>(Configs.Server_MapList).Split(';');
                    foreach (var item in list)
                    {
                        if (int.TryParse(item, out id) && DataMgr.Select(id, out map))
                        {
                            _maps.Add(mapServer = new MapServer(map));
                            mapServer.Start();
                        }
                    }
                }
                IsRunning = true;
                InitializeCMD();
                return(true);
            }
            return(false);
        }
 public async Task <bool> Startup()
 {
     if (await LoadAsync())
     {
         if (Configs.Get <bool>(Configs.Server_Master))
         {
             (_master = new MasterServer()).Start();
         }
         if (Configs.Get <bool>(Configs.Server_Characters))
         {
             (_characters = new CharServer()).Start();
         }
         if (Configs.Get <bool>(Configs.Server_AllMaps))
         {
             foreach (var item in DataMgr.SelectAllMaps())
             {
                 var mapServer = new MapServer(item);
                 _maps.Add(mapServer = new MapServer(item));
                 mapServer.Start();
             }
         }
         else
         {
             var list = Configs.Get <string>(Configs.Server_MapList).Split(';');
             foreach (var item in list)
             {
                 if (int.TryParse(item, out var id) && DataMgr.Select(id, out DB_Map map))
                 {
                     var mapServer = new MapServer(map);
                     _maps.Add(mapServer);
                     mapServer.Start();
                 }
             }
         }
         IsRunning = true;
         InitializeCMD();
         return(true);
     }
     return(false);
 }
 public void Destroy()
 {
     WorldObject[] _toDestroy = _objects.Values.ToArray();
     foreach (var item in _toDestroy)
     {
         item.Destroy();
     }
     _objects.Clear();
     _released.Clear();
     _nsObjects.Clear();
     _nvObjects.Clear();
     _plObjects.Clear();
     _dnObjects.Clear();
     _server    = null;
     _objects   = null;
     _released  = null;
     _nsObjects = null;
     _nvObjects = null;
     _plObjects = null;
     _dnObjects = null;
     _toDestroy = null;
 }
 public void Destroy()
 {
     _npcs    = null;
     _server  = null;
     _entries = null;
 }
Exemple #27
0
 public void showMapRoute()
 {
     MapServer.showRoute(this);
 }
 public DialogsMgr(MapServer server)
 {
     _server  = server;
     _dialogs = new Dictionary <ushort, DialogScript>();
     _dClones = new Dictionary <ushort, Dictionary <ushort, DialogScript> >();
 }
Exemple #29
0
        public void AddComboInfo(uint magicid,MapServer.BaseObject attack, MapServer.BaseObject target, uint track_id, uint track_id2)
        {
           // byte head = 0;
          //  byte tail = 0;
            //三位数的 针对怪物的..
          
              
            //测试连击状态
            if (MapServer.Program._Head > 0)
            {
                head = MapServer.Program._Head;
                tail = MapServer.Program._Tail;
            }
        
            byte dir = DIR.GetAgainstDir(target.GetDir());
            String str = "";
            byte[] data = null;
            count += 2;
            combo.WriteByte(head);
            str = Convert.ToString(target.GetTypeId());
            data = Coding.GetUtf8Coding().GetBytes(str);
            combo.WriteBuff(data);
            combo.WriteByte(32);
            str = Convert.ToString(target.GetCurrentX());
            data = Coding.GetUtf8Coding().GetBytes(str);
            combo.WriteBuff(data);
            combo.WriteByte(32);

            str = Convert.ToString(target.GetCurrentY());
            data = Coding.GetUtf8Coding().GetBytes(str);
            combo.WriteBuff(data);
            combo.WriteByte(32);

            str = Convert.ToString(dir);
            data = Coding.GetUtf8Coding().GetBytes(str);
            combo.WriteBuff(data);
            combo.WriteByte(32);

            str = Convert.ToString(track_id2);
            data = Coding.GetUtf8Coding().GetBytes(str);
            combo.WriteBuff(data);
            combo.WriteByte(tail);
            //if (magicid != GameStruct.MagicTypeInfo.XUEYINGLUNHUI)
            //{
            //   
            //}
            //else if (count <= 20)
            //{
            //    combo.WriteByte(tail);
            //}
            //else
            //{
            //    combo.WriteByte(28);
            //}
            
            

            str = Convert.ToString(attack.GetTypeId());
            data = Coding.GetUtf8Coding().GetBytes(str);
            combo.WriteBuff(data);
            combo.WriteByte(32);

            str = Convert.ToString(attack.GetCurrentX());
            data = Coding.GetUtf8Coding().GetBytes(str);
            combo.WriteBuff(data);
            combo.WriteByte(32);

            str = Convert.ToString(attack.GetCurrentY());
            data = Coding.GetUtf8Coding().GetBytes(str);
            combo.WriteBuff(data);
            combo.WriteByte(32);

            str = Convert.ToString(attack.GetDir());
            data = Coding.GetUtf8Coding().GetBytes(str);
            combo.WriteBuff(data);
            combo.WriteByte(32);

            str = Convert.ToString(track_id);
            data = Coding.GetUtf8Coding().GetBytes(str);
            combo.WriteBuff(data);;
           
        }
Exemple #30
0
        //根据双飞类型与坐标计算出标记
        public void CalcTag(uint magicid, MapServer.BaseObject attack, MapServer.BaseObject target)
        {
            if ((attack.GetCurrentX() < 999 && attack.GetCurrentY() < 999) ||
              (target.GetCurrentX() < 999 && target.GetCurrentY() < 999))
            {
                if (target.type == OBJECTTYPE.MONSTER)
                {
                    switch (magicid)
                    {
                        case GameStruct.MagicTypeInfo.FEITIANZHAN:
                        case GameStruct.MagicTypeInfo.XUEYINGQIANHUAN:
                        //  case GameStruct.MagicTypeInfo.XUEYINGLUNHUI:
                        case GameStruct.MagicTypeInfo.XUEYINGXINGMANG:
                        case GameStruct.MagicTypeInfo.LONGHUNFENGBAO:
                        case GameStruct.MagicTypeInfo.XUEXI:
                        case GameStruct.MagicTypeInfo.SHUNYINGJI:
                            {
                                head = 25;
                                tail = 26;
                                break;
                            }
                        case GameStruct.MagicTypeInfo.FEITIANLIANZHAN:
                        case GameStruct.MagicTypeInfo.LONGQIANGLIEHUN:
                        case GameStruct.MagicTypeInfo.LONGQIANGZANGHUN:
                        case GameStruct.MagicTypeInfo.LONGQIANGSUIHUN:
                        case GameStruct.MagicTypeInfo.SILIANZHAN:
                        case GameStruct.MagicTypeInfo.LIULIANZHAN:
                            {
                                head = 26;
                                tail = 27;
                                break;
                            }
                        case GameStruct.MagicTypeInfo.XUEYINGLUNHUI:
                            {
                                head = 25;
                                tail = 28;
                                break;
                            }
                        case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                            {
                                head = 27;
                                tail = 28;
                                break;
                            }
                    }
                }
                //针对玩家对玩家 不同的符号分隔符
                else if (target.type == OBJECTTYPE.PLAYER)
                {


                    {
                        switch (magicid)
                        {
                            case GameStruct.MagicTypeInfo.FEITIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGHUNFENGBAO:
                            case GameStruct.MagicTypeInfo.XUEYINGQIANHUAN:
                            case GameStruct.MagicTypeInfo.XUEYINGXINGMANG:
                            case GameStruct.MagicTypeInfo.XUEXI:
                            case GameStruct.MagicTypeInfo.SHUNYINGJI:
                                {
                                    head = 26;
                                    tail = 26;
                                    break;
                                }
                            case GameStruct.MagicTypeInfo.FEITIANLIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGQIANGLIEHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGZANGHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGSUIHUN:
                            case GameStruct.MagicTypeInfo.SILIANZHAN:
                            case GameStruct.MagicTypeInfo.LIULIANZHAN:
                                {
                                    head = 27;
                                    tail = 27;
                                    break;
                                }
                            case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 28;
                                    tail = 28;
                                    break;
                                }
                        }
                    }
                }
                else if (target.type == OBJECTTYPE.EUDEMON)
                {
                    switch (magicid)
                    {
                        case GameStruct.MagicTypeInfo.FEITIANZHAN:
                        case GameStruct.MagicTypeInfo.LONGHUNFENGBAO:
                        case GameStruct.MagicTypeInfo.XUEYINGQIANHUAN:
                        case GameStruct.MagicTypeInfo.XUEYINGXINGMANG:
                        case GameStruct.MagicTypeInfo.XUEXI:
                        case GameStruct.MagicTypeInfo.SHUNYINGJI:
                            {
                                head = 29;
                                tail = 26;
                                break;
                            }
                        case GameStruct.MagicTypeInfo.FEITIANLIANZHAN:
                        case GameStruct.MagicTypeInfo.LONGQIANGLIEHUN:
                        case GameStruct.MagicTypeInfo.LONGQIANGZANGHUN:
                        case GameStruct.MagicTypeInfo.LONGQIANGSUIHUN:
                        case GameStruct.MagicTypeInfo.SILIANZHAN:
                        case GameStruct.MagicTypeInfo.LIULIANZHAN:
                            {
                                head = 30;
                                tail = 27;
                                break;
                            }
                        case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                            {
                                head = 31;
                                tail = 31;
                                break;
                            }

                    }
                }
            }
            else
                //坐标大于四位数或者被攻击对象是玩家- 分隔符不一样
                //遇到单个坐标为四位数还有问题--需要反汇编调试 2015.9.14
                //
                //x y坐标都大于四位
                if (
                    ((target.GetCurrentX() > 999 && target.GetCurrentY() > 999) ||
                    (attack.GetCurrentX() > 999 && attack.GetCurrentY() > 999)))
                {
                    if (target.type == OBJECTTYPE.MONSTER)
                    {
                        switch (magicid)
                        {
                            case GameStruct.MagicTypeInfo.FEITIANLIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGQIANGLIEHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGZANGHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGSUIHUN:
                            case GameStruct.MagicTypeInfo.SILIANZHAN:
                            case GameStruct.MagicTypeInfo.LIULIANZHAN:
                                {
                                    head = 28;
                                    tail = 29;
                                    break;
                                }
                            case GameStruct.MagicTypeInfo.FEITIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGHUNFENGBAO:
                            case GameStruct.MagicTypeInfo.XUEYINGQIANHUAN:
                            case GameStruct.MagicTypeInfo.XUEYINGXINGMANG:
                            case GameStruct.MagicTypeInfo.XUEXI:
                            case GameStruct.MagicTypeInfo.SHUNYINGJI:
                                //   case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 27;
                                    tail = 28;
                                    break;
                                }
                            case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 29;
                                    tail = 30;
                                    break;
                                }
                        }
                    }
                    else if (target.type == OBJECTTYPE.PLAYER)
                    {
                        switch (magicid)
                        {
                            case GameStruct.MagicTypeInfo.XUEYINGQIANHUAN:
                            case GameStruct.MagicTypeInfo.XUEYINGXINGMANG:
                            case GameStruct.MagicTypeInfo.XUEXI:
                            case GameStruct.MagicTypeInfo.SHUNYINGJI:
                                //  case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 27;
                                    tail = 27;
                                    break;
                                }
                            case GameStruct.MagicTypeInfo.FEITIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGHUNFENGBAO:
                                {
                                    head = 28;
                                    tail = 28;
                                    break;
                                }
                            case GameStruct.MagicTypeInfo.FEITIANLIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGQIANGLIEHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGZANGHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGSUIHUN:
                            case GameStruct.MagicTypeInfo.SILIANZHAN:
                            case GameStruct.MagicTypeInfo.LIULIANZHAN:
                            case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 29;
                                    tail = 29;
                                    break;
                                }

                        }
                    }
                    else if (target.type == OBJECTTYPE.EUDEMON)
                    {
                        switch (magicid)
                        {
                            case GameStruct.MagicTypeInfo.XUEYINGQIANHUAN:
                            case GameStruct.MagicTypeInfo.XUEYINGXINGMANG:
                            case GameStruct.MagicTypeInfo.XUEXI:
                            case GameStruct.MagicTypeInfo.SHUNYINGJI:
                                //  case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 31;
                                    tail = 28;
                                    break;
                                }
                            case GameStruct.MagicTypeInfo.FEITIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGHUNFENGBAO:
                                {
                                    head = 31;
                                    tail = 28;
                                    break;
                                }
                            case GameStruct.MagicTypeInfo.FEITIANLIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGQIANGLIEHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGZANGHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGSUIHUN:
                            case GameStruct.MagicTypeInfo.SILIANZHAN:
                            case GameStruct.MagicTypeInfo.LIULIANZHAN:
                            case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 32;
                                    tail = 29;
                                    break;
                                }

                        }
                    }

                    //一个四位坐标 一个三位坐标
                }
                else if (target.GetCurrentX() > 999 || target.GetCurrentY() > 999 ||
                   attack.GetCurrentX() > 999 || attack.GetCurrentY() > 999)
                {
                    if (target.type == OBJECTTYPE.MONSTER)
                    {
                        switch (magicid)
                        {
                            case GameStruct.MagicTypeInfo.LONGHUNFENGBAO:
                            case GameStruct.MagicTypeInfo.FEITIANZHAN:
                            case GameStruct.MagicTypeInfo.XUEYINGQIANHUAN:
                            case GameStruct.MagicTypeInfo.XUEYINGXINGMANG:
                            case GameStruct.MagicTypeInfo.XUEXI:
                            case GameStruct.MagicTypeInfo.SHUNYINGJI:
                                // case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 26;
                                    tail = 27;
                                    break;
                                }
                            case GameStruct.MagicTypeInfo.LONGQIANGSUIHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGZANGHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGLIEHUN:
                            case GameStruct.MagicTypeInfo.FEITIANLIANZHAN:
                            case GameStruct.MagicTypeInfo.SILIANZHAN:
                            case GameStruct.MagicTypeInfo.LIULIANZHAN:
                                {
                                    head = 27;
                                    tail = 28;
                                    break;
                                }
                            case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 28;
                                    tail = 29;
                                    break;
                                }
                        }
                    }
                    else if (target.type == OBJECTTYPE.PLAYER)
                    {
                        switch (magicid)
                        {
                            case GameStruct.MagicTypeInfo.FEITIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGHUNFENGBAO:
                            case GameStruct.MagicTypeInfo.XUEYINGQIANHUAN:
                            case GameStruct.MagicTypeInfo.XUEYINGXINGMANG:
                            case GameStruct.MagicTypeInfo.XUEXI:
                            case GameStruct.MagicTypeInfo.SHUNYINGJI:
                                //    case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 27;
                                    tail = 27;
                                    break;
                                }
                            case GameStruct.MagicTypeInfo.FEITIANLIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGQIANGLIEHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGZANGHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGSUIHUN:
                            case GameStruct.MagicTypeInfo.SILIANZHAN:
                            case GameStruct.MagicTypeInfo.LIULIANZHAN:
                                {
                                    head = 28;
                                    tail = 28;

                                    break;
                                }
                            case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 30;
                                    tail = 30;
                                    break;
                                }
                        }
                    }
                    else if (target.type == OBJECTTYPE.EUDEMON)
                    {
                        switch (magicid)
                        {
                            case GameStruct.MagicTypeInfo.FEITIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGHUNFENGBAO:
                            case GameStruct.MagicTypeInfo.XUEYINGQIANHUAN:
                            case GameStruct.MagicTypeInfo.XUEYINGXINGMANG:
                            case GameStruct.MagicTypeInfo.XUEXI:
                            case GameStruct.MagicTypeInfo.SHUNYINGJI:
                                //    case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 20;
                                    tail = 27;
                                    break;
                                }
                            case GameStruct.MagicTypeInfo.FEITIANLIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGQIANGLIEHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGZANGHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGSUIHUN:
                            case GameStruct.MagicTypeInfo.SILIANZHAN:
                            case GameStruct.MagicTypeInfo.LIULIANZHAN:
                                {
                                    head = 31;
                                    tail = 28;

                                    break;
                                }
                            case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 30;
                                    tail = 30;
                                    break;
                                }
                        }
                    }


                    //一个三位数 一个二位数
                }
                else if (target.GetCurrentX() > 99 && target.GetCurrentY() < 99 ||
                   attack.GetCurrentX() < 99 && attack.GetCurrentY() > 99)
                {

                    if (target.type == OBJECTTYPE.MONSTER)
                    {
                        switch (magicid)
                        {
                            case GameStruct.MagicTypeInfo.FEITIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGHUNFENGBAO:
                            case GameStruct.MagicTypeInfo.XUEYINGQIANHUAN:
                            case GameStruct.MagicTypeInfo.XUEYINGXINGMANG:
                            case GameStruct.MagicTypeInfo.XUEXI:
                            case GameStruct.MagicTypeInfo.SHUNYINGJI:
                                //    case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 24;
                                    tail = 25;
                                    break;
                                }
                            case GameStruct.MagicTypeInfo.FEITIANLIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGQIANGLIEHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGZANGHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGSUIHUN:
                            case GameStruct.MagicTypeInfo.SILIANZHAN:
                            case GameStruct.MagicTypeInfo.LIULIANZHAN:
                                {
                                    head = 25;
                                    tail = 26;

                                    break;
                                }
                            case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 26;
                                    tail = 27;
                                    break;
                                }
                        }
                    }
                    else if (target.type == OBJECTTYPE.PLAYER)
                    {
                        switch (magicid)
                        {
                            case GameStruct.MagicTypeInfo.FEITIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGHUNFENGBAO:
                            case GameStruct.MagicTypeInfo.XUEYINGQIANHUAN:
                            case GameStruct.MagicTypeInfo.XUEYINGXINGMANG:
                            case GameStruct.MagicTypeInfo.XUEXI:
                            case GameStruct.MagicTypeInfo.SHUNYINGJI:
                                //    case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 25;
                                    tail = 25;
                                    break;
                                }
                            case GameStruct.MagicTypeInfo.FEITIANLIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGQIANGLIEHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGZANGHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGSUIHUN:
                            case GameStruct.MagicTypeInfo.SILIANZHAN:
                            case GameStruct.MagicTypeInfo.LIULIANZHAN:
                                {
                                    head = 26;
                                    tail = 26;

                                    break;
                                }
                            case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 27;
                                    tail = 27;
                                    break;
                                }
                        }
                    }
                    else if (target.type == OBJECTTYPE.EUDEMON)
                    {
                        switch (magicid)
                        {
                            case GameStruct.MagicTypeInfo.FEITIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGHUNFENGBAO:
                            case GameStruct.MagicTypeInfo.XUEYINGQIANHUAN:
                            case GameStruct.MagicTypeInfo.XUEYINGXINGMANG:
                            case GameStruct.MagicTypeInfo.XUEXI:
                            case GameStruct.MagicTypeInfo.SHUNYINGJI:
                                //    case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 28;
                                    tail = 25;
                                    break;
                                }
                            case GameStruct.MagicTypeInfo.FEITIANLIANZHAN:
                            case GameStruct.MagicTypeInfo.LONGQIANGLIEHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGZANGHUN:
                            case GameStruct.MagicTypeInfo.LONGQIANGSUIHUN:
                            case GameStruct.MagicTypeInfo.SILIANZHAN:
                            case GameStruct.MagicTypeInfo.LIULIANZHAN:
                                {
                                    head = 29;
                                    tail = 26;

                                    break;
                                }
                            case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                {
                                    head = 30;
                                    tail = 27;
                                    break;
                                }
                        }
                    }

                }
                else
                    //二个二位数的
                    if (target.GetCurrentX() < 99 && target.GetCurrentY() < 99 ||
                    attack.GetCurrentX() < 99 && attack.GetCurrentY() < 99)
                    {
                        if (target.type == OBJECTTYPE.MONSTER)
                        {
                            switch (magicid)
                            {
                                case GameStruct.MagicTypeInfo.FEITIANZHAN:
                                case GameStruct.MagicTypeInfo.LONGHUNFENGBAO:
                                case GameStruct.MagicTypeInfo.XUEYINGQIANHUAN:
                                case GameStruct.MagicTypeInfo.XUEYINGXINGMANG:
                                case GameStruct.MagicTypeInfo.XUEXI:
                                case GameStruct.MagicTypeInfo.SHUNYINGJI:
                                    //    case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                    {
                                        head = 23;
                                        tail = 24;
                                        break;
                                    }
                                case GameStruct.MagicTypeInfo.FEITIANLIANZHAN:
                                case GameStruct.MagicTypeInfo.LONGQIANGLIEHUN:
                                case GameStruct.MagicTypeInfo.LONGQIANGZANGHUN:
                                case GameStruct.MagicTypeInfo.LONGQIANGSUIHUN:
                                case GameStruct.MagicTypeInfo.SILIANZHAN:
                                case GameStruct.MagicTypeInfo.LIULIANZHAN:
                                    {
                                        head = 24;
                                        tail = 25;

                                        break;
                                    }
                                case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                    {
                                        head = 25;
                                        tail = 26;
                                        break;
                                    }
                            }
                        }
                        else if (target.type == OBJECTTYPE.PLAYER)
                        {
                            switch (magicid)
                            {
                                case GameStruct.MagicTypeInfo.FEITIANZHAN:
                                case GameStruct.MagicTypeInfo.LONGHUNFENGBAO:
                                case GameStruct.MagicTypeInfo.XUEYINGQIANHUAN:
                                case GameStruct.MagicTypeInfo.XUEYINGXINGMANG:
                                case GameStruct.MagicTypeInfo.XUEXI:
                                case GameStruct.MagicTypeInfo.SHUNYINGJI:
                                    //    case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                    {
                                        head = 24;
                                        tail = 24;
                                        break;
                                    }
                                case GameStruct.MagicTypeInfo.FEITIANLIANZHAN:
                                case GameStruct.MagicTypeInfo.LONGQIANGLIEHUN:
                                case GameStruct.MagicTypeInfo.LONGQIANGZANGHUN:
                                case GameStruct.MagicTypeInfo.LONGQIANGSUIHUN:
                                case GameStruct.MagicTypeInfo.SILIANZHAN:
                                case GameStruct.MagicTypeInfo.LIULIANZHAN:
                                    {
                                        head = 25;
                                        tail = 25;

                                        break;
                                    }
                                case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                    {
                                        head = 26;
                                        tail = 26;
                                        break;
                                    }
                            }
                        }
                        else if (target.type == OBJECTTYPE.EUDEMON)
                        {
                            switch (magicid)
                            {
                                case GameStruct.MagicTypeInfo.FEITIANZHAN:
                                case GameStruct.MagicTypeInfo.LONGHUNFENGBAO:
                                case GameStruct.MagicTypeInfo.XUEYINGQIANHUAN:
                                case GameStruct.MagicTypeInfo.XUEYINGXINGMANG:
                                case GameStruct.MagicTypeInfo.XUEXI:
                                case GameStruct.MagicTypeInfo.SHUNYINGJI:
                                    //    case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                    {
                                        head = 27;
                                        tail = 24;
                                        break;
                                    }
                                case GameStruct.MagicTypeInfo.FEITIANLIANZHAN:
                                case GameStruct.MagicTypeInfo.LONGQIANGLIEHUN:
                                case GameStruct.MagicTypeInfo.LONGQIANGZANGHUN:
                                case GameStruct.MagicTypeInfo.LONGQIANGSUIHUN:
                                case GameStruct.MagicTypeInfo.SILIANZHAN:
                                case GameStruct.MagicTypeInfo.LIULIANZHAN:
                                    {
                                        head = 28;
                                        tail = 25;

                                        break;
                                    }
                                case GameStruct.MagicTypeInfo.LIEHUNSHAN:
                                    {
                                        head = 29;
                                        tail = 26;
                                        break;
                                    }
                            }
                        }
                    }
              
        }
Exemple #31
0
 public MapServerScript(MapServer server)
 {
     _server = server;
     server.Room.SubscribeRpcsOnObject(this);
 }
Exemple #32
0
        public SymbolEFModel[] Get()
        {
            MapServer vMapServer = new MapServer();

            return(vMapServer.GetSymbols());
        }