Иконка ресурса

FREE WhoKnocks : 0.0.4 0.0.4

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
using System.Collections.Generic;   //dict
using System.Linq;  //list
using Convert = System.Convert;
using System;   //String.namespace Oxide.Plugins
{
    [Info("Who Knocks", "BuzZ[PHOQUE]", "0.0.4")]
    [Description("Get information messages on door knock")]

/*======================================================================================================================= 
*
*   25th november 2018
*   chat commands : 
*
*
*   0.0.1   20181125    creation
*   0.0.3               code simplified
*
*=======================================================================================================================*/

    class WhoKnocks : RustPlugin
    {
        bool testmode = false;

        const string MessageMe = "whoknocks.message";   // receive message when your door is knocked
        const string IWillKnow = "whoknocks.knows";     // know when you knock if player is online or offline

        void Init()
        {
            permission.RegisterPermission(MessageMe, this);
            permission.RegisterPermission(IWillKnow, this);
            if (testmode) PrintWarning("...testmode is [ON]");
        }

#region MESSAGES

        protected override void LoadDefaultMessages()
        {
            lang.RegisterMessages(new Dictionary<string, string>
            {
                {"KnocksMsg", "{0} is knocking one of your door."},
                {"OwnerOnlineMsg", "Owner {0} is online and has been informed."},
                {"OwnerOfflineMsg", "Owner {0} is actually sleeping !"},

            }, this, "en");

            lang.RegisterMessages(new Dictionary<string, string>
            {
                {"KnocksMsg", "{0} est en train de tocquer à une de vos porte."},
                {"OwnerOnlineMsg", "L'habitant {0} est en ligne et a été informé."},
                {"OwnerOfflineMsg", "L'habitant {0} est en train de dormir !"},

            }, this, "fr");
        }

#endregion

///////////////////////////////////////////////////////////////

        private void OnDoorKnocked(Door door, BasePlayer knocker)
        {
            if (door == null || knocker == null) return;
            BaseEntity dooritem = door as BaseEntity;
            if (dooritem == null) return;
            if (dooritem.OwnerID == null) return;
            bool know = permission.UserHasPermission(knocker.UserIDString, IWillKnow);
            BasePlayer playerdoor = BasePlayer.FindByID(dooritem.OwnerID);
            if (playerdoor == null) return;
            if (!testmode) if (playerdoor == knocker) return;
            bool messageme = permission.UserHasPermission(playerdoor.UserIDString, MessageMe);
            if (messageme == false) return;
            if (playerdoor.IsConnected) SendToChat(playerdoor, String.Format(lang.GetMessage("KnocksMsg", this, playerdoor.UserIDString),knocker.displayName));
            if (know)
            {
                SendToChat(knocker, String.Format(lang.GetMessage("OwnerOnlineMsg", this, knocker.UserIDString),playerdoor.displayName));
                if (!playerdoor.IsConnected) SendToChat(knocker, String.Format(lang.GetMessage("OwnerOfflineMsg", this, knocker.UserIDString),playerdoor.displayName));
            }
        }

        private void SendToChat(BasePlayer player, string Message)
        {
            PrintToChat(player, Message);
        }
    }
}

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху