Take shop: Difference between revisions

From Kolmafia
Jump to navigation Jump to search
imported>Eliteofdelete
No edit summary
imported>Eliteofdelete
Has formatting issues
Line 52: Line 52:
else print("You decided to not empty your store.", "blue");
else print("You decided to not empty your store.", "blue");
</syntaxhighlight>|
</syntaxhighlight>|
}}|


code2={{CodeSample|
description=<br>The following function will use your shop when acquiring an item however it will not purchase anything. |
code=
<syntaxhighlight>
void get_it (item thing, int amount) {
  int have = item_amount(thing);
  int need = max(0, amount-have);
  if (need == 0) {
      print("You already have "+amount+" of "+thing+".", "green");
      return;
  }
  else if (shop_amount(thing) > 0) {
      refresh_shop();
      int pull = min(shop_amount(thing), need);
      print("Removing "+pull+" "+thing+" from your store.", "blue");
      take_shop(pull, thing);
      need = max(0, amount - item_amount(thing));
  }
  if (need == 0)
      print("You now have "+amount+" "+thing+".", "green");
  else {
      print("Need to buy "+amount+" "+thing+".", "blue");
      //cli_execute("find "+amount+" "+thing);
      print("This example doesn't buy though!", "red");
  }
}
  get_it($item[mae west], 5); 
</syntaxhighlight>|
moreinfo=
Uncomment the third to last line if you want it to buy.
}}|
}}|



Revision as of 22:54, 21 January 2015

Function Syntax

boolean take_shop(item it )

boolean take_shop(int qty ,item it )

  • qty an optional parameter for the quantity of items to take from your mall store (defaults to all if not provided)
  • it is the item to take from your mall store

This command will remove it from your mall store. The 1-parameter version will remove all of the item. If you want to remove less than the maximum amount, then you will need to use the 2-parameter version with the optional first parameter set to the count you wish to remove.

Code Samples

Empties your entire shop.

if (user_confirm("Do you want to empty your entire shop?")) {
   print("Emptying your store...", "blue");
   wait(5);
   int[item] shop = get_shop();
   int x = 0;
   batch_open();
   foreach it in shop {
      take_shop(shop[it], it);
      x+=1;
      if (x==75) {
         batch_close();
         x=0;
         batch_open();
      }
   }
   print("Your shop has been emptied!", "green");   
}
else print("You decided to not empty your store.", "blue");


The following function will use your shop when acquiring an item however it will not purchase anything.

void get_it (item thing, int amount) {
   int have = item_amount(thing);
   int need = max(0, amount-have);
   if (need == 0) {
      print("You already have "+amount+" of "+thing+".", "green");
      return;
   }
   else if (shop_amount(thing) > 0) {
      refresh_shop();
      int pull = min(shop_amount(thing), need);
      print("Removing "+pull+" "+thing+" from your store.", "blue");
      take_shop(pull, thing);
      need = max(0, amount - item_amount(thing));
   }
   if (need == 0) 
      print("You now have "+amount+" "+thing+".", "green");
   else {
      print("Need to buy "+amount+" "+thing+".", "blue");
      //cli_execute("find "+amount+" "+thing);
      print("This example doesn't buy though!", "red");
   }
}
   get_it($item[mae west], 5);

Uncomment the third to last line if you want it to buy.

CLI Equivalent

The CLI command "shop take " works similarly.

See Also

have_shop() | put_shop() | shop_amount()