Author Topic: D2Nt Script Conversion  (Read 1835 times)

Offline Corruption

  • Newbie
  • *
  • Posts: 34
  • Reputation 1
    • View Profile
D2Nt Script Conversion
« on: July 03, 2010, 12:22:16 AM »
I would like a D2Nt Script Converted to work with NTBot on D2bs.

This script will print out your inventory for use in either posting on D2JSP trades, or just to have a list of your mules.

It will list as so:
Code: [Select]
Annihilus Small Charm - +1 to All Skills/+17 to all Attributes/All Resistances +19/+9% to Experience Gained
The script is below:

Code: [Select]
//NTConfig_Script.push("TLInventory.ntj"); //Add this line to your NT Config to run it
      NTConfig_TLInventory_Unattended      = true;
      NTConfig_TLInventory_SkipEquipped   = false;         // true = just log stash and inventory
      NTConfig_TLInventory_Delimeter      = "-";            // output file delimiter - see function TTL_WriteIt()
      NTConfig_TLInventory_SortOrder      = "QUALITY|TYPE|CLASS|NAME";

function NTMain()
{
   Include("libs/common/NTCommon.ntl");
   NTC_IncludeLibs();

   RegisterEvent(EVENT_KEYDOWN, TLI_KeyEvents);
   
   Print("?c3[Toothless Inventory] - Load");
   
   if(!NTTM_CheckAct()) { NTC_SendMsgToScript("TLInventory.ntj", "NTTM_CheckAct()"); return; }

   if (!NTConfig_TLInventory_Unattended)
   {
      Print ("Press - HOME - to log inventory");
      Print ("Press - END  - to consolidate into master file");
      while (1)
         NTC_Delay(200);
   }
   else
      TLI_DoIt();
}
function TLI_DoIt()
{
   Print ("Attempting to log inventory ...");
   
   var items = me.GetItems();
items.sort(function(a, b){
var nameA=a.name.toLowerCase(), nameB=b.name.toLowerCase()
if (nameA < nameB) //sort string ascending
  return -1
if (nameA > nameB)
  return 1
return 0 //default return value (no sorting)
});
   var logged = new Array();
   if (items)
   {
      for(var i = 0 ; i < items.length ; i++)
      {
         item = items[i];
         ignore = _NTT_IgnoredItems.join("-");
         ignore += "-box";
         
         if(ignore.indexOf(item.code) == -1)
         {
            if(!NTConfig_TLInventory_SkipEquipped)
               logged.push(item);
            else if (item.mode == 0)
               logged.push(item);
         }
      }
      if (logged.length)
      {
         var fileName = "logs/" + me.account + "." + me.name + ".txt";
         _file = FileOpen(fileName, 1);
         if (_file)
         {
            for (var i = 0; i < logged.length; i++)
               TLI_WriteIt(_file, logged[i]);
            _file.Close();
            Print ("?c2" + logged.length + " items written to - " + fileName + " -");
         }
         else
            Print("?c1Unable to write file to - " + fileName);
      }
      else
         Print("?c1No items on this character to log");
   }
   else
      Print("?c1No items on this character to log");
}
function TLI_WriteIt(pFile, pItem)
{
   var delim = " " + NTConfig_TLInventory_Delimeter + " ";
   if (pItem.name.substring(pItem.name.length-4,pItem.name.length) == "Rune"){   
var s = pItem.name.replace("\n", " ");
   }
   else {
   var s = pItem.name.replace("\n", " ") + delim + TLI_ItemDesc(pItem)
   s = s.replace(" /", " ");
   s = s.replace("  ", " ");
}
   pFile.WriteLine(
      s
   );
}
function TLI_ItemMode(item)
{
   switch (item.mode)
   {
      case 0: return "Storage";
      case 1: return "Equipped";
      case 2: return "Belt";
      default: return "Other";
   }
}
function TLI_ItemDesc(item)
{
   var re;
   var s = item.itemdesc;
   
   s = s.replace(/?c[0-9]/gi, "");
   re = new RegExp(item.name, "gi");
   s = s.replace(re, "");
   s = s.replace(/(\d% Bonus to Attack Rating)/, "Visionary");
   s = s.replace("Visionary (Based on Character Level)", "Visionary");
   s = s.replace("Keep in Inventory to Gain Bonus", "");
   s = s.replace("Better Chance of Getting Magic Items", "MF");
   s = s.replace("Extra Gold from Monsters", "GF");
   s = s.replace("Faster Run/Walk", "FRW");
   s = s.replace("Enhanced Defense", "ED");
   s = s.replace("Reduces all Vendor Prices", "VP");
   s = s.replace("Mana stolen her hit", "ML");
   s = s.replace("Life stolen per hit", "LL");
   s = s.replace(/('\w+')/, "");
   s = s.replace(/(Durability:\s+\d+\s+\w{2}\s+\d+)/, "")
   s = s.replace(/(Durability:\s+\d{2}\s+\w{2}\s+\d{2})/, "");
   s = s.replace(/(Durability:\s+\d\s+\w{2}\s+\d{2})/, "");
   s = s.replace("to Mana", "Mana");
   s = s.replace("to Strength", "STR");
   s = s.replace("to Dexterity", "DEX");
   s = s.replace("to Life", "Life");
   s = s.replace("to Vitality", "Vita");
   s = s.replace("to Energy", "Energy");
   s = s.replace("Faster Hit Recovery", "FHR");
   s = s.replace("Damage Reduced by", "DR");
   s = s.replace("Faster Cast Rate", "FCR");
   s = s.replace(/(poison damage over \d seconds)/, "psn sc");
   s = s.replace(/(poison damage over \d+ seconds)/, "psn sc");
   s = s.replace(/Required Level: \d+/, "");
   s = s.replace(/Required Strength: \d+/, "");
   s = s.replace(/Required Dexterity: \d+/, "");
   s = s.replace("to Enemy Fire Resistance", "Enemy FRes");
   s = s.replace("to Enemy Lightning Resistance", "Enemy LRes");
   s = s.replace("to Enemy Cold Resistance", "Enemy CRes");
   s = s.replace("to Enemy Poison Resistance", "Enemy PRes");
   s = s.replace("Fire Resist", "FRes");
   s = s.replace("Lightning Resist", "LRes");
   s = s.replace("Cold Resist", "CRes");
   s = s.replace("Poison Resist", "PRes");
   s = s.replace("to Attack Rating", "AR");
   s = s.replace(/(\w+\s+\d\s+\w+\s+\w{2}\s+\d{2}\s+\w+\s+)/, "Self-Repair");
   s = s.replace(/(\w+\s+\d\s+\w+\s+\w{2}\s+\d+\s+\w+\s+)/, "Self-Repair");
   s = s.replace(/(\w+\s+\d\s+\w+\s+\w{2}\s+\d\s+\w+\s+)/, "Self-Repair");
   s = s.replace("Ethereal (Cannot be Repaired)", " Eth");
   s = s.replace("Can be Inserted into Socketed Items/Weapons:", "");
   s = s.replace("", "");
   s = s.replace("", "");
   re = new RegExp(item.name, "gi");
   re = new RegExp("\\n", "gi");
   s = s.replace(re, "/");
   s = s.replace("////", "/");
   s = s.replace("///", "/");
   s = s.replace("//", "/");
   
   return s;
}
function TLI_ItemQuality(item)
{
   var s = "";
   switch (item.quality)
   {
      case 0:
      case 1:
      case 2:
      case 3:   s = "Normal";   break;
      case 4:   s = "Magic";   break;
      case 5:   s = "Set";      break;
      case 6:   s = "Rare";      break;
      case 7:   s = "Unique";   break;
      default:
                  s = item.quality;   break;
   }

   return s;
   //return RE_PadCentre(s, "*", 20, 1);
}
// function TLI_ItemType(item)
// {
   // for (key in _NTIPAliasType)
      // if (_NTIPAliasType[key] == item.itemtype)
         // return key;
// }
function TLI_KeyEvents(keycode)
{
   switch(keycode)
   {
      case 36:   // HOME
         TLI_DoIt();
         break;
      case 35:   // END
         Print("Consolidating and formatting to master file.");
         NTC_Delay(2000);
         Print("?c1Consolidation failed - cos code ain't here.");
         break;
   }
}
function RE_2Title(str) {
    var re = new RegExp(/^(a|about|after|an|and|at|by|for|from|in|into|nor|of|on|onto|over|the|to|up|with|within)$/);       
    return str.toLowerCase().replace(/\b([a-z])(\w*)\b/g, cnvrt);
    function cnvrt() {
        if (re.test(arguments[0]) && arguments[arguments.length-2])
            return arguments[0];
        else
            return arguments[1].toUpperCase() + arguments[2];
    }
}

Offline xAnarchyx

  • Newbie
  • *
  • Posts: 15
  • Reputation 0
    • View Profile
Re: D2Nt Script Conversion
« Reply #1 on: July 03, 2010, 02:53:45 AM »
I could never figure out how to install D2BS...
Overall.. Whats better??

Offline Corruption

  • Newbie
  • *
  • Posts: 34
  • Reputation 1
    • View Profile
Re: D2Nt Script Conversion
« Reply #2 on: July 03, 2010, 10:41:39 AM »
I could never figure out how to install D2BS...
Overall.. Whats better??

D2bs is constantly being worked on by the Developers of it; and they update it quite a bit. Takes me no less than 5 minutes to setup 3 bots with it.

If you're using the NTBot script set; it'll do pretty much the same things that D2Nt does.

There's also other script sets such as mBot, AiBot, YAMB, and a few others.