 |
Vitae Enchanter

Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Thu Sep 01, 2005 5:21 pm
Assemble items with a #loop(?) & Additem |
Been thru loads of posts here, and unless i am looking the wrong way, i'm missing what I am looking for
Trying out a new mud that has an assemble command.
ex:
assemble crystal strap 2.strap
success msg:
You assemble a small crystalline dagger!
if you try to asssemble items that wont make anything:
assemble crystal strap
Fail msg:
You fiddle with your inventory, but fail to assemble anything useful.
#BUTTON 1 {Assembler} {askass}
#alias askass {
#var ItemTypeAsk {}
#var ItemCountAsk {}
#PR ItemTypeAsk "What item would you like to use?"
#ADDITEM Assembly.ItemType @ItemTypeAsk
#PR ItemCountAsk "How many of them are you going to use?"
#ADDITEM Assembly.ItemCount @ItemCountAsk
#YESNO {"Are there any more Items in this?"} {*Yes:askass} {No:doass} {Cancel:#Echo %cr%ansi( bright, red)Assembly Cancelled.}
}
#alias doass {all the looping stuff here}
#TRIGGER {^(You assemble (%*))~!$} {#SUBSTITUTE {%ansi( bright, red)"%1" utilizing (whatever the count and item type was)}}
#VAR ItemCountAsk {} {}
#VAR ItemTypeAsk {} {}
#VAR Assembly {} {}
I am very sure I havn't done askass correctly for this.
I enter that I have 2 leather & 2 obsidian
It stores it as
#VAR Assembly {ItemTypeleather|obsidianItemCount2}
Which is kinda correct, except that the 2 only appears once, and if I am using 3+ items of some same and some diff # then it wouldnt know which is which.
When I run it again with diff items:
4 leather & 2 bamboo
#VAR ItemCount {2|4} {}
#VAR ItemType {leather|obsidian|bamboo} {}
The obsidian is still there but I'm assuming somewhere in the doass it will clear it after a success or the FINAL fail with a #VAR ItemCount {} {};#VAR ItemType {} {}
As for doass what I would like it to do is run thru this:
assemble 1.leather 1.obsidian
assemble 1.leather 1.obsidian 2.obsidian
assemble 1.leather 1.leather 1.obsidian
assemble 1.leather 1.leather 1.obsidian 2.obsidian
Of course it would have to loop thru as many times as the highest # of items
After each assemble if it sees:
You fiddle with your inventory, but fail to assemble anything useful.
it goes to the next step
assemble 1.leather 1.obsidian
You fiddle with your inventory, but fail to assemble anything useful.
assemble 1.leather 1.obsidian 2.obsidian
And if sees the success it stops
assemble 1.leather 1.obsidian
You fiddle with your inventory, but fail to assemble anything useful.
...etc etc...
assemble 1.leather 1.obsidian 2.obsidian 2.leather
You assemble a primitive chisel utilizing 2 leather 2 obsidian
btw:
Any combination as long as the # is there works so the exact order that it does it is not a concern:
assemble 1.leather 2.obsidian 1.obsidian 2.leather
You assemble a primitive chisel!
Any help would as always make me worship you. |
|
|
|
 |
Vijilante SubAdmin

Joined: 18 Nov 2001 Posts: 5187
|
Posted: Thu Sep 01, 2005 10:01 pm |
First question is does assembling 3.leather and 3.obsidian also make a primitive chisel?
Next does failing an attempt to assemble eat items in your inventory?
Do you have a complete and current inventory list stored in a variable? If so format (like mine is a record fields of name values of 'total bag qty bag qty')?
Do you have a list of likely 'assembly' objects? |
|
_________________ The only good questions are the ones we have never answered before.
Search the Forums |
|
|
 |
Vitae Enchanter

Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Fri Sep 02, 2005 2:00 am |
well, 1. and 2. and 3. and 4. and anyother #. is not due to addition. It's the 2nd, 3rd, 4th item of the type.
So 3.leather and 3.obsidian is just 1 of each. Thought that was common on all muds so i didn't point that out. sorry.
Inventory is not eaten on a fail.
If i had a complete and current inventory list in a variable then I could just have an alias that would do the specific assembly needed, i think.
As for a list of assembly objects, see what i just said about the alias :-)
What i think would be the hardest thing about all this is the knowing which # is highest since i might not enter them in order. of course i don't even know if that will matter. This makes my head swim |
|
|
|
 |
Vijilante SubAdmin

Joined: 18 Nov 2001 Posts: 5187
|
Posted: Fri Sep 02, 2005 8:18 am |
Lets start with inventory capture and logging. I will simply post what I use, and you can modify it for yourself to get it working.
| Code: |
#CLASS {Character|InventoryCap} {enable}
#ALIAS InventoryAdd {#ADDKEY ItemsOnHand {%1} {%concat(%eval(%word(%db(@ItemsOnHand,%1),1)+%2),%remove(%word(%db(@ItemsOnHand,%1),1),%db(@ItemsOnHand,%1)))}}
#ALIAS MudSpecificReplacements {#IF (%begins(@Item,"a handful of fresh")) {Item="berries"};#IF (@Item="a small flame") {Item="flame"};#IF (%pos("(",@Item)) {Item=%trim(%copy(@Item,%eval(%pos(")",@Item)+1),255))};#IF (%pos("(",@Item)) {Item=%trim(%copy(@Item,%eval(%pos(")",@Item)+1),255))};#IF (%pos("(",@Item)) {Item=%trim(%copy(@Item,%eval(%pos(")",@Item)+1),255))};#IF (%pos("(",@Item)) {Item=%trim(%copy(@Item,%eval(%pos(")",@Item)+1),255))};#IF (%pos("corpse",@Item)) {Item=""};#IF (%pos("gold coin",@Item)) {Item=""};#IF (@Item="Nothing.") {Item=""};Item=%trim(@Item)}
#VAR Item {} {}
#VAR ItemCount {} {}
#VAR AutoExamine {} {}
#VAR TempInventory {} {}
#VAR ExamineContainer {} {}
#TRIGGER "Inventory" {^You are carrying:$} {#ADDITEM CharPend {inventory};DisableSTW InventoryStatus;ItemsOnHand="";AutoExamine="";#STATE Inventory 2} "" {case}
#COND {} {#DELITEM CharPend {inventory};#STATE Inventory 0} {manual}
#COND {} {#IF (%begins(%line,"-")) {#STATE Inventory 0;#IF (@AutoExamine) {exa %pop(AutoExamine)} {#DELITEM CharPend {inventory}}} {#IF (%begins(%line," ")) {Item=%trim(%line);ItemCount=1} {Item=%trim(%remove(%copy(%line,1,4),%line));ItemCount=%eval(%copy(%line,1,4))};MudSpecificReplacements;InventoryAdd {@Item} {@ItemCount};#IF (%iskey(@ItemContainers,@Item)) {#ADDITEM AutoExamine {%db(@ItemContainers,@Item)}}}} {looplines|param=99}
#TRIGGER "Examine" {^(*) contains:$} {DisableSTW InventoryStatus;ExamineContainer=%db(@ItemContainers,"%1");#IF (@ExamineContainer="") {ExamineContainer=%db(@ItemContainers,%concat(%lower(%word("%1",1)), %remove(%word("%1",1),"%1")))};#IF (@ExamineContainer) {#PRIORITY {#LOOPDB @ItemsOnHand {#IF (%pos(@ExamineContainer,%val)) {TempInventory=%replace(%val," ","|");ItemCount=%eval(%ismember(@ExamineContainer,@TempInventory)+1);ItemCount=%replaceitem(%eval(%item(@TempInventory, 1)-%item(@TempInventory,@ItemCount)), 1,%replaceitem(0,@ItemCount,@TempInventory));ItemCount=%replace(@ItemCount,"|"," ");#ADDKEY ItemsOnHand %key @ItemCount}}};#STATE Examine 2} {#STATE Examine 1;#SET Examine 1 1}} "" {case}
#COND {} {#DELITEM CharPend {inventory};#STATE Examine 0} {manual}
#COND {} {#IF (%begins(%line,"-")) {#STATE Examine 0;#IF (@AutoExamine) {exa %pop(AutoExamine)} {#DELITEM CharPend {inventory}}} {#IF (%begins(%line," ")) {Item=%trim(%line);ItemCount=1} {Item=%trim(%remove(%copy(%line,1,4),%line));ItemCount=%eval(%copy(%line,1,4))};#PRIORITY {#WHILE (%copy(@Item,1,1)="(") {Item=%trim(%delete(@Item,1,%pos(")",@Item)))}};MudSpecificReplacements;#IF (@Item) {InventoryAdd {@Item} {@ItemCount};TempInventory=%replace(%db(@ItemsOnHand,@Item)," ","|");#IF (%ismember(@ExamineContainer,@TempInventory)=0) {TempInventory=%concat(@TempInventory,"|",@ExamineContainer,"|0");#ADDKEY ItemsOnHand {@Item} {%replace(@TempInventory,"|"," ")}};TempInventory=%eval(%ismember(@ExamineContainer,@TempInventory)+1);ItemCount=%replaceitem(%eval(%item(%replace(%db(@ItemsOnHand,@Item)," ","|"), @TempInventory)+@ItemCount), @TempInventory, %replace(%db(@ItemsOnHand,@Item)," ","|"));ItemCount=%replace(@ItemCount,"|"," ");#ADDKEY ItemsOnHand {@Item} {@ItemCount}}}} {looplines|param=99}
#TRIGGER {(*) appears in your hands.$} {DisableSTW InventoryStatus;Item="%1";MudSpecificReplacements;InventoryAdd {@Item} 1} "" {case}
#TRIGGER {^You buy (*) for %d gold.$} {DisableSTW InventoryStatus;Item="%1";ItemCount=1;#IF (%pos("[",@Item)) {ItemCount=%copy(@Item,%pos("[",@Item),255)};#IF (@ItemCount) {Item=%remove(@ItemCount,@Item);ItemCount=%eval(@ItemCount)} {ItemCount=1};MudSpecificReplacements;#IF (%iskey(@ItemSource,@Item)=0) {#ADDKEY ItemSource {@Item} {%concat(%zonename,", ",%roomname)}};InventoryAdd {@Item} {@ItemCount}} "" {case}
#TRIGGER {^You {pick up|get} (*).$} {DisableSTW InventoryStatus;Item="%1";ItemCount="";#IF (%pos(" from ",@Item)) {ItemCount=%copy(@Item,%eval(%pos(" from ",@Item)+6),255);Item=%delete(@Item,%pos(" from ",@Item),255);MudSpecificReplacements;#IF (%pos("corpse",@ItemCount)) {#IF (%iskey(@ItemSource,@Item)=0) {ItemCount=%remove("the corpse of ",@ItemCount);#ADDKEY ItemSource {@Item} {%concat(%zonename,", ",@ItemCount)}};ItemCount=""};#IF (%iskey(@ItemsOnHand,@ItemCount)=0) {#ADDKEY ItemSource {@Item} {%concat(%zonename,", ",%roomname,"-",@ItemCount)};ItemCount=""}} {MudSpecificReplacements;#IF (%iskey(@ItemSource,@Item)=0) {#IF (@Item!=@RestItem.Name) {#ADDKEY ItemSource {@Item} {%concat(%zonename,", ",%roomname)}}}};#IF (@Item) {#IF (@ItemCount) {#IF (%db(@ItemContainers,@ItemCount)="") {#ADDKEY ItemContainers {@ItemCount} {%pick("p:New Container Keyword?","o:1",%replace(@ItemCount," ","|"))}};ItemCount=%db(@ItemContainers,@ItemCount);#IF (%pos(@ItemCount,%db(@ItemsOnHand,@Item))) {TempInventory=%replace(%db(@ItemsOnHand,@Item)," ","|");ItemCount=%eval(%ismember(@ItemCount,@TempInventory)+1);ItemCount=%replaceitem(%eval(%item(@TempInventory,@ItemCount)-1), @ItemCount,@TempInventory);ItemCount=%replace(@ItemCount,"|"," ")} {#IF (%db(@ItemsOnHand,@Item)="") {ItemCount=%concat("1 ",@ItemCount," 0")} {ItemCount=%concat(%db(@ItemsOnHand,@Item)," ",@ItemCount," 0")}};#ADDKEY ItemsOnHand {@Item} {@ItemCount}} {InventoryAdd {@Item} 1;#IF (%pos(@Item,%expanddb(@FoodStock))) {#IF (%word(%db(@ItemsOnHand,@Item),1)=5) {#DELKEY LowFood {@Item};#IF (@LowFood="") {#T- LowFoodStat status}}};#IF (@Item=@RestItem.Name) {#IF (%ismember("getting rest",@CharPend)) {#DELITEM CharPend {getting rest};RestItem.Dropped=0}}}}} "" {case}
#TRIGGER {^You drop (*).$} {DisableSTW InventoryStatus;Item="%1";MudSpecificReplacements;#IF (@Item="berries") {#DELITEM CharPend {drop berries}};InventoryAdd {@Item} -1;#IF (%iskey(@ItemSource,@Item)) {#IF (%word(%db(@ItemsOnHand,@Item),1)=0) {#DELKEY ItemSource {@Item}}};#IF ((%ismember("drop rest",@CharPend))&(@Item=@RestItem.Name)) {RestItem.Dropped=1;rest @RestItem.Keyword;#DELITEM CharPend {drop rest};#ADDITEM CharPend {rest}};#IF ((%ismember("drop sleep",@CharPend))&(@Item=@RestItem.Name)) {RestItem.Dropped=1;sleep @RestItem.Keyword;#DELITEM CharPend {drop sleep};#ADDITEM CharPend {sleep}}} "" {case}
#TRIGGER {^You put ({@ItemsOnHand}) in (*).$} {DisableSTW InventoryStatus;Item="%1";MudSpecificReplacements;#IF (%db(@ItemContainers,"%2")="") {#ADDKEY ItemContainers {%2} {%pick("p:New Container Keyword?","o:1",%replace("%2"," ","|"))}};ItemCount=%db(@ItemContainers,"%2");#IF (%pos(@ItemCount,%db(@ItemsOnHand,@Item))) {TempInventory=%replace(%db(@ItemsOnHand,@Item)," ","|");ItemCount=%eval(%ismember(@ItemCount,@TempInventory)+1);ItemCount=%replaceitem(%eval(%item(@TempInventory,@ItemCount)+1), @ItemCount,@TempInventory);ItemCount=%replace(@ItemCount,"|"," ")} {#IF (%db(@ItemsOnHand,@Item)="") {ItemCount=%concat("1 ",@ItemCount," 1")} {ItemCount=%concat(%db(@ItemsOnHand,@Item)," ",@ItemCount," 1")}};#ADDKEY ItemsOnHand {@Item} {@ItemCount}} "" {case}
#TRIGGER {^You sell (*) for %d gold pieces.$} {DisableSTW InventoryStatus;Item="%1";MudSpecificReplacements;InventoryAdd {@Item} -1;#IF (%iskey(@ItemSource,@Item)) {#IF (%word(%db(@ItemsOnHand,@Item),1)=0) {#DELKEY ItemSource {@Item}}}} "" {case}
#TRIGGER {^You give (*) to %w.$} {DisableSTW InventoryStatus;Item="%1";MudSpecificReplacements;InventoryAdd {@Item} -1;#IF (%iskey(@ItemSource,@Item)) {#IF (%word(%db(@ItemsOnHand,@Item),1)=0) {#DELKEY ItemSource {@Item}}}} "" {case}
#TRIGGER {^%w gives you (*).$} {DisableSTW InventoryStatus;Item="%1";ItemCount="";MudSpecificReplacements;#IF (@Item) {InventoryAdd {@Item} 1;#IF (%pos(@Item,%expanddb(@FoodStock))) {#IF (%word(%db(@ItemsOnHand,@Item),1)=5) {#DELKEY LowFood {@Item}}}}} "" {case}
#TRIGGER {^You do not have that item.$} {#IF (%ismember("drop rest",@CharPend)) {rest;#DELITEM CharPend {drop rest};#ADDITEM CharPend {rest}};#IF (%ismember("drop sleep",@CharPend)) {sleep;#DELITEM CharPend {drop sleep};#ADDITEM CharPend {sleep}}} "" {case}
#TRIGGER {^I see no (%w) here.$} {#IF (%ismember("getting rest",@CharPend)) {#IF (@RestItem.Dropped) {#IF ("%1"=@RestItem.Keyword) {#DELITEM CharPend {getting rest};RestItem.Dropped=0}}}} "" {case}
#TRIGGER {^Your weapon is destroyed when you parry *.$} {#ADDKEY Equipped Wield {};#ADDKEY StancePref WType {HTH}}
#TRIGGER {^As * parries you, your weapon is destroyed!$} {#ADDKEY Equipped Wield {};#ADDKEY StancePref WType {HTH}} "" {case}
#TRIGGER {^Your shield is destroyed by *'s blow!$} {#ADDKEY Equipped Shield {}} "" {case}
#CLASS 0
#CLASS {Character|InventoryCap|EquipmentCapture}
#TRIGGER {^You stop using (*).$} {InventoryAdd {%1} 1;TempInventory="";#PRIORITY {#LOOPDB @Equipped {#IF (%val="%1") {TempInventory=%key}}};#IF (@TempInventory) {#ADDKEY Equipped {@TempInventory} {};#IF (@TempInventory="Wield") {StancePref.WType="HTH"}}} "" {case}
#TRIGGER {^You ({wield|wear|slip|release|strap|clip|wrap|fasten|don|hold}) (*) ({in your|and it|onto your|around your|on your|to your|about your}) (*).$} {InventoryAdd {%2} -1;TempInventory=%proper(%word("%4",%numwords("%4")));#IF (@TempInventory="Hand") {#IF ("%1"="wield") {TempInventory="";#IF (%rec!=%null) {#DBRESET;TempInventory=%query(&Name="%2");#DBRESET;#IF (@TempInventory) {#DBGET {%item(@TempInventory,1)};TempInventory=&WType}};#IF (@TempInventory) {StancePref.WType=@TempInventory} {#IF (%pos("sword","%2")) {StancePref.WType="Sword"} {#IF (%pos("spear","%2")) {StancePref.WType="Spear"} {#IF (%pos("dagger","%2")) {StancePref.WType="Dagger"} {#IF (%pos("knife","%2")) {StancePref.WType="Dagger"} {StancePref.WType="Unknown"}}}}};TempInventory="Wield"} {TempInventory="Hold"}};#IF (@TempInventory="You") {#IF ("%1"="release") {TempInventory="Float"}};#IF ((@TempInventory="Finger")|(@TempInventory="Wrist")|(@TempInventory="Ear")) {TempInventory=%proper("%4");#IF (%db(@Equipped,@TempInventory)) {#IF (%word(@TempInventory,1)="Left") {#ADDKEY Equipped {%concat("Right ",%word(@TempInventory,2))} {%db(@Equipped,@TempInventory)}} {#ADDKEY Equipped {%concat("Left ",%word(@TempInventory,2))} {%db(@Equipped,@TempInventory)}}}};#IF (@TempInventory="Neck") {#IF (%db(@Equipped,"Neck1")="") {TempInventory="Neck1"} {TempInventory="Neck2"}};#ADDKEY Equipped {@TempInventory} {%2}} "" {case}
#TRIGGER {^(*) begins to float near your shoulder.$} {TempInventory=%db(@ItemsOnHand,"%1");#IF (@TempInventory="") {TempInventory=%db(@ItemsOnHand,%concat(%lower(%word("%1",1)), %remove(%word("%1",1),"%1")))};InventoryAdd {%lower("%1")} -1;#ADDKEY Equipped {Light} {%lower("%1")}} "" {case}
#TRIGGER {^You slip your feet into (*).$} {InventoryAdd {%1} -1;#ADDKEY Equipped {Feet} {%1}} "" {case}
#ONINPUT "EQCapture" {^eq$} {#ADDITEM CharPend {equipment}}
#COND {^You are using:$} {Equipped=""} {case}
#COND {} {#IF (%begins(%line,"-")) {#DELITEM CharPend {equipment};#STATE EQCapture 0} {TempInventory=%trim(%subchar(%line,"<>"," |"));#IF (%item(@TempInventory,1)="left hand") {TempInventory=%concat("Hold|",%trim(%item(@TempInventory,2)))} {#IF (%item(@TempInventory,1)="right hand") {TempInventory=%concat("Wield|",%trim(%item(@TempInventory,2)))} {TempInventory=%trim(%remove(%word(@TempInventory,1),@TempInventory));TempInventory=%concat(%item(@TempInventory,1),"|", %trim(%item(@TempInventory,2)));#IF (%item(@TempInventory,1)="on body") {TempInventory=%concat("Torso|",%item(@TempInventory,2))} {#IF (%item(@TempInventory,1)="nearby") {TempInventory=%concat("Float|",%item(@TempInventory,2))} {TempInventory=%trim(%remove(%word(@TempInventory,1),@TempInventory));#IF (%item(@TempInventory,1)="neck") {#IF (%db(@Equipped,"Neck1")="") {TempInventory=%concat("Neck1|",%item(@TempInventory,2))} {TempInventory=%concat("Neck2|",%item(@TempInventory,2))}} {#IF (%item(@TempInventory,1)="finger") {#IF (%db(@Equipped,"Left Finger")="") {TempInventory=%concat("Left Finger|",%item(@TempInventory,2))} {TempInventory=%concat("Right Finger|",%item(@TempInventory,2))}} {#IF (%item(@TempInventory,1)="wrist") {#IF (%db(@Equipped,"Left Wrist")="") {TempInventory=%concat("Left Wrist|",%item(@TempInventory,2))} {TempInventory=%concat("Right Wrist|",%item(@TempInventory,2))}} {TempInventory=%concat(%proper(%item(@TempInventory,1)), "|",%item(@TempInventory,2));TempInventory=%concat(%replace(%item(@TempInventory,1)," ear"," Ear"), "|",%item(@TempInventory,2))}}}}}}};TempInventory=%replace(@TempInventory,"|","=");#ADDKEY Equipped {@TempInventory}}} {looplines|param=99}
#CLASS 0 |
|
|
_________________ The only good questions are the ones we have never answered before.
Search the Forums |
|
|
 |
Vitae Enchanter

Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Fri Sep 02, 2005 6:18 pm |
ummmm....sorry, but no clue how this will work.
i just want to type an alias, that will then allow me to enter items and thier quantity and have them loop thru in an assemle.
Neck, finger, wrist, all this is not needed.
i have 3 leathers and 2 obsidians in my inv.
i type askass, then item #1 and qty, item #2 and qty, and if that's it, then start all the combinations possible.
There's nothing in what you posted that resembles even being able to do that.... |
|
|
|
 |
Vitae Enchanter

Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Sun Sep 04, 2005 2:33 pm |

|
|
|
|
 |
Vitae Enchanter

Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Thu Sep 08, 2005 4:21 am |
Well, found a post about %additem that got me thinking and I got this so far
#CLASS {AssemblerV3}
#ALIAS askass3 {
#var ItemTypeAsk {}
#var ItemCountAsk {}
#PR ItemTypeAsk "What item would you like to use?"
#var Assembly.ItemType %additem( @ItemTypeAsk, @Assembly.ItemType)
#PR ItemCountAsk "How many of them are you going to use?"
#var Assembly.ItemCount %additem( @ItemCountAsk, @Assembly.ItemCount)
#YESNO {"Are there any more Items in this?"} {*Yes:askass3} {No:doass} {Cancel:#SAY %ansi( bright, red)Assembly Cancelled.}
}
#ALIAS doass {#echo all the good looping here}
#VAR Assembly {} {}
#VAR ItemCountAsk {} {}
#VAR ItemTypeAsk {} {}
#TRIGGER {^(You assemble (%*))~!$} {#SUBSTITUTE {%ansi( bright, red)"%1" utilizing (whatever the count and item type was)}}
#BUTTON 3 {Assembler3} {
#var Assembly {}
askass3
} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} "" {} {} {}
#CLASS 0
the result is happily
#VAR Assembly {ItemTypeleather|Obsidian|BambooItemCount2|2|3} {}
duplicate items are not a prob for me anymore.
I just still have the output prob.
Is that I would like just NOT possible at all?
I have 3 items, and i'd like to combine them in all possible ways based on the qty i have of each. Or is my approach wrong?
starting from:
assemble 1.leather 1.obsidian 1.bamboo
all the way to:
assemble 1.leather 1.obsidian 1.bamboo 2.leather 2.obsidian 2.bamboo 2.leather 2.obsidian 3.bamboo |
|
|
|
 |
Private Adept
Joined: 10 Jan 2002 Posts: 264 Location: USA
|
Posted: Thu Sep 08, 2005 12:02 pm |
here is a start to the massive nested loop that needs to follow:
the variable:
| Code: |
items_to_assemble = (14|obsidian)|(3|leather)|(2|bamboo)|(15|strap)
|
the alias:
| Code: |
num_items_assemble = %numitems(@items_to_assemble)
#LOOP @num_items_assemble {
old_high_count = @high_count
high_count = %word(%word(@items_to_assemble,%i,"|"),1,"|")
#IF (@high_count > @old_high_count) {
most_items = @high_count
high_item = %word(%word(@items_to_assemble,%i,"|"),2,"|")
#SHOW Most Items: @most_items @high_item
}
}
|
This outputs:
Most Items: 15 strap
now to make a loop.... |
|
Last edited by Private on Thu Sep 08, 2005 12:57 pm; edited 1 time in total |
|
|
 |
Private Adept
Joined: 10 Jan 2002 Posts: 264 Location: USA
|
Posted: Thu Sep 08, 2005 12:56 pm |
after the code in the above alias, ive added the following, but i cant for the life of me get the loops straight but hopefully someone can work with it:
| Code: |
#LOOP @most_items {
num_items_assemble = %numitems(@items_to_assemble)
#LOOP @num_items_assemble {
assemble_loops = %word(%word(@items_to_assemble,%j,"|"),1,"|")
assemble_loops2 = @assemble_loops
#LOOP @assemble_loops {
#IF %isnumber(@assemble_loops) {
#IF (@assemble_loops2 >= 1) {
#LOOP @assemble_loops {
this_part = %word(%word(@items_to_assemble,%k,"|"),2,"|")
#IF (%word(%word(@items_to_assemble,%l,"|"),2,"|")) {this_part2 = %word(%word(@items_to_assemble,%l,"|"),2,"|")}
this_assemble = %word(%word(@items_to_assemble,%j,"|"),2,"|")
#SHOW assemble %l.@this_assemble %i~.@this_part %j~.@this_part2
#MATH assemble_loops2 {@assemble_loops2 - 1}
}
}
}
}
}
}
|
It then spits out the following via #SHOW:
Most Items: 3 obsidian
assemble 1.obsidian 1.obsidian 1.obsidian
assemble 2.obsidian 1.obsidian 1.leather
assemble 3.obsidian 1.obsidian 1.bamboo
assemble 1.leather 1.obsidian 2.obsidian
assemble 2.leather 1.obsidian 2.leather
assemble 1.bamboo 1.obsidian 3.obsidian
assemble 1.obsidian 2.obsidian 1.obsidian
assemble 2.obsidian 2.obsidian 1.leather
assemble 3.obsidian 2.obsidian 1.bamboo
assemble 1.leather 2.obsidian 2.obsidian
assemble 2.leather 2.obsidian 2.leather
assemble 1.bamboo 2.obsidian 3.obsidian
assemble 1.obsidian 3.obsidian 1.obsidian
assemble 2.obsidian 3.obsidian 1.leather
assemble 3.obsidian 3.obsidian 1.bamboo
assemble 1.leather 3.obsidian 2.obsidian
assemble 2.leather 3.obsidian 2.leather
assemble 1.bamboo 3.obsidian 3.obsidian
The loops just need more nesting and to be looped in the proper order, hope this sparks some brain cells... |
|
|
|
 |
Vitae Enchanter

Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Thu Sep 08, 2005 11:07 pm |
looking at it and not getting it :(
need to go from 1. of how ever many objects to n. of how ever many objects.
assemble 1.leather 1.obsidian
assemble 1.leather 1.obsidian 2.obsidian
assemble 1.leather 2.leather 1.obsidian
assemble 1.leather 2.leather 1.obsidian 2.obsidian
the order has no bearing in the creation.
1.itema 2.itema 1.itemb
is the same as
1.itemb 2.itema 1.itema
besides, considering 15 straps, and any extra items would amount to more than the 18 or so that comes up.
if there are 15 of one and 10 of another then the end result would be from
1.strap 1.obsidian
all the way to
1.strap ....15.strap 1.obsidian ... 10.obsidian
the possible combinations there are a LOT more than 18, and that's just with 2 items. |
|
|
|
 |
Private Adept
Joined: 10 Jan 2002 Posts: 264 Location: USA
|
Posted: Fri Sep 09, 2005 8:42 am |
for that last output... the variable contained:
| Code: |
| (3|obsidian)|(2|leather)|(1|bamboo) |
sorry,, forgot to mention i lowered it so it didnt take up a whole lot of room here. |
|
|
|
 |
Private Adept
Joined: 10 Jan 2002 Posts: 264 Location: USA
|
Posted: Fri Sep 09, 2005 11:40 am |
ok,,, try this script....
| Code: |
#CLASS {assemble}
#ALIAS loopit3 {num_item1 = %word( %word( @items, 1, "|"), 1, "|");item1 = %word( %word( @items, 1, "|"), 2, "|");num_item2 = %word( %word( @items, 2, "|"), 1, "|");item2 = %word( %word( @items, 2, "|"), 2, "|");num_item3 = %word( %word( @items, 3, "|"), 1, "|");item3 = %word( %word( @items, 3, "|"), 2, "|");#LOOP @num_item1 {#LOOP @num_item2 {#LOOP @num_item3 {#IF (((%i = %j) AND (@item1 = @item2)) OR ((%j = %k) AND (@item2 = @item3))) {} {#show assemble %i~.@item1 %j~.@item2 %k~.@item3}}}}}
#ALIAS loopit2 {num_item1 = %word( %word( @items, 1, "|"), 1, "|");item1 = %word( %word( @items, 1, "|"), 2, "|");num_item2 = %word( %word( @items, 2, "|"), 1, "|");item2 = %word( %word( @items, 2, "|"), 2, "|");#LOOP @num_item1 {#LOOP @num_item2 {#IF ((%i = %j) AND (@item1 = @item2)) {} {#show assemble %i~.@item1 %j~.@item2}}}}
#ALIAS loopit4 {num_item1 = %word( %word( @items, 1, "|"), 1, "|");item1 = %word( %word( @items, 1, "|"), 2, "|");num_item2 = %word( %word( @items, 2, "|"), 1, "|");item2 = %word( %word( @items, 2, "|"), 2, "|");num_item3 = %word( %word( @items, 3, "|"), 1, "|");item3 = %word( %word( @items, 3, "|"), 2, "|");num_item4 = %word( %word( @items, 4, "|"), 1, "|");item4 = %word( %word( @items, 4, "|"), 2, "|");#LOOP @num_item1 {#LOOP @num_item2 {#LOOP @num_item3 {#LOOP @num_item4 {#IF (((%i = %j) AND (@item1 = @item2)) OR ((%j = %k) AND (@item2 = @item3)) OR ((%k = %l) AND (@item3 = @item4))) {} {#show assemble %i~.@item1 %j~.@item2 %k~.@item3 %l~.@item4}}}}}}
#ALIAS loopit5 {num_item1 = %word( %word( @items, 1, "|"), 1, "|");item1 = %word( %word( @items, 1, "|"), 2, "|");num_item2 = %word( %word( @items, 2, "|"), 1, "|");item2 = %word( %word( @items, 2, "|"), 2, "|");num_item3 = %word( %word( @items, 3, "|"), 1, "|");item3 = %word( %word( @items, 3, "|"), 2, "|");num_item4 = %word( %word( @items, 4, "|"), 1, "|");item4 = %word( %word( @items, 4, "|"), 2, "|");num_item5 = %word( %word( @items, 5, "|"), 1, "|");item5 = %word( %word( @items, 5, "|"), 2, "|");#LOOP @num_item1 {#LOOP @num_item2 {#LOOP @num_item3 {#LOOP @num_item4 {#LOOP @num_item5 {#IF (((%i = %j) AND (@item1 = @item2)) OR ((%j = %k) AND (@item2 = @item3)) OR ((%k = %l) AND (@item3 = @item4)) OR ((%l = %m) AND (@item4 = @item5))) {} {#show assemble %i~.@item1 %j~.@item2 %k~.@item3 %l~.@item4 %m~.@item5}}}}}}}
#ALIAS doassemble {#IF (%numitems( @items) = 0) {#SHOW {};#SHOW {No Items - use ~'additems ~# name~' to add at least 2.}};#IF (%numitems( @items) = 1) {#SHOW {};#SHOW {1 Item - use ~'additems ~# name~' to add at least one more.}};#IF (%numitems( @items) = 2) {#SHOW {};#SHOW {Assembling with 2 items};loopit2};#IF (%numitems( @items) = 3) {#SHOW {};#SHOW {Assembling with 3 items};loopit3};#IF (%numitems( @items) = 4) {#SHOW {};#SHOW {Assembling with 4 items};loopit4};#IF (%numitems( @items) = 5) {#SHOW {};#SHOW {Assembling with 5 items};loopit5};#SHOW {All Done.};#SHOW {}}
#ALIAS clearitems {#RESET assemble}
#ALIAS additems {#IF ((%1) AND (%2)) {#IF (%isnumber( %1)) {items = %additem( (%1|%2), @items);#SHOW {Adding %1 %2}} {#SHOW {Useage~: ~'additems ~# keyword~'}}} {#SHOW {Useage~: ~'additems ~# keyword~'}}}
#VAR items {} {}
#VAR item1 {} {}
#VAR item2 {} {}
#VAR item3 {} {}
#VAR item4 {} {}
#VAR item5 {} {}
#VAR num_item1 {} {}
#VAR num_item2 {} {}
#VAR num_item3 {} {}
#VAR num_item4 {} {}
#VAR num_item5 {} {}
#CLASS 0
|
>additems 2 obsidian
Adding 2 obsidian
>doassemble
1 Item - use 'additems # name' to add at least one more.
All Done.
>additems leather 12
Useage: 'additems # name'
>additems 12 leather
Adding 12 leather
>doassemble
Assembling with 2 items
assemble 1.obsidian 1.leather
assemble 1.obsidian 2.leather
assemble 1.obsidian 3.leather
assemble 1.obsidian 4.leather
assemble 1.obsidian 5.leather
assemble 1.obsidian 6.leather
assemble 1.obsidian 7.leather
assemble 1.obsidian 8.leather
assemble 1.obsidian 9.leather
assemble 1.obsidian 10.leather
assemble 1.obsidian 11.leather
assemble 1.obsidian 12.leather
assemble 2.obsidian 1.leather
assemble 2.obsidian 2.leather
assemble 2.obsidian 3.leather
assemble 2.obsidian 4.leather
assemble 2.obsidian 5.leather
assemble 2.obsidian 6.leather
assemble 2.obsidian 7.leather
assemble 2.obsidian 8.leather
assemble 2.obsidian 9.leather
assemble 2.obsidian 10.leather
assemble 2.obsidian 11.leather
assemble 2.obsidian 12.leather
All Done.
wheeee... works for 2 upto 5 item types of any amount, easy enough to make it work with more item types.
dunno what to do about it assembling an item in the middle of a run though :P Just be some "You don't have any of those" type messages.
If recipe calls for 2 of the same items, strap strap obsidian, it unfortunatly does double work,
1.strap 2.strap 1.obsidian
2.strap 1.strap 1.obsidian
but i was able to remove things like:
1.strap 1.strap 1.obsidian
to avoid this though you must add like recipe items after each other...
additems 2 strap
additems 2 strap
additems 1 obsidian
not:
additems 2 strap
additems 1 obsidian
additems 2 strap |
|
|
|
 |
Vitae Enchanter

Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Fri Sep 09, 2005 12:36 pm |
Don't think it will work...unless i dont know what the heck yer doing and how to make it do more than what it does
I need more than just
assemble 1.a 1.b
assemble 2.a 2.b
It's
assemble 1.a 1.b 2.a 2.b
and more.
one particular assembly uses like 4 diff items of different amounts:
a bamboo fishing pole
> a bamboo pole
> a bamboo pole
> a giant crab claw
> a small length of rope
> a small length of rope
> a small length of rope
> a length of leather
> a length of leather
> a length of leather
so to make a bamboo fishing pole i have to type out:
assemble 1.bamboo 2.bamboo 1.claw 1.rope 2.rope 3.rope 1.leather 2.leather 3.leather
here's the thing, bamboo poles aren't findable, they have to be made, but i don't have that in the file so i have to figure out how to make it.
that's where i got the idea for an assemble script.
I'll assume a bamboo pole uses bamboo, and either leather or rope.
so i'd just gather a load of bamboo, leather and rope, and run 3 things.
1) bamboo & leather combo
failing that
2) bamboo & rope combo
failing that
3) bamboo, leather & rope combo
failing that
4) throw computer out window
I dont need the script to send all three possibilities out, i can do that myself on a one by one basis.
but what I need it to do is when i have entrered all 4 components and qtys, run:
assemble 1.bamboo 1.claw 1.rope 1.leather
assemble 1.bamboo 1.claw 1.rope 1.leather 2.leather
assemble 1.bamboo 1.claw 1.rope 1.leather 2.leather 3.leather
assemble 1.bamboo 1.claw 1.rope 2.rope 1.leather
assemble 1.bamboo 1.claw 1.rope 2.rope 1.leather 2.leather
assemble 1.bamboo 1.claw 1.rope 2.rope 1.leather 2.leather 3.leather
until the final combo of:
assemble 1.bamboo 2.bamboo 1.claw 1.rope 2.rope 3.rope 1.leather 2.leather 3.leather
It does the 1st, and then based on the msg of success or failure it either does the next or stops and reports what was made and how.
Order is NO matter.
2.bamboo 1.claw 3. leather is the same as 1.claw 2.bamboo 3. leather
But all the components have to be there for a success.
Of course, the FUN part (as if all this wasn't already fun) is that it needs to SKIP known items...like PRETEND that
1.bamboo 1.claw 1.rope 2.rope 1.leather 2.leather 3.leather
made something, but I already know that, I need it to SKIP this particular combo and goto the next one because since i know it, and don't NEED that item it's a wasted trip.
Like in brewing a potion
you have 2 acids and 1 blood
brew 1.acid 1.blood
That explodes in your face.
You don't want that, so you have it stored that NEVER run that combo. it will only do
brew 1.acid 2.acid 1.blood
(note: this is not part (that i know of) the mud that i am trying to do this whole assembly stuff for. it's just another example)
I was planning on storing the created items components in a variable and have it check on a %ismember thing to tell it to skip it.
Really starting to think that this isnt going to work at all. *sigh*
Seems simple enuf, but damned if i know how to explain it better. |
|
|
|
 |
Private Adept
Joined: 10 Jan 2002 Posts: 264 Location: USA
|
Posted: Fri Sep 09, 2005 12:44 pm |
ok... let's say you want to try your 1st thing... leather and bamboo...
cleraitems alias 1st....
Adding 2 leather
Adding 2 leather
Adding 3 bamboo
Assembling with 3 items
assemble 1.leather 2.leather 1.bamboo
assemble 1.leather 2.leather 2.bamboo
assemble 1.leather 2.leather 3.bamboo
assemble 2.leather 1.leather 1.bamboo
assemble 2.leather 1.leather 2.bamboo
assemble 2.leather 1.leather 3.bamboo
All Done.
there are 2 sets of 3 there.... 123 and 456, i know 123 is the same as 456.... but what should it be doing differently?
| Quote: |
It's
assemble 1.a 1.b 2.a 2.b
|
clearitems....
additems 2 a
additems 2 a
additems 2 b
additems 2 b
doassemble
Assembling with 4 items
assemble 1.a 2.a 1.b 2.b
assemble 1.a 2.a 2.b 1.b
assemble 2.a 1.a 1.b 2.b
assemble 2.a 1.a 2.b 1.b
All Done.
this is your example---> assemble 2.a 1.a 1.b 2.b
this is your example also--->assemble 2.a 1.a 2.b 1.b
i know it dupes exactly twice all patterns (just out of order which doesnt matter...)
I think your not seeing that you can add the same item twice to get it to use more then one of em to assemble as per your example... i only made the script upto 5 items,,, but it can easily accomidate many more, just needs a few more aliases.
For now the wasted trip thing i aint even going into... let's make it assemble things 1st :P |
|
|
|
 |
Vitae Enchanter

Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Fri Sep 09, 2005 2:39 pm |
k, getting me all confused.
I look at my inventory and see
2 leather
3 bamboo
So, i enter
additems 2 leather
additems 3 bamboo
and the result that I get from your script is
Assembling with 2 items
assemble 1.leather 1.bamboo
assemble 1.leather 2.bamboo
assemble 1.leather 3.bamboo
assemble 2.leather 1.bamboo
assemble 2.leather 2.bamboo
assemble 2.leather 3.bamboo
All Done.
ALL the possible combos *I* need start with
assemble 1.leather 1.bamboo
and end with
assemble 1.leather 2.leather 1.bamboo 2.bamboo 3.bamboo
That is WAY different from what yours does. THAT is what I was trying to explain to you
as I posted several times already, i NEED ALL the components listed for it to work.
Assemble 1.leather 1.bamboo
is the same as
Assemble 2.leather 2.bamboo
But it is NOT the same as
Assemble 1.leather 1.bamboo 2.leather 2.bamboo
#.item is just a place holder...like
look bag
look 2.bag
look 3.bag
If i use the 1st piece of leather or the 100th it makes no difference.
But if i need *3* pieces of leather i need to put
Assemble 1.leather 2.leather 3.leather |
|
|
|
 |
Vitae Enchanter

Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Fri Sep 09, 2005 2:51 pm |
BTW:
Changed your doassemble code:
| Code: |
#IF ((%numitems( @items) = 0) OR (%numitems( @items) = 1)) {
#SHOW {Assembly Aborted}
#SHOW {You input %numitems( @items) Item(s) - use ~'additems ~# name~' to have a minumum of 2 Items}
} {Assembling with %numitems( @items) items}
#IF (%numitems( @items) >= 2) {
loopit%numitems( @items)
#show {}
#SHOW {All Done.}
} |
Still works the same as your original, but less #if's and much shorter. |
|
|
|
 |
Private Adept
Joined: 10 Jan 2002 Posts: 264 Location: USA
|
Posted: Fri Sep 09, 2005 8:54 pm |
make the doassemble do loopit2, loopit3, loopit4, etc for they total numbet of items in the recipe.....
for: assemble 1.leather 2.leather 1.bamboo 2.bamboo 3.bamboo
run1:
| Code: |
>clearitems
Class assemble reset to its startup values
>additems 2 leather
Adding 2 leather
>additems 3 bamboo
Adding 3 bamboo
>doassemble
Assembling with 2 items
assemble 1.leather 1.bamboo
assemble 1.leather 2.bamboo
assemble 1.leather 3.bamboo
assemble 2.leather 1.bamboo
assemble 2.leather 2.bamboo
assemble 2.leather 3.bamboo
All Done.
|
run2:
| Code: |
>additems 2 leather
Adding 2 leather
>doassemble
Assembling with 3 items
assemble 1.leather 1.bamboo 1.leather
assemble 1.leather 1.bamboo 2.leather
assemble 1.leather 2.bamboo 1.leather
*SNIP*
assemble 2.leather 2.bamboo 2.leather
assemble 2.leather 3.bamboo 1.leather
assemble 2.leather 3.bamboo 2.leather
All Done.
|
run3:
| Code: |
>additems 3 bamboo
Adding 3 bamboo
>doassemble
Assembling with 4 items
assemble 1.leather 1.bamboo 1.leather 1.bamboo
assemble 1.leather 1.bamboo 1.leather 2.bamboo
assemble 1.leather 1.bamboo 1.leather 3.bamboo
*SNIP*
assemble 2.leather 3.bamboo 1.leather 3.bamboo
assemble 2.leather 3.bamboo 2.leather 1.bamboo
assemble 2.leather 3.bamboo 2.leather 2.bamboo
assemble 2.leather 3.bamboo 2.leather 3.bamboo
All Done.
|
run4:
| Code: |
>additems 3 bamboo
Adding 3 bamboo
>doassemble
Assembling with 5 items
assemble 1.leather 1.bamboo 1.leather 1.bamboo 2.bamboo
assemble 1.leather 1.bamboo 1.leather 1.bamboo 3.bamboo
assemble 1.leather 1.bamboo 1.leather 2.bamboo 1.bamboo
assemble 1.leather 1.bamboo 1.leather 2.bamboo 3.bamboo
*SNIP*
assemble 1.leather 2.bamboo 2.leather 2.bamboo 1.bamboo
assemble 1.leather 2.bamboo 2.leather 2.bamboo 3.bamboo
assemble 1.leather 2.bamboo 2.leather 3.bamboo 1.bamboo
assemble 1.leather 2.bamboo 2.leather 3.bamboo 2.bamboo
*BIGSNIP*
assemble 2.leather 3.bamboo 2.leather 2.bamboo 3.bamboo
assemble 2.leather 3.bamboo 2.leather 3.bamboo 1.bamboo
assemble 2.leather 3.bamboo 2.leather 3.bamboo 2.bamboo
All Done.
|
I have now went from combos:
assemble 1.leather 1.bamboo
to:
assemble 1.leather 1.bamboo 2.leather 3.bamboo 2.bamboo |
|
|
|
 |
Vitae Enchanter

Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Sat Sep 10, 2005 12:30 am |
| Quote: |
| make the doassemble do loopit2, loopit3, loopit4, etc for they total numbet of items in the recipe..... |
by the time i go thru what you had done, i've entered 2 leathers twice and 3 bamboos 3 times.
that pretty much made the total 4 leathers and 9 bamboos, which SHOULD have made the FINAL result
assemble 1.leather 2.leather 3.leather 4.leather 1.bamboo 2.bamboo 3.bamboo 4.bamboo 5.bamboo 6.bamboo 7.bamboo 8.bamboo 9.bamboo
not
assemble 1.leather 1.bamboo 2.leather 3.bamboo 2.bamboo
Not sure why you think entering a qty of leather twice is something that I'd need to do rather than enter the entire thing once.
So, in cases that I need 3 DIFFERENT components, that I would like to start with
2 leather
3 rope
2 obsidian
knowing that my FIRST result needs to be
1.leather 1.rope 1.obsidian
and my LAST result needs to be
1.leather 2.leather 1.rope 2.rope 3.rope 1.obsidian 2.obsidian
I start with your method:
>additems 2 leather
Adding 2 leather
> additems 3 rope
Adding 3 bamboo
doassemble
Assembling with 2 items
assemble 1.leather 1.rope < yay
assemble 1.leather 2.rope < same as 1.leather 1.rope hence useless
assemble 1.leather 3.rope < same as 1.leather 1.rope hence useless
assemble 2.leather 1.rope < same as 1.leather 1.rope hence useless
assemble 2.leather 2.rope < same as 1.leather 1.rope hence useless
assemble 2.leather 3.rope < same as 1.leather 1.rope hence useless
Missing results:
1.leather 1.rope 2.rope
1.leather 1.rope 2.rope 3.rope
1.leather 2.leather 1.rope
1.leather 2.leather 1.rope 2.rope
1.leather 2.leather 1.rope 2.rope 3.rope
>additems 2 obsidian
Adding 2 obsidian
>doassemble
Assembling with 3 items
assemble 1.leather 1.rope 1.obsidian < yay
assemble 1.leather 1.rope 2.obsidian < same as 1.leather 1.rope 1.obsidian hence useless
assemble 1.leather 2.rope 1.obsidian < same as 1.leather 1.rope 1.obsidian hence useless
assemble 1.leather 2.rope 2.obsidian < same as 1.leather 1.rope 1.obsidian hence useless
assemble 1.leather 3.rope 1.obsidian < same as 1.leather 1.rope 1.obsidian hence useless
assemble 1.leather 3.rope 2.obsidian < same as 1.leather 1.rope 1.obsidian hence useless
assemble 2.leather 1.rope 1.obsidian < same as 1.leather 1.rope 1.obsidian hence useless
assemble 2.leather 1.rope 2.obsidian < same as 1.leather 1.rope 1.obsidian hence useless
assemble 2.leather 2.rope 1.obsidian < same as 1.leather 1.rope 1.obsidian hence useless
assemble 2.leather 2.rope 2.obsidian < same as 1.leather 1.rope 1.obsidian hence useless
assemble 2.leather 3.rope 1.obsidian < same as 1.leather 1.rope 1.obsidian hence useless
assemble 2.leather 3.rope 2.obsidian < same as 1.leather 1.rope 1.obsidian hence useless
All Done.
missing results from this one:
1.leather 1.rope 1.obsidian 2.obsidian
1.leather 1.rope 2.rope 1.obsidian
1.leather 1.rope 2.rope 1.obsidian 2.obsidian
1.leather 1.rope 2.rope 3.rope 1.obsidian
1.leather 1.rope 2.rope 3.rope 1.obsidian 2.obsidian
1.leather 2.leather 1.rope 1.obsidian
1.leather 2.leather 1.rope 1.obsidian 2.obsidian
1.leather 2.leather 1.rope 2.rope 1.obsidian
1.leather 2.leather 1.rope 2.rope 1.obsidian 2.obsidian
1.leather 2.leather 1.rope 2.rope 3.rope 1.obsidian
1.leather 2.leather 1.rope 2.rope 3.rope 1.obsidian 2.obsidian
>additems 2 leather
Adding 2 leather
> additems 3 rope
Adding 3 bamboo
> additems 2 obsidian
Adding 2 obsidian
Assembling with 3 items
assemble 1.leather 1.rope 1.obsidian
assemble 1.leather 1.rope 2.obsidian
assemble 1.leather 2.rope 1.obsidian
assemble 1.leather 2.rope 2.obsidian
assemble 1.leather 3.rope 1.obsidian
assemble 1.leather 3.rope 2.obsidian
assemble 2.leather 1.rope 1.obsidian
assemble 2.leather 1.rope 2.obsidian
assemble 2.leather 2.rope 1.obsidian
assemble 2.leather 2.rope 2.obsidian
assemble 2.leather 3.rope 1.obsidian
assemble 2.leather 3.rope 2.obsidian
All Done.
This is the same result as adding 2 items, running doassemble then adding in the 3rd item, so don't know why you said to seperate the entries. |
|
|
|
 |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|