public override void TestSetup()
 {
     base.TestSetup();
     Mdc.UpgradeToVersion(7000038);
     FieldWorksTestServices.SetupTempFilesWithName(SharedConstants.FLExVirtualOrderingFilename, out _ourFile, out _commonFile,
                                                   out _theirFile);
 }
Пример #2
0
 public override void TestSetup()
 {
     base.TestSetup();
     Mdc.UpgradeToVersion(MetadataCache.MaximumModelVersion);
     _eventListener = new ListenerForUnitTests();
     FieldWorksTestServices.SetupTempFilesWithName(SharedConstants.DataNotebookFilename, MetadataCache.MaximumModelVersion, out _ourFile, out _commonFile, out _theirFile);
 }
Пример #3
0
    public override int GetHashCode()
    {
        int hash = 1;

        if (Drg.Length != 0)
        {
            hash ^= Drg.GetHashCode();
        }
        if (Mdc.Length != 0)
        {
            hash ^= Mdc.GetHashCode();
        }
        if (Pccl != 0)
        {
            hash ^= Pccl.GetHashCode();
        }
        if (Gst != 0)
        {
            hash ^= Gst.GetHashCode();
        }
        if (_unknownFields != null)
        {
            hash ^= _unknownFields.GetHashCode();
        }
        return(hash);
    }
        public override void TestSetup()
        {
            base.TestSetup();
            Mdc.UpgradeToVersion(MetadataCache.MaximumModelVersion);
            var mergeOrder = new MergeOrder(null, null, null, new NullMergeSituation())
            {
                EventListener = new ListenerForUnitTests()
            };

            _merger = FieldWorksMergeServices.CreateXmlMergerForFieldWorksData(mergeOrder, Mdc);
        }
Пример #5
0
 public override string ToString()
 {
     return(base.ToString() + $", SourceAddress: {SourceAddress}, DestinationAddress: {DestinationAddress}, Version: {Version}, Mdc: {Mdc?.ToHexString()}");
 }
Пример #6
0
        [ServerEvent(Event.ChatMessage)] // TODO: review cancel events
        public void OnChatMessage(Client player, string msg)
        {
            if (msg.StartsWith('/'))
            {
                if (msg.EndsWith("login") || msg.EndsWith("register"))
                {
                    return;
                }
            }

            Account   account   = player.GetAccount();
            Character character = player.GetCharacter();

            if (account == null || character == null || account.IsLoggedIn == false)
            {
                //e.Cancel = true;
                return;
            }

            if (character.IsRagged)
            {
                NAPI.Chat.SendChatMessageToPlayer(player, "You are ragged.");
                //e.Cancel = true;
                return;
            }

            if (NAPI.Data.HasEntityData(player, "MegaphoneStatus"))
            {
                if (NAPI.Data.GetEntityData(player, "MegaphoneStatus") == true)
                {
                    msg = "~y~[MEGAPHONE] " + character.rp_name() + " says: " + msg;
                    NearbyMessage(player, 30, msg);
                    //e.Cancel = true;
                    LogManager.Log(LogManager.LogTypes.ICchat,
                                   "[MEGAPHONE] " + character.CharacterName + $"[{account.AccountName}]" + " says: " + msg);
                    return;
                }
            }

            if (NAPI.Data.HasEntityData(player, "MicStatus"))
            {
                if (NAPI.Data.GetEntityData(player, "MicStatus") == true)
                {
                    msg = "~p~ [BROADCAST] " + character.rp_name() + " : " + msg;
                    BroadcastMessage(msg);
                    NearbyMessage(player, 30, msg);
                    //e.Cancel = true;
                    LogManager.Log(LogManager.LogTypes.ICchat, "[BROADCAST] " + character.CharacterName + $"[{account.AccountName}]" + " says: " + msg);
                    return;
                }
            }

            //Phone
            if (account.AdminDuty == false && character.InCallWith != Character.None)
            {
                Character talkingTo = character.InCallWith;
                string    phonemsg;
                var       charitems   = InventoryManager.DoesInventoryHaveItem(character, typeof(Phone));
                var       targetitems = InventoryManager.DoesInventoryHaveItem(character, typeof(Phone));
                var       charphone   = (Phone)charitems[0];
                var       targetphone = (Phone)targetitems[0];
                var       newmsg      = "[Phone]" + character.rp_name() + " says: " + msg;
                ChatManager.NearbyMessage(player, 15, newmsg, Color.Grey);
                if (targetphone.HasContactWithNumber(charphone.PhoneNumber))
                {
                    phonemsg = "[" + targetphone.Contacts.Find(pc => pc.Number == charphone.PhoneNumber).Name + "]" +
                               character.rp_name() + " says: " + msg;
                }
                else
                {
                    phonemsg = "[" + charphone.PhoneNumber + "]" + character.rp_name() + " says: " + msg;
                }
                NAPI.Chat.SendChatMessageToPlayer(talkingTo.Client, Color.Grey, phonemsg);
                //e.Cancel = true;
                //e.Reason = "Phone";
                LogManager.Log(LogManager.LogTypes.Phone, $"[Phone] {character.CharacterName}[{account.AccountName}] To {talkingTo.CharacterName}[{talkingTo.Client.SocialClubName}]: {msg}");
                return;
            }
            else if (account.AdminDuty == false && character.Calling911 == true)
            {
                //API.GetZoneName(player.Position);

                var charitems = InventoryManager.DoesInventoryHaveItem(character, typeof(Phone));
                var charphone = (Phone)charitems[0];

                Mdc.Add911Call(charphone.PhoneNumber, msg, "Los Santos");

                var newmsg = "[Phone]" + character.rp_name() + " says: " + msg;
                ChatManager.NearbyMessage(player, 15, newmsg, Color.Grey);

                NAPI.Chat.SendChatMessageToPlayer(player, Color.Grey, "911 Operator says: Thank you for reporting your emergency, a unit will be dispatched shortly.");
                PhoneManager.h_cmd(player);
                group_manager.lspd.Lspd.SendToCops(player, $"~r~911: #{charphone.PhoneNumber} reported a crime: {msg}");
                //e.Cancel = true;
                //e.Reason = "Phone";
                LogManager.Log(LogManager.LogTypes.Phone, $"[Phone] {character.CharacterName}[{account.AccountName}] To LSPD(911): {msg}");
                return;
            }

            if (account.AdminDuty == false)
            {
                msg = character.rp_name() + " says: " + msg;
                NearbyMessage(player, 15, msg);
                LogManager.Log(LogManager.LogTypes.ICchat, $"{character.CharacterName}[{account.AccountName}] says: {msg}");
                //e.Cancel = true;
            }
            else
            {
                b_cmd(player, msg);

                //Not sure where to log this so just why not both lmao
                LogManager.Log(LogManager.LogTypes.ICchat, $"((Admin {account.AdminName} says: {msg}))");
                LogManager.Log(LogManager.LogTypes.OOCchat, $"((Admin {account.AdminName} says: {msg}))");

                //e.Cancel = true;
            }
        }