Skip to content

Commit e132e95

Browse files
committed
Updated text and added move-only-owned barricades and structures
Updated text and added move-only-owned barricades and structures. Updated assembly version.
1 parent 8b5ccfc commit e132e95

File tree

4 files changed

+76
-9
lines changed

4 files changed

+76
-9
lines changed

source/AppleAdminControl.cs

Lines changed: 73 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33
using Rocket.Core.Plugins;
44
using Rocket.Unturned;
55
using Rocket.Unturned.Player;
6+
using SDG.Unturned;
7+
using Steamworks;
68
using System;
9+
using UnityEngine;
10+
using Logger = Rocket.Core.Logging.Logger;
711

812
namespace AppleAdminControl
913
{
@@ -12,14 +16,23 @@ public class Main : RocketPlugin
1216
protected override void Load()
1317
{
1418
Logger.Log($"AppleAdminControl version {Assembly.GetName().Version} has been loaded!", ConsoleColor.Magenta);
15-
Logger.Log($"AppleAdminControl created by AppleManYT#8750, for use on RedstonePlugins.com!", ConsoleColor.Cyan);
19+
Logger.Log($"AppleAdminControl created by AppleManYT#8750 - For support, contact me via the UnturnedStore.com Discord, or submit a GitHub issue!", ConsoleColor.Cyan);
1620

1721
U.Events.OnPlayerConnected += OnPlayerConnect;
1822
U.Events.OnPlayerDisconnected += OnPlayerDisconnect;
23+
24+
BarricadeManager.onTransformRequested += OnBarricadeTransformRequested;
25+
StructureManager.onTransformRequested += OnStructureTransformRequested;
1926
}
2027

2128
protected override void Unload()
2229
{
30+
U.Events.OnPlayerConnected -= OnPlayerConnect;
31+
U.Events.OnPlayerDisconnected -= OnPlayerDisconnect;
32+
33+
BarricadeManager.onTransformRequested -= OnBarricadeTransformRequested;
34+
StructureManager.onTransformRequested -= OnStructureTransformRequested;
35+
2336
Logger.Log($"{Name} has been unloaded!", ConsoleColor.Magenta);
2437
}
2538

@@ -28,19 +41,27 @@ public void OnPlayerConnect(UnturnedPlayer player)
2841
if (player.HasPermission("admin.freecam"))
2942
{
3043
player.Player.look.sendFreecamAllowed(true);
44+
}
45+
else
46+
{
47+
player.Player.look.sendFreecamAllowed(false);
3148
}
32-
else if (player.HasPermission("admin.editor"))
49+
50+
if (player.HasPermission("admin.editor"))
3351
{
3452
player.Player.look.sendWorkzoneAllowed(true);
3553
}
36-
else if (player.HasPermission("admin.spectate"))
54+
else
55+
{
56+
player.Player.look.sendWorkzoneAllowed(false);
57+
}
58+
59+
if (player.HasPermission("admin.spectate"))
3760
{
3861
player.Player.look.sendSpecStatsAllowed(true);
3962
}
4063
else
4164
{
42-
player.Player.look.sendFreecamAllowed(false);
43-
player.Player.look.sendWorkzoneAllowed(false);
4465
player.Player.look.sendSpecStatsAllowed(false);
4566
}
4667
}
@@ -51,5 +72,52 @@ public void OnPlayerDisconnect(UnturnedPlayer player)
5172
player.Player.look.sendWorkzoneAllowed(false);
5273
player.Player.look.sendSpecStatsAllowed(false);
5374
}
75+
76+
private void OnBarricadeTransformRequested(CSteamID instigator, byte x, byte y, ushort plant, uint instanceID, ref Vector3 point, ref byte angle_x, ref byte angle_y, ref byte angle_z, ref bool shouldAllow)
77+
{
78+
if (BarricadeManager.tryGetRegion(x, y, plant, out BarricadeRegion region))
79+
{
80+
foreach (BarricadeDrop drop in region.drops)
81+
{
82+
if (drop.instanceID == instanceID)
83+
{
84+
ulong owner = drop.GetServersideData().owner;
85+
86+
CSteamID ownerID = (CSteamID)owner;
87+
if (ownerID != instigator)
88+
{
89+
if (!UnturnedPlayer.FromCSteamID(instigator).HasPermission("admin.editor.otherobjects"))
90+
{
91+
shouldAllow = false;
92+
ChatManager.serverSendMessage("You can only move your own barricades!!", Color.red, null, UnturnedPlayer.FromCSteamID(instigator).SteamPlayer(), EChatMode.SAY, null, true);
93+
}
94+
}
95+
}
96+
}
97+
}
98+
}
99+
100+
private void OnStructureTransformRequested(CSteamID instigator, byte x, byte y, uint instanceID, ref Vector3 point, ref byte angle_x, ref byte angle_y, ref byte angle_z, ref bool shouldAllow)
101+
{
102+
foreach (StructureRegion region in StructureManager.regions)
103+
{
104+
foreach (StructureDrop drop in region.drops)
105+
{
106+
if (drop.instanceID == instanceID)
107+
{
108+
ulong owner = drop.GetServersideData().owner;
109+
CSteamID ownerID = (CSteamID)owner;
110+
if (ownerID != instigator)
111+
{
112+
if (!UnturnedPlayer.FromCSteamID(instigator).HasPermission("admin.editor.otherobjects"))
113+
{
114+
shouldAllow = false;
115+
ChatManager.serverSendMessage("You can only move your own structures!!", Color.red, null, UnturnedPlayer.FromCSteamID(instigator).SteamPlayer(), EChatMode.SAY, null, true);
116+
}
117+
}
118+
}
119+
}
120+
}
121+
}
54122
}
55123
}

source/AppleAdminControl.csproj

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@
3131
<WarningLevel>4</WarningLevel>
3232
</PropertyGroup>
3333
<ItemGroup>
34-
<Reference Include="Assembly-CSharp, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
35-
<SpecificVersion>False</SpecificVersion>
34+
<Reference Include="Assembly-CSharp">
3635
<HintPath>libs\Assembly-CSharp.dll</HintPath>
3736
</Reference>
3837
<Reference Include="Rocket.API, Version=2.6.4.0, Culture=neutral, processorArchitecture=MSIL">

source/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@
3232
// You can specify all the values or you can default the Build and Revision Numbers
3333
// by using the '*' as shown below:
3434
// [assembly: AssemblyVersion("1.0.*")]
35-
[assembly: AssemblyVersion("1.0.0.0")]
36-
[assembly: AssemblyFileVersion("1.0.0.0")]
35+
[assembly: AssemblyVersion("1.1.2")]
36+
[assembly: AssemblyFileVersion("1.1.2")]

source/libs/Assembly-CSharp.dll

37.8 KB
Binary file not shown.

0 commit comments

Comments
 (0)