Files
abysmal-isle/Scripts/Scripts-master/Commands/PartyMessage.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

51 lines
1.5 KiB
C#

// Party Message Command v1.1.0
// Author: Felladrin
// Started: 2015-12-19
// Updated: 2016-01-22
using System.Collections.Generic;
using Server;
using Server.Commands;
using Server.Engines.PartySystem;
namespace Felladrin.Commands
{
public static class PartyMessage
{
public static void Initialize()
{
CommandSystem.Register("P", AccessLevel.Player, new CommandEventHandler(OnCommand));
}
[Usage("P <message>")]
[Description("Sends a message to your party. If no message is set, lists the party members names.")]
static void OnCommand(CommandEventArgs e)
{
var from = e.Mobile;
var message = e.ArgString;
var party = Party.Get(from);
if (from.Party == null)
{
from.SendLocalizedMessage(3000211); // You are not in a party.
return;
}
if (message.Length > 0)
{
party.SendPublicMessage(from, message);
return;
}
var leader = (from == party.Leader) ? "You are" : party.Leader.Name + " is";
var fellows = new List<string>();
foreach (PartyMemberInfo pmi in party.Members)
if (from != pmi.Mobile)
fellows.Add(pmi.Mobile.Name);
from.SendMessage("Your have {0} fellow{1} in your party: {2}. {3} the leader.", fellows.Count, (fellows.Count > 1 ? "s" : ""), string.Join(", ", fellows), leader);
}
}
}