A message for loftar

General discussion and socializing.

Re: A message for loftar

Postby MagicManICT » Thu Oct 10, 2013 10:02 am

How the hell would you even write a bot using the mini-map updates,anyway? I just can't wrap my head around it. I'm not a great programmer, but my idea would be to use the tiles on the ground and whatever data the server sent about them.

Methinks someone is trolling all the lazy power gamers....

rye130 wrote:I believe the only reason bots work is because animals can bash crossroads and statues and stuff. Also because there aren't horses in the game. Please ruin our bots further by fixing these errors! ¦]


I has proofs!!! ¦]
Opinions expressed in this statement are the authors alone and in no way reflect on the game development values of the actual developers.
User avatar
MagicManICT
 
Posts: 18435
Joined: Tue Aug 17, 2010 1:47 am

Re: A message for loftar

Postby rye130 » Thu Oct 10, 2013 4:12 pm

Saxony4 wrote:
Sarge wrote:The irony in that is... :lol:


I'm not the one complaining that I can't put some plants in the ground here, because I'm not a total casual.


More irony!

Tonkyhonk wrote:this thread is just hilarious in so many levels


I agree with Tonky!
User avatar
rye130
 
Posts: 2552
Joined: Mon Feb 01, 2010 9:41 pm

Re: A message for loftar

Postby Massa » Thu Oct 10, 2013 8:18 pm

MagicManICT wrote:How the hell would you even write a bot using the mini-map updates,anyway? I just can't wrap my head around it. I'm not a great programmer, but my idea would be to use the tiles on the ground and whatever data the server sent about them.

Methinks someone is trolling all the lazy power gamers....

rye130 wrote:I believe the only reason bots work is because animals can bash crossroads and statues and stuff. Also because there aren't horses in the game. Please ruin our bots further by fixing these errors! ¦]


I has proofs!!! ¦]

powergamers?

i just need to harvest all these carrots because the gluttonous maw of fucking 5 cows is seemingly infinite despite having consumed entire planets worths of carrots already
fucking jesus christ they've been starving for like a week now

also you made it obvious you're not a great programmer seeing as how you know jack shit about this
ImageImage
ass blast USA
User avatar
Massa
 
Posts: 1618
Joined: Sat Jun 01, 2013 4:58 am
Location: the hams

Re: A message for loftar

Postby borka » Thu Oct 10, 2013 8:34 pm

loftar wrote:
Massa wrote:Fix the map servers you worthless waste of life.
You're breaking millions of farm bots including mine. You expect me to manually click every little carrot?

Pray tell, what is the actual error? Perhaps I can use it to ruin your bots even further. ¦]


what is the actual error?
User avatar
borka
 
Posts: 9965
Joined: Thu Feb 03, 2011 7:47 pm
Location: World of Sprucecap

Re: A message for loftar

Postby Massa » Thu Oct 10, 2013 8:40 pm

borka wrote:
loftar wrote:
Massa wrote:Fix the map servers you worthless waste of life.
You're breaking millions of farm bots including mine. You expect me to manually click every little carrot?

Pray tell, what is the actual error? Perhaps I can use it to ruin your bots even further. ¦]


what is the actual error?

You say that like I know or give a fuck.

Go look at Ken Tower's coding and you'll see it. It just breaks when I try to harvest area.
ImageImage
ass blast USA
User avatar
Massa
 
Posts: 1618
Joined: Sat Jun 01, 2013 4:58 am
Location: the hams

Re: A message for loftar

Postby Robben_DuMarsch » Thu Oct 10, 2013 8:51 pm

Huh, odd. It broke for me too, using KT's client. Here is the script, for any who care:
I am skeptical there is a "map error" that the OP is referring to. The closest thing to a "map error" I can see would be the client no longer being able to retrieve position, which seems silly. I am curious as to if Loftar made any changes to the Haven code, however. Things tend to not break spontaneously.

Code: Select all
void main() {
    def a = selectArea("Select area to harvest.")
    if (a == null)
        return;
    def walker = new AreaWalker(a)
    for (tile in walker.eachTile()) {
        tile_work(tile)
    }
}

void tile_work(tile)
 {
    if( Stamina < 65 )
     {   
     print "refill sta"
        refill_stam();
      print "refill sta end"
     }
//TODO       
//    check_Inventory();
    processHarvestTile(tile);
    if (rePlant == 1)
     {
        plantSeed ();
     }
   if(pumpkin) pumpkinate();
 }
 
/********************************************************
*****                 HARVESTING/PLANTING           *****
********************************************************/

 void processHarvestTile(tile)
  {
     int id;
     int stage;
     def p = getMyCoord()
     id = findMapObject("", 2, tile.tileX - p.tileX, tile.tileY - p.tileY);
     if (id > 0) {
         stage = getObjectBlob(id, 0);
         if (stage >= flower_stage)
          {
             if (getCursor() != "harvest")
              {
                 sendAction("harvest");
                 waitCursor("harvest");
              }
             doClick(id, 1, 0);
             waitHourglass();
          }
      }
  }
 
 
void plantSeed() {
   def BestItem=null;
   int MaxQ=0;
    for (item in getInventory("Inventory").getItems()) {
        if (isSeed(item)) {
            if (item.getQuality()>MaxQ) {
            MaxQ=item.getQuality();
            BestItem=item;
         }
        }
    }
   if (BestItem==null) return;
   int ix=BestItem.row;
   int iy=BestItem.column;
   BestItem.take();
   waitDrag();
   mapInteractClick(0, 0, 0);
    Thread.sleep 100;
   // If seed planting failed, return it to inventory
   if (hasDragItem())
    {
      getInventory("Inventory").drop(ix, iy);
    }
}

static boolean isSeed(item)
{
  if (item.isName("carrot") ||
     item.isName("peapod") ||
     item.isName ("seed-grape") ||
     item.isName ("flaxseed") ||
     item.isName ("seed-wheat") ||
     item.isName ("seed-pumpkin") ||
     item.isName ("seed-carrot") ||
     item.isName ("seed-pepper") ||
     item.isName ("seed-hemp") ||
     item.isName ("seed-hops") ||
     item.isName ("seed-poppy") ||
     item.isName ("seed-tea") ||
     (item.isName ("beetroot") && !item.isName ("leaves") && !item.isName ("Weird")))
   return true
   else
   return false
}


/********************************************************
*****               OTHER                           *****
********************************************************/

void resetCursor()
 {
    if (getCursor() != "arw")
     {
        mapClick(0,0,3,0);
        waitCursor("arw");
         }
 }
 
 void refill_stam()
{

       if( rouse == 1 )
        {
           say(":rouse");
           while(Stamina < 95) Thread.sleep(100);
        }
       if( water == 1 )
        {
           resetCursor();
           mapAbsClick(getMyCoordX(), getMyCoordY(),1, 0);
           drinkWater(true);
           while(Stamina < 90) Thread.sleep(100);
        }
}

void pumpkinate()
{
Thread.sleep(300)
for (item in getInventory("Inventory").getItems())
 {
        if (item.isName("pumpkin"))
        {
         item.act()
         waitContextMenu().select("Slice")
        }
 }
Thread.sleep(300)
for (item in getInventory("Inventory").getItems())
 {
        if (item.isName("flesh")||item.isName("seed"))
        {
            item.take()
            waitDrag()
            drop()
        }
 }

}
Last edited by Robben_DuMarsch on Thu Oct 10, 2013 8:59 pm, edited 1 time in total.
User avatar
Robben_DuMarsch
 
Posts: 2312
Joined: Wed Sep 28, 2011 2:58 am

Re: A message for loftar

Postby Sarge » Thu Oct 10, 2013 8:58 pm

Massa wrote:i just need to harvest all these carrots because the gluttonous maw of fucking 5 cows is seemingly infinite despite having consumed entire planets worths of carrots already
fucking jesus christ they've been starving for like a week now

Dem pregnant cows man :s But try giving beets a go as cow feed, you get the most feed per click over time with beets. Hope that helps a little.
factnfiction101 wrote:^I agree with this guy.
User avatar
Sarge
 
Posts: 2059
Joined: Fri Oct 09, 2009 3:41 am

Re: A message for loftar

Postby borka » Thu Oct 10, 2013 9:10 pm

Massa wrote:Fix the map servers


Massa wrote:You say that like I know or give a fuck.


:roll:
User avatar
borka
 
Posts: 9965
Joined: Thu Feb 03, 2011 7:47 pm
Location: World of Sprucecap

Re: A message for loftar

Postby rye130 » Thu Oct 10, 2013 9:12 pm

If I remember correctly, the error is caused by object IDs becoming negative after the server has had a long uptime because the ID list overflows and goes negative or something like that.
User avatar
rye130
 
Posts: 2552
Joined: Mon Feb 01, 2010 9:41 pm

Re: A message for loftar

Postby Robben_DuMarsch » Thu Oct 10, 2013 9:15 pm

Makes sense, and if true, means his cows only need to survive until next time the server goes down. :D
User avatar
Robben_DuMarsch
 
Posts: 2312
Joined: Wed Sep 28, 2011 2:58 am

PreviousNext

Return to The Inn of Brodgar

Who is online

Users browsing this forum: Claude [Bot] and 3 guests