Пример #1
0
 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;
         }
     }
 }
Пример #2
0
        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);
                }
            }
        }