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); }
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."); }