public void ChangeDroneFormation(int NewFormationID)
        {
            if (NewFormationID == (int)Player.SettingsManager.SelectedFormation)
            {
                return;
            }

            if (formationCooldown.AddMilliseconds(TimeManager.FORMATION_COOLDOWN) < DateTime.Now || Player.Storage.GodMode)
            {
                Player.SendCooldown(ServerCommands.DRONE_FORMATION_COOLDOWN, 3000);

                Player.SettingsManager.SelectedFormation         = (short)NewFormationID;
                Player.Settings.InGameSettings.selectedFormation = NewFormationID;

                var formationCommand = DroneFormationChangeCommand.write(Player.Id, NewFormationID);
                Player.SendCommand(formationCommand);
                Player.SendCommandToInRangePlayers(formationCommand);

                Player.UpdateStatus();

                QueryManager.SavePlayer.Settings(Player);

                formationCooldown = DateTime.Now;
            }
        }
        public void ChangeDroneFormation(string NewFormationID)
        {
            if (NewFormationID == Player.Settings.InGameSettings.selectedFormation)
            {
                return;
            }

            if (formationCooldown.AddMilliseconds(TimeManager.FORMATION_COOLDOWN) < DateTime.Now || Player.Storage.GodMode)
            {
                Player.SendCooldown(DEFAULT_FORMATION, DRONE_CHANGE_COOLDOWN_TIME);

                string oldSelectedItem = Player.Settings.InGameSettings.selectedFormation;
                Player.Settings.InGameSettings.selectedFormation = NewFormationID;
                Player.SettingsManager.SendNewItemStatus(oldSelectedItem);
                Player.SettingsManager.SendNewItemStatus(NewFormationID);
                Player.Settings.InGameSettings.selectedFormation = NewFormationID;

                var formationCommand = DroneFormationChangeCommand.write(Player.Id, GetSelectedFormationId(NewFormationID));
                Player.SendCommand(formationCommand);
                Player.SendCommandToInRangePlayers(formationCommand);

                Player.UpdateStatus();
                Player.SettingsManager.SendNewItemStatus(NewFormationID);

                formationCooldown = DateTime.Now;
            }
        }
        public void UpdateDrones()
        {
            Config1Designs = new List <int> {
                0, 0, 0, 0, 0, 0, 0, 0, 0, 0
            };
            Config2Designs = new List <int> {
                0, 0, 0, 0, 0, 0, 0, 0, 0, 0
            };

            SetDroneDesigns();

            string drones = GetDronesPacket();

            Player.SendPacket(drones);
            Player.SendPacketToInRangePlayers(drones);

            var droneFormationChangeCommand = DroneFormationChangeCommand.write(Player.Id, (int)Player.SettingsManager.SelectedFormation);

            Player.SendCommand(droneFormationChangeCommand);
            Player.SendCommandToInRangePlayers(droneFormationChangeCommand);
        }
        public void UpdateDrones(bool updateItems = false)
        {
            if (updateItems)
            {
                Config1Designs = new List <int> {
                    0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                };
                Config2Designs = new List <int> {
                    0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                };
                SetDroneDesigns();
            }

            string drones = GetDronesPacket();

            Player.SendPacket(drones);
            Player.SendPacketToInRangePlayers(drones);

            var droneFormationChangeCommand = DroneFormationChangeCommand.write(Player.Id, GetSelectedFormationId(Player.Settings.InGameSettings.selectedFormation));

            Player.SendCommand(droneFormationChangeCommand);
            Player.SendCommandToInRangePlayers(droneFormationChangeCommand);
        }
Example #5
0
        public static void SendPlayer(Player player)
        {
            try
            {
                player.SendCommand(player.GetShipInitializationCommand());

                if (player.Title != "")
                {
                    player.SendPacket($"0|n|t|{player.Id}|1|{player.Title}");
                }

                player.SendPacket(player.DroneManager.GetDronesPacket());
                player.SendCommand(DroneFormationChangeCommand.write(player.Id, DroneManager.GetSelectedFormationId(player.Settings.InGameSettings.selectedFormation)));
                player.SendPacket("0|S|CFG|" + player.CurrentConfig);

                player.SendPacket($"0|A|BK|{player.Equipment.Items.BootyKeys}");
                //player.SendPacket("0|A|JV|0"); //atlama kuponu miktarı

                if (player.Group != null)
                {
                    player.Group.InitializeGroup(player);
                }

                var spaceball = EventManager.Spaceball.Character;
                if (EventManager.Spaceball.Active && spaceball != null)
                {
                    player.SendPacket($"0|n|ssi|{spaceball.Mmo}|{spaceball.Eic}|{spaceball.Vru}");
                }
                else
                {
                    player.SendPacket($"0|n|ssi|0|0|0");
                }

                /*
                 * var priceList = new List<JumpCPUPriceMappingModule>();
                 * var price = new List<int>();
                 * price.Add(1);
                 * price.Add(14);
                 * price.Add(15);
                 * price.Add(16);
                 * priceList.Add(new JumpCPUPriceMappingModule(0, price));
                 * player.SendCommand(JumpCPUUpdateCommand.write(priceList));
                 *
                 * player.SendCommand(CpuInitializationCommand.write(true, false));
                 */
                //player.SendPacket("0|A|JCPU|S|20|1"); //ATLAMA GERİ SAYIM

                player.SendCommand(SetSpeedCommand.write(player.Speed, player.Speed));
                player.Spacemap.SendObjects(player);

                player.BoosterManager.Update();

                if (player.Pet != null)
                {
                    player.SendCommand(PetInitializationCommand.write(true, true, !player.Settings.InGameSettings.petDestroyed));

                    if (player.Settings.InGameSettings.petDestroyed)
                    {
                        player.SendCommand(PetUIRepairButtonCommand.write(true, 250));
                    }
                }

                player.UpdateStatus();

                //player.SendCommand(UbaWindowInitializationCommand.write(new Ubas3wModule(new UbaG3FModule(0, 0, 0, 0), new Uba64iModule("", 0, new //List<UbaHtModule>()), new UbahsModule(new List<Ubal4bModule>())), 0));


                //player.SendCommand(VideoWindowCreateCommand.write(1, "l", true, new List<string> { "start_head", "tutorial_video_msg_reward_premium_intro" }, 1, 1));

                //player.SendPacket("0|n|KSMSG|start_head");


                //player.SendCommand(command_e4W.write(1, "", new class_oS(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), "", new class_s16(1, class_s16.varC3p), 1));

                //player.SendCommand(command_z3Q.write(command_z3Q.varC2f));

                /*
                 * var contacts = new List<class_i1d>();
                 *
                 * var DDDDD = new List<class_84I>();
                 *
                 *
                 * var DDDDsD = new List<class_533>();
                 * DDDDsD.Add(new class_533(class_533.varN2g));
                 *
                 * contacts.Add(new class_i1d(new class_O4f(2, DDDDD), new class_y3i(2, DDDDsD)));
                 * contacts.Add(new class_i1d(new class_O4f(1, DDDDD), new class_y3i(1, DDDDsD)));
                 *
                 * player.SendCommand(ContactsListUpdateCommand.write(new class_o3q(contacts), new class_g1a(true, true, true, true), new class_H4Q(false)));
                 */

                /*
                 * if (isLogin)
                 * {
                 * UBA SEASON
                 *
                 *  var ht = new List<UbaHtModule>();
                 *  var j3s = new List<command_j3s>();
                 *  j3s.Add(new Ubaf3kModule("currency_uridium", 250000));
                 *  ht.Add(new UbaHtModule("asddas", j3s));
                 *
                 *  var l4b = new List<Ubal4bModule>();
                 *  l4b.Add(new Ubal4bModule("Bilmemne Sezonu", 2));
                 *
                 *  player.SendCommand(UbaWindowInitializationCommand.write(new Ubas3wModule(new UbaG3FModule(55, 60, 5, 333443), new Uba64iModule("Yaz Sezonu", 1, ht), new UbahsModule(l4b)), 0));
                 * }
                 */

                player.SendCommand(player.GetBeaconCommand());
            }
            catch (Exception e)
            {
                Out.WriteLine("UID: " + player.Id + " SendPlayerItems void exception: " + e, "LoginRequestHandler.cs");
                Logger.Log("error_log", $"- [LoginRequestHandler.cs] SendPlayerItems void exception: {e}");
            }
        }
Example #6
0
        public bool AddInRangeCharacter(Character character)
        {
            try
            {
                if (character == null || InRangeCharacters.ContainsKey(character.Id) || character.Destroyed || character.Id == Id || character.Spacemap.Id != Spacemap.Id)
                {
                    return(false);
                }

                var success = InRangeCharacters.TryAdd(character.Id, character);

                if (success)
                {
                    InRangeCharacterAdded?.Invoke(this, new CharacterArgs(character));

                    if (this is Player player)
                    {
                        short relationType = character.Clan.Id != 0 && Clan.Id != 0 ? Clan.GetRelation(character.Clan) : (short)0;

                        if (character is Player)
                        {
                            var otherPlayer = character as Player;
                            player.SendCommand(otherPlayer.GetShipCreateCommand(player, relationType));

                            if (otherPlayer.Title != "" && !EventManager.JackpotBattle.InEvent(otherPlayer))
                            {
                                player.SendPacket($"0|n|t|{otherPlayer.Id}|1|{otherPlayer.Title}");
                            }

                            player.SendPacket(otherPlayer.DroneManager.GetDronesPacket());
                            player.SendCommand(DroneFormationChangeCommand.write(otherPlayer.Id, DroneManager.GetSelectedFormationId(otherPlayer.Settings.InGameSettings.selectedFormation)));
                        }
                        else if (character is Pet)
                        {
                            var pet = character as Pet;
                            if (pet == player.Pet)
                            {
                                player.SendCommand(PetHeroActivationCommand.write(pet.Owner.Id, pet.Id, 22, 3, pet.Name, (short)pet.Owner.FactionId, pet.Owner.Clan.Id, 15, pet.Owner.Clan.Tag, pet.Position.X, pet.Position.Y, pet.Speed, new class_11d(class_11d.DEFAULT)));
                            }
                            else
                            {
                                player.SendCommand(PetActivationCommand.write(pet.Owner.Id, pet.Id, 22, 3, pet.Name, (short)pet.Owner.FactionId, pet.Owner.Clan.Id, 15, pet.Owner.Clan.Tag, new ClanRelationModule(relationType), pet.Position.X, pet.Position.Y, pet.Speed, false, true, new class_11d(class_11d.DEFAULT)));
                            }
                        }
                        else
                        {
                            player.SendCommand(character.GetShipCreateCommand());
                        }

                        var timeElapsed = (DateTime.Now - character.MovementStartTime).TotalMilliseconds;
                        player.SendCommand(MoveCommand.write(character.Id, character.Destination.X, character.Destination.Y, (int)(character.MovementTime - timeElapsed)));
                    }
                }

                return(success);
            }
            catch (Exception e)
            {
                Out.WriteLine("AddInRangeCharacter void exception " + e, "Character.cs");
                Logger.Log("error_log", $"- [Character.cs] AddInRangeCharacter void exception: {e}");
                return(false);
            }
        }
        public static void SendPlayerItems(Player player, bool isLogin = true)
        {
            player.SendCommand(player.GetShipInitializationCommand());

            if (player.Title != "")
                player.SendPacket("0|n|t|" + player.Id + "|1|" + player.Title + "");

            if (isLogin)
            {
                player.DroneManager.UpdateDrones();
                player.SendPacket("0|S|CFG|" + player.CurrentConfig);
                player.SendPacket("0|A|BK|0"); //yeşil kutu miktarı
                player.SendPacket("0|A|JV|0"); //atlama kuponu miktarı
            }
            else
            {
                player.SendPacket(player.DroneManager.GetDronesPacket());
                var droneFormationChangeCommand = DroneFormationChangeCommand.write(player.Id, (int)player.SettingsManager.SelectedFormation);
                player.SendCommand(droneFormationChangeCommand);
                player.SendCommandToInRangePlayers(droneFormationChangeCommand);
            }

            var spaceball = EventManager.Spaceball.Character;
            if (EventManager.Spaceball.Active && spaceball != null)
                player.SendPacket($"0|n|ssi|{spaceball.Mmo}|{spaceball.Eic}|{spaceball.Vru}");
            else
                player.SendPacket($"0|n|ssi|0|0|0");


            if (isLogin)
            {
                player.SendPacket("0|ps|nüscht");
                player.SendPacket("0|ps|blk|" + Convert.ToInt32(player.Settings.InGameSettings.blockedGroupInvites));

                if (player.Group != null)
                    GroupSystem.GroupInitializationCommand(player.GameSession.Player);
                else
                {
                    foreach (var userId in player.Storage.GroupInvites.Keys)
                        if (GameManager.GetPlayerById(userId) != null)
                            GroupSystem.GroupInviteCommand(GameManager.GetPlayerById(userId), player);
                }
            }

            if (!player.Premium)
                player.SendCommand(PetBlockUICommand.write(true));

            player.Spacemap.SendObjects(player);

            if (isLogin)
                player.Spacemap.SendPlayers(player);

            player.CheckAbilities(player);

            if (isLogin)
                player.SettingsManager.SendSlotBarItems();

            player.SettingsManager.SendRemoveWindows();

            if (isLogin)
            {
                player.SendCommand(PetInitializationCommand.write(true, true, true));
                player.UpdateStatus();
            }

            player.SendCurrentCooldowns();
            QueryManager.SavePlayer.Information(player);
        }
        public bool AddInRangeCharacter(Character character)
        {
            if (character.Spacemap != Spacemap || IsInRangeCharacter(character) || character.Destroyed)
            {
                return(false);
            }
            if (character == this)
            {
                return(false);
            }

            var success = InRangeCharacters.TryAdd(character.Id, character);

            if (success)
            {
                InRangeCharacterAdded?.Invoke(this, new CharacterArgs(character));

                if (this is Player player)
                {
                    short relationType = character.Clan != null && Clan != null?Clan.GetRelation(character.Clan) : (short)0;

                    bool sameClan = character.Clan != null && Clan != null ? Clan == character.Clan : false;

                    if (character is Player)
                    {
                        var otherPlayer = character as Player;
                        player.SendCommand(otherPlayer.GetShipCreateCommand(player.RankId == 21 ? true : false, relationType, sameClan, (EventManager.JackpotBattle.Active && player.Spacemap == EventManager.JackpotBattle.Spacemap && otherPlayer.Spacemap == EventManager.JackpotBattle.Spacemap)));
                        player.SendPacket($"0|n|INV|{otherPlayer.Id}|{Convert.ToInt32(otherPlayer.Invisible)}");

                        if (otherPlayer.Title != "" && !EventManager.JackpotBattle.Active && player.Spacemap != EventManager.JackpotBattle.Spacemap && otherPlayer.Spacemap != EventManager.JackpotBattle.Spacemap)
                        {
                            player.SendPacket($"0|n|t|{otherPlayer.Id}|1|{otherPlayer.Title}");
                        }

                        player.CheckAbilities(otherPlayer);
                        otherPlayer.DroneManager.UpdateDrones();
                        player.SendPacket(otherPlayer.DroneManager.GetDronesPacket());
                        player.SendCommand(DroneFormationChangeCommand.write(otherPlayer.Id, otherPlayer.SettingsManager.SelectedFormation));
                    }
                    else if (character is Pet)
                    {
                        var pet = character as Pet;
                        if (pet == player.Pet)
                        {
                            player.SendCommand(PetHeroActivationCommand.write(pet.Owner.Id, pet.Id, 22, 3, pet.Name, (short)pet.Owner.FactionId, pet.Owner.GetClanId(), 15, pet.Owner.GetClanTag(), pet.Position.X, pet.Position.Y, pet.Speed));
                        }
                        else
                        {
                            player.SendCommand(PetActivationCommand.write(pet.Owner.Id, pet.Id, 22, 3, pet.Name, (short)pet.Owner.FactionId, pet.Owner.GetClanId(), 15, pet.Owner.GetClanTag(), new ClanRelationModule(relationType), pet.Position.X, pet.Position.Y, pet.Speed, false, true));
                            player.SendPacket($"0|n|INV|{pet.Id}|{Convert.ToInt32(pet.Invisible)}");
                        }
                    }
                    else if (character is Spaceball)
                    {
                        var spaceball = character as Spaceball;
                        player.SendCommand(spaceball.GetShipCreateCommand());
                    }
                }
            }

            return(success);
        }