Este es mi código:
Código:
Lo que quiero hacer es poner este if: if (!HasPermission(player, "testeamos")) return; por fuera de todo ese código. Osea, algo así como: ...
bool HasPermission(BasePlayer player, string perm) => permission.UserHasPermission(player.UserIDString, perm);
private ItemSkinDirectory.Skin defaultSkin;
private readonly List<int> randomizedTasks = new List<int>();
private void Loaded()
{
permission.RegisterPermission("testeamos", this);
defaultSkin = new ItemSkinDirectory.Skin
{
name = "Default",
id = 0
};
}
private void OnItemCraft(ItemCraftTask task, BasePlayer crafter, BasePlayer player)
{
var skins = ItemSkinDirectory.ForItem(task.blueprint.targetItem).ToList();
if (skins.Count < 1 || task.skinID != 0) return;
randomizedTasks.Add(task.taskUID);
skins.Add(defaultSkin);
task.skinID = skins.GetRandom().id;
}
private void OnItemCraftFinished(ItemCraftTask task, Item item)
{
if (!randomizedTasks.Contains(task.taskUID)) return;
if (task.amount == 0)
{
randomizedTasks.Remove(task.taskUID);
return;
}
var skins = ItemSkinDirectory.ForItem(task.blueprint.targetItem).ToList();
skins.Add(defaultSkin);
task.skinID = skins.GetRandom().id;
}
...
Código:
Pero el problema es que el if funcione tengo que hacer un void así:if (!HasPermission(player, "testeamos")){
//todo el codigo
}
Código:
Pero no se puede poner un void dentro de otro.void x(BasePlayer player)
{
if (!HasPermission(player, "testeamos")){
//todo el codigo
}
}
Bueno, espero que me entiendan. Sé que es un desastre pero entiendan que soy muy muy muy novato en esto.
¡Muchisimas gracias!


