Author Topic: How Can i use Cain to identify instead of Buying Scrolls?  (Read 1207 times)

Offline Apeboyz

  • Newbie
  • *
  • Join Date: Aug 2010
  • Posts: 25
  • Reputation 0
  • I <3 PureKaoz.com
    • View Profile
How Can i use Cain to identify instead of Buying Scrolls?
« on: August 26, 2010, 10:26:15 AM »
I just wanna go to Cain, if its usefull stash it. If not, drop it on the Ground.

Iam Running DiaBaal Runs and one of my leechers is picking. In CS he is just picking and selling stuff and misses nearly all of the Exp.

I wanna make him, collect all stuff. Go to cain. Identify all at once. And then if its useless drop it.

Not for CS only, for general.

Would help me.

Thanks!

PureKaoz.com - D2NT, Diablo 3 & Starcaft 2 Hacks

How Can i use Cain to identify instead of Buying Scrolls?
« on: August 26, 2010, 10:26:15 AM »

Offline Apeboyz

  • Newbie
  • *
  • Join Date: Aug 2010
  • Posts: 25
  • Reputation 0
  • I <3 PureKaoz.com
    • View Profile
Re: How Can i use Cain to identify instead of Buying Scrolls?
« Reply #1 on: August 29, 2010, 09:27:01 PM »
okay i changed it with a guide from another website.

but how can i change now to drop the items instead of selling them?

Guide:

Step [1]:Open NTTownManager:
add this code to the top:

Code: [Select]
var _NTTMGR_IdentifyCain;
var _uniditems = new Array();
var _NTTMGR_SellCainItems = false;

Step [2]: Add/Edit the Bold Lines:

Code: [Select]
var _cubing;

if(arguments.length < 1)
simple = false;

NTC_ClearCursor();
NTT_CleanPotions();
[b]_NTTMGR_IdentifyCain = (NTT_CheckUnids() > 0 && NTConfig_UseCainToID);
_NTTMGR_DoID = (NTT_CheckUnids() > 0 && !NTConfig_UseCainToID);[/b]
_NTTMGR_BuyPots = NTT_CheckBelt();
_NTTMGR_BuyTP = (NTTMGR_CheckScrolls(1) < 4);
_NTTMGR_BuyKey = (NTConfig_OpenChest && NTTMGR_CheckKeys() < 4);
_NTTMGR_DoHeal = NTT_CheckHeal();
_NTTMGR_DoRepair = NTT_CheckRepair(40);
_NTTMGR_DoRevive = NTT_CheckMerc();
_NTTMGR_RemoveCurse = NTTMGR_CheckCurse(NTConfig_CheckSelfSafe > 0x01 ? 0x7E : 0, NTConfig_CheckMercSafe > 0x01 ? 0x7E : 0);

Step [3]:copy this code:

Code: [Select]
if(_NTTMGR_IdentifyCain)
NTTMGR_VisitCain();

paste above:

Code: [Select]
switch(me.act)
Step [4]: Copy this code:


Code: [Select]
function NTTMGR_VisitCain()
{
   var _npc;
   var _items = me.GetItems();
   var count = 0;

   for(var i = 0 ; i < _items.length ; i++)
   {
      if(_items[i].mode == 0 && _items[i].itemloc == 0 && !(_items[i].itemflag&0x10))
      {
         var _value = NTSI_CheckItem(_items[i]);

         if(_value == 1)
         {
            if(_items[i].quality >= 4 && _items[i].itemtype != 4 && (_items[i].itemtype < 76 || _items[i].itemtype > 81))
            {
               NTC_SendLogToOOG(NTC_LOG_ITEM, "Kept " + NTC_ItemQualityToMGRColor[_items[i].quality] + _items[i].name.split("\n")[0] + ";" + _items[i].itemdesc);
               
               NTTM_TownMove("stash");

               var _stash = NTC_FindUnit(NTC_UNIT_OBJECT, NTC_UNIT_STASH, 5);

               if(_stash)
                  if(NTT_DoInteract(_stash))
                     NTT_ManageStash(_items[i]);

               me.Cancel(1);
            }
         }

         else
         {
            count ++;
            _uniditems.push(_items[i]);
         }
      }
   }

   
   if(count > 0)
   {
      _NTTMGR_SellCainItems = true;
      NTTM_TownMove("cain");
   
      _npc = NTC_FindUnit(NTC_UNIT_NPC, GetLocaleString(2890), 5);
     
      if(_npc)
      {
         NTM_MoveTo(me.areaid, _npc.x, _npc.y);
         if(NTT_DoInteract(_npc))
            if(_NTTMGR_IdentifyCain)
               if(NTT_DoInteract(_npc))
               {
                  for(var i = 0 ; i < 4 ; i++)
                  {
                     if((i % 4) == 0)
                        me.SelectNPCMenu(0x0FB4);
                     NTC_Delay(100);
                  }

                  me.Cancel(1);
               }
     
      }

      switch(me.act)
      {
         case 1:
            NTTMGR_VisitAkara();
            break;
         case 2:
            NTTMGR_VisitDrognan();
            break;
         case 3:
            NTTMGR_VisitOrmus();
            break;
         case 4:
            NTTMGR_VisitJamella();
            break;
         case 5:
            NTTMGR_VisitMalah();
            break;
      }
   

   }
}

Paste it above:

Code: [Select]
function NTTMGR_VisitAkara()
Step [5]:Add the BOLD

Quote
function NTTMGR_VisitAkara()
{
var _npc;

NTTM_TownMove("akara");

_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_AKARA, 5);

if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_BuyKey || _NTTMGR_DoID || _NTTMGR_SellCainItems)
{
if(NTT_DoTrade(_npc))
{
if(_NTTMGR_BuyPots)
NTT_FillBelt(_npc);

if(_NTTMGR_BuyTP)
NTT_FillTome(_npc, 1);

if(_NTTMGR_BuyKey)
NTT_FillKey(_npc);

if(_NTTMGR_DoID)
NTTMGR_IDItems(_npc);
if(_NTTMGR_SellCainItems)
NTTMGR_SellItems(_npc);

}
}
me.Cancel(1);
}

}
}


Step [6]:Add the BOLD

Quote
function NTTMGR_VisitDrognan()
{
var _npc;

NTTM_TownMove("drognan");

_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_DROGNAN, 5);

if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
if(_NTTMGR_BuyPots)
NTT_FillBelt(_npc);
if(_NTTMGR_BuyTP)
NTT_FillTome(_npc, 1);
if(_NTTMGR_DoID)
NTTMGR_IDItems(_npc);
if(_NTTMGR_SellCainItems)
NTTMGR_SellItems(_npc);

}

me.Cancel(1);
}
}
}


Step [7]:Add the BOLD

Quote
function NTTMGR_VisitOrmus()
{
var _npc;

NTTM_TownMove("ormus");

_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ORMUS, 5);

if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID || _NTTMGR_SellCainItems)
{
if(NTT_DoTrade(_npc))
{
if(_NTTMGR_BuyPots)
NTT_FillBelt(_npc);
if(_NTTMGR_BuyTP)
NTT_FillTome(_npc, 1);
if(_NTTMGR_DoID)
NTTMGR_IDItems(_npc);
if(_NTTMGR_SellCainItems)
NTTMGR_SellItems(_npc);

}
}

me.Cancel(1);
}
}
}


Step [8]:Add theBOLD

Quote
function NTTMGR_VisitJamella(gamble)
{
var _npc;

NTTM_TownMove("jamella");

_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_JAMELLA, 5);

if(_npc)
{
if(gamble)
{
while(NTC_MyGold() > NTConfig_GambleStopGold)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc, 1))
NTT_GambleIt(_npc);

me.Cancel(1);
}
else
break;
}
}
else
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_BuyKey || _NTTMGR_DoID || _NTTMGR_SellCainItems)
{
if(NTT_DoTrade(_npc))
{
if(_NTTMGR_BuyPots){
NTT_FillBelt(_npc);
Print("0");}
if(_NTTMGR_BuyTP)
NTT_FillTome(_npc, 1);
if(_NTTMGR_BuyKey)
NTT_FillKey(_npc);
if(_NTTMGR_DoID)
NTTMGR_IDItems(_npc);
if(_NTTMGR_SellCainItems)
NTTMGR_SellItems(_npc);

}
}

me.Cancel(1);
}
}
}
}


Step [9]: Add the BOLD

Quote
function NTTMGR_VisitMalah()
{
var _npc;

NTTM_TownMove("malah");

_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_MALAH, 5);

if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_BuyKey || _NTTMGR_DoID || _NTTMGR_SellCainItems)
{
if(NTT_DoTrade(_npc))
{
if(_NTTMGR_BuyPots)
NTT_FillBelt(_npc);
if(_NTTMGR_BuyTP)
NTT_FillTome(_npc, 1);
if(_NTTMGR_BuyKey)
NTT_FillKey(_npc);
if(_NTTMGR_DoID)
NTTMGR_IDItems(_npc);
if(_NTTMGR_SellCainItems)
NTTMGR_SellItems(_npc);

}
}

me.Cancel(1);
}
}
}

Step[10]: Copy this code and paste it at the bottom:

Code: [Select]
function NTTMGR_SellItems(npc)
{   
   for(var i=0;i<_uniditems.length;i++)
   {
      switch(NTSI_CheckItem(_uniditems[i]))
      {

         case 1:
            NTC_SendLogToOOG(NTC_LOG_ITEM, "Kept " + NTC_ItemQualityToMGRColor[_uniditems[i].quality] + _uniditems[i].name.split("\n")[0] + ";" + _uniditems[i].itemdesc);

         case 2:
            break;

         default:
            NTT_ShopItem(_uniditems[i], npc, 1);
            break;
               
      }
                     
   }

   _uniditems.splice(0, _uniditems.length);
}

Save and close NTTownManager.

Step [11]:Now open your character config file and add this line at the top:

Code: [Select]
NTConfig_UseCainToID = true;
« Last Edit: August 30, 2010, 12:52:11 AM by Apeboyz »

PureKaoz.com - D2NT, Diablo 3 & Starcaft 2 Hacks

Re: How Can i use Cain to identify instead of Buying Scrolls?
« Reply #1 on: August 29, 2010, 09:27:01 PM »

cooptheking

  • Guest
Re: How Can i use Cain to identify instead of Buying Scrolls?
« Reply #2 on: August 30, 2010, 01:45:46 AM »
Okay so just to verify a few things
1) its all working properly??
2) You do not wish to sell any items, you instead want him to simply discard them?

Offline Apeboyz

  • Newbie
  • *
  • Join Date: Aug 2010
  • Posts: 25
  • Reputation 0
  • I <3 PureKaoz.com
    • View Profile
Re: How Can i use Cain to identify instead of Buying Scrolls?
« Reply #3 on: August 30, 2010, 01:38:40 PM »
it working rly nice.

i changed this now:

Code: [Select]
      switch(me.act)
      {
         case 1:
            NTT_ClearInventory();
         case 2:
            NTT_ClearInventory();
         case 3:
            NTT_ClearInventory();
         case 4:
            NTT_ClearInventory();
         case 5:
            NTT_ClearInventory();
      }

he drops the stuff right to cain now. but i have a little issue:

After dropping all stuff on the ground, he still talks for example to Malah when he is in Act5. He doesnt buy anything, and neither my char went to the NPC to heal himself.

i think the items in the inventory tell the bot to visit a npc to get rid of them, how can i disable that?

PureKaoz.com - D2NT, Diablo 3 & Starcaft 2 Hacks

Re: How Can i use Cain to identify instead of Buying Scrolls?
« Reply #3 on: August 30, 2010, 01:38:40 PM »

Offline Apeboyz

  • Newbie
  • *
  • Join Date: Aug 2010
  • Posts: 25
  • Reputation 0
  • I <3 PureKaoz.com
    • View Profile
Re: How Can i use Cain to identify instead of Buying Scrolls?
« Reply #4 on: August 31, 2010, 06:13:47 AM »
solved it.

just remove all the _NTTMGR_DoID in the TownManager.ntl

PureKaoz.com - D2NT, Diablo 3 & Starcaft 2 Hacks

Re: How Can i use Cain to identify instead of Buying Scrolls?
« Reply #4 on: August 31, 2010, 06:13:47 AM »