示例#1
0
            private void runRound(int number)
            {
                if (number == 6)
                {
                    endEvent();
                }

                int amount = 120 + (60 * number);

                int i = amount;

                while (i != 0)
                {
                    spawnCircle(number);
                    Thread.Sleep(60000 / amount);
                    i--;
                }
                Thread.Sleep(5000);
                string round = "";

                switch (number)
                {
                case 1:
                    round = "first";
                    _map.Broadcast(UserInterfaceHelper.GenerateMsg(string.Format(Language.Instance.GetMessageFromKey("TOURNAMENT_ROUND"), round), 0));
                    break;

                case 2:
                    round = "second";
                    _map.Broadcast(UserInterfaceHelper.GenerateMsg(string.Format(Language.Instance.GetMessageFromKey("TOURNAMENT_ROUND"), round), 0));
                    break;

                case 3:
                    round = "three";
                    _map.Broadcast(UserInterfaceHelper.GenerateMsg(string.Format(Language.Instance.GetMessageFromKey("TOURNAMENT_ROUND"), round), 0));
                    break;

                case 4:
                    round = "fourth";
                    _map.Broadcast(UserInterfaceHelper.GenerateMsg(string.Format(Language.Instance.GetMessageFromKey("TOURNAMENT_ROUND"), round), 0));
                    break;

                case 5:
                    round = "ultimate";
                    _map.Broadcast(UserInterfaceHelper.GenerateMsg(string.Format(Language.Instance.GetMessageFromKey("TOURNAMENT_ROUND"), round), 0));
                    break;
                }

                Thread.Sleep(5000);

                // Your dropped reward
                _map.DropItems(generateDrop(_map.Map, 1046, 20, 200 * ((number + 1) > 10 ? 10 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 1030, 10, 3 * ((number + 1) > 10 ? 10 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2282, 10, 3 * ((number + 1) > 10 ? 10 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2514, 5, 1 * ((number + 1) > 10 ? 10 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2515, 5, 1 * ((number + 1) > 10 ? 10 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2516, 5, 1 * ((number + 1) > 10 ? 10 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2517, 5, 1 * ((number + 1) > 10 ? 10 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2518, 5, 1 * ((number + 1) > 10 ? 10 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2519, 5, 1 * ((number + 1) > 10 ? 10 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2520, 5, 1 * ((number + 1) > 10 ? 10 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2521, 5, 1 * ((number + 1) > 10 ? 10 : (number + 1))).ToList());
                foreach (ClientSession session in _map.Sessions)
                {
                    // Your reward that every player should get
                }

                Thread.Sleep(30000);
            }
示例#2
0
            private void runRound(int number)
            {
                int amount = 120 + (60 * number);

                int i = amount;

                while (i != 0)
                {
                    spawnCircle(number);
                    Thread.Sleep(60000 / amount);
                    i--;
                }
                Thread.Sleep(5000);
                _map.Broadcast(UserInterfaceHelper.GenerateMsg(string.Format(Language.Instance.GetMessageFromKey("METEORITE_ROUND"), number + 1), 0));
                Thread.Sleep(5000);

                // Your dropped reward
                _map.DropItems(generateDrop(_map.Map, 1046, 20, 200 * ((number + 1) > 3 ? 3 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 1030, 5, 3 * ((number + 1) > 3 ? 3 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2282, 5, 3 * ((number + 1) > 3 ? 3 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2514, 2, 1 * ((number + 1) > 3 ? 3 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2515, 2, 1 * ((number + 1) > 3 ? 3 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2516, 2, 1 * ((number + 1) > 3 ? 3 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2517, 2, 1 * ((number + 1) > 3 ? 3 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2518, 2, 1 * ((number + 1) > 3 ? 3 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2519, 2, 1 * ((number + 1) > 3 ? 3 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2520, 2, 1 * ((number + 1) > 3 ? 3 : (number + 1))).ToList());
                _map.DropItems(generateDrop(_map.Map, 2521, 2, 1 * ((number + 1) > 3 ? 3 : (number + 1))).ToList());
                foreach (ClientSession session in _map.Sessions)
                {
                    // Your reward that every player should get
                }

                Thread.Sleep(30000);
            }
            private void RunRound(int number)
            {
                int amount = 120 + (60 * number);

                int i = amount;

                while (i != 0)
                {
                    Observable.Timer(TimeSpan.FromMilliseconds(60000 / amount * i))
                    .Subscribe(observer => SpawnCircle(number));
                    i--;
                }

                Observable.Timer(TimeSpan.FromSeconds(65)).Subscribe(observer =>
                {
                    _map.Broadcast(UserInterfaceHelper.GenerateMsg(
                                       string.Format(Language.Instance.GetMessageFromKey("METEORITE_ROUND"), number + 1), 1));
                });

                Observable.Timer(TimeSpan.FromSeconds(70)).Subscribe(observer =>
                {
                    // Your dropped reward
                    _map.DropItems(GenerateDrop(_map.Map, 1046, 20, 10000 * ((number) > 10 ? 10 : (number)))
                                   .ToList());
                    _map.DropItems(GenerateDrop(_map.Map, 1030, 10, 3 * ((number) > 10 ? 10 : (number)))
                                   .ToList());
                    _map.DropItems(GenerateDrop(_map.Map, 2282, 10, 3 * ((number) > 10 ? 10 : (number)))
                                   .ToList());
                    _map.DropItems(
                        GenerateDrop(_map.Map, 2514, 2, 1 * ((number) > 10 ? 10 : (number)))
                        .ToList());
                    _map.DropItems(
                        GenerateDrop(_map.Map, 2515, 2, 1 * ((number) > 10 ? 10 : (number)))
                        .ToList());
                    _map.DropItems(
                        GenerateDrop(_map.Map, 2516, 2, 1 * ((number) > 10 ? 10 : (number)))
                        .ToList());
                    _map.DropItems(
                        GenerateDrop(_map.Map, 2517, 2, 1 * ((number) > 10 ? 10 : (number)))
                        .ToList());
                    _map.DropItems(
                        GenerateDrop(_map.Map, 2518, 2, 1 * ((number) > 10 ? 10 : (number)))
                        .ToList());
                    _map.DropItems(
                        GenerateDrop(_map.Map, 2519, 2, 1 * ((number) > 10 ? 10 : (number)))
                        .ToList());
                    _map.DropItems(
                        GenerateDrop(_map.Map, 2520, 2, 1 * ((number) > 10 ? 10 : (number)))
                        .ToList());
                    _map.DropItems(
                        GenerateDrop(_map.Map, 2521, 2, 1 * ((number) > 10 ? 10 : (number)))
                        .ToList());
                    // ReSharper disable once UnusedVariable
                    //foreach (ClientSession session in _map.Sessions)
                    //{
                    // Your reward that every player should get
                    //}
                });
            }