Example #1
0
 public static void InitDialog(World.Network.WorldClient client, string packet)
 {
     if (!client.Action.IsOccuped)
     {
         Database.Records.NpcPositionRecord Npc = client.Character.Map.Engine.GetNpc(int.Parse(packet.Substring(2)));
         if (Npc != null)
         {
             Database.Records.NpcDialogRecord Dialog = Helper.NpcHelper.GetDialog(Npc.Template.InitQuestion);
             if (Dialog != null)
             {
                 client.State = Network.WorldClientState.OnDialog;
                 client.Send("DCK" + int.Parse(packet.Substring(2)));
                 client.Send("DQ" + Dialog.ID + "|" + Dialog.Responses.Replace(",", ";"));
             }
             else
             {
                 client.Send("BN");
             }
         }
         else
         {
             client.Send("BN");
         }
     }
     else
     {
         client.Send("BN");
     }
 }
Example #2
0
        public static void CreateGuildRequest(World.Network.WorldClient client, string packet)
        {
            string[] data = packet.Substring(2).Split('|');

            //Guild creator request pattern : gC8|16777215|8|8796216|Nightteam

            int backArtID  = int.Parse(data[0]);
            int backColor  = int.Parse(data[1]);
            int frontArtID = int.Parse(data[2]);
            int frontColor = int.Parse(data[3]);

            Game.Guilds.GuildEmblem emblem = new Game.Guilds.GuildEmblem(backArtID, backColor, frontArtID, frontColor);

            string guildName = data[4];

            if (!Helper.GuildHelper.ExistGuild(guildName.ToLower()))
            {
                Game.Guilds.Guild guild = new Game.Guilds.Guild(1, guildName, emblem);
                guild.AddMember(client);
                client.Action.GuildMember.Rank = Game.Guilds.GuildRank.Leader;
                client.Action.GuildMember.AllowFullRight();
            }
            else // Guild already exist
            {
                client.Action.SystemMessage("Ce nom de guilde existe deja !");
                client.Send("gV");
            }

            client.Send("gV");
        }
Example #3
0
        public void HandleMoveItem(World.Network.WorldClient client, string packet)
        {
            //EMO+59|1|10000
            string data     = packet.Substring(4);
            char   typeMove = packet[3];

            string[] itemsInfos = data.Split('|');
            var      itemID     = int.Parse(itemsInfos[0]);
            var      quantity   = int.Parse(itemsInfos[1]);

            switch (typeMove)
            {
            case '+':
                var price = int.Parse(itemsInfos[2]);
                if (client.Character.Items.HaveItemID(itemID))
                {
                    var item = client.Character.Items.GetItem(itemID);
                    if (item != null)
                    {
                        if (quantity > 0 && item.Quantity >= quantity)
                        {
                            var ahi = new Database.Records.AuctionHouseItemRecord()
                            {
                                Owner     = client.Account.ID,
                                AuctionID = this.ID,
                                ItemID    = item.Template,
                                Quantity  = quantity,
                                SellPrice = price,
                                StartTime = 0,
                                Stats     = item.Engine.StringEffect(),
                            };
                            Database.Cache.AuctionHouseItemsCache.Cache.Add(ahi);
                            ahi.SaveAndFlush();

                            client.Character.Items.RemoveItem(item, quantity);

                            client.Send("EmK+" + ahi.ToEML());
                        }
                    }
                }
                break;

            case '-':
                var ahItem  = this.GetItemForOwner(client.Account.ID).FirstOrDefault(x => x.ID == itemID);
                var genItem = World.Helper.ItemHelper.GenerateItem(ahItem.ItemID);
                genItem.Engine.Load(ahItem.Stats, genItem.GetTemplate.WeaponInfo);
                genItem.Owner = client.Character.ID;
                client.Character.AddItem(genItem, ahItem.Quantity);

                client.Send("EmK-" + ahItem.ID);

                Database.Cache.AuctionHouseItemsCache.Cache.Remove(ahItem);
                ahItem.DeleteAndFlush();
                break;
            }
        }
Example #4
0
 public void ShowMap(World.Network.WorldClient client)
 {
     if (Map.DecryptKey != "")
     {
         client.Send(new StringBuilder("GDM|").Append(Map.ID)
                     .Append("|").Append(Map.CreateTime).Append("|").Append(Map.DecryptKey).ToString());
     }
     else
     {
         client.Send(new StringBuilder("GDM|").Append(Map.ID)
                     .Append("|").Append(Map.CreateTime).ToString());
     }
 }
Example #5
0
        public static void AddFriend(World.Network.WorldClient client, string packet)
        {
            string addType = packet[2].ToString();
            string nickname;

            Network.WorldClient player;
            switch (addType)
            {
            case "%":    //Character name
                nickname = packet.Substring(3);
                player   = Helper.WorldHelper.GetClientByCharacter(nickname);
                if (player != null)
                {
                    client.AccountData.FriendsIDs.Add(player.AccountData.AccountID);
                }
                else
                {
                    client.Send("cMEf" + nickname);
                }
                break;

            case "*":
                nickname = packet.Substring(3);
                player   = Helper.WorldHelper.GetClientByCharacter(nickname);
                if (player != null)
                {
                    client.AccountData.FriendsIDs.Add(player.AccountData.AccountID);
                }
                else
                {
                    client.Send("cMEf" + nickname);
                }
                break;

            default:
                nickname = packet.Substring(2);
                player   = Helper.WorldHelper.GetClientByCharacter(nickname);
                if (player != null)
                {
                    client.AccountData.FriendsIDs.Add(player.AccountData.AccountID);
                    client.Send("BN");
                }
                else
                {
                    client.Send("cMEf" + nickname);
                }
                break;
            }
        }
Example #6
0
        public void ShowPlayers(World.Network.WorldClient client)
        {
            string packet = "GM";

            CharactersOnMap.ForEach(x => packet += "|+" + x.Character.Pattern.ShowCharacterOnMap);
            client.Send(packet);
        }
Example #7
0
        public void HandleMoveKamas(World.Network.WorldClient client, string packet)
        {
            var kamas = 0;

            if (packet[0] == '-')//From bag
            {
                kamas = int.Parse(packet.Substring(1));
                if (this.Kamas >= kamas)//Anti-Cheat security
                {
                    client.Character.Kamas += kamas;
                    this.Kamas             -= kamas;
                }
            }
            else//From character/entity
            {
                kamas = int.Parse(packet);
                if (client.Character.Kamas >= kamas)//Anti-Cheat security
                {
                    client.Character.Kamas -= kamas;
                    this.Kamas             += kamas;
                }
            }
            this.Record.kamas = this.Kamas;
            this.Save();
            client.Send("ESKG" + this.Kamas);
            client.Character.Stats.RefreshStats();
        }
Example #8
0
 public void AddExp(int exp, World.Network.WorldClient client = null)
 {
     try
     {
         //Only add exp if is needed
         if (this.Level < 100 && this.Level > 0)
         {
             this.Experience += exp;
             var possibleNextLevel = Helper.ExpFloorHelper.GetJobFloorExp(this.Experience);
             if (possibleNextLevel != null)
             {
                 if (possibleNextLevel.ID != this.LevelFloor.ID)
                 {
                     this.Level = possibleNextLevel.ID;
                     if (client != null)
                     {
                         client.Send("JN" + this.JobID + "|" + this.Level);
                     }
                 }
             }
             this.SendJob(client);
         }
     }
     catch (Exception e)
     {
         Utilities.ConsoleStyle.Error("Can't add exp to the job : " + e.ToString());
     }
 }
Example #9
0
        public static void ShowFriends(World.Network.WorldClient client, string packet = "")
        {
            string friendPacket = "FL";

            foreach (int i in client.AccountData.FriendsIDs)
            {
                if (Helper.AccountHelper.ExistAccountData(i))
                {
                    Database.Records.AccountDataRecord account = Helper.AccountHelper.GetAccountData(i);
                    friendPacket += "|" + account.NickName;
                    World.Network.WorldClient player = Helper.WorldHelper.GetClientByAccountNickName(account.NickName);
                    if (player != null)
                    {
                        if (player.AccountData.FriendsIDs.Contains(client.AccountData.AccountID))
                        {
                            friendPacket += player.Character.Pattern.CharacterToFriendsListKnow;
                        }
                        else
                        {
                            friendPacket += player.Character.Pattern.CharacterToFriendsListUnKnow;
                        }
                    }
                }
            }
            client.Send(friendPacket);
        }
Example #10
0
        public static void OpenZaapPanel(World.Network.WorldClient client)
        {
            StringBuilder packet = new StringBuilder("WC" + client.Character.SaveMap + "|");

            client.Character.Zaaps.ForEach(x => packet.Append(x + ";" + GetPriceOfTravel(client.Character.MapID, x) + "|"));
            client.Send(packet.ToString().Substring(0, packet.ToString().Length - 1));
        }
Example #11
0
        public static void DropItem(World.Network.WorldClient client, string packet)
        {
            if (!Utilities.ConfigurationManager.GetBoolValue("EnableDropItems"))
            {
                client.Action.SystemMessage("Impossible de jeter des objets sur ce serveur, la fonction n'est pas activer !");
                return;
            }
            string[] data     = packet.Substring(2).Split('|');
            int      id       = int.Parse(data[0]);
            int      quantity = int.Parse(data[1]);

            if (client.Character.Map.Engine.GetDroppedItem(client.Character.CellID) == null)
            {
                Database.Records.WorldItemRecord playerItem = client.Character.Items.GetItem(id);

                if (playerItem != null)
                {
                    if (quantity == playerItem.Quantity)
                    {
                        int itemPos = playerItem.Position;
                        playerItem.Position = -1;
                        //Delete the item
                        if (itemPos != -1)
                        {
                            playerItem.Engine.Effects.ForEach(x => client.Character.Stats.ApplyEffect(x, true));
                            client.Action.RefreshCharacter();
                            client.Character.Stats.RefreshStats();
                            client.Action.RefreshRoleplayEntity();
                            client.Action.RefreshPods();
                        }
                        client.Character.Items.RemoveItem(playerItem, playerItem.Quantity, false);
                        client.Character.Map.Engine.AddNewDroppedItem(playerItem, client.Character.CellID);
                    }
                    else if (quantity < playerItem.Quantity)
                    {
                        //Remove quantity and create another object stack
                        Database.Records.WorldItemRecord duplicatedItem = new Database.Records.WorldItemRecord()
                        {
                            Template = playerItem.Template,
                            Quantity = quantity,
                            Effects  = playerItem.Effects,
                            Position = -1,
                        };
                        duplicatedItem.Engine.Load(duplicatedItem.Effects, duplicatedItem.GetTemplate.WeaponInfo);
                        client.Character.Items.RemoveItem(playerItem, quantity);
                        client.Character.Map.Engine.AddNewDroppedItem(duplicatedItem, client.Character.CellID);
                    }
                    client.Character.RefreshItemSet();
                    client.Action.RefreshCharacterJob(true);
                }
            }
            else
            {
                client.Send("BN");
            }
        }
Example #12
0
        public static void SendOperatorOnline(World.Network.WorldClient client)
        {
            var packet = new StringBuilder("100MJ|");
            var names  = new List <string>();

            World.Helper.WorldHelper.GetClientsArray.ToList().ForEach(x => names.Add(x.Character.Nickname));
            packet.Append(string.Join("|", names));
            names.Clear();
            client.Send(packet.ToString());
        }
Example #13
0
 public void ShowMonstersGroup(World.Network.WorldClient client)
 {
     try
     {
         this.Spawner.GroupsOnMap.ForEach(x => client.Send("GM" + x.CatchedPattern));
     }
     catch (Exception e)
     {
         Utilities.ConsoleStyle.Error("Can't show fights : " + e.ToString());
     }
 }
Example #14
0
        public static void HandleEmoteRequest(World.Network.WorldClient client, string packet)
        {
            var emoteID = int.Parse(packet.Substring(2));

            switch (emoteID)
            {
            case 1:    //Sit
                client.Action.StartAutoRegen();
                break;
            }
            client.Send("eUK" + client.Character.ID + "|" + emoteID);
        }
Example #15
0
 public void ShowIO(World.Network.WorldClient client)
 {
     if (!Program.ARKALIA)
     {
         var packet = new StringBuilder();
         foreach (var io in this.InteractiveObjects)
         {
             packet.Append(io.Value.GetPattern()).Append("\x00");
         }
         client.Send(packet.ToString());
     }
 }
Example #16
0
 public void SendJobTool(World.Network.WorldClient client)
 {
     if (client.Character.Items.GetItemAtPos(1) != null)
     {
         var item = client.Character.Items.GetItemAtPos(1);
         if (this.Tools.Contains(item.Template))
         {
             var packet = new StringBuilder("OT");
             packet.Append(this.JobID);
             client.Send(packet.ToString());
         }
     }
 }
Example #17
0
        public void ShowPanel(World.Network.WorldClient client)
        {
            client.Action.CurrentAuctionHouse = this;
            var packet = new StringBuilder("ECK11|");

            packet.Append("1,10,100;")
            .Append(this.GetStrTypeFromType())
            .Append(";").Append("500").Append(";")
            .Append(this.ItemLevelLimit)
            .Append(";")
            .Append(this.ItemLimit)
            .Append(";-1;").Append("2000000");
            client.Send(packet.ToString());
        }
Example #18
0
        public void ShowFightListInfos(World.Network.WorldClient client)
        {
            string packet = "fL";

            foreach (World.Game.Fights.Fight fight in FightsOnMap)
            {
                if (packet.Length > 2)
                {
                    packet += "|";
                }
                packet += fight.DisplayFightInformations;
            }
            client.Send(packet);
        }
Example #19
0
 public static void CancelInvitation(World.Network.WorldClient client)
 {
     if (client != null)
     {
         if (client.Action.InvitedGuildPlayer != -1)
         {
             var otherPlayer = World.Helper.WorldHelper.GetClientByCharacter(client.Action.InvitedGuildPlayer);
             if (otherPlayer != null)
             {
                 otherPlayer.Send("gJEc");
                 otherPlayer.Action.InvitedGuildPlayer = -1;
             }
             client.Send("gJEc");
             client.Action.InvitedGuildPlayer = -1;
         }
     }
 }
Example #20
0
        public void SendJobSkill(World.Network.WorldClient client)
        {
            var packet = new StringBuilder("JS");

            packet.Append("|").Append(this.JobID).Append(";");
            var skills = "";

            foreach (var s in this.Skills.FindAll(x => x.Level <= this.Level))
            {
                if (skills != "")
                {
                    skills += ",";
                }
                skills += s.ToJS();
            }
            packet.Append(skills);
            client.Send(packet.ToString());
        }
Example #21
0
        public static void RequestInviteMember(World.Network.WorldClient client, string packet)
        {
            // On verifie si il a une guilde et qu'il n'invite déjà personne
            if (client.Action.Guild != null && client.Action.InvitedGuildPlayer == -1)
            {
                if (client.Action.GuildMember != null)
                {
                    if (client.Action.GuildMember.HaveRight(Game.Guilds.GuildRightsConstants.CAN_INVITE))
                    {
                        var invitedPlayer = World.Helper.WorldHelper.GetClientByCharacter(packet.Substring(3));
                        //On verifie si le joueur voulus est connecter
                        if (invitedPlayer != null)
                        {
                            //Si il a pas de guilde on lui envois la demande
                            if (invitedPlayer.Action.Guild == null)
                            {
                                client.Send("gJR" + invitedPlayer.Character.Nickname);
                                invitedPlayer.Send("gJr" + client.Character.ID + "|" + client.Character.Nickname + "|" + client.Action.Guild.Name);

                                //On initialise les ID des demandes
                                client.Action.InvitedGuildPlayer        = invitedPlayer.Character.ID;
                                invitedPlayer.Action.InvitedGuildPlayer = client.Character.ID;
                            }
                            else
                            {
                                client.Action.SystemMessage("Ce joueur possede deja une guilde !");
                            }
                        }
                    }
                    else
                    {
                        client.Action.SystemMessage("Vous ne disposer pas des droits requis !");
                    }
                }
                else
                {
                    client.Action.SystemMessage("Joueur introuvable !");
                }
            }
            else
            {
                client.Action.SystemMessage("Vous devez posseder une guilde pour effectuer cette action !");
            }
        }
Example #22
0
        public void HandleMoveItem(World.Network.WorldClient client, string packet)
        {
            try
            {
                var mode     = packet[3];
                var id       = int.Parse(packet.Substring(4).Split('|')[0]);
                var quantity = int.Parse(packet.Substring(4).Split('|')[1]);

                if (mode == '+')
                {
                    var item = client.Character.Items.GetItem(id);
                    if (item.Quantity >= quantity)
                    {
                        item.Quantity -= quantity;
                        if (item.Quantity == 0)
                        {
                            client.Character.Items.RemoveItem(item, quantity, false);
                            item.Owner = -1;
                            item.SaveAndFlush();
                        }
                        else
                        {
                            client.Send("OQ" + item.ID + "|" + item.Quantity);
                        }
                        this.Add(item, quantity);
                    }
                }
                else
                {
                    //TODO: Remove items
                }
            }
            catch (Exception e)
            {
                Utilities.ConsoleStyle.Error("Can't handle move item : " + e.ToString());
            }
            finally
            {
                this.Save();
            }
        }
Example #23
0
 public void ShowPaddocks(World.Network.WorldClient client)
 {
     foreach (var paddock in this.Paddocks)
     {
         string packet = "Rp";
         if (paddock.IsPublic)
         {
             packet += "-1;";
             packet += "0;";
             packet += paddock.Capacity + ";";
             packet += "0;";
         }
         else
         {
             packet += paddock.Owner + ";";
             packet += paddock.Cost + ";";
             packet += paddock.Capacity + ";";
             packet += "0;";
         }
         client.Send(packet);
     }
 }
Example #24
0
 public void ShowNpcsOnMap(World.Network.WorldClient client)
 {
     try
     {
         string globalPattern = "GM";
         foreach (var npc in Npcs)
         {
             try
             {
                 globalPattern += npc.Patterns.DisplayOnMap;
             }
             catch (Exception e)
             {
             }
         }
         client.Send(globalPattern);
     }
     catch (Exception e)
     {
         Utilities.ConsoleStyle.Error("Can't show npc : " + e.ToString());
     }
 }
Example #25
0
        public static void ShowPaddocksMountData(World.Network.WorldClient client)
        {
            StringBuilder packet = new StringBuilder("ECK16|");
            List <string> data   = new List <string>();
            List <Database.Records.WorldMountRecord> mounts = Helper.PaddockHelper.GetMountForOwner(client.Character.ID);

            foreach (var m in mounts)
            {
                if (m.ScrollID == 0)
                {
                    if (client.Character.Mount != null)
                    {
                        if (client.Character.Mount.ID == m.ID)
                        {
                            continue;
                        }
                    }
                    data.Add(m.GetMountData);
                }
            }
            packet.Append(string.Join(";", data));
            client.Send(packet.ToString());
        }
Example #26
0
        public void SendJobInfos(World.Network.WorldClient client)
        {
            var packet = "JX|" + this.JobID + ";" + this.Level + ";";

            if (this.LevelFloor != null)
            {
                packet += this.LevelFloor.Job;
            }
            else
            {
                packet += this.Experience;
            }
            packet += ";" + this.Experience + ";";
            if (this.NextLevelFloor != null)
            {
                packet += this.NextLevelFloor.Job;
            }
            else
            {
                packet += this.Experience;
            }
            packet += ";";
            client.Send(packet);
        }
Example #27
0
 public static void ExitDialog(World.Network.WorldClient client, string packet = "")
 {
     client.State = Network.WorldClientState.None;
     client.Send("DV");
 }
Example #28
0
 public static void GuildKick(World.Network.WorldClient client, string packet)
 {
     if (client.Action.Guild != null && client.Action.GuildMember != null)
     {
         string nickname = packet.Substring(2);
         Game.Guilds.GuildMember guildMember = client.Action.Guild.FindMember(nickname);
         var guild = guildMember.OwnGuild;
         if (guildMember != null)
         {
             if (guildMember.Rank == Game.Guilds.GuildRank.Leader)
             {
                 if (guildMember.Character.ID == client.Character.ID)
                 {
                     if (guild.Members.Count > 1)
                     {
                         client.Action.Guild.KickMember(guildMember);
                         client.Send("gKK" + client.Character.Nickname + "|" + client.Character.Nickname);
                         client.Action.Guild       = null;
                         client.Action.GuildMember = null;
                         client.Action.RefreshRoleplayEntity();
                         guild.Delete();
                     }
                     else
                     {
                         client.Action.SystemMessage("Selectionner avant un nouveau meneur !");
                     }
                     return;
                 }
                 else
                 {
                     client.Action.SystemMessage("Impossible de bannir le joueur");
                     return;
                 }
             }
             /* Si il s'auto-kick */
             if (guildMember.ID == client.Action.GuildMember.ID)
             {
                 client.Action.Guild.KickMember(guildMember);
                 client.Send("gKK" + client.Character.Nickname + "|" + client.Character.Nickname);
                 client.Action.Guild       = null;
                 client.Action.GuildMember = null;
                 client.Action.RefreshRoleplayEntity();
             }
             else /* Il kick un autre joueur que sois même */
             {
                 if (client.Action.GuildMember.HaveRight(Game.Guilds.GuildRightsConstants.CAN_KICK))
                 {
                     client.Action.Guild.KickMember(guildMember);
                     Network.WorldClient kickedClient = World.Helper.WorldHelper.GetClientByCharacter(nickname);
                     if (kickedClient != null)
                     {
                         kickedClient.Send("gKK" + kickedClient.Character.Nickname + "|" + kickedClient.Character.Nickname);
                         kickedClient.Action.Guild       = null;
                         kickedClient.Action.GuildMember = null;
                         kickedClient.Action.RefreshRoleplayEntity();
                     }
                 }
                 else
                 {
                     client.Action.SystemMessage("Impossible de bannir le joueur : Vous ne posseder pas le droit");
                 }
             }
         }
         else
         {
             client.Action.SystemMessage("Le joueur n'existe pas, ou ne fait pas partie de la guilde !");
         }
     }
     else
     {
         client.Action.SystemMessage("Vous devez posseder une guilde pour effectuer cette action !");
     }
 }
Example #29
0
        public void ExecuteWithClientArg(ScriptArgs args, World.Network.WorldClient client, params object[] parameters)
        {
            try
            {
                switch (args.Args[0])
                {
                case "player":
                    switch (args.Args[1])
                    {
                    case "goto":
                        World.Network.World.GoToMap(client, args.GetIntValue(2), args.GetIntValue(3));
                        break;

                    case "respawn":
                        World.Network.World.GoToMap(client, client.Character.SaveMap, client.Character.SaveCell);
                        break;

                    case "dialog":
                        switch (args.Args[2])
                        {
                        case "start":
                            //TODO!
                            break;
                        }
                        break;

                    case "life":
                        switch (args.Args[2])
                        {
                        case "restore":
                            client.Action.Regen(int.Parse(args.Args[3]));
                            break;
                        }
                        break;

                    case "message":
                        client.Action.SystemMessage(args.GetStringValue(2));
                        break;

                    case "align":
                        switch (args.Args[2])
                        {
                        case "set":
                            if (client.Character.Fighter == null)
                            {
                                client.Character.Faction.SetAlign(int.Parse(args.Args[3]));
                            }
                            else
                            {
                                client.Action.SystemMessage("Impossible en combat !");
                            }
                            break;
                        }
                        break;

                    case "need":
                        switch (args.Args[2])
                        {
                        case "mj":
                            if (client.Account.AdminLevel < int.Parse(args.Args[3]))
                            {
                                client.Action.SystemMessage("Vous ne posseder pas les conditions requises !");
                                return;
                            }
                            break;
                        }
                        break;

                    case "look":
                        switch (args.Args[2])
                        {
                        case "set":
                            client.Character.Look = int.Parse(args.Args[3]);
                            client.Action.RefreshRoleplayEntity();
                            break;

                        case "normal":

                            break;
                        }
                        break;

                    case "scale":
                        switch (args.Args[2])
                        {
                        case "set":
                            client.Character.Scal = int.Parse(args.Args[3]);
                            client.Action.RefreshRoleplayEntity();
                            break;

                        case "normal":
                            client.Character.Scal = 100;
                            client.Action.RefreshRoleplayEntity();
                            break;
                        }
                        break;

                    case "elite":
                        switch (args.Args[2])
                        {
                        case "up":
                            World.Game.Elite.EliteManager.UpElite(client);
                            break;
                        }
                        break;

                    case "level":
                        switch (args.Args[2])
                        {
                        case "set":
                            if (client.Character.Fighter == null)
                            {
                                Database.Records.ExpFloorRecord floor = World.Helper.ExpFloorHelper.GetCharactersLevelFloor(int.Parse(args.Args[3]));
                                client.Character.Experience = floor.Character;
                                client.Action.TryLevelUp();
                            }
                            else
                            {
                                client.Action.SystemMessage("Impossible en combat !");
                            }
                            break;

                        case "add":
                            if (client.Character.Fighter == null)
                            {
                                int addedLevel = int.Parse(args.Args[3]);
                                int nextLevel  = client.Character.Level + addedLevel;
                                if (nextLevel > 5000)
                                {
                                    nextLevel = 5000;
                                }
                                Database.Records.ExpFloorRecord floor = World.Helper.ExpFloorHelper.GetCharactersLevelFloor(nextLevel);
                                client.Character.Experience = floor.Character;
                                client.Action.TryLevelUp();
                            }
                            else
                            {
                                client.Action.SystemMessage("Impossible en combat !");
                            }
                            break;
                        }
                        break;
                    }
                    break;

                case "ui":
                    switch (args.Args[1])
                    {
                    case "show":
                        switch (args.Args[2])
                        {
                        case "paddock":
                            client.Character.Map.Engine.ShowPaddocksMounts(client);
                            break;

                        case "guild":
                            client.Send("gn");
                            break;
                        }
                        break;
                    }
                    break;

                case "this":
                    switch (args.Args[1])
                    {
                    case "item":
                        switch (args.Args[2])
                        {
                        case "remove":
                            Database.Records.WorldItemRecord toDeleteItem = (Database.Records.WorldItemRecord)parameters[0];
                            client.Character.Items.RemoveItem(toDeleteItem, 1);
                            break;
                        }
                        break;
                    }
                    break;
                }
            }
            catch { }
        }
Example #30
0
 public static void CloseZaapPanel(World.Network.WorldClient client, string packet = "")
 {
     client.State = Network.WorldClientState.None;
     client.Send("WV");
 }