Welcome, guest! Please login or register.

    * Shoutbox

    RefreshHistory
    • milomakes: holy crap the spam is real! I just came back after idk how many years to this haahah
      January 20, 2020, 07:32:33 AM
    • bansil: wow the absolute state of this forum
      January 19, 2020, 10:08:34 AM
    • hardcore22:[link]
      January 15, 2020, 02:20:59 PM
    • hardcore22:[link]
      January 15, 2020, 02:20:53 PM
    • hardcore22: come play and enjoy the good old feeling of back in the day! [link]
      January 15, 2020, 02:20:48 PM
    • hardcore22: join scaperune!!!! [link]
      January 15, 2020, 02:20:16 PM
    • hardcore22:[link] join the ultimate oldskool feeling
      January 15, 2020, 02:20:05 PM
    • Zukodens: Brand new rsps in this site Adv's : [link]
      January 15, 2020, 11:20:55 AM
    • Zukodens:[link]
      January 15, 2020, 11:20:38 AM
    • ragnoroker: Brand New RSPS - Unique with Friendly laid back community - Join today - [link]
      January 14, 2020, 05:23:32 PM
    • ragnoroker: Brand New RSPS - Unique with Friendly laid back community - Join today - [link]
      January 14, 2020, 05:23:29 PM
    • ragnoroker: Brand New RSPS - Unique with Friendly laid back community - Join today - [link]
      January 14, 2020, 05:23:25 PM
    • hardcore22: become a member of scaperune! [link]
      January 14, 2020, 11:56:21 AM
    • hardcore22:[link] good old days
      January 14, 2020, 11:55:59 AM
    • hardcore22:[link] join now!
      January 14, 2020, 11:55:47 AM
    • hardcore22: scaperune [link]
      January 14, 2020, 11:54:03 AM
    • hardcore22: join [link] and enjoy the good old days! its awsome!
      January 14, 2020, 11:52:54 AM
    • Zukodens: Infinity-Pk Brand new 317 server just released ! ! Join here : [link]
      January 14, 2020, 11:51:05 AM
    • Zukodens:[link] Brand new server just released ! !
      January 14, 2020, 11:50:41 AM
    • Zukodens: hello guys
      January 14, 2020, 11:50:22 AM

    Author Topic: ShopRestock  (Read 563 times)

    0 Members and 1 Guest are viewing this topic.

    Offlineimback4more

    • Member
    • ***
    • Posts: 126
    • Thanks: +0/-0
      • View Profile
    ShopRestock
    « on: August 27, 2018, 11:20:02 PM »
    So my ShopRestock works perfectly fine.
    My problem is that, if you buy let's say all 10 of Air runes out of 10.
    Then, the ShopRestock is going to have an endless loop of restocking the Air runes, even though the Air runes aren't restocking.
    Mainly because the Air runes aren't in the shop anymore and it's just a blank space slot since I bought all 10.

    Now, let's say I buy 9 out of 10 Air runes.
    Because there is still 1 left, and the maximum it is suppose to have is 10.
    Then, the ShopRestock is going to start restocking 1 Air rune every 5 seconds and stops once it has the maximum of 10.
    Which is exactly how it's suppose to work.
    How exactly do I tell the server to re-add the Air runes back to its slot in the shop that were all bought so it can start restocking them again?

    Here's my shoprestock.java

    Code: [Select]
    public ShopRestockTask(Shop items) {
            super(5);
            this.shop = items;
            System.out.println("debug restock 1");
        }


        public final Shop shop;


        @Override
        protected void execute() {
            if(shop.fullyRestocked()) {
                System.out.println("debug restock 2");
                stop();
                return;
            }
            if(shop.getId() != Shop.GENERAL_STORE) {
                System.out.println("debug restock 3");
                for(int shopItemLength = 0; shopItemLength < shop.getOriginalStock().length; shopItemLength++) {
                    //System.out.println("debug restock 4");
                    int ogStockAmount = shop.getOriginalStock()[shopItemLength].getAmount();
                    int currentStockAmount = shop.getItems()[shopItemLength].getAmount();
                   
                    if(ogStockAmount > currentStockAmount) {
                        shop.add(shop.getItems()[shopItemLength].getId(), 1);
                        System.out.println("debug restock 5");
                    } else if(ogStockAmount < currentStockAmount) {
                        shop.delete(shop.getItems()[shopItemLength].getId(), 1);
                        System.out.println("debug restock 6");
                    }
                   
                }
            } else {
                for(Item it : shop.getValidItems()) {
                    shop.delete(it.getId(), 1);
                    System.out.println("debug restock 7");
                }
            }
            shop.publicRefresh();
            shop.refreshItems();
            if(shop.fullyRestocked()) {
                stop();
                System.out.println("debug restock 8");
            }
            System.out.println("debug restock 9");
        }


        @Override
        public void stop() {
            setEventRunning(false);
            shop.setRestockingItems(false);
            System.out.println("debug restock 10");
        }

    Here's a video of what I'm talking about.

    The shop perfectly restocks the items back to 10.
    But, if I buy all 10 of them. The shop doesn't restock and it's stuck on an endless loop with debugs 3, 5, and 9.

    [video][/video]
    « Last Edit: August 27, 2018, 11:45:11 PM by imback4more »
    Runescape Gambling

    Offlinematzie

    • Member
    • ****
    • Posts: 1,014
    • Thanks: +0/-0
      • View Profile
    Re: ShopRestock
    « Reply #1 on: September 21, 2018, 03:05:24 PM »
    When you buy an item from the shop that is part of the shops default items, the itemID should not be nulled out, it should keep the itemID and just change the count to 0. The code probably sets itemID to -1, so when you add an item you are just restocking null's.
    smart phones are dumb
    people are smart phones.

     

    Copyright © 2017 MoparScape. All rights reserved.
    Powered by SMFPacks SEO Pro Mod |
    SimplePortal 2.3.5 © 2008-2012, SimplePortal