Welcome, guest! Please login or register.

    * Shoutbox

    RefreshHistory
    • thewraith500: check out autoscape.org custom osrs server! inferno hydra konar
      January 22, 2021, 04:02:52 PM
    • jennipher11: better play dodian.net
      January 21, 2021, 02:53:53 PM
    • Project_Czar: Yes @Zymus..
      January 21, 2021, 04:49:17 AM
    • Zymus: Are you the programmer?
      January 20, 2021, 05:04:26 PM
    • Project_Czar: FizzerX - Allstar server is now ONLINE!
      January 20, 2021, 06:46:51 AM
    • Mazeingmaze: sick
      January 12, 2021, 08:56:35 PM
    • jennipher11: dodian.net
      January 11, 2021, 02:12:23 PM
    • jennipher11: yes it's back online
      January 11, 2021, 02:12:04 PM
    • arham 4: nice
      January 10, 2021, 04:43:09 PM
    • Togasa: Dodian is back online!? Dodian.net
      January 08, 2021, 10:04:21 PM
    • Pwnd: Y'all don't even know there's a community inside talk section
      January 06, 2021, 07:49:05 PM
    • drubrkletern: damn
      January 06, 2021, 01:04:50 AM
    • Zymus: Nobody cares
      January 04, 2021, 06:39:43 AM
    • wildskiller: or does no one give a shit about moparscape anymore?
      January 03, 2021, 09:24:08 PM
    • wildskiller: So, anyone gonna ban the guy in Server and Client development showoff?
      January 03, 2021, 09:24:00 PM
    • zachrida: wheres all my work?
      December 08, 2020, 09:50:22 AM
    • zachrida: what happend?
      December 08, 2020, 09:49:53 AM
    • zachrida: yo
      December 08, 2020, 09:49:36 AM
    • Shady Aftermath: try out skyfire317.com it has 5 custom skills, max level 168 and combat level 255
      December 07, 2020, 12:55:12 PM
    • skyhigh21: twisted-royalty.com is pretty cool i like it so far
      December 05, 2020, 01:35:34 PM

    Author Topic: ShopRestock  (Read 971 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