-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathCommandVOpen.cs
More file actions
92 lines (84 loc) · 3.5 KB
/
Copy pathCommandVOpen.cs
File metadata and controls
92 lines (84 loc) · 3.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using Rocket.API;
using Rocket.Unturned.Chat;
using Rocket.Unturned.Player;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
namespace VirtualStorage
{
class CommandVOpen : IRocketCommand
{
internal static readonly string syntax = "";
internal static readonly string help = "Opens active container.";
public List<string> Aliases
{
get { return new List<string>() { "vo" }; }
}
public AllowedCaller AllowedCaller
{
get { return AllowedCaller.Both; }
}
public string Help
{
get { return help; }
}
public string Name
{
get { return "vopen"; }
}
public List<string> Permissions
{
get { return new List<string> { "vopen" }; }
}
public string Syntax
{
get { return syntax; }
}
public void Execute(IRocketPlayer caller, string[] command)
{
UnturnedPlayer player = (UnturnedPlayer)caller;
PVirtStorage pComponent = player.GetComponent<PVirtStorage>();
string DefaultContainer = VirtualStorage.Database.GetDefaultContainer(player.CSteamID);
ContainerManager cData = null;
if (string.IsNullOrEmpty(DefaultContainer))
{
UnturnedChat.Say(caller, VirtualStorage.Instance.Translate("no_default_set"), Color.red);
return;
}
object[] cInfo = VirtualStorage.Database.GetContainerData(player.CSteamID, DefaultContainer);
if (cInfo == null)
{
UnturnedChat.Say(caller, VirtualStorage.Instance.Translate("open_data_not_found"), Color.red);
return;
}
if (VirtualStorage.Containers.ContainsKey(player.CSteamID) && VirtualStorage.Containers[player.CSteamID].ContainerName == DefaultContainer)
cData = VirtualStorage.Containers[player.CSteamID];
else
{
if (VirtualStorage.Containers.ContainsKey(player.CSteamID))
VirtualStorage.Containers[player.CSteamID].Cleanup();
cData = new ContainerManager(player);
if (!cData.SetContainer((ushort)cInfo[0], (byte[])cInfo[1], player, (string)cInfo[2], (byte)cInfo[3], (byte)cInfo[4]))
{
UnturnedChat.Say(caller, VirtualStorage.Instance.Translate("open_invalid"), Color.red);
return;
}
}
if (VirtualStorage.TryCharge(caller, VirtualStorage.Instance.Configuration.Instance.OpenChargeCost, "vs.overrideopencost"))
{
if (!VirtualStorage.Containers.ContainsKey(player.CSteamID))
VirtualStorage.Containers.Add(player.CSteamID, cData);
if (!caller.HasPermission("vs.overrideopencost"))
UnturnedChat.Say(caller, VirtualStorage.Instance.Translate("open_charged", Math.Round(VirtualStorage.Instance.Configuration.Instance.OpenChargeCost, 2), fr34kyn01535.Uconomy.Uconomy.Instance.Configuration.Instance.MoneyName), Color.cyan);
pComponent.cData = cData;
cData.Open();
}
else
{
UnturnedChat.Say(caller, VirtualStorage.Instance.Translate("not_enough_credits", fr34kyn01535.Uconomy.Uconomy.Instance.Configuration.Instance.MoneyName), Color.red);
}
}
}
}