Quote:
Originally Posted by Knurrhuhn
hallo...
kurze schilderung meiner beobachtung bezüglich der %-anzeige beim gambeln:
- obwohl bereits 100% erreicht waren, hat meine soso noch 2 weitere male gegambelt.
hat wahrscheinlich damit zu tun, dass ich die gold-untergrenze etwas weiter herabgesetzt habe, daher war das auch korrekt so. mir scheint aber die %-berechnung nicht korrekt zu funktionieren (evtl ist die immer auf den standart-wert bezogen?).
grüße
|
Kann durchaus sein, dass da was durcheinander geraten ist, der ganze Gambling Part ist super schlampig und durcheinander. Ich werde darauf achten, das in D2BS etwas aufgeräumter umzusetzen, wobei man es da durch den persistenten globalen Kontext auch deutlich leichter kann. :)
Quote:
Originally Posted by DeathFromHeaven
zu dem Problem mit dem mulen:
hab mal ein wenig in den Dateien zum mulen geforscht und mit den Versionen aus älteren Revisionen verglichen.
in der DGAutomule.ntl im case: "DONE" der mit der Zeile 237 beginnt und so aussieht:
Code:
case "DONE": // No more items matching nips
Automule.State = "done";
Automule.IsWaiting = true;
DGAM_WriteMuleStats();
ExitGame();
if(Automule.MuleIndex < Automule.Mules.length)
_lastAccount = Automule.Mules[Automule.MuleIndex].Account;
MWAM_SetMuleIndex(true, false); // Increase MuleIndex to next empty mule with nips that differ from last mule's.
if(Automule.MuleIndex >= Automule.Mules.length || msg == "COMPLETED")
{
_itemString = MWAM_LoadMuledItems();
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿ4000FF[AM] Finished Muling!" + ((_itemString.length > 0) ? ";" + _itemString : ""));
MWAM_ReleaseUsedAccounts();
DGAM_StatusDelay(TimeAfterMule * 60 * 1000, "ÿc3[AM] Finished Muling!");
MWAM_Delay(1000);
ControlData.click(ControlData.controls.lobby.button.quit);
MWAM_Delay(1000);
ControlData.click(ControlData.controls.characterSelect.button.exit);
DGAM_StatusDelay(10000, "ÿc2[AM] Login...");
Automule.JoinBugCount = 0;
Automule.MuleIndex = 0;
Automule.State = "notmuling";
Automule.IsWaiting = false;
Automule.InProgress = false;
JoinedChannel = false;
DGAM_WriteMuleStats();
}
else
{
if(DGDebug)
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿ4000FF[AM] Log on next Mule Account");
DGAM_StatusDelay(10000, "ÿc3[AM] Next Mule...");
ControlData.click(ControlData.controls.lobby.button.quit);
MWAM_Delay(1000);
if(_lastAccount != Automule.Mules[Automule.MuleIndex].Account)
{
ControlData.click(ControlData.controls.characterSelect.button.exit);
MWAM_Delay(1000);
}
else if(DGDebug)
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿ4000FF[AM] Same Acc detected!!");
}
Automule.IsWaiting = false;
DGAM_WriteMuleStats();
break;
fehlt ein zweiter aufruf um die NIpfiles in den Tempfiles auszutauschen.
Den eben geposteten Code einfach durch den folgenden ersetzen oder das "MWAM_SaveTempNips();" selbst hinzufügen :D
Code:
case "DONE": // No more items matching nips
Automule.State = "done";
Automule.IsWaiting = true;
DGAM_WriteMuleStats();
ExitGame();
if(Automule.MuleIndex < Automule.Mules.length)
_lastAccount = Automule.Mules[Automule.MuleIndex].Account;
MWAM_SetMuleIndex(true, false); // Increase MuleIndex to next empty mule with nips that differ from last mule's.
if(Automule.MuleIndex >= Automule.Mules.length || msg == "COMPLETED")
{
_itemString = MWAM_LoadMuledItems();
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿ4000FF[AM] Finished Muling!" + ((_itemString.length > 0) ? ";" + _itemString : ""));
MWAM_ReleaseUsedAccounts();
DGAM_StatusDelay(TimeAfterMule * 60 * 1000, "ÿc3[AM] Finished Muling!");
MWAM_Delay(1000);
ControlData.click(ControlData.controls.lobby.button.quit);
MWAM_Delay(1000);
ControlData.click(ControlData.controls.characterSelect.button.exit);
DGAM_StatusDelay(10000, "ÿc2[AM] Login...");
Automule.JoinBugCount = 0;
Automule.MuleIndex = 0;
Automule.State = "notmuling";
Automule.IsWaiting = false;
Automule.InProgress = false;
JoinedChannel = false;
DGAM_WriteMuleStats();
}
else
{
if(DGDebug)
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿ4000FF[AM] Log on next Mule Account");
DGAM_StatusDelay(10000, "ÿc3[AM] Next Mule...");
ControlData.click(ControlData.controls.lobby.button.quit);
MWAM_Delay(1000);
if(_lastAccount != Automule.Mules[Automule.MuleIndex].Account)
{
ControlData.click(ControlData.controls.characterSelect.button.exit);
MWAM_Delay(1000);
}
else if(DGDebug)
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿ4000FF[AM] Same Acc detected!!");
MWAM_SaveTempNips();
}
Automule.IsWaiting = false;
DGAM_WriteMuleStats();
break;
ohne diese kleine Änderung haben alle Mules nur die Nips des ersten.
Wer also mehrere Muleaccounts einem Bot-Account zugeordnet hat, sollte dies unbedingt ändern!
|
Nur dass deine Änderung leider nichts bringt, denn der Aufruf wurde lediglich in die
MWAM_SetMuleIndex() Funktion verlagert, darum bewirkt dein zusätzlicher Aufruf dort nichts, weil du damit lediglich erneut die Nips des aktuellen Chars speicherst die stehen dort allerdings zu diesem Zeitpunkt bereits drin. ;)
Quote:
Originally Posted by Riddler84
Bitte beachten, das das eine eigene Syntax ist die mit einem eigenen Parser verarbeitet wird und kein Javascript.
In der Datei libs/common/NTItemParser.ntl kannst du die Regeln dazu nachlesen
|
Wobei die Syntax schon extrem nah an JavaScript ist, was ja auch sinnvoll ist, weil es die Nips zum einen extrem leicht lesbar macht (zumindest für Leute, die JS beherrschen), zum anderen aber das Umwandeln der Ausdrücke in reines JS und das darauffolgende Evaluieren erleichtert. :)
Quote:
Originally Posted by rulorizor
Da das Lag nahezu immer serverseitig stattfindet, sofern man eine annehmbare Internetverbindung hat, wohl eher nicht.
Ich habe übrigens eine Lösung für das durchsuchen der Stashlogs gefunden. Eins der Stashlog.txt im Notepad++ öffnen, ctrl+f, auf den Reiter "in Dateien suchen" gehen, Haken bei "Ordner der akt. Datei" reinmachen, suchen. So durchsucht man alle Stashlogs auf einmal und weiss durch den Dateinamen direkt, wo das gewünschte Item liegt.
|
Genau so habe ich das mit der Itemsuche früher auch gemacht, bis es mir zu unübersichtlich und zu wenig komfortabel wurde - dann habe ich meinen Mule Manager geschrieben. :)
LG
Muddy