[Release] Muddy's Mule Manager V1.2.1

01/22/2013 16:30 Muddy Waters#271
Naja, im Grunde müsste man nur die Funktion zum Erstellen der Logs nach D2BS portieren, also diese hier:
Code:
function MWI_WriteMuleManagerOutput(account)
{
	var _items, _content, _account, _fhandle, _preData, _questData;
	var i, j;
	
	if(!account)
		_account = me.account;
	else
		_account = account;
		
	_fhandle = FileOpen("Logs/MuleManager/" + _account + "--" + me.charname + ".mmd", 2);
	
	if(_fhandle)
	{
		_preData = _fhandle.ReadLine();
		_fhandle.Close();
		
		if(_preData)
		{
			_preData = _preData.split('#')[2];
			_preData = _preData.substr(14, 6);
		}
	}
	
	if(!_preData || _preData.length != 6)
		_preData = "FFFFFF";
		
	_questData = "";
	// Imbue (3)
	for(j = 0; j < 3; j++)
	{
		if(j != me.diff)
		{
			_questData += _preData.charAt(j);
			continue;
		}
		
		for(i = 12; i >= 0; i--)
		{
			if(me.GetQuest(3, i))
			{
				_questData += MWI_GetHexString(i, 1);
				break;
			}
		}
		if(i < 0)
			_questData += '0';
	}

	// Larzuk (35)
	for(j = 0; j < 3; j++)
	{
		if(j != me.diff)
		{
			_questData += _preData.charAt(j + 3);
			continue;
		}
		
		for(i = 12; i >= 0; i--)
		{
			if(me.GetQuest(35, i))
			{
				_questData += MWI_GetHexString(i, 1);
				break;
			}
		}
		if(i < 0)
			_questData += '0';
	}
	
	_content = _account + "#" + me.charname + "#";
	_content += me.classid;
	_content += MWI_GetHexString(me.GetStat(12), 2); // Level
	_content += MWI_GetHexString(me.GetStat(14), 5); // Chargold
	_content += MWI_GetHexString(me.GetStat(15), 6); // Stashgold
	_content += _questData; // Larzuk/Imbue Status
	_content += (me.gametype) ? 1 : 0; // Classic/LoD
	_content += (me.playertype) ? 1 : 0; // Hardcore/Softcore
	_content += (me.ladder) ? 1 : 0; // Ladder/Non-Ladder
	
	_items = me.GetItems();
	
	if(_items)
	{
		for(var i = 0; i < _items.length; i++)
		{
			if(!_items[i].name)
				continue;
			
			_content += "\n" + _items[i].name.replace(/\n/g, "|");
			_content += "#" + _items[i].code;
			_content += "#" + _items[i].itemdesc.replace(/\n/g, "|");
			_content += "#" + MWI_GetHexString(_items[i].classid, 3);
			_content += (_items[i].itemflag&0x10) ? '1' : '0';
			_content += (_items[i].itemflag&0x4000000) ? '1' : '0';
			_content += (_items[i].itemflag&0x400000) ? '1' : '0';
			_content += MWI_GetHexString(_items[i].itemlevel, 2);
			_content += MWI_GetHexString(_items[i].itemloc, 1);
			_content += MWI_GetHexString(_items[i].itemprefix, 4);
			_content += MWI_GetHexString(_items[i].itemsuffix, 4);
			_content += MWI_GetHexString(_items[i].itemtype, 2);
			_content += MWI_GetHexString(_items[i].mode, 1);
			_content += MWI_GetHexString(_items[i].quality, 1);
			_content += MWI_GetHexString(_items[i].x, 2);
			_content += MWI_GetHexString(_items[i].xsize, 1);
			_content += MWI_GetHexString(_items[i].y, 2);
			_content += MWI_GetHexString(_items[i].ysize, 1);
			_content += MWI_GetHexString(_items[i].itemclass, 1);
			_content += MWI_GetHexString(_items[i].GetStat(194), 1); // Sockets
			
			_content += MWI_GetHexString(_items[i].GetStat(31), 4); // Defense
			_content += MWI_GetHexString(parseInt(_items[i].GetStat(21) + (_items[i].GetStat(22) - _items[i].GetStat(21)) / 2) + _items[i].GetStat(111), 3); // Average 1H damage
			_content += MWI_GetHexString(parseInt(_items[i].GetStat(23) + (_items[i].GetStat(24) - _items[i].GetStat(23)) / 2) + _items[i].GetStat(111), 3); // Average 2H damage
			_content += MWI_GetHexString(_items[i].GetStat(92), 2); // Level Req
		}
	}

	return MWC_WriteToTextfile(_content, "Logs/MuleManager/" + _account + "--" + me.charname + ".mmd", 1);
}

function MWI_GetHexString(number, length)
{
	var _hexString;
	
	if(number)
		_hexString = number.toString(16);
	else
		_hexString = "0";
	
	while(_hexString.length < length)
	{
		_hexString = '0' + _hexString;
	}
	
	return _hexString.toUpperCase();
}
Jemand der in D2BS eingearbeitet ist sollte das in 10-20 Minuten hinbekommen, da es eigentlich nichts weiter ist als eine formartierte Ausgabe von Daten. Ich bin derzeit allerdings absolut nicht in D2BS eingearbeitet, aber vielleicht möchte es ja jemand anderes erledigen. :)
02/07/2013 14:26 piotr55#272
mahlzeit zusammen und recht herzlichen dank erstmal an muddy für dieses geniale tool.

1.) alle die, deren tooltips auch flackern sollten -> unter eigenschaften der .exe -> kompatibilität -> haken bei "desktopgestaltung deaktivieren" entfernen.
(auch wenn andere anwendungen die desktopgestaltung deaktivieren tritt das flackern auf! bei mir war es muddys d2nt)

2.) variable stats, altes leidiges thema. hier mal meine idee:
könnte man nicht eine filterTXTdatei in MMM laden, in der man definiert, welche stats für jedes einzelne item in der BBC Ausgabe auftauchen sollen? diese filterdatei könnte man dann auch einfach hier publizieren und jeder könnte an der erweiterung mithelfen.

ich hab da schon nen paar ideen zur umsetzung im kopf. wenn muddy diese gerne weiterverfolgen möchte, pm an mich :)
hintergedanke ist dabei, die arbeit für muddy so gering wie möglich zu halten ;)

beispiel: wenn der nutzer per click auf "add to trade list" die items zur tradelist hinzufügt, wird zuvor die filterdatei nach übereinstimmungen durchsucht und die checkboxen der einzelnen items (edit output description) entsprechend gesetzt bzw nicht gesetzt.

beispielhaftes aussehen der filterdatei:
itemid oder itemname|1101101
die 1 bzw 0 geben den zustand der checkboxen an (s. bild)
[Only registered and activated users can see links. Click Here To Register...]

hoffe, ich konnte die idee verständlich vermitteln :)

besten gruß
piotr
02/09/2013 13:27 Muddy Waters#273
Also ich beschäftige mich eigentlich nicht mehr mit D2, dementsprechend wird dazu von mir wohl auch so bald kein Update mehr kommen.

Wenn du dich selber darum kümmern möchtest wäre ich aber durchaus bereit, dir den Quelltext zur Verfügung zu stellen (wobei ich danach erstmal suchen müsste, sollte sich aber finden lassen). Sofern du daran interessiert bist, melde dich bitte bei mir per PM.
02/09/2013 17:19 piotr55#274
vielen dank für deine antwort.
ich habe bereits eine alternative zusammengeschustert.
dabei filtere ich die von mmm erstellte bbc ausgabe mit meinem tool nach variablen stats.
diese variablen stats habe ich zuvor in txt-files definiert.

gruß piotr
02/27/2013 14:10 Hannes1987#275
Hallo,

ich habe eine LogFile erstellt mit dem Skript NTMuleLog.ntj im Etal Manager 3.165.

Wie kann ich diese Files mit Muddys Mule Manager öffnen? Er sagt mir immer, dass es keine Log FIles gibts.

Danke!

Sorry für den Doppelpost.

Wenn ich Ingame "Einfg" Drücke, sagt er: Logging Current Stash to TXT....

Aber das macht er iwie nicht. mein Log folder ist immer noch leer.

Kann mir jemand helfen???
02/28/2013 20:20 Muddy Waters#276
Diese Datein kannst du gar nicht mit meinem Mule Manager öffnen. Das funktioniert nur, wenn du eine D2NT Version verwendest, in der entsprechende Funktionen zum Export vorgesehen sind, oder in welche du diese selbst nachrüstest.

Der Mule Manager prüft jede Datei vor dem Einlesen mithilfe von regulären Ausdrücken auf gültige Formatierung, wird das Format als ungültig erkannt, wird eine Fehlermeldung ausgegeben. Anders ist das auch schlichtweg nicht sinnvoll, woher sollte der Mule Manager sonst auch wissen, wie der Inhalt der Datein richtig zu interpretieren ist.

Du brauchst also zwangsweise meine Exportfunktion, ob du dazu jetzt direkt meine D2NT Version verwendet oder dir die nötigen Funktionen selber in die von dir verwendete Version einbindest, spielt dabei keine Rolle.
03/03/2013 19:09 NerDxx™#277
Wie entferne ich das flackern bei den items ?

der tipp mit der desktopgestaltung deaktivieren hat nicht geklappt
Quote:
Originally Posted by piotr55 View Post
mahlzeit zusammen und recht herzlichen dank erstmal an muddy für dieses geniale tool.

1.) alle die, deren tooltips auch flackern sollten -> unter eigenschaften der .exe -> kompatibilität -> haken bei "desktopgestaltung deaktivieren" entfernen.
(auch wenn andere anwendungen die desktopgestaltung deaktivieren tritt das flackern auf! bei mir war es muddys d2nt)
12/22/2016 17:16 ZoDIkarus12#278
wie ist denn das passwort^^?