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

FREE BoatGive : 1.0.0 1.0.0

Нет прав для скачивания
C#:
using System;
using UnityEngine;
using UnityEngine.SceneManagement;
using System.Collections.Generic;
using Facepunch;
namespace Oxide.Plugins {
    [Info("BoatGive", "wazzzup", "1.0.0")]
    [Description("BoatGive")]
    class BoatGive : RustPlugin {
        void OnEntityBuilt(Planner plan, GameObject obj) {
            var entity = obj.GetComponent<BaseEntity>();
            if (entity != null && entity.skinID == 2218121807) {
                BaseEntity boat = InstantiateEntity("assets/content/vehicles/boats/rowboat/rowboat.prefab", entity.transform.position);
                NextTick(() => {
                    entity?.Kill();
                }
                );
                boat.enableSaving = true;
                boat.Spawn();
            }
        }
        private BaseEntity InstantiateEntity(string type, Vector3 position) {
            var gameObject = Instantiate.GameObject(GameManager.server.FindPrefab(type), position, new Quaternion());
            gameObject.name = type;
            SceneManager.MoveGameObjectToScene(gameObject, Rust.Server.EntityScene);
            UnityEngine.Object.Destroy(gameObject.GetComponent<Spawnable>());
            if (!gameObject.activeSelf) gameObject.SetActive(true);
            BaseEntity component = gameObject.GetComponent<BaseEntity>();
            return component;
        }
        void OnServerInitialized() {
            cmd.AddConsoleCommand("giveboat", this, "cmdGiveBoat");
        }
        void cmdGiveBoat(ConsoleSystem.Arg arg) {
            var player = arg?.Player() ?? null;
            if (player?.net.connection.authLevel < 2) return;
            if (arg.Args == null || arg.Args.Length < 1) {
                SendReply(arg, "bad syntax");
                return;
            }
            BasePlayer targetPlayer = BasePlayer.Find(arg.Args[0]);
            if (targetPlayer == null) {
                SendReply(arg, "error player not found for give");
                return;
            }
            if (GiveBoat(targetPlayer)) {
                SendMsg(targetPlayer, "Boat got");
            }
            else {
                SendMsg(targetPlayer, "inventory full");
            }
        }
        bool GiveBoat(ItemContainer container) {
            var item = ItemManager.CreateByName("innertube", 1, 2218121807);
            item.name = "Деревянная Лодка";
            return item.MoveToContainer(container, -1, false);
        }
        bool GiveBoat(BasePlayer player) {
            var item = ItemManager.CreateByName("innertube", 1, 2218121807);
            item.name = "Деревянная Лодка";
            if (!player.inventory.GiveItem(item)) {
                item.Drop(player.inventory.containerMain.dropPosition, player.inventory.containerMain.dropVelocity, new Quaternion());
                return false;
            }
            return true;
        }
        private string msg(string key, BasePlayer player = null) => lang.GetMessage(key, this, player?.UserIDString);
        private void SendMsg(BasePlayer player, string langkey, bool title = false, params string[] args) {
            string message = String.Format(msg(langkey, player), args);
            if (title) message = msg("Title", player) + message;
            SendReply(player, message);
        }
        protected override void LoadDefaultMessages() {
            lang.RegisterMessages(new Dictionary<string, string>() {
                {
                    "Title", ""
                }
                , {
                    "Boat got", ""
                }
                , {
                    "inventory full", "Inventory full"
                }
                ,
            }
            , this, "en");
            lang.RegisterMessages(new Dictionary<string, string>() {
                {
                    "Title", ""
                }
                , {
                    "Boat got", ""
                }
                , {
                    "inventory full", "Инвентарь полный"
                }
                ,
            }
            , this, "ru");
        }
    }
}

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

Другие ресурсы пользователя 15FPS

Сверху