D2nt Teach bot to craft?

04/17/2011 16:29 baddwarf#1
Haii peps.. I could use some help to teach my bot to craft..
at the momment it Keeps Crap jewels? blue amys Rings Etc etc etc.
but it doesent craft anything just picking up lots of shit crap runes etc ..

Heres my char config gonna link The cube thing too.


Code:
var NTConfig_UseRedemptionHP;60
var NTConfig_UseRedemptionMP;60

function NT_LoadConfig()
{
 //------------------------------------------------------------------------------
   // Boss configuration
   //------------------------------------------------------------------------------
//NTConfig_Leader = "Synops" // Your Leader name - CaSe sensitive
   //NTConfig_Script.push("NTDiabloLeechFight.ntj");
//NTConfig_Script.push("NTNihlathak.ntj"); NTConfig_PindleskinExtension = false;
   //NTConfig_Script.push("NTBaalLeechFight.ntj"); NTConfig_KillBaal = true; 
   //NTConfig_Script.push("NTPindleskin.ntj"); NTConfig_NihlathakExtension = false;
   //NTConfig_Script.push("NTMephisto.ntj");
 //NTConfig_Script.push("NTEldritch.ntj"); NTConfig_ShenkExtension = false;
   //NTConfig_Script.push("NTBaalLeech.ntj");
   //NTConfig_Script.push("NTThreshSocket.ntj");
   //NTConfig_Script.push("NTFrozenRiver.ntj"); NTConfig_ClearFrozenRiver = false;
   //NTConfig_Script.push("NTGlacialTrail.ntj"); NTConfig_ClearGlacialTrail = false;
   //NTConfig_Script.push("NTIcyCellar.ntj"); NTConfig_ClearIcyCellar = false;
   NTConfig_Script.push("NTDiablo.ntj");
   NTConfig_Script.push("NTBaal.ntj"); NTConfig_KillBaal = true;
   //NTConfig_Script.push("NTIzual.ntj");
   //NTConfig_Script.push("NTHephasto.ntj");
   //NTConfig_Script.push("NTTravincal.ntj");
   //NTConfig_Script.push("NTKurastTravel.ntj");
   //NTConfig_Script.push("NTAct3Sewers.ntj"); NTConfig_ClearA3SewersLevel1 = 1; // 0 : don't clear, 1 : clear path only, 2 : clear all
   //NTConfig_Script.push("NTSummoner.ntj"); NTConfig_KillFireEye = true;
   //NTConfig_Script.push("NTDuriel.ntj");
   //NTConfig_Script.push("NTAncientTunnels.ntj");
   //NTConfig_Script.push("NTColdworm.ntj");
   //NTConfig_Script.push("NTRadament.ntj");
   //NTConfig_Script.push("NTAndariel.ntj");
   //NTConfig_Script.push("NTCountess.ntj");
   //NTConfig_Script.push("NTTreehead.ntj");
   //NTConfig_Script.push("NTPit.ntj"); NTConfig_ClearPitLevel1 = 1; // 0 : don't clear, 1 : clear path only, 2 : clear all
   //NTConfig_Script.push("NTMausoleum.ntj"); NTConfig_KillBloodRaven = true;
   //NTConfig_Script.push("NTHole.ntj"); NTConfig_ClearHoleLevel1 = 1; // 0 : don't clear, 1 : clear path only, 2 : clear all
   //NTConfig_Script.push("NTTristram.ntj"); NTConfig_KillRakanishu = true;
	//------------------------------------------------------------------------------
	//------------------------------------------------------------------------------
	me.maxgametime = 500; // time in seconds, maximum game length (0 is infinite)
	NTConfig_StartDelay = 0;	// Delay time in milliseconds to start;
	NTConfig_AreaDelay = 100;	// Delay time in milliseconds to change area;
	NTConfig_SnagDelay = 100;	// Delay time in milliseconds to wait before starting picking items

	//------------------------------------------------------------------------------
	//------------------------------------------------------------------------------
	NTConfig_SkipHealLife = 80;	// If you have more than this percent of life, you won't go to a healer
	NTConfig_SkipHealMana = 60;	// If you have more than this percent of mana, you won't go to a healer
	NTConfig_UseMerc = true;	// Set to true if you use a mercenary, will revive merc at a reviver npc.
	NTConfig_ResetWeapon = false;	// Set to true to reset weapon when reviving merc

	NTConfig_LifeThresh = 85;	// Drink a normal potion if under this percent of life.
	NTConfig_LifeRejuvThresh = 60;	// Drink a rejuvenation potion if under this percent of life.
	NTConfig_ManaThresh = 30;	// Drink a normal potion if under this percent of mana.
	NTConfig_ManaRejuvThresh = 5;	// Drink a rejuvenation potion if under this percent of mana.
	NTConfig_LifeChicken = 30;	// This is your chicken life percent. If you go below this life total, exit game.
	NTConfig_ManaChicken = 0;	// This is your chicken mana percent. If you go below this mana total, exit game.

	NTConfig_MercLifeThresh = 80;	// This is the threshold to use a life potion on your merc in percent.
	NTConfig_MercRejuvThresh = 70;	// This is the threshold to use a rejuv potion on your merc in percent.
	NTConfig_MercChicken = 25;	// This is your mercs chicken life percent. If he goes below this, exit game.

	//------------------------------------------------------------------------------
	//------------------------------------------------------------------------------
	NTConfig_FreeSpace = 0;		// Number of free columns. If less full columns are free stashing is set.

	// The numbers correspond to your inventory. Set 0 to keep whatever is there, 1 to stash it.
	NTConfig_Columns[0] = [0,0,0,0,0,0,0,0,0,0];
	NTConfig_Columns[1] = [0,0,0,0,0,0,0,0,0,0];
	NTConfig_Columns[2] = [0,0,0,0,0,0,0,0,0,0];
	NTConfig_Columns[3] = [0,0,0,0,0,0,0,0,0,0];

	NTConfig_MinGoldToStash = 990000;	// Maximum gold amount carried before going to stash

	//----------------------------------------------------------------------------------------------
	// Type of potion used in each belt column
	// Available types : "hp" = health | "mp" = mana | "rv" = rejuv. Can use other potion types too.
	// Keep equal types at adjacent columns. First HP then MP and then HP again is a bad choice.
	// Keep HP and MP at the beginning of the belt (in case you want to use rejuv and other types).
	// Rejuvenations MUST, I REPEAT MUST be at the end of the belt (last x columns).
	// To use rejuvenations only, put "rv" in all columns.
	//----------------------------------------------------------------------------------------------
	NTConfig_BeltColType[0] = "hp";
	NTConfig_BeltColType[1] = "hp";
	NTConfig_BeltColType[2] = "rv";
	NTConfig_BeltColType[3] = "rv";

	//-----------------------------------------------------------------------------------
	// SnagIt configuration
	// Select one group only (normal / advance / extreme)
	//-----------------------------------------------------------------------------------
	//NTConfig_NIPFilePath.push("normal/normal.nip");
	//NTConfig_NIPFilePath.push("normal/magic_rare.nip");
	//NTConfig_NIPFilePath.push("normal/set.nip");
	//NTConfig_NIPFilePath.push("normal/unique.nip");
	//NTConfig_NIPFilePath.push("normal/craft.nip");

	NTConfig_NIPFilePath.push("advance/normal.nip");
	NTConfig_NIPFilePath.push("advance/magic_rare.nip");
	//NTConfig_NIPFilePath.push("advance/set.nip");
	NTConfig_NIPFilePath.push("advance/unique.nip");
	NTConfig_NIPFilePath.push("advance/craft.nip");

	//NTConfig_NIPFilePath.push("extreme/normal.nip");
	//NTConfig_NIPFilePath.push("extreme/magic_rare.nip");
	//NTConfig_NIPFilePath.push("extreme/set.nip");
	//NTConfig_NIPFilePath.push("extreme/unique.nip");
	//NTConfig_NIPFilePath.push("extreme/craft.nip");

	NTConfig_SnagRange = 40;	// Radius to check for dropped items. 40 is a good number here
 //------------------------------------------------------------------------------
    // Cubing configuration
    //------------------------------------------------------------------------------
    NTConfig_Cubing = true;        // Enable cubing

    NTConfig_CubingItem.push([NTCU_GEM, 560]);    // Flawless Amethyst
    NTConfig_CubingItem.push([NTCU_GEM, 565]);    // Flawless Topaz
    NTConfig_CubingItem.push([NTCU_GEM, 570]);    // Flawless Saphire
    NTConfig_CubingItem.push([NTCU_GEM, 575]);    // Flawless Emerald
    NTConfig_CubingItem.push([NTCU_GEM, 580]);    // Flawless Ruby
    NTConfig_CubingItem.push([NTCU_GEM, 585]);    // Flawless Diamond
    NTConfig_CubingItem.push([NTCU_GEM, 600]);    // Flawless Skull

    //NTConfig_CubingItem.push([NTCU_MAGIC, 420]);    // Magic Tiara
    //NTConfig_CubingItem.push([NTCU_MAGIC, 421]);    // Magic Diadem

    NTConfig_CubingItem.push([NTCU_MAGIC_CHARM, 603]);    // Magic Small Charm
    NTConfig_CubingItem.push([NTCU_MAGIC_CHARM, 605]);    // Magic Grand Charm

    NTConfig_CubingItem.push([NTCU_CRAFT_HITPOWER_GLOVES, 382]);    // Craft Heavy Bracers
    //NTConfig_CubingItem.push([NTCU_CRAFT_HITPOWER_GLOVES, 452]);    // Craft Vambraces

    //NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_HELM, 354]);        // Craft Casque
    //NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_HELM, 424]);        // Craft Armet
    //NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_BOOTS, 388]);    // Craft Battle Boots
    //NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_BOOTS, 458]);    // Craft Mirrored Boots
    NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_GLOVES, 381]);    // Craft Sharkskin Gloves
    NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_GLOVES, 451]);    // Craft Vampirebone Gloves
    NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_BELT, 392]);        // Craft Mesh Belt
    NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_BELT, 462]);        // Craft Mithril Coil
    NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_AMULET, 520]);    // Craft Amulet
    NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_RING, 522]);        // Craft Ring

    NTConfig_CubingItem.push([NTCU_CRAFT_CASTER_AMULET, 520]);    // Craft Amulet

    //NTConfig_CubingItem.push([NTCU_CRAFT_SAFETY_SHIELD, 447]);    // Craft Monarch
    //NTConfig_CubingItem.push([NTCU_CRAFT_SAFETY_AMULET, 520]);    // Craft Amulet

    NTConfig_CubingItem.push([NTCU_ESSENSE, 0]);

    //NTConfig_CubingItem.push([NTCU_RUNE_THUL, 562]);
    //NTConfig_CubingItem.push([NTCU_RUNE_AMN, 557]);
    //NTConfig_CubingItem.push([NTCU_RUNE_SOL, 567]);
    //NTConfig_CubingItem.push([NTCU_RUNE_SHAEL, 577]);
    //NTConfig_CubingItem.push([NTCU_RUNE_DOL, 572]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_HEL, 582]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_IO, 563]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_LUM, 558]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_KO, 568]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_FAL, 578]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_LEM, 573]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_PUL, 583]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_UM, 564]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_MAL, 559]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_IST, 569]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_GUL, 579]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_VEX, 574]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_OHM, 584]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_LO, 565]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_SUR, 560]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_BER, 570]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_JAH, 580]); // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_RUNE_CHAM, 575]); // Ladder/Open/Single player Only.

    //***** Include the following, Primary item must be setted in item_configs folder *****

    //NTConfig_CubingItem.push([NTCU_SOCKET_BODYARMOR, 442]);    // Socket Sacred Armor

    //NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 255]);    // Socket Thresher
    //NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 256]);    // Socket Cryptic Axe
    //NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 257]);    // Socket Great Poleaxe
    //NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 258]);    // Socket Giant Thresher

    //NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_WEAPON, 295]);    // Titan's Revenge : Exceptional -> Elite  // Ladder/Open/Single player Only.

    //NTConfig_CubingItem.push([NTCU_UPGRADE_N_UNIQUE_ARMOR, 337]);    // Magefist : Normal -> Exceptional
    //NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 360]);    // Skin of the Vipermagi : Exceptional -> Elite  // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 383]);    // Magefist or Lava Gout : Exceptional -> Elite  // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 389]);    // Gore Rider : Exceptional -> Elite  // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 477]);    // Arreat's Face : Exceptional -> Elite  // Ladder/Open/Single player Only.
    //NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 481]);    // Herald Of Zakarum : Exceptional -> Elite  // Ladder/Open/Single player Only.
	//------------------------------------------------------------------------------
	// General configuration
	//------------------------------------------------------------------------------
	NTConfig_PublicMode = true;
	NTConfig_CheckCloneDiablo = false;	// Set to true if you want to wait in game after notifying "Diablo Walks the Earth" msg.
	NTConfig_OpenChest = false;			// Set to true to open chest
	me.quitonhostile = true;

	//------------------------------------------------------------------------------
	// Attack configuration
	//------------------------------------------------------------------------------
	NTConfig_AttackSkill[0] = 0;	// First skill. Set to 0 if you won't
	NTConfig_AttackSkill[1] = 112;	// Primary skill to boss.
	NTConfig_AttackSkill[2] = 113;	// Primary aura to boss. Set to 0 if you won't
	NTConfig_AttackSkill[3] = 112;	// Primary skill to others.
	NTConfig_AttackSkill[4] = 113;	// Primary aura to others. Set to 0 if you won't
	NTConfig_AttackSkill[5] = 0;	// Secondary skill in case monster is immune to primary skill. Set to 0 if you won't
	NTConfig_AttackSkill[6] = 0;	// Secondary aura. Set to 0 if you won't
	NTConfig_ClearPosition = true;	// Set to true if you want to clear area after killing boss.

	// Check self safe in field (NOT in town). Set to 0 if you won't
	// 0x00 : Potion, 0x00 : Poison, 0x00 : Amplify Damage, 0x00 : Weaken, 0x00 : Iron Maiden, 0x00 : Decrepify, 0x00 : Lower Resist
	NTConfig_CheckSelfSafe = 0x00|0x00;
	// Check merc's safe in field (NOT in town). Set to 0 if you won't
	// 0x01 : Death, 0x00 : Poison, 0x00 : Amplify Damage, 0x00 : Weaken, 0x00 : Iron Maiden, 0x00 : Decrepify, 0x00 : Lower Resist
	NTConfig_CheckMercSafe = 0x01|0x00|0x00|0x00;

	NTConfig_UseRedemptionHP = 95;	// Use Redemption if under this percent of life. Set to 0 if you won't
	NTConfig_UseRedemptionMP = 75;	// Use Redemption if under this percent of mana. Set to 0 if you won't
}


Heres my NTCubing
Code:
const NTCU_GEM = 0;

const NTCU_MAGIC = 1;
const NTCU_MAGIC_CHARM = 2;

const NTCU_CRAFT_HITPOWER_HELM = 10;
const NTCU_CRAFT_HITPOWER_BOOTS = 11;
const NTCU_CRAFT_HITPOWER_GLOVES = 12;
const NTCU_CRAFT_HITPOWER_BELT = 13;
const NTCU_CRAFT_HITPOWER_SHIELD = 14;
const NTCU_CRAFT_HITPOWER_BODY = 15;
const NTCU_CRAFT_HITPOWER_AMULET = 16;
const NTCU_CRAFT_HITPOWER_RING = 17;
const NTCU_CRAFT_HITPOWER_WEAPON = 18;

const NTCU_CRAFT_BLOOD_HELM = 19;
const NTCU_CRAFT_BLOOD_BOOTS = 20;
const NTCU_CRAFT_BLOOD_GLOVES = 21;
const NTCU_CRAFT_BLOOD_BELT = 22;
const NTCU_CRAFT_BLOOD_SHIELD = 23;
const NTCU_CRAFT_BLOOD_BODY = 24;
const NTCU_CRAFT_BLOOD_AMULET = 25;
const NTCU_CRAFT_BLOOD_RING = 26;
const NTCU_CRAFT_BLOOD_WEAPON = 27;

const NTCU_CRAFT_CASTER_HELM = 28;
const NTCU_CRAFT_CASTER_BOOTS = 29;
const NTCU_CRAFT_CASTER_GLOVES = 30;
const NTCU_CRAFT_CASTER_BELT = 31;
const NTCU_CRAFT_CASTER_SHIELD = 32;
const NTCU_CRAFT_CASTER_BODY = 33;
const NTCU_CRAFT_CASTER_AMULET = 34;
const NTCU_CRAFT_CASTER_RING = 35;
const NTCU_CRAFT_CASTER_WEAPON = 36;

const NTCU_CRAFT_SAFETY_HELM = 37;
const NTCU_CRAFT_SAFETY_BOOTS = 38;
const NTCU_CRAFT_SAFETY_GLOVES = 39;
const NTCU_CRAFT_SAFETY_BELT = 40;
const NTCU_CRAFT_SAFETY_SHIELD = 41;
const NTCU_CRAFT_SAFETY_BODY = 42;
const NTCU_CRAFT_SAFETY_AMULET = 43;
const NTCU_CRAFT_SAFETY_RING = 44;
const NTCU_CRAFT_SAFETY_WEAPON = 45;

const NTCU_SOCKET_BODYARMOR = 50;
const NTCU_SOCKET_WEAPON = 51;
const NTCU_SOCKET_HELM = 52;
const NTCU_SOCKET_SHIELD = 53;

const NTCU_UPGRADE_N_UNIQUE_WEAPON = 60;
const NTCU_UPGRADE_N_UNIQUE_ARMOR = 61;
const NTCU_UPGRADE_E_UNIQUE_WEAPON = 62;
const NTCU_UPGRADE_E_UNIQUE_ARMOR = 63;

const NTCU_UPGRADE_N_RARE_WEAPON = 64;
const NTCU_UPGRADE_N_RARE_ARMOR = 65;
const NTCU_UPGRADE_E_RARE_WEAPON = 66;
const NTCU_UPGRADE_E_RARE_ARMOR = 67;

const NTCU_ESSENSE = 70;

const NTCU_RUNE_EL = 610;
const NTCU_RUNE_ELD = 611;
const NTCU_RUNE_TIR = 612;
const NTCU_RUNE_NEF = 613;
const NTCU_RUNE_ETH = 614;
const NTCU_RUNE_ITH = 615;
const NTCU_RUNE_TAL = 616;
const NTCU_RUNE_RAL = 617;
const NTCU_RUNE_ORT = 618;
const NTCU_RUNE_THUL = 619;
const NTCU_RUNE_AMN = 620;
const NTCU_RUNE_SOL = 621;
const NTCU_RUNE_SHAEL = 622;
const NTCU_RUNE_DOL = 623;
const NTCU_RUNE_HEL = 624;
const NTCU_RUNE_IO = 625;
const NTCU_RUNE_LUM = 626;
const NTCU_RUNE_KO = 627;
const NTCU_RUNE_FAL = 628;
const NTCU_RUNE_LEM = 629;
const NTCU_RUNE_PUL = 630;
const NTCU_RUNE_UM = 631;
const NTCU_RUNE_MAL = 632;
const NTCU_RUNE_IST = 633;
const NTCU_RUNE_GUL = 634;
const NTCU_RUNE_VEX = 635;
const NTCU_RUNE_OHM = 636;
const NTCU_RUNE_LO = 637;
const NTCU_RUNE_SUR = 638;
const NTCU_RUNE_BER = 639;
const NTCU_RUNE_JAH = 640;
const NTCU_RUNE_CHAM = 641;

var _NTCU_CraftRecipe = new Array();
_NTCU_CraftRecipe.push([84, 615, 571]);
_NTCU_CraftRecipe.push([85, 617, 571]);
_NTCU_CraftRecipe.push([79, 618, 571]);
_NTCU_CraftRecipe.push([85, 616, 571]);
_NTCU_CraftRecipe.push([82, 614, 571]);
_NTCU_CraftRecipe.push([85, 613, 571]);
_NTCU_CraftRecipe.push([90, 619, 571]);
_NTCU_CraftRecipe.push([86, 620, 571]);
_NTCU_CraftRecipe.push([85, 612, 571]);

_NTCU_CraftRecipe.push([84, 617, 581]);
_NTCU_CraftRecipe.push([85, 614, 581]);
_NTCU_CraftRecipe.push([79, 613, 581]);
_NTCU_CraftRecipe.push([85, 616, 581]);
_NTCU_CraftRecipe.push([82, 615, 581]);
_NTCU_CraftRecipe.push([85, 619, 581]);
_NTCU_CraftRecipe.push([90, 620, 581]);
_NTCU_CraftRecipe.push([86, 621, 581]);
_NTCU_CraftRecipe.push([85, 618, 581]);

_NTCU_CraftRecipe.push([84, 613, 561]);
_NTCU_CraftRecipe.push([85, 619, 561]);
_NTCU_CraftRecipe.push([79, 618, 561]);
_NTCU_CraftRecipe.push([85, 615, 561]);
_NTCU_CraftRecipe.push([82, 614, 561]);
_NTCU_CraftRecipe.push([85, 616, 561]);
_NTCU_CraftRecipe.push([92, 617, 561]);
_NTCU_CraftRecipe.push([86, 620, 561]);
_NTCU_CraftRecipe.push([85, 612, 561]);

_NTCU_CraftRecipe.push([84, 615, 576]);
_NTCU_CraftRecipe.push([85, 618, 576]);
_NTCU_CraftRecipe.push([79, 617, 576]);
_NTCU_CraftRecipe.push([85, 616, 576]);
_NTCU_CraftRecipe.push([82, 613, 576]);
_NTCU_CraftRecipe.push([85, 614, 576]);
_NTCU_CraftRecipe.push([90, 619, 576]);
_NTCU_CraftRecipe.push([86, 620, 576]);
_NTCU_CraftRecipe.push([85, 621, 576]);

var _NTCU_SocketRecipe = new Array();
_NTCU_SocketRecipe.push([616, 619, 566]);
_NTCU_SocketRecipe.push([617, 620, 561]);
_NTCU_SocketRecipe.push([617, 619, 571]);
_NTCU_SocketRecipe.push([616, 620, 581]);

var _NTCU_UpgradeRecipe = new Array();
_NTCU_UpgradeRecipe.push([7, 617, 621, 576]);
_NTCU_UpgradeRecipe.push([7, 616, 622, 586]);
_NTCU_UpgradeRecipe.push([7, 626, 630, 576]);
_NTCU_UpgradeRecipe.push([7, 627, 629, 586]);

_NTCU_UpgradeRecipe.push([6, 618, 620, 571]);
_NTCU_UpgradeRecipe.push([6, 617, 619, 561]);
_NTCU_UpgradeRecipe.push([6, 628, 631, 571]);
_NTCU_UpgradeRecipe.push([6, 627, 630, 561]);

var _NTCU_Inventory = new Array(4);
_NTCU_Inventory[0] = new Array(10);
_NTCU_Inventory[1] = new Array(10);
_NTCU_Inventory[2] = new Array(10);
_NTCU_Inventory[3] = new Array(10);

var _NTCU_LogString;

function NTCU_CheckItem(item, result)
{
	var i, n, _index;
	var _classid, _gid, _calclevel;
	var _result = false;

	if(!NTConfig_Cubing)
		return false;

	_classid = item.classid;
	_gid = item.gid;
	_calclevel = parseInt(me.GetStat(12)/2) + parseInt(item.itemlevel/2);

	for(i = 0 ; i < NTConfig_CubingItem.length ; i++)
	{
		if(NTConfig_CubingItem[i][0] == NTCU_GEM)
		{
			if(_classid == NTConfig_CubingItem[i][1])
			{
				for(n = 0 ; n < 3 ; n++)
				{
					if(NTConfig_CubingItem[i][2+n] == null)
					{
						NTConfig_CubingItem[i][2+n] = _gid;
						break;
					}
					else if(NTConfig_CubingItem[i][2+n] == _gid)
						break;
				}

				_result = true;
			}
		}
		else if(NTConfig_CubingItem[i][0] == NTCU_MAGIC || NTConfig_CubingItem[i][0] == NTCU_MAGIC_CHARM)
		{
			if(_classid == NTConfig_CubingItem[i][1])
			{
				if(result == 0 && item.quality == 4)
				{
					if(NTConfig_CubingItem[i][0] == NTCU_MAGIC_CHARM)
					{
						if(item.itemlevel >= 95)
						{
							if(NTConfig_CubingItem[i][2] == null)
							{
								NTConfig_CubingItem[i][2] = _gid;
								_result = true;
							}
							else if(NTConfig_CubingItem[i][2] == _gid)
								_result = true;
						}
					}
					//Begin Jav code
					else if( NTConfig_CubingItem[i][1] == 285 ) // maiden javelin
					{
						if(item.itemlevel >= 71 && item.itemlevel <= 75)
						{
							if(NTConfig_CubingItem[i][2] == null)
							{
								NTConfig_CubingItem[i][2] = _gid;
								_result = true;
							}
							else if(NTConfig_CubingItem[i][2] == _gid)
								_result = true;
						}
					}
					else if( NTConfig_CubingItem[i][1] == 295 ) // ceremonial javelin
					{
						if(item.itemlevel >= 77 && item.itemlevel <= 81)
						{
							if(NTConfig_CubingItem[i][2] == null)
							{
								NTConfig_CubingItem[i][2] = _gid;
								_result = true;
							}
							else if(NTConfig_CubingItem[i][2] == _gid)
								_result = true;
						}
					}
					else if( NTConfig_CubingItem[i][1] == 305 ) // maiden javelin
					{
						if(item.itemlevel >= 80 && item.itemlevel <= 84)
						{
							if(NTConfig_CubingItem[i][2] == null)
							{
								NTConfig_CubingItem[i][2] = _gid;
								_result = true;
							}
							else if(NTConfig_CubingItem[i][2] == _gid)
								_result = true;
						}
					}
					// End Jav Code
					else
					{
						if(item.itemlevel >= 85)
						{
							if(NTConfig_CubingItem[i][2] == null)
							{
								NTConfig_CubingItem[i][2] = _gid;
								_result = true;
							}
							else if(NTConfig_CubingItem[i][2] == _gid)
								_result = true;
						}
					}
				}
			}
			else if(_classid == 566 || _classid == 586 || _classid == 601)
			{
				if(NTConfig_CubingItem[i][2] != null)
				{
					for(n = 0 ; n < 3 ; n++)
					{
						if(NTConfig_CubingItem[i][3+n] == null)
						{
							NTConfig_CubingItem[i][3+n] = _gid;
							break;
						}
						else if(NTConfig_CubingItem[i][3+n] == _gid)
							break;
					}

					_result = true;
				}
			}
			else if(_classid == 565)
			{
				if(NTConfig_CubingItem[i][2] != null)
				{
					for(n = 0 ; n < 3 ; n++)
					{
						if(NTConfig_CubingItem[i][6+n] == null)
						{
							NTConfig_CubingItem[i][6+n] = _gid;
							break;
						}
						else if(NTConfig_CubingItem[i][6+n] == _gid)
							break;
					}

					_result = true;
				}
			}
			else if(_classid == 585)
			{
				if(NTConfig_CubingItem[i][2] != null)
				{
					for(n = 0 ; n < 3 ; n++)
					{
						if(NTConfig_CubingItem[i][9+n] == null)
						{
							NTConfig_CubingItem[i][9+n] = _gid;
							break;
						}
						else if(NTConfig_CubingItem[i][9+n] == _gid)
							break;
					}

					_result = true;
				}
			}
			else if(_classid == 600)
			{
				if(NTConfig_CubingItem[i][2] != null)
				{
					for(n = 0 ; n < 3 ; n++)
					{
						if(NTConfig_CubingItem[i][12+n] == null)
						{
							NTConfig_CubingItem[i][12+n] = _gid;
							break;
						}
						else if(NTConfig_CubingItem[i][12+n] == _gid)
							break;
					}

					_result = true;
				}
			}
		}
		else if(NTConfig_CubingItem[i][0] >= NTCU_CRAFT_HITPOWER_HELM && NTConfig_CubingItem[i][0] <= NTCU_CRAFT_SAFETY_WEAPON)
		{
			_index = NTConfig_CubingItem[i][0] - NTCU_CRAFT_HITPOWER_HELM;

			if(_classid == NTConfig_CubingItem[i][1])
			{
				if(result == 0 && item.quality == 4 && _calclevel >= _NTCU_CraftRecipe[_index][0])
				{
					if(NTConfig_CubingItem[i][2] == null)
					{
						NTConfig_CubingItem[i][2] = _gid;
						_result = true;
					}
					else if(NTConfig_CubingItem[i][2] == _gid)
						_result = true;
				}
			}
			else if(_classid == 643)
			{
				if(result == 0 && NTConfig_CubingItem[i][2] != null)
				{
					if(NTConfig_CubingItem[i][3] == null)
					{
						NTConfig_CubingItem[i][3] = _gid;
						_result = true;
					}
					else if(NTConfig_CubingItem[i][3] == _gid)
						_result = true;
				}
			}
			else if(_classid == _NTCU_CraftRecipe[_index][1])
			{
				if(NTConfig_CubingItem[i][2] != null)
				{
					if(NTConfig_CubingItem[i][4] == null)
					{
						NTConfig_CubingItem[i][4] = _gid;
						_result = true;
					}
					else if(NTConfig_CubingItem[i][4] == _gid)
						_result = true;
				}
			}
			else if(_classid == _NTCU_CraftRecipe[_index][2])
			{
				if(NTConfig_CubingItem[i][2] != null)
				{
					if(NTConfig_CubingItem[i][5] == null)
					{
						NTConfig_CubingItem[i][5] = _gid;
						_result = true;
					}
					else if(NTConfig_CubingItem[i][5] == _gid)
						_result = true;
				}
			}
			else if(_classid == _NTCU_CraftRecipe[_index][2]-1)
			{
				if(NTConfig_CubingItem[i][2] != null && NTConfig_CubingItem[i][5] == null)
				{
					for(n = 0 ; n < 3 ; n++)
					{
						if(NTConfig_CubingItem[i][6+n] == null)
						{
							NTConfig_CubingItem[i][6+n] = _gid;
							_result = true;

							break;
						}
						else if(NTConfig_CubingItem[i][6+n] == _gid)
						{
							_result = true;

							break;
						}
					}
				}
			}
		}
		else if(NTConfig_CubingItem[i][0] >= NTCU_SOCKET_BODYARMOR && NTConfig_CubingItem[i][0] <= NTCU_SOCKET_SHIELD)
		{
			_index = NTConfig_CubingItem[i][0] - NTCU_SOCKET_BODYARMOR;

			if(_classid == NTConfig_CubingItem[i][1])
			{
				if(result == 1 && item.quality <= 2 && item.GetStat(194) == 0)
				{
					if(NTConfig_CubingItem[i][2] == null)
					{
						NTConfig_CubingItem[i][2] = _gid;
						_result = true;
					}
					else if(NTConfig_CubingItem[i][2] == _gid)
						_result = true;
				}
			}
			else if(_classid == _NTCU_SocketRecipe[_index][0])
			{
				if(NTConfig_CubingItem[i][2] != null)
				{
					if(NTConfig_CubingItem[i][3] == null)
					{
						NTConfig_CubingItem[i][3] = _gid;
						_result = true;
					}
					else if(NTConfig_CubingItem[i][3] == _gid)
						_result = true;
				}
			}
			else if(_classid == _NTCU_SocketRecipe[_index][1])
			{
				if(NTConfig_CubingItem[i][2] != null)
				{
					if(NTConfig_CubingItem[i][4] == null)
					{
						NTConfig_CubingItem[i][4] = _gid;
						_result = true;
					}
					else if(NTConfig_CubingItem[i][4] == _gid)
						_result = true;
				}
			}
			else if(_classid == _NTCU_SocketRecipe[_index][2])
			{
				if(NTConfig_CubingItem[i][2] != null)
				{
					if(NTConfig_CubingItem[i][5] == null)
					{
						NTConfig_CubingItem[i][5] = _gid;
						_result = true;
					}
					else if(NTConfig_CubingItem[i][5] == _gid)
						_result = true;
				}
			}
			else if(_classid == _NTCU_SocketRecipe[_index][2]-1)
			{
				if(NTConfig_CubingItem[i][2] != null && NTConfig_CubingItem[i][5] == null)
				{
					for(n = 0 ; n < 3 ; n++)
					{
						if(NTConfig_CubingItem[i][6+n] == null)
						{
							NTConfig_CubingItem[i][6+n] = _gid;
							_result = true;

							break;
						}
						else if(NTConfig_CubingItem[i][6+n] == _gid)
						{
							_result = true;

							break;
						}
					}
				}
			}
		}
		else if(NTConfig_CubingItem[i][0] >= NTCU_UPGRADE_N_UNIQUE_WEAPON && NTConfig_CubingItem[i][0] <= NTCU_UPGRADE_E_RARE_ARMOR)
		{
			_index = NTConfig_CubingItem[i][0] - NTCU_UPGRADE_N_UNIQUE_WEAPON;

			if(_classid == NTConfig_CubingItem[i][1])
			{
				if(result == 1 && item.quality == _NTCU_UpgradeRecipe[_index][0])
				{
					if(NTConfig_CubingItem[i][2] == null)
					{
						NTConfig_CubingItem[i][2] = _gid;
						_result = true;
					}
					else if(NTConfig_CubingItem[i][2] == _gid)
						_result = true;
				}
			}
			else if(_classid == _NTCU_UpgradeRecipe[_index][1])
			{
				if(NTConfig_CubingItem[i][2] != null)
				{
					if(NTConfig_CubingItem[i][3] == null)
					{
						NTConfig_CubingItem[i][3] = _gid;
						_result = true;
					}
					else if(NTConfig_CubingItem[i][3] == _gid)
						_result = true;
				}
			}
			else if(_classid == _NTCU_UpgradeRecipe[_index][2])
			{
				if(NTConfig_CubingItem[i][2] != null)
				{
					if(NTConfig_CubingItem[i][4] == null)
					{
						NTConfig_CubingItem[i][4] = _gid;
						_result = true;
					}
					else if(NTConfig_CubingItem[i][4] == _gid)
						_result = true;
				}
			}
			else if(_classid == _NTCU_UpgradeRecipe[_index][3])
			{
				if(NTConfig_CubingItem[i][2] != null)
				{
					if(NTConfig_CubingItem[i][5] == null)
					{
						NTConfig_CubingItem[i][5] = _gid;
						_result = true;
					}
					else if(NTConfig_CubingItem[i][5] == _gid)
						_result = true;
				}
			}
			else if(_classid == _NTCU_UpgradeRecipe[_index][3]-1)
			{
				if(NTConfig_CubingItem[i][2] != null && NTConfig_CubingItem[i][5] == null)
				{
					for(n = 0 ; n < 3 ; n++)
					{
						if(NTConfig_CubingItem[i][6+n] == null)
						{
							NTConfig_CubingItem[i][6+n] = _gid;
							_result = true;

							break;
						}
						else if(NTConfig_CubingItem[i][6+n] == _gid)
						{
							_result = true;

							break;
						}
					}
				}
			}
		}
		else if(NTConfig_CubingItem[i][0] == NTCU_ESSENSE)
		{
			if(_classid >= 654 && _classid <= 657)
			{
				if(NTConfig_CubingItem[i][2+_classid-654] == null)
				{
					NTConfig_CubingItem[i][2+_classid-654] = _gid;
					_result = true;
				}
				else if(NTConfig_CubingItem[i][2+_classid-654] == _gid)
					_result = true;
			}
		}
		else if(NTConfig_CubingItem[i][0] >= NTCU_RUNE_EL && NTConfig_CubingItem[i][0] <= NTCU_RUNE_ORT)
		{
			if(_classid == NTConfig_CubingItem[i][0])
			{
				for(n = 0 ; n < 3 ; n++)
				{
					if(NTConfig_CubingItem[i][2+n] == null)
					{
						NTConfig_CubingItem[i][2+n] = _gid;
						break;
					}
					else if(NTConfig_CubingItem[i][2+n] == _gid)
						break;
				}

				_result = true;
			}
		}
		else if(NTConfig_CubingItem[i][0] >= NTCU_RUNE_THUL && NTConfig_CubingItem[i][0] <= NTCU_RUNE_LEM)
		{
			if(_classid == NTConfig_CubingItem[i][0])
			{
				for(n = 0 ; n < 3 ; n++)
				{
					if(NTConfig_CubingItem[i][2+n] == null)
					{
						NTConfig_CubingItem[i][2+n] = _gid;
						_result = true;

						break;
					}
					else if(NTConfig_CubingItem[i][2+n] == _gid)
					{
						_result = true;

						break;
					}
				}
			}
			else if(_classid == NTConfig_CubingItem[i][1])
			{
				if(NTConfig_CubingItem[i][3] != null)
				{
					if(NTConfig_CubingItem[i][5] == null)
					{
						NTConfig_CubingItem[i][5] = _gid;
						_result = true;
					}
					else if(NTConfig_CubingItem[i][5] == _gid)
						_result = true;
				}
			}
		}
		else if(NTConfig_CubingItem[i][0] >= NTCU_RUNE_PUL && NTConfig_CubingItem[i][0] <= NTCU_RUNE_CHAM)
		{
			if(_classid == NTConfig_CubingItem[i][0])
			{
				for(n = 0 ; n < 2 ; n++)
				{
					if(NTConfig_CubingItem[i][2+n] == null)
					{
						NTConfig_CubingItem[i][2+n] = _gid;
						break;
					}
					else if(NTConfig_CubingItem[i][2+n] == _gid)
						break;
				}

				_result = true;
			}
			else if(_classid == NTConfig_CubingItem[i][1])
			{
				if(NTConfig_CubingItem[i][3] != null)
				{
					if(NTConfig_CubingItem[i][4] == null)
					{
						NTConfig_CubingItem[i][4] = _gid;
						_result = true;
					}
					else if(NTConfig_CubingItem[i][4] == _gid)
						_result = true;
				}
			}
		}
	}

	return _result;
}

function NTCU_InitCubing()
{
	var i, n;
	var _count;
	var _items;

	if(!NTConfig_Cubing)
		return false;

	for(i = 0 ; i < NTConfig_CubingItem.length ; i++)
	{
		if(NTConfig_CubingItem[i][0] < NTCU_MAGIC)
			_count = 5;
		else if(NTConfig_CubingItem[i][0] < NTCU_CRAFT_HITPOWER_HELM)
			_count = 15;
		else if(NTConfig_CubingItem[i][0] < NTCU_ESSENSE)
			_count = 9;
		else if(NTConfig_CubingItem[i][0] == NTCU_ESSENSE)
			_count = 6;
		else if(NTConfig_CubingItem[i][0] < NTCU_RUNE_THUL)
			_count = 5;
		else if(NTConfig_CubingItem[i][0] < NTCU_RUNE_PUL)
			_count = 6;
		else
			_count = 5;

		for(n = 2 ; n < _count ; n++)
			NTConfig_CubingItem[i][n] = null;
	}

	_items = me.GetItems();

	if(!_items)
		return false;

	for(i = 0 ; i < _items.length ; i++)
	{
		if(_items[i].mode == 0)
		{
			if(_items[i].itemloc != 0 || NTConfig_Columns[_items[i].y][_items[i].x])
				NTSI_CheckItem(_items[i]);
		}
	}

	for(i = 0 ; i < _items.length ; i++)
	{
		if(_items[i].mode == 0)
		{
			if(_items[i].itemloc != 0 || NTConfig_Columns[_items[i].y][_items[i].x])
				NTSI_CheckItem(_items[i]);
		}
	}

	return true;
}

function NTCU_CheckCubing()
{
	var i, n;

	if(!NTConfig_Cubing)
		return false;

	for(i = 0 ; i < NTConfig_CubingItem.length ; i++)
	{
		if(NTConfig_CubingItem[i][0] == NTCU_MAGIC || NTConfig_CubingItem[i][0] == NTCU_MAGIC_CHARM)
		{
			for(n = 2 ; n < 6 ; n++)
			{
				if(NTConfig_CubingItem[i][n] == null)
					break;
			}

			if(n >= 6)
				break;

			for(n = 6 ; n < 9 ; n++)
			{
				if(NTConfig_CubingItem[i][n] == null)
					break;
			}

			if(n >= 9)
				break;

			for(n = 9 ; n < 12 ; n++)
			{
				if(NTConfig_CubingItem[i][n] == null)
					break;
			}

			if(n >= 12)
				break;

			for(n = 12 ; n < 15 ; n++)
			{
				if(NTConfig_CubingItem[i][n] == null)
					break;
			}

			if(n >= 15)
				break;
		}
		else if(NTConfig_CubingItem[i][0] >= NTCU_CRAFT_HITPOWER_HELM && NTConfig_CubingItem[i][0] <= NTCU_UPGRADE_E_RARE_ARMOR)
		{
			for(n = 2 ; n < 6 ; n++)
			{
				if(NTConfig_CubingItem[i][n] == null)
					break;
			}

			if(n >= 6)
				break;

			for(n = 6 ; n < 9 ; n++)
			{
				if(NTConfig_CubingItem[i][n] == null)
					break;
			}

			if(n >= 9)
				break;
		}
		else
		{
			for(n = 2 ; n < NTConfig_CubingItem[i].length ; n++)
			{
				if(NTConfig_CubingItem[i][n] == null)
					break;
			}

			if(n >= NTConfig_CubingItem[i].length)
				break;
		}
	}

	return (i < NTConfig_CubingItem.length);
}

function NTCU_DoCubing()
{
	var i, n;
	var _items;

	_items = me.GetItems(NTC_UNIT_CUBE);

	if(!_items || _items.length < 1)
		return false;

	if(NTCU_CheckCubeInventoryInt() > 0)
	{
		if(!NTCU_OpenCubeInt(_items[0]))
			return false;

		if(NTCU_ClearCubeInt() < 1)
			return false;

		NTCU_CloseCubeInt();
	}

	do
	{
		for(i = 0 ; i < NTConfig_CubingItem.length ; i++)
		{
			if(NTConfig_CubingItem[i][0] == NTCU_MAGIC || NTConfig_CubingItem[i][0] == NTCU_MAGIC_CHARM)
			{
				for(n = 2 ; n < 6 ; n++)
				{
					if(NTConfig_CubingItem[i][n] == null)
						break;
				}

				if(n >= 6)
				{
					if(!NTCU_MoveItemsToCubeInt(_items[0], i, 2, 5))
						return false;

					break;
				}

				for(n = 6 ; n < 9 ; n++)
				{
					if(NTConfig_CubingItem[i][n] == null)
						break;
				}

				if(n >= 9)
				{
					if(!NTCU_MoveItemsToCubeInt(_items[0], i, 6, 8))
						return false;

					break;
				}

				for(n = 9 ; n < 12 ; n++)
				{
					if(NTConfig_CubingItem[i][n] == null)
						break;
				}

				if(n >= 12)
				{
					if(!NTCU_MoveItemsToCubeInt(_items[0], i, 9, 11))
						return false;

					break;
				}

				for(n = 12 ; n < 15 ; n++)
				{
					if(NTConfig_CubingItem[i][n] == null)
						break;
				}

				if(n >= 15)
				{
					if(!NTCU_MoveItemsToCubeInt(_items[0], i, 12, 14))
						return false;

					break;
				}
			}
			else if(NTConfig_CubingItem[i][0] >= NTCU_CRAFT_HITPOWER_HELM && NTConfig_CubingItem[i][0] <= NTCU_UPGRADE_E_RARE_ARMOR)
			{
				for(n = 2 ; n < 6 ; n++)
				{
					if(NTConfig_CubingItem[i][n] == null)
						break;
				}

				if(n >= 6)
				{
					if(!NTCU_MoveItemsToCubeInt(_items[0], i, 2, 5))
						return false;

					break;
				}

				for(n = 6 ; n < 9 ; n++)
				{
					if(NTConfig_CubingItem[i][n] == null)
						break;
				}

				if(n >= 9)
				{
					if(!NTCU_MoveItemsToCubeInt(_items[0], i, 6, 8))
						return false;

					break;
				}
			}
			else
			{
				for(n = 2 ; n < NTConfig_CubingItem[i].length ; n++)
				{
					if(NTConfig_CubingItem[i][n] == null)
						break;
				}

				if(n >= NTConfig_CubingItem[i].length)
				{
					if(!NTCU_MoveItemsToCubeInt(_items[0], i, 2, NTConfig_CubingItem[i].length-1))
						return false;

					break;
				}
			}
		}

		if(i < NTConfig_CubingItem.length)
		{
			if(!NTCU_OpenCubeInt(_items[0]))
				return false;

			if(!Transmute())
				return false;

			NTC_PingDelay(800);

			NTC_SendLogToOOG(NTC_LOG_COMMON, _NTCU_LogString);
			
			var crafted_itm = NTCU_GetCubeContents();
			if (crafted_itm.length == 1)
			{
				if (crafted_itm[0].quality == 8)
				{
					if ( NTSI_CheckItem(crafted_itm[0]) != 0 )
						NTC_SendLogToOOG(NTC_LOG_ITEM, "Kept Cubed Item " + NTC_ItemQualityToMGRColor[crafted_itm[0].quality] + crafted_itm[0].name.split("\n")[0] + ";" + crafted_itm[0].itemdesc);
					else
						NTC_SendLogToOOG(NTC_LOG_ITEM, "Trashed Cubed Item " + NTC_ItemQualityToMGRColor[crafted_itm[0].quality] + crafted_itm[0].name.split("\n")[0] + ";" + crafted_itm[0].itemdesc);
				}
					
			}

			if(NTCU_ClearCubeInt() == 1)
				NTCU_CloseCubeInt();
			else
			{
				NTCU_CloseCubeInt();

				return false;
			}
		}
	} while(NTCU_InitCubing() && NTCU_CheckCubing());

	return true;
}

// Internal function
function NTCU_CheckCubeInventoryInt()
{
	var i, x, y;
	var _itemcounts = 0;
	var _items;

	for(y = 0 ; y < 4 ; y++)
	{
		for(x = 0 ; x < 10 ; x++)
			_NTCU_Inventory[y][x] = 0;
	}

	_items = me.GetItems();

	if(!_items)
		return 0;

	for(i = 0 ; i < _items.length ; i++)
	{
		if(_items[i].mode == 0)
		{
			if(_items[i].itemloc == 0)
			{
				for(y = 0 ; y < _items[i].ysize ; y++)
				{
					for(x = 0 ; x < _items[i].xsize ; x++)
						_NTCU_Inventory[_items[i].y+y][_items[i].x+x] = 1;
				}
			}
			else if(_items[i].itemloc == 3)
				_itemcounts++;
		}
	}

	return _itemcounts;
}

function NTCU_MoveItemsToCubeInt(cube, index, start, end)
{
	var i, n;
	var _items;

	_items = me.GetItems();

	if(!_items)
		return false;

	_NTCU_LogString = "Transmuted ";

	for(i = start ; i <= end ; i++)
	{
		for(n = 0 ; n < _items.length ; n++)
		{
			if(_items[n].gid == NTConfig_CubingItem[index][i])
			{
				if(!NTCU_MoveItemToCubeInt(cube, _items[n]))
					return false;

				if(i > start)
					_NTCU_LogString += "+";

				_NTCU_LogString += _items[n].name.split("\n")[0];

				break;
			}
		}

		if(n >= _items.length)
			return false;
	}

	return true;
}

function NTCU_MoveItemToCubeInt(cube, item)
{
	var x, y;
	var _itemx, _itemy;

	if(item.itemloc == 3)
		return true;

	_itemx = item.x;
	_itemy = item.y;

	if(!NTC_ItemToCursor(item))
		return false;

	if(item.itemloc == 0)
	{
		for(y = 0 ; y < item.ysize ; y++)
		{
			for(x = 0 ; x < item.xsize ; x++)
				_NTCU_Inventory[_itemy+y][_itemx+x] = 0;
		}
	}

	for(x = 0 ; x < 80 ; x++)
	{
		if((x % 40) == 0)
		{
			if(item.ysize < 3)
				me.ClickItem(0, cube.x, cube.y, cube.itemloc);
			else if(item.ysize == 3)
				me.ClickItem(0, cube.x, cube.y-1, cube.itemloc);
			else
			{
				if(cube.y == 0)
					me.ClickItem(0, cube.x, -1, cube.itemloc);
				else
					me.ClickItem(0, cube.x, cube.y-2, cube.itemloc);
			}
		}

		NTC_Delay(100);

		if(!me.itemoncursor)
			break;
	}

	if(x >= 80)
		return false;

	NTC_PingDelay(200);

	return true;
}

function NTCU_MoveItemToInventoryInt(item)
{
	var x, y, m, n;
	var _havespace;

	for(y = 0 ; y < 4 ; y++)
	{
		for(x = 0 ; x < 10 ; x++)
		{
			_havespace = true;

			for(m = 0 ; m < item.ysize ; m++)
			{
				for(n = 0 ; n < item.xsize ; n++)
				{
					if(_NTCU_Inventory[y+m][x+n] == 1)
					{
						_havespace = false;
						m = 4;
						break;
					}
				}
			}

			if(_havespace)
			{
				if(!NTC_ItemToCursor(item))
					return false;

				for(m = 0 ; m < 80 ; m++)
				{
					if((m % 40) == 0)
						me.ClickItem(0, x, y, 0);

					NTC_Delay(100);

					if(!me.itemoncursor)
						break;
				}

				if(m >= 80)
					return false;

				for(m = 0 ; m < item.ysize ; m++)
				{
					for(n = 0 ; n < item.xsize ; n++)
						_NTCU_Inventory[y+m][x+n] = 1;
				}

				NTC_PingDelay(200);

				return true;
			}
		}
	}

	return false;
}

function NTCU_OpenCubeInt(_cube)
{
	if(_cube.itemloc == 4 && !GetUIState(0x19))
	{
		var _stash = NTC_FindUnit(NTC_UNIT_OBJECT, NTC_UNIT_STASH, 1);

		if(!_stash)
			return false;

		if(!NTT_DoInteract(_stash))
			return false;
	}

	if(!GetUIState(0x1A))
		return NTT_DoInteract(_cube);

	return true;
}

function NTCU_CloseCubeInt()
{
	var i;

	if(!GetUIState(0x1A))
		return true;

	for(i = 0 ; i < 20 ; i++)
	{
		if((i % 10) == 0)
			me.Cancel(0);

		NTC_Delay(200);

		if(!GetUIState(0x1A))
		{
			NTC_PingDelay(200);
			return true;
		}
	}

	return false;
}

function NTCU_ClearCubeInt()
{
	var i;
	var _itemcounts = 0;
	var _items = me.GetItems();

	if(!_items)
		return 0;

	for(i = 0 ; i < _items.length ; i++)
	{
		if(_items[i].mode == 0 && _items[i].itemloc == 3)
		{
			if(!NTCU_MoveItemToInventoryInt(_items[i]))
				return _itemcounts;

			_itemcounts++;
		}
	}

	return _itemcounts;
}

function NTCU_GetCubeContents() 
{
	var _items = me.GetItems();
	var _cube_items = new Array();

	for(i = 0 ; i < _items.length ; i++)
	{
		if(_items[i].mode == 0 && _items[i].itemloc == 3)
		{
			_cube_items.push(_items[i]);
		}
	}

	return _cube_items;	
}


I rly could use some help here it picks up crafting matrials but it craft nothing..
It keeps
Flawless Gems.
Unid Rings ( Magic )
Unid Amus ( Magic )
A Gc life?
a Circlet ( Magic )
04/17/2011 21:29 RobHalford#2
At what lvl are your characters ? Because they start after reaching lvl 90 or higher ...

If they are you should try to reinstall your bot
04/17/2011 22:23 icke_binnet#3
im not sure but maybe you need to edit the items in your picit?
04/18/2011 00:35 baddwarf#4
my Chars lvls / bot chars are.
97 Close 98 - hammer
97 Light sorc.

i hope i dont ask stupid but where is my picit Located?.
04/18/2011 01:03 lappen_reihern#5
is your bot cubing at all?
for example when he has 3x flawless ruby. does he cube a perfect one then?
04/18/2011 01:16 baddwarf#6
No thats the problem it doesent even cube.. it picks the reagents to Cube but it doesent cube at all
If your great at working with this and want to.. you could teamview my pc
04/18/2011 09:44 lanara#7
First of all i'd try deactivating some craft recipes, its not good to run that many at the same time. 2nd, you don't need to activate gem crafting, he will do this on his own.
04/18/2011 16:43 baddwarf#8
Allright i changed some stuff.! and now its gambling and still Picking flawless but no crafting still.!
04/19/2011 12:00 RobHalford#9
are you sure that your bot is not crafting or just not picking those items up because you // them out ...

//NTConfig_NIPFilePath.push("advance/craft.nip");
//NTConfig_NIPFilePath.push("normal/craft.nip");

to pick craft items you should remove the // in front of those lines !
04/19/2011 12:39 Muddy Waters#10
Quote:
Originally Posted by RobHalford View Post
are you sure that your bot is not crafting or just not picking those items up because you // them out ...

//NTConfig_NIPFilePath.push("advance/craft.nip");
//NTConfig_NIPFilePath.push("normal/craft.nip");

to pick craft items you should remove the // in front of those lines !
Actually, that's false information. :(

It's not necessary to add ingredients for craft recipes to your nip files.
In fact, adding certain ingredients to your nip files might even end up in restraining your bot from crafting.

To give you an example:
If you added a line to your nips that covers all sorts of jewels (even the really bad ones) it would basically result in your bot being unable to craft anything.

The only ingredients that should be covered by your nip files are the base items for both socket and upgrade recipes.

Kind Regards
Muddy

P.S.: Always use [Code] tags when posting configs; none of us likes to read a wall of text that totally lacks proper formatting and I won't even try. :rolleyes:
04/19/2011 18:33 RobHalford#11
Quote:
Originally Posted by Muddy_Waters View Post

Actually, that's false information. :(
It's not necessary to add ingredients for craft recipes to your nip files.
In fact, adding certain ingredients to your nip files might even end up in restraining your bot from crafting.
THats why i was not talking about ingredients !!

I was talking about the result (the craftet items) which need to be written down in a .nip file which are all deactivatet in your config !

Maybe my english is not that good but i hope you can understand what i mean now :D

Greets