Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Globalization;
- using wServer.realm.entities;
- using System.IO;
- using wServer.realm.setpieces;
- using wServer.networking;
- using System.Text;
- using wServer.networking.svrPackets;
- using db;
- using System.Linq;
- using System.Threading.Tasks;
- using wServer.realm.worlds;
- namespace wServer.realm.commands
- {
- internal class EffectCommand : Command
- {
- public EffectCommand() : base("eff", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- ConditionEffectIndex effect;
- if (!Enum.TryParse(args, true, out effect))
- {
- player.SendError("Invalid effect!");
- return false;
- }
- if ((player.ConditionEffects & (ConditionEffects)(1 << (int)effect)) != 0)
- {
- player.ApplyConditionEffect(new ConditionEffect()
- {
- Effect = effect,
- DurationMS = 0
- });
- }
- else
- {
- player.ApplyConditionEffect(new ConditionEffect()
- {
- Effect = effect,
- DurationMS = -1
- });
- }
- return true;
- }
- }
- internal class SpawnCommand : Command
- {
- public SpawnCommand() : base("spawn", new Ranks[] { Ranks.User, Ranks.Spriter, Ranks.Developer, Ranks.DeveloperManager, Ranks.Moderator, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- public string[] NonDonorSpawns = new string[] { "XP", "Vault" };
- protected override bool Process(Player player, string args)
- {
- if ((Ranks)player.Client.Account.Rank == Ranks.DeveloperManager || (Ranks)player.Client.Account.Rank == Ranks.Admin || (Ranks)player.Client.Account.Rank == Ranks.HeadModerator || (Ranks)player.Client.Account.Rank == Ranks.HeadAdmin || (Ranks)player.Client.Account.Rank == Ranks.ServerHead || player.Client.Account.DonatorRank >= 5) {
- int index = args.IndexOf(' ');
- int num;
- string name = args;
- if (args.IndexOf(' ') > 0 && int.TryParse(args.Substring(0, args.IndexOf(' ')), out num)) //multi
- name = args.Substring(index + 1);
- else
- num = 1;
- ushort objType;
- player.Manager.GameData.IdToObjectType.TryGetValue(name, out objType);
- for (int i = 0; i < num; i++)
- {
- var entity = Entity.Resolve(player.Manager, objType);
- entity.Move(player.X, player.Y);
- player.Owner.EnterWorld(entity);
- }
- var dir = @"logs";
- if (!Directory.Exists(dir))
- {
- Directory.CreateDirectory(dir);
- }
- using (var writer = new StreamWriter(@"logs\SpawnLog.log", true))
- {
- writer.WriteLine($"{player.Name} spawned {num} {name} in {player.Owner.Name}");
- }
- return true;
- } else if (player.Client.Account.DonatorRank >= 4)
- {
- if (player.lastSpawnTime > 0)
- {
- player.SendError($"You must wait {(int)((player.lastSpawnTime) / 1000)} seconds.");
- return false;
- }
- int index = args.IndexOf(' ');
- int num;
- string name = args;
- if (args.IndexOf(' ') > 0 && int.TryParse(args.Substring(0, args.IndexOf(' ')), out num)) //multi
- name = args.Substring(index + 1);
- else
- num = 1;
- ushort objType;
- player.Manager.GameData.IdToObjectType.TryGetValue(name, out objType);
- if (!(player.Owner is SpawnArea) && !(player.Owner is Vault))
- {
- player.SendError("You must be in the Spawn Area or your Vault to spawn.");
- return false;
- }
- foreach (var i in NonDonorSpawns)
- if (name.Contains(i))
- {
- player.SendError("Only Admin's can spawn this.");
- return false;
- }
- if (num > 5)
- {
- player.SendError("Cannot spawn more than 5 at once.");
- return false;
- }
- for (int i = 0; i < num; i++)
- {
- var entity = Entity.Resolve(player.Manager, objType);
- entity.Move(player.X, player.Y);
- player.Owner.EnterWorld(entity);
- }
- player.lastSpawnTime = 15000;
- var dir = @"logs";
- if (!Directory.Exists(dir))
- {
- Directory.CreateDirectory(dir);
- }
- using (var writer = new StreamWriter(@"logs\DonatorSpawnLog.log", true))
- {
- writer.WriteLine($"{player.Name} spawned {num} {name} in {player.Owner.Name}");
- }
- return true;
- }
- return false;
- }
- }
- internal class GiveCommand : Command
- {
- public GiveCommand() : base("give", new Ranks[] { Ranks.User, Ranks.Spriter, Ranks.Developer, Ranks.DeveloperManager, Ranks.Moderator, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- if ((Ranks)player.Client.Account.Rank == Ranks.DeveloperManager || (Ranks)player.Client.Account.Rank == Ranks.Admin || (Ranks)player.Client.Account.Rank == Ranks.HeadModerator || (Ranks)player.Client.Account.Rank == Ranks.HeadAdmin || (Ranks)player.Client.Account.Rank == Ranks.ServerHead)
- {
- var item = args;
- var data = "";
- if (args.IndexOf("{", StringComparison.Ordinal) >= 0 && args.EndsWith("}"))
- {
- item = args.Remove(args.IndexOf("{", StringComparison.Ordinal)).TrimEnd();
- data = args.Substring(args.IndexOf("{", StringComparison.Ordinal));
- }
- ushort objType;
- if (!player.Manager.GameData.IdToObjectType.TryGetValue(item, out objType))
- {
- player.SendError("Unknown item type!");
- return false;
- }
- for (var i = 4; i < player.Inventory.Length; i++)
- if (player.Inventory[i] == null)
- {
- player.Inventory[i] = player.Manager.GameData.Items[objType];
- if (data != "")
- player.Inventory.Data[i] = ItemData.CreateData(data);
- var dir = @"logs";
- if (!Directory.Exists(dir))
- {
- Directory.CreateDirectory(dir);
- }
- using (var writer = new StreamWriter(@"logs\GiveLog.log", true))
- {
- writer.WriteLine($"{player.Name} gave using /give, themselves 1 {item}");
- }
- return true;
- }
- player.SendError("Not enough space in inventory!");
- return false;
- } else if (player.Client.Account.DonatorRank >= 2)
- {
- if (player.Credits < 1)
- {
- player.SendError("You require 1 gold.");
- return false;
- }
- var item = args;
- var data = "";
- if (args.IndexOf("{", StringComparison.Ordinal) >= 0 && args.EndsWith("}"))
- {
- item = args.Remove(args.IndexOf("{", StringComparison.Ordinal)).TrimEnd();
- data = args.Substring(args.IndexOf("{", StringComparison.Ordinal));
- }
- ushort objType;
- if (!player.Manager.GameData.IdToObjectType.TryGetValue(item, out objType))
- {
- player.SendError("Unknown item!");
- return false;
- }
- var itemType = player.Manager.GameData.Items[objType];
- if (itemType.AdminOnly)
- {
- player.SendError("You cannot purchase admin items!");
- return false;
- }
- for (int i = 4; i < player.Inventory.Length; i++)
- if (player.Inventory[i] == null)
- {
- player.Inventory[i] = itemType;
- player.Manager.Data.AddDatabaseOperation(db =>
- {
- player.Credits = db.UpdateCredit(player.Client.Account, -1);
- player.UpdateCount++;
- });
- player.SendInfo("Success!");
- var dir = @"logs";
- if (!Directory.Exists(dir))
- {
- Directory.CreateDirectory(dir);
- }
- using (var writer = new StreamWriter(@"logs\DonatorGiveLog.log", true))
- {
- writer.WriteLine($"{player.Name} bought using /give, themselves 1 {item}");
- }
- return true;
- }
- player.SendError("Not enough space!");
- return false;
- }
- return false;
- }
- }
- internal class TeleportPositionCommand : Command
- {
- public TeleportPositionCommand() : base("tppos", new Ranks[] { Ranks.Spriter, Ranks.Developer, Ranks.DeveloperManager, Ranks.Moderator, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- var coordinates = args.Split(' ');
- if (coordinates.Length != 2)
- {
- player.SendError("Invalid coordinates!");
- return false;
- }
- int x, y;
- if (!int.TryParse(coordinates[0], out x) || !int.TryParse(coordinates[1], out y))
- {
- player.SendError("Invalid coordinates!");
- return false;
- }
- player.Move(x + 0.5f, y + 0.5f);
- player.SetNewbiePeriod();
- player.Owner.BroadcastPacket(new GotoPacket()
- {
- ObjectId = player.Id,
- Position = new Position()
- {
- X = player.X,
- Y = player.Y
- }
- }, null);
- return true;
- }
- }
- internal class SetpieceCommand : Command
- {
- public SetpieceCommand() : base("setpiece", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- var piece = (ISetPiece)Activator.CreateInstance(Type.GetType("wServer.realm.setpieces." + args, true, true));
- piece.RenderSetPiece(player.Owner, new IntPoint((int)player.X + 1, (int)player.Y + 1));
- return true;
- }
- }
- internal class SaveCommand : Command
- {
- public SaveCommand() : base("save", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- foreach (var i in player.Manager.Clients.Values)
- {
- if (i != null)
- if (i.Player != null)
- {
- i.Player.UpdateCount++;
- i.Save();
- }
- }
- player.SendInfo("All players saved.");
- return true;
- }
- }
- internal class EnemiesCommand : Command
- {
- public EnemiesCommand() : base("enemies", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead, Ranks.Developer })
- {
- }
- protected override bool Process(Player player, string args)
- {
- var sb = new StringBuilder("Enemies: \r\n");
- foreach (var i in player.Owner.Enemies.Values)
- {
- sb.AppendLine(i.Name);
- }
- player.SendInfo(sb.ToString());
- return true;
- }
- }
- internal class OnlineCommand : Command
- {
- public OnlineCommand() : base("online", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead, Ranks.User, Ranks.Moderator, Ranks.Developer, Ranks.Spriter })
- {
- }
- protected override bool Process(Player player, string args)
- {
- var sb = new StringBuilder("Users online: \r\n");
- foreach (var i in player.Manager.Clients.Values)
- {
- if (i.Player != null)
- sb.AppendFormat("{0}#{1}\r\n", i.Account.Name, i.Player.Owner.Name);
- }
- player.SendInfo(sb.ToString());
- return true;
- }
- }
- internal class Test2Command : Command
- {
- public Test2Command() : base("monitorworlds", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead, Ranks.User, Ranks.Moderator, Ranks.Developer, Ranks.Spriter })
- {
- }
- protected override bool Process(Player player, string args)
- {
- var sb = new StringBuilder("Worlds: \r\n");
- foreach (var i in player.Manager.Worlds.Where(_ => _.Key != 0))
- {
- if (i.Value != null)
- sb.AppendFormat("{0}\r\n", i.Value.Name);
- }
- player.SendInfo(sb.ToString());
- return true;
- }
- }
- internal class TestCommandSlender : Command
- {
- public TestCommandSlender() : base("monitor", new Ranks[] { Ranks.User, Ranks.Spriter, Ranks.Developer, Ranks.DeveloperManager, Ranks.Moderator, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- var worldCount = player.Manager.Worlds.Where(_ => _.Key != 0).Count();
- player.SendInfo("There is : " + player.Manager.Clients.Count + " clients");
- player.SendInfo("There is : " + worldCount + " worlds");
- var players = 0;
- var statics = 0;
- var pets = 0;
- var projectiles = 0;
- var enemies = 0;
- var nullPlayers = 0;
- var nullStatics = 0;
- var nullPets = 0;
- var nullProjectiles = 0;
- var nullEnemies = 0;
- foreach (var i in player.Manager.Worlds.Where(_ => _.Key != 0))
- {
- foreach (var p in i.Value.Players.Values)
- {
- if (p.Owner == null)
- nullPlayers++;
- }
- foreach (var p in i.Value.Enemies.Values)
- {
- if (p.Owner == null)
- nullEnemies++;
- }
- foreach (var p in i.Value.StaticObjects.Values)
- {
- if (p.Owner == null)
- nullStatics++;
- }
- foreach (var p in i.Value.Pets.Values)
- {
- if (p.Owner == null)
- nullPets++;
- }
- foreach (var p in i.Value.Projectiles.Values)
- {
- if (p.Owner == null)
- nullProjectiles++;
- }
- players += i.Value.Players.Count;
- statics += i.Value.StaticObjects.Count;
- pets += i.Value.Pets.Count;
- projectiles += i.Value.Projectiles.Count;
- enemies = i.Value.Enemies.Count;
- }
- player.SendInfo("There is : " + players + " players in total and there are: " + nullPlayers + " null players");
- player.SendInfo("There is : " + statics + " statics in total and there are: " + nullStatics + " null players");
- player.SendInfo("There is : " + pets + " pets in total and there are: " + nullPets + " null pets");
- player.SendInfo("There is : " + projectiles + " projectiles in total and there are: " + nullProjectiles + " null projectiles");
- player.SendInfo("There is : " + enemies + " enemies in total and there are: " + nullEnemies + " null enemies");
- return true;
- }
- }
- internal class PlayersCommand : Command
- {
- public PlayersCommand() : base("players", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead, Ranks.User, Ranks.Moderator, Ranks.Developer, Ranks.Spriter })
- {
- }
- protected override bool Process(Player player, string args)
- {
- var usrCount = 0;
- foreach (var i in player.Owner.Manager.Clients.Values)
- {
- if (i.Player != null)
- usrCount++;
- }
- player.SendInfo("Players online: " + usrCount);
- return true;
- }
- }
- internal class KillallCommand : Command
- {
- public KillallCommand() : base("killall", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- var count = 0;
- Task.Factory.StartNew(() =>
- {
- foreach (var i in player.Owner.Enemies.Values)
- {
- var desc = i.ObjectDesc;
- if (desc != null && desc.ObjectId != null && desc.ObjectId.ContainsIgnoreCase(args))
- {
- i.Death();
- count++;
- }
- }
- player.SendInfo(string.Format("{0} enemy killed!", count));
- });
- return true;
- }
- }
- internal class KickCommand : Command
- {
- public KickCommand() : base("kick", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead, Ranks.Moderator })
- {
- }
- protected override bool Process(Player player, string args)
- {
- foreach (var i in player.Manager.Clients.Values)
- if (i.Account.Name.EqualsIgnoreCase(args))
- {
- i.Save();
- i.Disconnect();
- player.SendInfo("Player disconnected!");
- var dir = @"logs";
- if (!Directory.Exists(dir))
- {
- Directory.CreateDirectory(dir);
- }
- using (var writer = new StreamWriter(@"logs\KickLog.log", true))
- {
- writer.WriteLine($"{player.Name} kicked {args}");
- }
- return true;
- }
- player.SendError(string.Format("Player '{0}' could not be found!", args));
- return true;
- }
- }
- internal class AnnounceCommand : Command
- {
- public AnnounceCommand() : base("announce", new Ranks[] { Ranks.Moderator, Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- if ((Ranks)player.Client.Account.Rank == Ranks.Moderator)
- if (player.Name != "Trollmyster")
- return false;
- foreach (var client in player.Manager.Clients.Values)
- if(client.Player != null)
- client.Player.SendText("*D4*@Announcement", "<" + player.Name + "> " + args);
- var dir = @"logs";
- if (!Directory.Exists(dir))
- {
- Directory.CreateDirectory(dir);
- }
- using (var writer = new StreamWriter(@"logs\AnnounceLogs.log", true))
- {
- writer.WriteLine($"{player.Name} announced '{args}'");
- }
- return true;
- }
- }
- internal class BDZone : Command
- {
- public BDZone() : base("bdzone", new Ranks[] { Ranks.User, Ranks.Spriter, Ranks.Developer, Ranks.DeveloperManager, Ranks.Moderator, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- if (player.Client.Account.Rank > 0)
- player.Client.Reconnect(new ReconnectPacket
- {
- Host = "",
- Port = 2050,
- GameId = World.BDZONE_ID,
- Name = "Base Donator Zone",
- Key = Empty<byte>.Array,
- });
- else if (player.Client.Account.DonatorRank > 0)
- player.Client.Reconnect(new ReconnectPacket
- {
- Host = "",
- Port = 2050,
- GameId = World.BDZONE_ID,
- Name = "Base Donator Zone",
- Key = Empty<byte>.Array,
- });
- else
- player.SendError("You are not a donator.");
- return true;
- }
- }
- internal class SummonCommand : Command
- {
- public SummonCommand() : base("summon", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- foreach (var j in player.Manager.Worlds.Where(_ => _.Key != 0))
- foreach (var i in j.Value.Players.Values)
- if (i.Name.EqualsIgnoreCase(args))
- {
- if (i.Owner.Id != player.Owner.Id)
- {
- i.Client.Reconnect(new ReconnectPacket
- {
- Host = "",
- Port = 2050,
- GameId = player.Owner.Id,
- Name = player.Owner.Name,
- Key = Empty<byte>.Array,
- });
- }
- player.SendInfo("Player summoned!");
- var dir = @"logs";
- if (!Directory.Exists(dir))
- {
- Directory.CreateDirectory(dir);
- }
- using (var writer = new StreamWriter(@"logs\SummonLogs.log", true))
- {
- writer.WriteLine($"{player.Name} summoned {i.Name} to {player.Owner.Name}");
- }
- return true;
- }
- player.SendError(string.Format("Player '{0}' could not be found!", args));
- return false;
- }
- }
- internal class VisitCommand : Command
- {
- public VisitCommand() : base("visit", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- foreach (var i in player.Manager.Worlds.Where(_ => _.Key != 0))
- foreach (var j in i.Value.Players.Values)
- if (j.Name.EqualsIgnoreCase(args))
- {
- player.Client.Reconnect(new ReconnectPacket
- {
- Host = "",
- Port = 2050,
- GameId = j.Owner.Id,
- Name = j.Owner.Name,
- Key = Empty<byte>.Array,
- });
- player.SendInfo("Connecting to world!");
- var dir = @"logs";
- if (!Directory.Exists(dir))
- {
- Directory.CreateDirectory(dir);
- }
- using (var writer = new StreamWriter(@"logs\VisitLogs.log", true))
- {
- writer.WriteLine($"{player.Name} visited {j.Name} in {j.Owner.Name}");
- }
- return true;
- }
- player.SendError(string.Format("Player '{0}' could not be found!", args));
- return false;
- }
- }
- internal class VanishCommand : Command
- {
- public VanishCommand() : base("vanish", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- if (!player.isNotVisible)
- {
- player.isNotVisible = true;
- player.Owner.PlayersCollision.Remove(player);
- if (player.Pet != null)
- player.Owner.LeaveWorld(player.Pet);
- player.SendInfo("You're now hidden from all players!");
- return true;
- }
- player.isNotVisible = false;
- player.SendInfo("You're now visible to all players!");
- return true;
- }
- }
- internal class DevChatCommand : Command //todo need to think abt this 1 alittle
- {
- public DevChatCommand() : base("dchat", new Ranks[] { Ranks.Developer, Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- foreach (Client client in player.Manager.Clients.Values)
- if (client.Account.Rank > 3)
- client.Player.SendText("@[DEV] - " + player.Name + "", args);
- return true;
- }
- }
- internal class StatCommand : Command
- {
- public StatCommand() : base("stat", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- int index = args.IndexOf(' ');
- int num;
- string stat = args;
- if (args.IndexOf(' ') > 0 && int.TryParse(args.Substring(index), out num))
- stat = args.Substring(0, args.IndexOf(' '));
- else
- num = 1;
- switch (stat)
- {
- case "hp":
- player.Stats[0] = num;
- break;
- case "mp":
- player.Stats[1] = num;
- break;
- case "att":
- player.Stats[2] = num;
- break;
- case "def":
- player.Stats[3] = num;
- break;
- case "spd":
- player.Stats[4] = num;
- break;
- case "vit":
- player.Stats[5] = num;
- break;
- case "wis":
- player.Stats[6] = num;
- break;
- case "dex":
- player.Stats[7] = num;
- break;
- case "all":
- player.Stats[2] = num;
- player.Stats[3] = num;
- player.Stats[4] = num;
- player.Stats[5] = num;
- player.Stats[6] = num;
- player.Stats[7] = num;
- break;
- default:
- player.SendHelp("Usage: /stats <stat name> <amount>");
- break;
- }
- player.SendInfo("Successfully updated " + stat);
- return true;
- }
- }
- internal class UpdateCommand : Command
- {
- public UpdateCommand() : base("update", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- foreach (var i in player.Owner.Players.Values)
- i.UpdateCount++;
- return true;
- }
- }
- //internal class IPBanCommand : Command
- //{
- // public IPBanCommand() : base("ipban", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- // {
- // }
- // protected override bool Process(Player player, string args)
- // {
- // try
- // {
- // string playerName = args;
- // string playerIp = "";
- // player.Manager.Data.AddDatabaseOperation(db => {
- // var cmd = db.CreateQuery();
- // cmd.CommandText = "SELECT lastip FROM accounts WHERE UPPER(name) = UPPER(@name) LIMIT 1";
- // cmd.Parameters.AddWithValue("@name", playerName);
- // playerIp = (String)cmd.ExecuteScalar();
- // if (playerIp != "")
- // db.IpBan(playerIp);
- // });
- // player.SendInfo("IP successfully banned: " + playerIp);
- // }
- // catch
- // {
- // player.SendError("Cannot IP Ban!");
- // return false;
- // }
- // return true;
- // }
- //}
- //internal class UnIPBanCommand : Command
- //{
- // public UnIPBanCommand() : base("unipban", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- // {
- // }
- // protected override bool Process(Player player, string args)
- // {
- // string playerIp = "";
- // string playerName = args;
- // try
- // {
- // player.Manager.Data.AddDatabaseOperation(db =>
- // {
- // var cmd = db.CreateQuery();
- // cmd.CommandText = "SELECT lastip FROM accounts WHERE UPPER(name) LIKE UPPER(@name) LIMIT 1";
- // cmd.Parameters.AddWithValue("@name", playerName);
- // playerIp = (String)cmd.ExecuteScalar();
- // if (playerIp != "")
- // db.UnIpBan(playerIp);
- // });
- // player.SendInfo("User was successfully UnIPBanned");
- // }
- // catch
- // {
- // player.SendError("Cannot UnIP Ban!");
- // return false;
- // }
- // return true;
- // }
- //}
- internal class BanCommand : Command
- {
- public BanCommand() : base("ban", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead, Ranks.Moderator })
- {
- }
- protected override bool Process(Player player, string args)
- {
- var name = args;
- if (name == "") return false;
- using (var db = new Database(Program.Settings.GetValue("conn")))
- {
- var cmd = db.CreateQuery();
- cmd.CommandText = "UPDATE accounts SET banned=1 WHERE name=@name LIMIT 1";
- cmd.Parameters.AddWithValue("@name", name);
- if (cmd.ExecuteNonQuery() <= 0) return false;
- player.SendInfo("User was successfully banned");
- foreach (var i in player.Manager.Clients.Values.Where(i => i.Account.Name.EqualsIgnoreCase(name)))
- i.Disconnect();
- };
- var dir = @"logs";
- if (!Directory.Exists(dir))
- {
- Directory.CreateDirectory(dir);
- }
- using (var writer = new StreamWriter(@"logs\BanLog.log", true))
- {
- writer.WriteLine($"{player.Name} banned {name}");
- }
- return true;
- }
- }
- internal class UnBanCommand : Command
- {
- public UnBanCommand() : base("unban", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead, Ranks.Moderator })
- {
- }
- protected override bool Process(Player player, string args)
- {
- var name = args;
- if (name == "") return false;
- using (var db = new Database(Program.Settings.GetValue("conn")))
- {
- var cmd = db.CreateQuery();
- cmd.CommandText = "UPDATE accounts SET banned=0 WHERE name=@name LIMIT 1";
- cmd.Parameters.AddWithValue("@name", name);
- if (cmd.ExecuteNonQuery() <= 0)
- return false;
- player.SendInfo("User was successfully unbanned");
- };
- var dir = @"logs";
- if (!Directory.Exists(dir))
- {
- Directory.CreateDirectory(dir);
- }
- using (var writer = new StreamWriter(@"logs\UnbanLogs.log", true))
- {
- writer.WriteLine($"{player.Name} unbanned {name}");
- }
- return true;
- }
- }
- internal class MuteCommand : Command
- {
- public MuteCommand() : base("mute", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead, Ranks.Moderator })
- {
- }
- protected override bool Process(Player player, string args)
- {
- var name = args;
- if (name == "") return false;
- using (var db = new Database(Program.Settings.GetValue("conn")))
- {
- var cmd = db.CreateQuery();
- cmd.CommandText = "UPDATE accounts SET muted=1 WHERE name=@name LIMIT 1";
- cmd.Parameters.AddWithValue("@name", name);
- if (cmd.ExecuteNonQuery() <= 0) return false;
- player.SendInfo("User was successfully muted");
- foreach (var i in player.Owner.Players)
- {
- var x = db.GetAccount(i.Value.AccountId);
- var usr = i.Value;
- usr.Client.Account.Muted = x.Muted;
- usr.UpdateCount++;
- }
- };
- var dir = @"logs";
- if (!Directory.Exists(dir))
- {
- Directory.CreateDirectory(dir);
- }
- using (var writer = new StreamWriter(@"logs\MuteLogs.log", true))
- {
- writer.WriteLine($"{player.Name} muted {name}");
- }
- return true;
- }
- }
- internal class UnMuteCommand : Command
- {
- public UnMuteCommand() : base("unmute", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead, Ranks.Moderator })
- {
- }
- protected override bool Process(Player player, string args)
- {
- var name = args;
- if (name == "") return false;
- using (var db = new Database(Program.Settings.GetValue("conn")))
- {
- var cmd = db.CreateQuery();
- cmd.CommandText = "UPDATE accounts SET muted=0 WHERE name=@name LIMIT 1";
- cmd.Parameters.AddWithValue("@name", name);
- if (cmd.ExecuteNonQuery() <= 0) return false;
- player.SendInfo("User was successfully unmuted");
- foreach (var i in player.Owner.Players)
- {
- var x = db.GetAccount(i.Value.AccountId);
- var usr = i.Value;
- usr.Client.Account.Muted = x.Muted;
- usr.UpdateCount++;
- }
- };
- var dir = @"logs";
- if (!Directory.Exists(dir))
- {
- Directory.CreateDirectory(dir);
- }
- using (var writer = new StreamWriter(@"logs\UnmuteLogs.log", true))
- {
- writer.WriteLine($"{player.Name} unmuted {name}");
- }
- return true;
- }
- }
- internal class AdminBuffCommand : Command
- {
- public AdminBuffCommand() : base("abuff", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- var index = Convert.ToInt32(args);
- var data = new ItemData
- {
- NamePrefix = "Admin",
- NameColor = 0xFF1297,
- DmgPercentage = 1000,
- Soulbound = true
- };
- if (player.Inventory.Data[index] == null)
- player.Inventory.Data[index] = data;
- else
- {
- player.Inventory.Data[index].NamePrefix = data.NamePrefix;
- player.Inventory.Data[index].NameColor = data.NameColor;
- player.Inventory.Data[index].DmgPercentage = data.DmgPercentage;
- player.Inventory.Data[index].Soulbound = data.Soulbound;
- }
- return true;
- }
- }
- internal class StrangifyCommand : Command
- {
- public StrangifyCommand() : base("strangify", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- var index = Convert.ToInt32(args);
- player.SendInfo("Stranged");
- var data = new ItemData
- {
- NamePrefix = "Strange",
- NameColor = 0xFF5A28,
- Strange = true
- };
- if (player.Inventory.Data[index] == null)
- player.Inventory.Data[index] = data;
- else
- {
- player.Inventory.Data[index].NamePrefix = data.NamePrefix;
- player.Inventory.Data[index].NameColor = data.NameColor;
- player.Inventory.Data[index].Strange = data.Strange;
- }
- return true;
- }
- }
- internal class SkinEffectCommand : Command
- {
- public SkinEffectCommand() : base("skineff", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- player.XmlEffect = args;
- return true;
- }
- }
- internal class RevealCommand : Command
- {
- public RevealCommand() : base("reveal", new Ranks[] { Ranks.DeveloperManager, Ranks.Admin, Ranks.HeadModerator, Ranks.HeadAdmin, Ranks.ServerHead })
- {
- }
- protected override bool Process(Player player, string args)
- {
- player.Reveal = !player.Reveal;
- player.SendInfo("Reveal: " + player.Reveal.ToString());
- return true;
- }
- }
- }
Add Comment
Please, Sign In to add comment