What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

Open Auction House Bot

geodude not sure on that but i would assume that would be true otherwise someone else would be bidding to beat your bid driving the price up whereas if it waits others won't have much time to bid after you do keeping price lower. No idea if its setup this way but i would assume so because that would make most sense.
 
Can anyone help on this script. I got it working and its bidding on items fine, but I notice that once it bids on a item it will never bid again on that type of item again. To fix this issue I have to stop and start the script. Is there a way someone can add a restart command to the script after it bids on a item. So I don't have a manual stop and start the script each time.
 
plugin has alot of response timeout and not bidding.
is the dev still around to continue this free script ?
 
Hi,

New patch came today, and now we don't need to use the Auctioneer to access the AH (there is shortcut to AH if you are patron on your UI)

So please, how do we tell the bot to use the AH with this new function?
 
does anyone succeed to tweak it? or does anyone has another action house bot?
 
kidding right? i make with this pluggin 200-300 gold per day!!! i know that people with better plugin make more
 
Anyone pls tell me how to set this to search for "Bid Price" column instead of "Time" it will be great help.
When i chance this :
"AuctionRequestParams req = new AuctionRequestParams(AuctionCategory.Off, 0, 0, mySearchText, false, ItemGrade.Common, AuctionSortType.Time, SortOrder.Asc);"
"AuctionSortType.Time" with something else i cant compile it with editor.
 
I have a problem with " overbidamount " i think problem is here

if (pip + overbidamount <= maxprice && item.item.count >= minamount) // check if this is an item below maxprice

a missing calculation here ! Example 100pcs stacked gold ingot on AH starting bid 1g buy out 200g now i dont want to bot pay more than 70silver per piece so my maxprice set to 70silver per piece. On AH starting bid of ingots pip is 10 silver. I want to bid 15g for full stack. if i set my overbidamount over 60 silver bot not bidding. but i want to bid 15g.
i dont know to add codes to this but i know overbidamount must divide to item count before + pip.
somthing like that.

"if (pip + overbidamount / item.item.count <= maxprice && item.item.count >= minamount) // check if this is an item below maxprice" or multiple maxprice with itemcount

could someone fix this ? or tell me how i can fix
 
Did anyone have to do much modification to anything outside of the buy item code to get this script to actually bid on something? I've run this for two hours now and not a single bid; plenty of buyouts, but alas, nothing else.

Example of buy item code (trying to buy for 1G 00S 00C or less): buyFromAuctionHouse("starpoint", 15000, 1); //

I have two machines and have limited this to only the three types of ____point items, with their various values, I run the script on one machine and on the other I watch the remaining time, even in the <1 time (and even 6 hour remaining times), yet no items get bid on.

EDIT:
Is it possible to make the game exit if you don't have enough money to bid anymore? I run the bot afk and usually come back to only a few silver left and not enough to buy anything -_-.

Anyone cluey enough to have been able to figure this one out? Rather not have the cycle loop if there's no gold to spend.
 
Last edited:
Guys, can I with this plugin sell my similar items?
I just need from plugin- to put 1 item per time with 1coin lowerest price if somebody putted the same item cheaper than my one.
So I just need sell many items quickly, but not to cheap.
 
Did anyone have to do much modification to anything outside of the buy item code to get this script to actually bid on something? I've run this for two hours now and not a single bid; plenty of buyouts, but alas, nothing else.

Example of buy item code (trying to buy for 1G 00S 00C or less): buyFromAuctionHouse("starpoint", 15000, 1); //

I have two machines and have limited this to only the three types of ____point items, with their various values, I run the script on one machine and on the other I watch the remaining time, even in the <1 time (and even 6 hour remaining times), yet no items get bid on.

EDIT:

Anyone cluey enough to have been able to figure this one out? Rather not have the cycle loop if there's no gold to spend.

did you try adding
if (goldCount <= amount of gold you want to stop at)
{
//do whatever for instance
CloseGame(); sends request to close game
// or
LeaveWorldToCharacterSelect(); goes to char select
// or you could stopplugin as well instead
}
note i have no idea if this will work as i am not a coder but i think these are the commands needed?
 
Where I need to write whatever he was betting with purchase. He buys the object without rates( in Advance thank You.

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 = 40; // 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("Lotus", 80, 2); // 80 copper per item, minimum amount 2
buyFromAuctionHouse("Azalea", 50, 2); // 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
}
}
}
}
}
 
Back
Top