Exemplo n.º 1
0
        internal void ReloadSubscription(int SubscriptionId, int DurationSeconds, Silverwave.HabboHotel.GameClients.GameClient Session)
        {
            IQueryAdapter adapter;
            SubscriptionId = 1;
            SilverwaveEnvironment.GetGame().GetAchievementManager().ProgressUserAchievement(Session, "ACH_VipClub", 1);

            using (IQueryAdapter dbClient = SilverwaveEnvironment.GetDatabaseManager().getQueryreactor())
            {
                dbClient.setQuery("SELECT * FROM user_subscriptions WHERE user_id=@id AND timestamp_expire > UNIX_TIMESTAMP() ORDER BY subscription_id DESC LIMIT 1");
                dbClient.addParameter("id", UserId);
                DataRow Row = dbClient.getRow();

                if (Row == null)
                {
                    int unixTimestamp = SilverwaveEnvironment.GetUnixTimestamp();
                    int timeExpire = SilverwaveEnvironment.GetUnixTimestamp() + DurationSeconds;
                    Subscription subscription2 = new Subscription(1, SubscriptionId, timeExpire);
                    using (adapter = SilverwaveEnvironment.GetDatabaseManager().getQueryreactor())
                    {
                        adapter.setQuery(string.Concat(new object[] { "INSERT INTO user_subscriptions (user_id,subscription_id,timestamp_activated,timestamp_expire) VALUES (", this.UserId, ",'1',", unixTimestamp, ",", timeExpire, ")" }));
                        adapter.runQuery();
                    }
                    Subscription = new Subscription(1, SubscriptionId, SilverwaveEnvironment.GetUnixTimestamp() + DurationSeconds);
                }
                else
               {
                   using (IQueryAdapter adapters = SilverwaveEnvironment.GetDatabaseManager().getQueryreactor())
                   {
                       adapters.setQuery(string.Concat(new object[] { "UPDATE user_subscriptions SET timestamp_expire = ", Subscription.ExpireTime + DurationSeconds, " WHERE user_id = ", this.UserId, " AND subscription_id = '1'" }));
                       adapters.runQuery();
                   }
                   Subscription = new Subscription(1, SubscriptionId, Subscription.ExpireTime + DurationSeconds);
                }
            }
        }
Exemplo n.º 2
0
        public WiredItem GenerateNewItem(Silverwave.HabboHotel.Items.RoomItem Item)
        {
            Console.WriteLine("Interaccion: "+Item.GetBaseItem().InteractionType);
            switch (Item.GetBaseItem().InteractionType)
            {
                case InteractionType.triggerroomenter:
                    return new UserEntersRoom(Item, Room);

                case InteractionType.triggeronusersay:
                    return new SaysKeyword(Item, Room);

                case InteractionType.triggerrepeater:
                    return new Repeater(Item, Room);
                    
                case InteractionType.triggergamestart:
                    return new GameStarts(Item, Room);

                case InteractionType.triggergameend:
                    return new GameEnds(Item, Room);

                case InteractionType.triggerstatechanged:
                    return new FurniStateToggled(Item, Room);

                case InteractionType.triggerwalkonfurni:
                    return new WalksOnFurni(Item, Room);

                case InteractionType.triggerwalkofffurni:
                    return new WalksOffFurni(Item, Room);

                case InteractionType.actionshowmessage:
                    return new ShowMessage(Item, Room);

                case InteractionType.actionteleportto:
                    return new TeleportToFurni(Item, Room);

                case InteractionType.actiontogglestate:
                    return new ToggleFurniState(Item, Room);
                    
                case InteractionType.actionmoverotate:
                    return new MoveRotateFurni(Item, Room);

                case InteractionType.actionkickuser:
                    return new KickUser(Item, Room);

                case InteractionType.conditionfurnishaveusers:
                    return new FurniHasUsers(Item, Room);

                case InteractionType.conditionfurnihasfurni:
                    return new FurniHasFurni(Item, Room);

                case InteractionType.conditiontriggeronfurni:
                    return new TriggererOnFurni(Item, Room);
                case InteractionType.actionposreset:
                    return new PositionReset(Item, Room);
            }

            return null;
        }