VaultNetwork.netVault Network Boards
Author Topic: Craft Bot [Locked]
Saloben_ign  3 stars
Posts: 826
Registered: 2003-10-30 15:53:21
Remember, it isn't just the salvage changes that broke CraftBot. There has always been an issue with it ignoring T#'s and blowing up objects. This is why most people didn't use it.

 

-----signature-----
Never! Never! Never! take a sleeping pill and a laxative at the same time.
Mrs_Adventure  1 star
Posts: 215
Registered: 2001-3-14 14:46:05
Craftbots and Tinkerbots everywhere will be missed


On a good note though, I've been working on the tinkerbot macro from ACTool and have it halfway working with the new salvage. So many lines and data fields to update to get the original code to recognize the new names
Saloben_ign  3 stars
Posts: 826
Registered: 2003-10-30 15:53:21
I do not think it will work. Actool uses the actool companion to look at the incoming data. (Like when you ID an item). If you look in the logs folder you will see that it is not giving back the name of any salvage or item that has a salvage type in the name.

Here is an example of what the bot is seeing from a test I did tonight:

Please wait while I identify your items..
12-13/17:1.58 -- LoadTradeItems: Item Name Platemail Gauntlets, Guid: -2088174945, Target: 0
12-13/17:1.58 -- LoadTradeItems: After Initial ID--IDTinkerCount: 4 IDWorkmanship: 5.00000000
12-13/17:1.58 -- LoadTradeItems: Item Name Salvaged (100), Guid: -1806198146, Target: 1
12-13/17:1.58 -- CloseTrade


The Platemail Gauntlets were "Gold Platemail Gauntlets".
The salvage was "Steel Salvaged (100)"

All of the cds database files were updated and the companion.inc file that calculates the tinkering are already updated.

 

-----signature-----
Never! Never! Never! take a sleeping pill and a laxative at the same time.
mrFlipo  2 stars
Posts: 321
Registered: 2003-6-24 17:15:28
Maybe a quick fix is to create a helper function.
This function would need parameters material ID and Item name and return Item name close to old standard.

As a default always prefix material name to item name.
You could then have it modify item name and insert material name to what plugin was use to seeing.
Tacit_MT
Posts: 29
Registered: 2000-12-12 14:41:56
Saloben, I never heard back from you after the patch that broke all this. I figured someone else must have taken over your bot.

Since you're familiar with editing ACTool macros: In the tinkbeefcake.mac file, add the following to the LoadTradeItems procedure, just after the chathandler call for the 'SetConst Msg = Please wait while I identify your $cntDSTrade item' section. (very beginning of LoadTradeItems procedure). What this does is cycle through the DSTrade dataset looking for salvage types. When it finds one, it attemps to edit the DSTrade[name] with the old style naming convention. Make sure to add the additional field MaterialID to the Salvage dataset in the DataSets.mac file. Also, download the new Salvage.cds file (rename it to Salvage.cds) and put it in your Tinkerbot directory. http://www.tacit-mt.net/public/Salvage_material_id_fix.cds

(I can't remember if you have to do it, and I'm too tired to dig into it, though I think you do. Adjust all the salvage names in the TinkerCalc.inc file. You'll need two lines for each type: Opal Salvaged (100) and Opal Salvage (100) so that it can detect the old style and new style bags)

dsempty DSWorld
delay 750
LoadDecalWorld
delay 200
Loop $cntDSTrade
DSFilter DSWorld, guid='DSTrade[Guid]'
//sendtext 4, attempting to populate dstrade[name] - dstrade[guid]
DSFirst DSWorld
If EOF DSWorld
//crap, item not found in DSWorld
sendtext 4, ::ERROR:: LoadTradeItems - Item with GUID= DSTrade[GUID] not found in DSWorld
Else
//sendtext 4, found dstrade[guid] in DSWorld. Type in DSWorld= DSWorld[Type]
If DSWorld[Category] = 1073741824 or DSWorld[Category] = 128//item is a salvage type
DSFilter Salvage, materialID='DSWorld[Type]'
DSFirst Salvage
//sendtext 5, sal.mat= salvage[material] ; sal.matID= salvage[materialID] ; sal.skill= salvage[skill] ; sal.targets= salvage[targets]
If EOF Salvage
//crap, item not found in Salvage dataset
If DSWorld[name] contains Armature or DSWorld[name] contains pyreal or DSWorld[name] contains Diamond Powder
//do nothing
Else
Call AddTellQue $TellPerson, Due to the recent patch,, I do not know what type of salvage you are attempting to pass me.
DSFilter Salvage,
Call CloseTrade
Exit
End
Else
DSEdit DSTrade
setconst DSTrade[Name] = Salvage[Material]
DSPost DSTrade
//sendtext 4, setting name of salvage item to DSTrade[name]
//delay 2 sec
End
Else
DSEdit DSTrade
setconst DSTrade[Name] = DSWorld[Name]
DSPost DSTrade
//sendtext 4, setting name of non-salvage item to DSTrade[name]
//delay 2 sec
End
End
DSFilter DSWorld,
DSFilter Salvage,
DSNext DSTrade
End


Edit: Also, unless you go in and do the same sort of 'fix' or rewrite the UST'ing procedure to use materialIDs instead of item names, you can do what I did and just turn off the UST function by redirecting all UST requests to Salvage Only requests. I didn't rewrite it last month since I didn't know how things would change in December. And now I'm too busy to rewrite that section. And noone seems to complain too much about having to combine their own stuff.

 

-----signature-----
follower of Tasher of the Knights of Fortune
Rydia - maxed all tinkers, spec all tinkers, 38% imbue
Saloben_ign  3 stars
Posts: 826
Registered: 2003-10-30 15:53:21
woot ty Tacit! If this works I owe you and Murron big time.

 

-----signature-----
Never! Never! Never! take a sleeping pill and a laxative at the same time.
Tacit_MT
Posts: 29
Registered: 2000-12-12 14:41:56
Rydia's been running fine since two days after last patch, so it should work no problems if I didn't forget any other required edits. I guess you'll find out the first time someone tries to tinker something.

You'll notice in the new Salvage.cds file lots of lines with blanks for the materialID, these would be the special bags from things like Burun Kings and Colo salvage. I have all the important ones, maybe even all of them. Many don't exist, like the bags for jewelry imbues, I just didn't bother to take them out. Maybe one day we'll be able to buy them. /e dreams of Foolproof Hematite.

Make sure to check my edit in the above post, or everything gets squished into the same bag. Maybe after the holiday orders I'll have time to rewrite the code to use the materialIDs.

 

-----signature-----
follower of Tasher of the Knights of Fortune
Rydia - maxed all tinkers, spec all tinkers, 38% imbue
Pappa_Fizzle
Posts: 6
Registered: 2001-3-20 07:51:41
Just to update on craftbot

It finds the recipes just fine (imbues, regular tinks, gearcrafting) however I'm not finished 100% with the material hardcoding and gearcrafting still has kinks in it I need to iron out (it only works for what I've added which is only a few I've been using to test).

Good news is I start my vacation (just time off as it's a use it or lose it situation) after tomorrow so hopefully by Saturday-Sunday timeframe we'll be all set. At that point I'll put source up for anyone to enhance further as well as just the new craftbot.dll and recipe.xml.


Thanks for your patience.

 

-----signature-----
Used to play AC (stopped early '02), now back again
Jehovah's Witness - 275 tradeskill
Pappa Fizzle - 275 BM
Little Hero - 275 Bow
Widow's Kiss - 275 Mage
Saloben_ign  3 stars
Posts: 826
Registered: 2003-10-30 15:53:21
Were you able to figure out why it forgets what state it is in and makes it ignore T#'s? Unless you can find the cause for that it would be dangerous for anyone to use it without risk of blowing up items.

 

-----signature-----
Never! Never! Never! take a sleeping pill and a laxative at the same time.
Pappa_Fizzle
Posts: 6
Registered: 2001-3-20 07:51:41
In all the testing and debugging I've done thus far I haven't been able to get it to replicate it.

My bot or Evil-Lady's is almost always up at mansion and we've yet to have a runaway tinker. I've gone through line by line as it progresses/calls and I've yet to see where it could happen.

 

-----signature-----
Used to play AC (stopped early '02), now back again
Jehovah's Witness - 275 tradeskill
Pappa Fizzle - 275 BM
Little Hero - 275 Bow
Widow's Kiss - 275 Mage

VaultNetwork.net is an independently operated community forum and is not affiliated with, endorsed by, or technically based on IGN, GameSpy, FilePlanet, GameStats, or the former IGN/GameSpy Vault Network.
References to VaultNetwork.net mean this site/domain. VNBoards-style presentation is a visual homage only. By using this site, you agree to the forum rules.