Please Help me!
Adding my item to box spawns?
Hey!
You can use `OnLootSpawn` hook and add your item to the container :)
You can use `OnLootSpawn` hook and add your item to the container :)
and can be in more details, I use this hook but do not know what next ) Here is an example of this plugin
using Oxide.Core.Libraries.Covalence;
using UnityEngine;
using Random = UnityEngine.Random;
namespace Oxide.Plugins
{
[Info("CaseSpawn", "Dadya Stepa", "1")]
public class MegaCaseSpawned : RustPlugin
{
public float chance = 0.1f;
private void OnEntityDeath(BaseNetworkable entity, HitInfo info)
{
BasePlayer player = info.InitiatorPlayer?.ToPlayer();
if (player == null || entity == null || info == null) return;
if (31 - player.inventory.containerMain.itemList.Count - player.inventory.containerBelt.itemList.Count < 1)
{
PrintToChat(player, "ты такую вещь потерял! Следи за инвентарём,что бы в следующий раз тебе повезло!");
}
if (entity.name.Contains("barrel") && (Random.Range(1, 1) <= chance))
{
Chinook(player);
if (player != null)
PrintToChat(player, "ВОУ, да тебе повезло, загляни в инвентарь!");
}
}
private void OnEntityBuilt(Planner planner, GameObject gameobject)
{
var entity = gameobject.ToBaseEntity();
if (entity == null) return;
if (entity.skinID != skin) return;
var player = planner.GetOwnerPlayer();
if (player == null) return;
var pos = entity.transform.position;
entity.Kill();
var Chinook = GameManager.server.CreateEntity("assets/prefabs/deployable/chinooklockedcrate/codelockedhackablecrate.prefab", pos, new Quaternion(), true);
Chinook.OwnerID = player.userID;
Chinook.Spawn();
}
void OnCrateHack(HackableLockedCrate crate)
{
crate.hackSeconds = 600f;
}
[ConsoleCommand("chin")]
private void Addchin(ConsoleSystem.Arg args)
{
if (!args.IsAdmin)
{
return;
}
var player = BasePlayer.Find(args.Args[0]);
Chinook(player);
}
private void Chinook(BasePlayer player)
{
var boxlock = ItemManager.CreateByName("box.wooden", 1, skin);
boxlock.name = "Мега ящик";
boxlock.MoveToContainer(player.inventory.containerMain);
}
private const ulong skin = 918834850;
}
}
In response to misticos ():Hey!
You can use `OnLootSpawn` hook and add your item to the container :)
and can be in more details, I use this hook but do not know what next ) Here is an example of this plugin
using Oxide.Core.Libraries.Covalence;
using UnityEngine;
using Random = UnityEngine.Random;
namespace Oxide.Plugins
{
[Info("CaseSpawn", "Dadya Stepa", "1")]
public class MegaCaseSpawned : RustPlugin
{
public float chance = 0.1f;
private void OnEntityDeath(BaseNetworkable entity, HitInfo info)
{
BasePlayer player = info.InitiatorPlayer?.ToPlayer();
if (player == null || entity == null || info == null) return;
if (31 - player.inventory.containerMain.itemList.Count - player.inventory.containerBelt.itemList.Count < 1)
{
PrintToChat(player, "ты такую вещь потерял! Следи за инвентарём,что бы в следующий раз тебе повезло!");
}
if (entity.name.Contains("barrel") && (Random.Range(1, 1) <= chance))
{
Chinook(player);
if (player != null)
PrintToChat(player, "ВОУ, да тебе повезло, загляни в инвентарь!");
}
}
private void OnEntityBuilt(Planner planner, GameObject gameobject)
{
var entity = gameobject.ToBaseEntity();
if (entity == null) return;
if (entity.skinID != skin) return;
var player = planner.GetOwnerPlayer();
if (player == null) return;
var pos = entity.transform.position;
entity.Kill();
var Chinook = GameManager.server.CreateEntity("assets/prefabs/deployable/chinooklockedcrate/codelockedhackablecrate.prefab", pos, new Quaternion(), true);
Chinook.OwnerID = player.userID;
Chinook.Spawn();
}
void OnCrateHack(HackableLockedCrate crate)
{
crate.hackSeconds = 600f;
}
[ConsoleCommand("chin")]
private void Addchin(ConsoleSystem.Arg args)
{
if (!args.IsAdmin)
{
return;
}
var player = BasePlayer.Find(args.Args[0]);
Chinook(player);
}
private void Chinook(BasePlayer player)
{
var boxlock = ItemManager.CreateByName("box.wooden", 1, skin);
boxlock.name = "Мега ящик";
boxlock.MoveToContainer(player.inventory.containerMain);
}
private const ulong skin = 918834850;
}
}