Ejemplo n.º 1
0
        public void CmdGoto(Client client, string trg)
        {
            Client target = ClientMethods.FindClient(trg);

            if (target == null)
            {
                return;
            }

            if (client == target)
            {
                client.SendChatMessage("Can't /goto to urself.");
                return;
            }

            client.Position = target.Position.Around(2);
        }
Ejemplo n.º 2
0
        public void CMD_Alias(Client client, string identifier, string aliasText = "")
        {
            if (!client.IsLoggedIn())
            {
                client.SendChatMessage("You are not logged in.");
                return;
            }

            if (!client.HasActiveChar())
            {
                client.SendChatMessage("You are not properly spawned.");
                return;
            }

            var otherClient = ClientMethods.FindClient(identifier);

            if (otherClient == null)
            {
                client.SendChatMessage("Invalid Player Identifier.");
                return;
            }

            if (!otherClient.IsLoggedIn())
            {
                client.SendChatMessage("That player is not logged in.");
                return;
            }

            if (!otherClient.HasActiveChar())
            {
                client.SendChatMessage("That player is not spawned.");
                return;
            }

            // TODO: DISTANCE CHECK

            var chData      = client.GetActiveChar();
            var chOtherData = otherClient.GetActiveChar();

            if (aliasText == "")
            {
                var alias = chData.Aliases.FirstOrDefault(i => i.CharID == chData.ID && i.AliasedID == chOtherData.ID);
                if (alias == null)
                {
                    client.SendChatMessage("No Alias set for that player.");
                    return;
                }
                chData.Aliases.Remove(alias);
                ClientEvent_RequestAliasInfo(client, otherClient.Value);
                client.SendChatMessage("Alias removed.");
                return;
            }

            var exist = chData.Aliases.FirstOrDefault(i => i.CharID == chData.ID && i.AliasedID == chOtherData.ID);

            if (exist != null)
            {
                exist.AliasName = aliasText;
            }
            else
            {
                chData.Aliases.Add(new Alias(chData, chOtherData, aliasText));
            }

            ClientEvent_RequestAliasInfo(client, otherClient.Value);
            client.SendChatMessage($"Alias set.");
        }