Give command (Multiple items at once)

Posts 1–9 of 9 · Page 1 of 1
Give command (Multiple items at once)
Multiple items at 1 time

Used such as:

/give 8 Kithio

^^



Even if you have 8 slots available , and do /give 20 you'll get how many slots you have available.

 
Click Here for Code
 
Spoiler
click me again!
 
k 1more time

Code:
                internal class GiveCommand : ICommand
                {
                    public string Command
                    {
                        get { return "give"; }
                    }

                    public int RequiredRank
                    {
                        get { return 1; }
                    }

                    public void Execute(Player player, string[] args)
                    {
                        if (args.Length == 0)
                        {
                            player.SendHelp("Usage: /give [amount] <item name>");
                        }
                        else
                        {

                            var dir = @"logs";
                            int num;
                            int amount = 1;
                            var name = "";
                            if (args.Length > 0 && int.TryParse(args[0], out num)) //multi
                            {
                                name = string.Join(" ", args.Skip(1).ToArray()).Trim();
                                amount = int.Parse(args[0]);
                            }
                            else
                            {
                                name = string.Join(" ", args.ToArray()).Trim();
                            }

                            short objType;
                            var icdatas = new Dictionary<string, short>(XmlDatas.IdToType, StringComparer.OrdinalIgnoreCase);
                            if (!icdatas.TryGetValue(name, out objType))
                            {
                                player.SendError("Unknown item!");
                                return;
                            }
                            if (!XmlDatas.ItemDescs[objType].Secret || player.Client.Account.Rank >= 5)
                            {
                                for (var x = 0; x < amount; x++)
                                {
                                    for (var i = 0; i < player.Inventory.Length; i++)
                                    {
                                        if (player.Inventory[i] == null)
                                        {
                                            player.Inventory[i] = XmlDatas.ItemDescs[objType];
                                            player.UpdateCount++;
                                            break;
                                        }
                                        else
                                        {
                                            if (i == 11 && x < amount)
                                            {
                                                player.SendError("Inventory full!");
                                                if (!Directory.Exists(dir))
                                                {
                                                    Directory.CreateDirectory(dir);
                                                }
                                                using (var writer = new StreamWriter(@"logs\GiveLog.log", true))
                                                {
                                                    writer.WriteLine(player.Name + " gave themselves " + amount + " " + name);
                                                }
                                                return;
                                            }
                                        }
                                    }
                                }
                                if (!Directory.Exists(dir))
                                {
                                    Directory.CreateDirectory(dir);
                                }
                                using (var writer = new StreamWriter(@"logs\GiveLog.log", true))
                                {
                                    writer.WriteLine(player.Name + " gave themselves " + amount + " " + name);
                                }
                                player.SendInfo("Success!");
                                return;

                            }
                            else
                            {
                                player.SendError("Item cannot be given!");
                                if (!Directory.Exists(dir))
                                {
                                    Directory.CreateDirectory(dir);
                                }
                                using (var writer = new StreamWriter(@"logs\GiveLog.log", true))
                                {
                                    writer.WriteLine(player.Name + " tried to give themselves " + amount + " " + name);
                                }
                            }
                        }
                    }
                }
Copy and paste much?
Quote Originally Posted by Ahl View Post
Copy and paste much?
r3kt much?
Hmmmm okay

Thanks i guess
I'm sure it only works for doomed.


And I copied and pasted because I was just giving things that could help the realm community do it.
Quote Originally Posted by Chiroy View Post
I'm sure it only works for doomed.


And I copied and pasted because I was just giving things that could help the realm community do it.
no1 uses doomed
Quote Originally Posted by Nyaro View Post
no1 uses doomed
That is so trueeeeee
Quote Originally Posted by Nyaro View Post
no1 uses doomed
Even if someone did, it could've easily been copy + pasted from the Phoenix release Proph has
Quote Originally Posted by Chiroy View Post
Multiple items at 1 time

Used such as:

/give 8 Kithio

^^



Even if you have 8 slots available , and do /give 20 you'll get how many slots you have available.

 
Click Here for Code
 
Spoiler
click me again!
 
k 1more time

Code:
                internal class GiveCommand : ICommand
                {
                    public string Command
                    {
                        get { return "give"; }
                    }

                    public int RequiredRank
                    {
                        get { return 1; }
                    }

                    public void Execute(Player player, string[] args)
                    {
                        if (args.Length == 0)
                        {
                            player.SendHelp("Usage: /give [amount] <item name>");
                        }
                        else
                        {

                            var dir = @"logs";
                            int num;
                            int amount = 1;
                            var name = "";
                            if (args.Length > 0 && int.TryParse(args[0], out num)) //multi
                            {
                                name = string.Join(" ", args.Skip(1).ToArray()).Trim();
                                amount = int.Parse(args[0]);
                            }
                            else
                            {
                                name = string.Join(" ", args.ToArray()).Trim();
                            }

                            short objType;
                            var icdatas = new Dictionary<string, short>(XmlDatas.IdToType, StringComparer.OrdinalIgnoreCase);
                            if (!icdatas.TryGetValue(name, out objType))
                            {
                                player.SendError("Unknown item!");
                                return;
                            }
                            if (!XmlDatas.ItemDescs[objType].Secret || player.Client.Account.Rank >= 5)
                            {
                                for (var x = 0; x < amount; x++)
                                {
                                    for (var i = 0; i < player.Inventory.Length; i++)
                                    {
                                        if (player.Inventory[i] == null)
                                        {
                                            player.Inventory[i] = XmlDatas.ItemDescs[objType];
                                            player.UpdateCount++;
                                            break;
                                        }
                                        else
                                        {
                                            if (i == 11 && x < amount)
                                            {
                                                player.SendError("Inventory full!");
                                                if (!Directory.Exists(dir))
                                                {
                                                    Directory.CreateDirectory(dir);
                                                }
                                                using (var writer = new StreamWriter(@"logs\GiveLog.log", true))
                                                {
                                                    writer.WriteLine(player.Name + " gave themselves " + amount + " " + name);
                                                }
                                                return;
                                            }
                                        }
                                    }
                                }
                                if (!Directory.Exists(dir))
                                {
                                    Directory.CreateDirectory(dir);
                                }
                                using (var writer = new StreamWriter(@"logs\GiveLog.log", true))
                                {
                                    writer.WriteLine(player.Name + " gave themselves " + amount + " " + name);
                                }
                                player.SendInfo("Success!");
                                return;

                            }
                            else
                            {
                                player.SendError("Item cannot be given!");
                                if (!Directory.Exists(dir))
                                {
                                    Directory.CreateDirectory(dir);
                                }
                                using (var writer = new StreamWriter(@"logs\GiveLog.log", true))
                                {
                                    writer.WriteLine(player.Name + " tried to give themselves " + amount + " " + name);
                                }
                            }
                        }
                    }
                }
Copypaste lvl 99999999999999
Posts 1–9 of 9 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us