Jump to content

trade.isSecondInterfaceOpen,have trouble with,,help me


Recommended Posts

Posted (edited)

      when  trade.isSecondInterfaceOpen,   I can not read the number of other items, the use of what "api" or a good solution?

(I was deceived, the first transaction window and the second transaction window, the number of different items)

 

 

If, isSecondInterfaceOpen, what "api" can read each other "value"

 

 

 

SecondInterfaceOpen, but the other has quickly removed items, bot in the automatic trading time, but no way to detect, because the final step of the transaction, can only determine whether the other party to accept ,,,, I hope that the last step through what verification

Edited by hansen19498
Posted

SecondInterfaceOpen, but the other has quickly removed items, bot in the automatic trading time, but no way to detect, because the final step of the transaction, can only determine whether the other party to accept ,,,, I hope that the last step through what verification

I, don't, understand, what you, are asking, me. 

Posted

 

没有这方面的工作?

getTrade()。getTheirOffers()
getTrade()。getOurOffers()

 

 

if(trade.isFirstInterfaceOpen()) {CNUM=trade.getTheirOffers().getAmount("rune ore");log("CNUM="+CNUM)}//CNUM=10

//but   

if(trade.isSecondInterfaceOpen()) {CNUM=trade.getTheirOffers().getAmount("rune ore");log("CNUM="+CNUM)}//CNUM=0

 

 it  isnt  working

这样可行。我有它在我的剧本之一。 

不知道那是什么,他是问。 

Clearly, when the second trading window opens,

trade.getTheirOffers().getAmount  it isnot  working

Posted

if(trade.isFirstInterfaceOpen()) {CNUM=trade.getTheirOffers().getAmount("rune ore");log("CNUM="+CNUM)}//CNUM=10

//but   

if(trade.isSecondInterfaceOpen()) {CNUM=trade.getTheirOffers().getAmount("rune ore");log("CNUM="+CNUM)}//CNUM=0

 

 it  isnt  working

Clearly, when the second trading window opens,

trade.getTheirOffers().getAmount  it isnot  working

 :???:

Posted (edited)

what i have understood is you want to check item amount in second trade window,

I don't think that getTheirOffers() / getOurOffers() works in this case

 

It might be possible to do so using this (@TheScrub)

public List<TradeItem> getItemsSecondaryScreen(String text) throws ParseException {
        ArrayList<TradeItem> list = new ArrayList<TradeItem>();
        if (text == null || !text.contains("<br>")) {
            return list;
        }

        String items[] = text.split("<br>");
        for (String s : items) {
            String[] itemData = s.split("<col=[0-9A-Fa-f]{6}>");
            if (itemData.length == 2) {
                list.add(new TradeItem(itemData[1]));

            } else if (itemData.length == 4) {
                list.add(new TradeItem(itemData[1], parseQuantity(itemData[3])));

            } else {
                try {
                    throw new Exception("Sorry please check the item");
                } catch (Exception e) {
                    e.printStackTrace();
                }

            }
        }

        return list;
    }

    private int parseQuantity(String text) throws ParseException {
        if (text == null) {
            return -1;
        }

        if (text.contains("(") && text.contains(")")) {
            text = text.substring(text.indexOf('(') + 1, text.indexOf(')'));
            NumberFormat.getIntegerInstance(java.util.Locale.US).parse(text)
                    .intValue();
        }

        return NumberFormat.getIntegerInstance(java.util.Locale.US).parse(text)
                .intValue();
    }
public class TradeItem {
    private String name;
    private boolean stackable;
    private int amount;

    public TradeItem(String name) {
        this.name = name;
        this.stackable = false;
        this.amount = 1;
    }

    public TradeItem(String name, int amount) {
        this.name = name;
        this.amount = amount;
        this.stackable = true;
    }

    public String getName() {
        return this.name;
    }

    public int getAmount() {
        return this.amount;
    }

    public boolean isStackable() {
        return this.stackable;
    }
}

anyways, why do you have to detect it?

Edited by qverkk

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...