Skip to content

Instantly share code, notes, and snippets.

@KonyukhovSergey
Created April 23, 2014 13:50
Show Gist options
  • Save KonyukhovSergey/11215880 to your computer and use it in GitHub Desktop.
Save KonyukhovSergey/11215880 to your computer and use it in GitHub Desktop.

Revisions

  1. KonyukhovSergey created this gist Apr 23, 2014.
    90 changes: 90 additions & 0 deletions gistfile1.cs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,90 @@
    using System;
    using System.Windows.Forms;
    using System.Threading;
    using System.Collections.Generic;
    using System.Linq;
    using Jungler.Bot.Classes;
    using System.Threading.Tasks;
    using Example;

    namespace YourNamespace {
    public class YourClass : Core {

    private AuctionItem findMinimalPrice(List<AuctionItem> items, ItemGrade grade, int maxPrice) {
    int minPrice = maxPrice;
    AuctionItem result = null;

    foreach(AuctionItem item in items) {
    if(item.item.grade == grade) {
    if(item.buyBackPrice <= minPrice && item.buyBackPrice > 0) {
    minPrice = item.buyBackPrice;
    result = item;
    }
    }
    }

    if(minPrice > maxPrice) {
    result = null;
    }
    else if(result != null) {
    Log("item: '" + result.item.name + "', grade: '" + result.item.grade.ToString() + "', minPrice = " + result.buyBackPrice.ToString());
    }
    return result;
    }

    public bool purchaseItem(string name, List<KeyValuePair<ItemGrade, int>> prices) {

    AuctionRequestParams auctionRequestParams = new AuctionRequestParams(name);

    List<AuctionItem> items = getAuctionBuyList(auctionRequestParams);

    foreach(var price in prices) {
    AuctionItem item = findMinimalPrice(items, price.Key, price.Value);

    if(item != null) {
    bool result = item.MakeAuctionBid(price.Value);
    if(result == false) {
    Log("error: " + GetLastError().ToString());
    }
    else {
    Log("item purchased");
    }
    }
    }

    return true;
    }

    public bool purchaseItem(string name, int price) {
    AuctionRequestParams auctionRequestParams = new AuctionRequestParams(name);

    List<AuctionItem> items = getAuctionBuyList(auctionRequestParams);

    foreach(var item in items) {
    Log("item: '" + item.item.name + "', grade: '" + item.item.grade.ToString() + "' buyBackPrice = " + item.buyBackPrice.ToString());
    }

    for(int grade = 11; grade >= 0; grade--) {
    AuctionItem item = findMinimalPrice(items, (ItemGrade)grade, price);

    if(item != null) {
    bool result = item.MakeAuctionBid(item.buyBackPrice);
    if(result == false) {
    Log("error: " + GetLastError().ToString());
    }
    else {
    Log("item purchased");
    }
    }
    }

    return true;
    }

    public void PluginRun() {
    purchaseItem("Посох витражей", 90000);
    //new PurchaseForm(this).ShowDialog();
    }
    }

    }