Hello, im start using this plugin, and have some problems.
-Plugin go to pages, but NEVER bid.
Here is the script, and the log
[HIDE]
Using System;
using System.Drawing;
using System.Threading;
using System.Collections.Generic;
using System.Linq;
using ArcheBuddy.Bot.Classes;
namespace OpenAuctionHouse
{
public class OpenAuctionHouse : Core
{
private int overbidamount = 80; // attempt to bid 40c above current bid
private int waitSecondsForAuctionEnd = 180; // if a bid item is at < 3 minutes wait for it to end
private int msToBidBeforeAuctionEnd = 5000; // wait until timeleft = 5 seconds until bidding myself
private Random r = new Random();
public static string GetPluginAuthor()
{
return "lypnn";
}
public static string GetPluginVersion()
{
return "2.3.0.0";
}
public static string GetPluginDescription()
{
return "Open Auction House";
}
//Call on plugin start
public void PluginRun()
{
try
{
Log(DateTime.Now.ToShortTimeString() + " > ----- Open Auction House started -----");
while (true)
{
buyFromAuctionHouse("Faint gale lunadrop", 4480, 1); // 80 copper per item, minimum amount 2
buyFromAuctionHouse("Clear fire lunadrop", 4480, 1); // 50 copper per item, minimum amount 2
// add more items here
}
}
catch (Exception e)
{
if (e.GetType() != typeof(System.Threading.ThreadAbortException))
{
Log(DateTime.Now.ToShortTimeString() +" ERROR " +GetLastError().ToString() +" " +e.GetType().ToString() +" " +e.StackTrace);
Log(e.Message);
}
}
}
//Call on plugin stop
public void PluginStop()
{
Log(DateTime.Now.ToShortTimeString() + " > ----- Open Auction House stopped -----");
}
////////// no variables to edit below this line /////////////
//buyout an auction house item
public void buyFromAuctionHouse(string mySearchText, int maxprice, int minamount) // maxprice per item in copper, 1g = 1 00 00 copper
{
AuctionRequestParams req = new AuctionRequestParams(AuctionCategory.Off, 0, 0, mySearchText, false, ItemGrade.Common, AuctionSortType.Time, SortOrder.Asc);
int pip; // per item price
bool bidreturn;
List<AuctionItem> items = getAuctionBuyList(req, 0);
if(items != null)
{
foreach (AuctionItem item in items)
{
if (!item.item.name.Equals(mySearchText)) // auctionitem item name must match the searchText
continue;
if (Convert.ToInt32(item.time) > waitSecondsForAuctionEnd)
{
pip = (int)item.buyBackPrice / item.item.count;
if (item.item.count < minamount || item.buyBackPrice == 0 || pip > maxprice)
continue;
if (me.goldCount >= item.buyBackPrice)
{
Thread.Sleep(100 + r.Next(150));
bidreturn = item.MakeAuctionBid(item.buyBackPrice);
Thread.Sleep(1000 + r.Next(500));
if (bidreturn)
Log(DateTime.Now.ToShortTimeString() + " > Attempting to BUYOUT " + item.item.count + " " + item.item.name + " with per item price " + pip.ToString() + " ... succeeded !");
else
Log(DateTime.Now.ToShortTimeString() + " > Attempting to BUYOUT " + item.item.count + " " + item.item.name + " with per item price " + pip.ToString() + " ... failed.");
}
else
Log(DateTime.Now.ToShortTimeString() + " > not enough gold to buyout " + item.item.count + " " + item.item.name + " for " + item.buyBackPrice);
}
else // auction items time is nearly over, check if we want to bid on it
{
pip = (item.bidMoney != 0 ? item.bidMoney : item.sellPrice) / item.item.count;
if (pip + overbidamount <= maxprice && item.item.count >= minamount) // check if this is an item below maxprice
{
bidOnAuctionHouse(req, item.uniqId, maxprice);
break;
}
}
}
}
else
{
Log(DateTime.Now.ToShortTimeString() + " > " +GetLastError().ToString() +" Error ... will try again");
}
Thread.Sleep(2000 + r.Next(3000)); // Random sleep 2-5s
}
public void bidOnAuctionHouse(AuctionRequestParams req, ulong itemId, int maxprice)
{
int pip; // per item price
int myBidAmount;
int sleepTime;
bool bidreturn;
List<AuctionItem> items = getAuctionBuyList(req, 9);
foreach (AuctionItem item in items)
{
if (item.uniqId == itemId)
{
pip = (item.bidMoney != 0 ? item.bidMoney : item.sellPrice) / item.item.count;
if (pip + overbidamount <= maxprice)
{
sleepTime = Convert.ToInt32(item.time) * 1000 - Convert.ToInt32(r.Next(500)) - msToBidBeforeAuctionEnd;
Log(DateTime.Now.ToShortTimeString() + " > waiting " + ((int)sleepTime / 1000).ToString() + " seconds to attempt a last-second-bid on " + item.item.count + " " + item.item.name + " (current bid price per item: " + pip + " maxprice: " +maxprice +")");
if (sleepTime > 100)
Thread.Sleep(sleepTime);
break;
}
else
return; // the item has become too expensive
}
}
items = getAuctionBuyList(req, 9);
foreach (AuctionItem item in items)
{
if (item.uniqId == itemId)
{
pip = (item.bidMoney != 0 ? item.bidMoney : item.sellPrice) / item.item.count;
if (pip + overbidamount <= maxprice)
{
myBidAmount = (item.bidMoney != 0 ? item.bidMoney : item.sellPrice) + overbidamount;
if (me.goldCount >= myBidAmount)
{
bidreturn = item.MakeAuctionBid(myBidAmount);
Thread.Sleep(1000 + r.Next(500));
if (bidreturn)
Log(DateTime.Now.ToShortTimeString() + " > Successfully sent a BID on " + item.item.count + " " + item.item.name + " with " + myBidAmount + " (pip: " + (myBidAmount/item.item.count) + ")");
else
Log(DateTime.Now.ToShortTimeString() + " > Failed to send a BID on " + item.item.count + " " + item.item.name + " with " + myBidAmount + " (pip: " +(myBidAmount/item.item.count) +")");
}
else
Log(DateTime.Now.ToShortTimeString() + " > not enough gold to bid on " + item.item.count + " " + item.item.name + " with " + myBidAmount);
}
else
return; // the item has become too expensive
}
}
}
}
}[/HIDE]
16:02 > ----- Open Auction House started -----
16:07 > ----- Open Auction House stopped -----
Few items end in the 5mins, but bot dont do anything. Only see the pages of items.
Don't buy, and dont bid.
Need special name of the dll and the cs? and the folder?