Register for your free account! | Forgot your password?

You last visited: Today at 22:15

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Cubing

Discussion on Cubing within the Diablo 2 Programming forum part of the Diablo 2 category.

Reply
 
Old   #1
 
elite*gold: 115
Join Date: Dec 2008
Posts: 174
Received Thanks: 2
Cubing

Ich nutze nen erweiterten Bluebird.
Ich wollte mal Fragen ob es möglich ist, immer 2 Craftjools zustashen ?
Im Muddys ist ja ne Funktion enthalten die ähnlich ist.

Wenn es etwas mehr zum Programmieren ist und jemand so nett ist, und das für mich erledigt.
Würde ich ihn bissel Fg Sponsern

Hier meine Cubing Lib
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_CASTER_AMULET = 34;
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_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([90, 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([85, 619, 571]);
_NTCU_CraftRecipe.push([86, 620, 571]);
_NTCU_CraftRecipe.push([85, 612, 571]);

_NTCU_CraftRecipe.push([92, 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([85, 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([90, 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([90, 617, 576]);
_NTCU_CraftRecipe.push([85, 616, 576]);
_NTCU_CraftRecipe.push([82, 613, 576]);
_NTCU_CraftRecipe.push([85, 614, 576]);
_NTCU_CraftRecipe.push([85, 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 >= 91)
						{
							if(NTConfig_CubingItem[i][2] == null)
							{
								NTConfig_CubingItem[i][2] = _gid;
								_result = true;
							}
							else if(NTConfig_CubingItem[i][2] == _gid)
								_result = true;
						}
					}
					else
					{
						if(item.itemlevel >= 91)
						{
							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 || _classid == 576 || _classid == 571 )
			{
				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);

			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;
}
eevixx is offline  
Reply


Similar Threads Similar Threads
Solo cubing
10/10/2011 - DarkOrbit - 8 Replies
Do you guys know what is the best design to solo cubes?
Cubing mit Bluebird?
10/08/2011 - Diablo 2 - 1 Replies
Hallo, ich benutze seit kurzem bluebird und es läuft auch alles super. ich würde jetzt aber gerne eine cubing funktion mit einbringen, welcher die eingesammelten gems in p gems cubet und anschließend 3 p gems mit einem vorher gestashten baal gc/sc oder monarch cubet. ich weiß dass bluebird nicht für solche geschichten ausgelegt ist, aber ich bin da ein wenig eingeschränkt, da andere bots (sternenlooper, muddys etc.) bei mir lags und bugs verursachen. Weiß jemand mehr als ich? mfg ...
Auto Cubing
03/21/2011 - Diablo 2 - 4 Replies
Also heute möchte ich mich zunächst nochmal offiziell bei den Scriptern bedanken, die regelmäßig ihre Bots, die sie hier eingestellt haben, verbessern, weiter entwickeln und Hilfestellungen geben. Ihr macht das SUPER, Daumen hoch! Nun habe ich folgende Frage: ich möchte gerne meine ganzen pg-packs und craftpacks automatisch vercraften lassen, also sprich: ich mach den Char voller pgs und nen sc oder gc mit ilvl >= 94 und will, dass er automatisch so lange cubt, bis die pgs alle sind bzw. er...
Cubing Frage
07/09/2010 - Diablo 2 Programming - 1 Replies
Kann mir wer sagen wie der Bot das macht? Hebt er Magic Items auf und Pikt Perf Gems und cubed sie dann?
d2nt 3.1 cubing frage
04/21/2010 - Diablo 2 - 3 Replies
moin, heißt die zeile hier dass er 3 thuls zu ner amn cubed, oder dass er 3 ort zu ner thul cubed? NTConfig_CubingItem.push();



All times are GMT +1. The time now is 22:17.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.