public static void RemovePoint(User user, string warpName) { using (var db = new LiteDatabase(@"GB.db")) { var warps = db.GetCollection <WarpPoint>("warps"); var result = warps.FindOne(x => x.WarpName.Contains(warpName)); if (result != null) { if (result.Creator == user.Name || user.IsAdmin) { if (DateTime.Now.Subtract(result.TimeAndDate).TotalSeconds < 45) { WarpPunktRolleItem warpPunktItem = new WarpPunktRolleItem(); user.Inventory.TryAddItem(warpPunktItem, user); } warps.Delete(result.ID); ChatManager.ServerMessageToPlayer(new LocString("<color=green>Der Warp " + warpName + " wurde erfolgrei gelöscht!"), user, false, DefaultChatTags.Notifications, ChatCategory.Info); } else { ChatManager.ServerMessageToPlayer(new LocString("<color=red>Nur der ersteller kann den WarpPoint löschen!"), user, false, DefaultChatTags.Notifications, ChatCategory.Info); return; } } else { AdvertNotFound(user, warpName); return; } } }
public static void SavePoint(User user, string warpName) { // Bei jedem erstellen eines Warppunkt wird eine Rolle benötigt. WarpPunktRolleItem warpPunktItem = new WarpPunktRolleItem(); ItemStack istack = new ItemStack(warpPunktItem, 1, null); List <ItemStack> itemStacks = new List <ItemStack>(); itemStacks.Add(istack); using (var db = new LiteDatabase(@"GB.db")) { var warps = db.GetCollection <WarpPoint>("warps"); WarpPoint warpPoint = new WarpPoint { Creator = user.Name, WarpName = warpName, WarpPosX = user.Position.x, WarpPosY = user.Position.y + 1f, WarpPosZ = user.Position.z, TimeAndDate = DateTime.Now, }; var existName = warps.FindOne(x => x.WarpName.Contains(warpName)); if (existName == null) { if (user.Inventory.Contains(itemStacks)) { try { user.Inventory.TryRemoveItem(warpPunktItem.GetType(), user); warps.Insert(warpPoint); ChatManager.ServerMessageToAll("<color=green>" + warpPoint.Creator + " hat den Warppunkt " + warpPoint.WarpName + " erstellt!", true, DefaultChatTags.Notifications, ChatCategory.Info, null); } catch (Exception) { AdvertError(user, warpPoint.WarpName); throw; } AdvertSuccess(user, warpPoint.WarpName); } else { ChatManager.ServerMessageToPlayer(new LocString("<color=red>Du benötigst eine Warp Punkt Rolle um einen Warppunkt zu erstellen, diese kannst du bei einem Magier kaufen!"), user, false, DefaultChatTags.Notifications, ChatCategory.Info); } } else { ChatManager.ServerMessageToPlayer(new LocString("<color=red>Der Warp mit dem Namen " + warpName + " existiert bereits!"), user, false, DefaultChatTags.Notifications, ChatCategory.Info); } } }