Originally Posted by Muddy_Waters
Ich habe die aktuelle Version im Startpost angehängt.
Neben einer Reihe an Bugfixes gibt es auch ein paar neue Features, wobei zu den einschneidensten Neuerungen wohl die Auto Mule Implementierung von [Only registered and activated users can see links. Click Here To Register...] zählen (stark angepasst, aufgeräumt, erweitert, aberderzeit nur als semi-auto mule implementiert), sowie einige Bot Scripte und ein eigener Entry Point um Leech Bots zu betreiben, letzteres alles mit freundlicher Unterstützung von [Only registered and activated users can see links. Click Here To Register...].
Des Weiteren möchte ich mich an dieser Stelle noch bei [Only registered and activated users can see links. Click Here To Register...] bedanken, der mich mit einigen mehr als brauchbaren Hinweisen und Verbesserungsvorschlägen versorgt hat.
Ich habe leider wenig getestet, daher kann es durchaus sein, dass die neue Version noch einige Bugs enthält. Solltet ihr welche enddecken, bitte wie gewohnt hier melden. :)
An dieser Stelle nochmal der Hinweis, dass die aktuelle Version von Haus aus meinen [Only registered and activated users can see links. Click Here To Register...] unterstützt, deren Nutzung ich denjenigen, die die Anforderungen bereits erfüllen, wärmstens empfehlen kann - speziell in Verbindung mit Auto Mule. ;)
Bei sonstigen Rückfragen wie gewohnt hier melden, ich empfehle aber auch einen Blick in die jetzt hoffentlich entstehende [Only registered and activated users can see links. Click Here To Register...].
Hier noch ein kurzer Blick in das aufgrund meiner Schlampigkeit leider extrem unvollständige Change Log:
Code:
Muddy's D2NT Change Log:
1.12 - > 1.13
- Fixed a bug where the next script started when the current script's runtime exceeded while the bot was paused [MWBotGame.ntj]
- Corrected some classids within the Baal and Worldstone Keep script [NTBaal.ntj, MWWorldstoneKeep.ntj]
- Added Summon Necromancer attack pattern:
+ Added MWP_SummonGolem() function [NTPrecast.ntl]
+ Added MWC_GetMinionCount(type) function [NTCommon.ntl]
+ Added MWC_GetMaxMinionCount(type) function [NTCommon.ntl]
+ Added NTA_NecromancerAttackInt(target, firstorder) function [NTAttack.ntl]
+ Added NTA_NecromancerCastSkillInt(index, target) function [NTAttack.ntl]
+ Added MWA_CalcCorpseExplosionRadius() function [NTAttack.ntl]
+ Added MWA_GetClosestCorpseGID(x, y) function [NTAttack.ntl]
+ Added MWA_CalcAverageMinionDistance(unit) function [NTAttack.ntl]
+ Added MWA_RaiseMinions() function [NTAttack.ntl]
+ Added MWA_IsHazardousMonster(target) function [NTAttack.ntl]
+ Added MWA_GetCurseState(skillid, target) function [NTAttack.ntl]
+ Added config variables MWConfig_SkeletonMinionCount, MWConfig_MageMinionCount and MWConfig_ReviveMinionCount [NTConfig.ntl]
- Fixed various things regarding the XML itemlog:
+ Added updated XML Stylesheet mw_itemlog_v2.xsl
+ Added Folder: scripts\Logs\Temporary Data for temp logs and location logs [MWItemlogger.ntl]
+ Renamed simple drop location log file to "CHARNAME.sloc" and updated the affected functions [MWItemlogger.ntl]
+ Renamed drop location log file to "CHARNAME.loc" and updated the affected functions [MWItemlogger.ntl]
+ Renamed temp log files to "CHARNAME.ilog" and updated the affected functions [MWItemlogger.ntl]
+ Renamed gambling log files to "GamblingData.glog" and updated the affected functions [MWItemlogger.ntl]
+ Fixed MWI_WriteTempLogToXML() function [MWItemlogger.ntl]
+ Fixed MWI_IsLogged(item) function [MWItemlogger.ntl]
+ Added MWI_ReadDropTime(itemunit) function [MWItemlogger.ntl]
+ Added MWI_FormatColors(desc, item) function [MWItemlogger.ntl]
- Changed the effect of MWConfig_LowestRuneToLog; now it does only affect the manager log but not the XML log [NTSnagIt.ntl]
- Specified gambling locations by showing the actual name of the npc [NTTown.ntl]
- Extracted MWN_LeaveTown() function from MWWaypointCatcher.ntj [NTTownMove.ntl]
- Extracted MWA_GetEvasionVector(length, offset) function from MWA_MoveAwayFromMonster(target) function [NTAttack.ntl]
- Added isZero() method to the vector class [NTMove.ntl]
- Fixed MWC_GetItemColorInt(itemunit) function [NTCommon.ntl]
- Added dest "palacefront" for NTTM_TownMove() function [NTTownMove.ntl]
- Fixed NTM_FindPortalAreaInt(dest) function [NTMove.ntl]
- Added scroll pickup and config variables MWConfig_MinimumTpScrollCount and MWConfig_MinimumIdScrollCount [NTSnagIt.ntl, NTConfig.ntl]
- Added attack time limits for single targets:
+ Added MWA_AttackTimeLimitExceeded(target) function [NTAttack.ntl]
+ Added MWConfig_AttackTimeLimit array to specify time limits for each monster type [NTConfig.ntl]
- Moved all item log outputs to MWI_WriteManagerLog(item, mode, writeXML) function [MWItemlogger.ntl, NTCubing.ntl, MWLoot.ntl, NTSnagIt.ntl, NTTown.ntl, NTTownManager.ntl]
- Changed NTIPCheckItem(item, checkQuantity, nipDebug) function in NTItemParser.ntl to allow nip debug mode [NTItemParser.ntj]
- Added config variable MWConfig_NipDebugMode [NTConfig.ntl]
- Changed [MaxAmount] nip property keyword to [MaxQuantity] and changed its implementation to make it both more reliably and accurate [MWItemlogger.ntl, NTItemParser.ntj, NTCubing.ntl, MWLoot.ntl, NTSnagIt.ntl, NTTown.ntl, NTTownManager.ntl]
- Hardcoded runeword pickup [NTSnagIt.ntl]
- Added various constants to make the code easier to read [NTCubing.ntl]
- Added cubing recipe for rares using 6 perfect skulls [NTCubing.ntl]
- Fixed cubing recipe for magig items to use every type of gem that is not needed for crafting [NTCubing.ntl]
- Added an error output if NTM_TakeWaypoint(areaid) fails due to the char lacking a waypoint [NTMove.ntl]
- Merged similar slot selection functions to a single function: MWC_GetSlotID(type) [NTCommon.ntl, NTPrecast.ntl, MWLoot.ntl]
1.13 -> 1.2
* Fixed NTC_CharGoldFull() to match D2 1.13 specs [NTTown.ntl]
* Fixed a typo that caused ID scroll pickups to be shown in manager log [NTSnagIt.ntl]
* Rewrote Gambling Log [NTTown.ntl, NTTownManager.ntl, MWItemlogger.ntl]
+ Added MWT_OpenStash() function [NTTown.ntl]
+ Added MWC_GetErrorArgumentString(func, line) function [NTCommon.ntl]
+ Added MWCU_MoveCubeToInventory() and MWCU_MoveCubeToStash() functions [NTCubing.ntl]
+ Added MWC_InsertDigitSeperator(number, delimeter, blocksize) function [NTCommon.ntl]
+ Added MWC_FindArea(areaid) function [NTCommon.ntl]
+ Added MWSI_PickupItem(classid) function [NTSnagIt.ntl]
+ Added MWSI_IsCommonLogItem [NTSnagIt.ntl]
- Removed MWA_IsMagicImmuneUndead(target) function
+ Added MWA_IsUndead(target) function [NTAttack.ntl]
+ Added MWA_IsPriorityTarget(target) function and modified NTA_ClearPosition(range, pickitem, safelevel, openchests, usefinditem) and NTA_ClearRoom(pickitem, safelevel) accordingly [NTAttack.ntl]
* Changed target vector for whirlwind in NTA_BarbarianCastSkillInt(index, target) [NTAttack.ntl]
* Modified MWA_CheckMonsterImmunity(target) and NTA_PaladinAttackInt(target, firstorder) functions to ignore physical resistance of undead targets while using sanctuary aura [NTAttack.ntl]
* Bone Armor is only refreshed when its status is 40% or less [NTPrecast.ntl]
+ Added Key Pickup [NTSnagIt.ntl]
* Merchants will no longer be visited just to buy keys [NTTownManager.ntl]
* Fixed a bug in MWL_OpenNearbyChests(range) and MWL_FindItem(range) that caused delays when calling NTA_ClearPosition() without any enemies nearby [MWLoot.ntl]
* Removed MWI_WriteLog(item, isEthereal, mode, logStashed, whereAbouts) functions's isEthereal argument and changed all calls accordingly [MWItemlogger.ntl]
+ Added ItemType, xSize and ySize properties to NTSI_ItemInt class [NTSnagIt.ntl]
+ Added MWSI_IsLowPriorityItem(itemint) function [NTSnagIt.ntl]
* Tweaked NTTMGR_VisitStash(cubing) function in order to make the char not visit stash if there is no free room left [NTTownManager.ntl]
* Improved and cleaned up NTSI_PickUpItemInt(snagitem) function [NTSnagIt.ntl]
* Partly rewrote ToolsThread, modified life and mana chicken thresholds so the user may define absolute values as well [NTToolsThread.ntl]
+ Added MWLW_GetColumnIndex(type) function [NTToolsThread.ntl]
+ Added MWLW_SetChickenThresholds() function [NTToolsThread.ntl]
* Fixed MWL_ActivateNearbyShrines(range) function so the char moves back to his original position after using the shrine [MWLoot.ntl]
* Performed some slight changes on the diablo script, mostly altered some MW_OpenSeal(classid) function calls [NTDiablo.ntj]
+ Added bot script: MWOrganHarvest.ntj
+ Added MW_CheckLocationLoops(location) function to restart on infinite loops in lobby [NTBot.ntj]
+ Added classid(s) to MWL_IsLootableChest(classid) function [MWLoot.ntl]
* Fixed an error in MWL_ActivateNearbyShrines(range) function that prevented gem shrines from being used [MWLoot.ntl]
* Fixed an error in NTCU_MoveItemToInventoryInt(item) function that occured when moving an item to inventory having insufficient room [NTCubing.ntl]
* Fixed NTCU_MoveItemToCubeInt(cube, item) function so the inventory is reopened if it was closed during cubing due to a D2 bug [NTCubing.ntl]
* Modified the NTCU_DoCubing() function in order to enhance cubing speed [NTCubing.ntl]
+ Added MWCU_Transmute(cube) function [NTCubing.ntl]
* Rewrote NTC_OpenChest(chest) function [NTCommon.ntl]
* Fixed a bug in MWL_IDItemsAfterPickup() that caused descriptions in XML log to be undefined [MWLoot.ntl]
* Altered attack positions for blessed hammer in NTA_PaladinCastSkillInt(index, target) [NTAttack.ntl]
* Improved summoner attack algorithm [NTAttack.ntl]
* Rewrote MWL_FindItem(range) function [MWLoot.ntj]
+ Added MWT_GetThrashItems() function [NTTown.ntl]
+ Added MWT_CheckKeyPosition() function [NTTown.ntl]
* Performed some vast improvements regarding ID at cain [NTTownManager.ntl]
* Rewrote NTTMGR_CheckKeys() function and changed its name to MWTMGR_GetKeyQuantity() [NTTownManager.ntl]
+ Added MWT_Stash() class [NTTown.ntl]
+ Added MWT_Stash::GetSlotCount(mode) method
+ Added MWT_Stash::PrintContent() method
+ Added MWT_Stash::Check() method
+ Added MWT_Stash::CheckFragmentation() method
+ Added MWT_Stash::MoveItem(item, x, y) method
+ Added MWT_Stash::Sort() method
+ Added MWT_Stash::GetItemIndex(x, y) method
+ Added MWT_Stash::GetTargetSlot(item) method
+ Added MWT_Stash::RefreshProperties() method
+ Added MWT_Belt_Slot() class [NTTown.ntl]
+ Added MWT_Belt() class [NTTown.ntl]
+ Added MWT_Belt::Check() method
+ Added MWT_Belt::RefreshProperties() method
+ Added MWT_Belt::GetPotionCount(col, mode) method
+ Added MWT_Belt::GetTargetSlot(type) method
+ Added MWT_Belt::RelocatePotion(colIndex, lineIndex) method
+ Added MWT_Belt::CheckPotionPositions() method
+ Added MWT_Belt::CheckMaxColumns(type, offset) method
+ Added MWT_Belt::GetColumnCount(type) method
+ Added MWT_Belt::ClearSlot(colIndex, lineIndex) method
+ Added MWT_Belt::CalcColumnValue(col) method
+ Added library for skill constants [MWSkills.ntl]
+ Added library for user commands [MWUserCommands.ntl]
+ Added MWUC_HandleUserCommand(keycode, data, scriptIndex) function [MWUserCommands.ntl]
+ Added MWUC_PrintNearbyUnitProperties(type, range) function [MWUserCommands.ntl]
+ Added MWUC_IsValidCommand(command) function [MWUserCommands.ntl]
* Rewrote NTP_DoPrecast(refresh) function [NTPrecast.ntl]
- Removed MWP_SummonGolem() function [NTPrecast.ntl]
* Rewrote MWC_GetMinionCount(type) function [NTCommon.ntl]
* Rewrote MWC_GetMaxMinionCount(skillId) function [NTCommon.ntl]
+ Added MWC_ManaParty() function [NTCommon.ntl]
+ Added MWC_GetExistingParty() function [NTCommon.ntl]
+ Added MWC_PrintOverheadStatus(text) function [NTCommon.ntl]
+ Added MWC_Initialize() function [NTCommon.ntl]
+ Added MWC_ConvertTicksToTimeString(ticks, formatString) function [NTCommon.ntl]
+ Added MWC_SetStatusText(start, end) function [NTCommon.ntl]
+ Added various constants [NTCommon.ntl]
+ Added MWC_CastTelekinesis(target) function [NTCommon.ntl]
+ Added MWT_CheckRepairCost() function [NTTown.ntj]
- Removed NTT_ResetWeaponMerc() function [NTTown.ntj]
+ Added MWT_OpenStash() function [NTTown.ntj]
+ Added MWT_GetTrashItems(simple) function [NTTown.ntj]
+ Added MWT_IsSellable(item) function [NTTown.ntj]
+ Added MWT_CheckKeyPosition() function [NTTown.ntj]
+ Added MWT_FillBelt(npc) function [NTTown.ntj]
- Removed NTT_FillBelt(npc) function [NTTown.ntj]
+ Added MWT_BuyPotion(npc, type, mode, amount) function [NTTown.ntj]
- Removed NTT_BuyPotionsFastInt(npc) function [NTTown.ntj]
- Removed NTT_BuyPotionsColInt(npc, col) function [NTTown.ntj]
- Removed NTT_BuyPotionsSlowInt(npc) function [NTTown.ntj]
- Removed NTT_GetNeededPotionsColInt(type, column) function [NTTown.ntj]
- Removed NTT_PotInRightColInt(potx, column, beltsize) function [NTTown.ntj]
- Removed NTT_ClearBelt() function [NTTown.ntj]
* Improved NTT_ShopItem(item, npc, mode) function [NTTown.ntj]
+ Added MWT_CheckManaPotions(threshold) function [NTTown.ntj]
+ Added MWT_IsPotionRequired(code, simple) function [NTTown.ntj]
* Rewrote NTT_CheckStash() function [NTTown.ntj]
* Modified NTT_ManageStash(invitem) function [NTTown.ntj]
* Partly rewrote NTTMGR_TownManager(simple) function [NTTownManager.ntj]
+ Added MWI_WriteBulletinBoardOutput() function [MWItemlogger.ntl]
+ Added bot script: MWKurastTemples.ntj
+ Added bot script: MWRush.ntj
+ Added bot script: MWSuperChests.ntj
+ Added bot script: MWUberTristram.ntj
+ Added bot script: MWBloodyRejuvs.ntj
+ Added global config: MWConfig_GlobalSettings.ntl
+ Added entry point: MWRushEntry.ntj
+ Added MWM_IsWaypoint(classid) function [NTMove.ntl]
+ Added MWC_GetItems(location, mode, search) function [NTCommon.ntl]
+ Added MWC_SetStatusText(start, end) function [NTCommon.ntl]
+ Added MWC_FindCurrentBotScript() function [NTCommon.ntl]
1.2 - > 1.30 [Unfortunately this change log is rather incomplete, guess I was just too lazy... :(]
* Fixed a bug in Belt class that caused problems when buying potions [NTTown.ntj]
* Renamed MWConfig_OpenAllNearbyChests to MWConfig_OpenContainerMode
+ Added slot swap option when killing bosses
* Fixed a bug that caused problems with drinking potions [NTTools.ntj]
+ Added MWC_Debug(string, mode) function [NTCommon.ntl]
* Changed all function prefixes in NTItemParser library for matters of consistency
* Renamed MWT_Belt class to Belt and moved it to an extra library
* Renamed MWT_Stash class to Storage and moved it to an extra library and extended it in order to use it for both stash and inventory
+ Added Storage::CheckSpace() method
* Renamed vector class to Vector and moved it to an extra library
* Renamed coord class to Point and moved it to an extra library
+ Renamed MWConfig_BeltTypeColQuantity to MWConfig_BeltTypeCol
+ Added MWConfig_SortInventory
+ Added MWConfig_HotServerIps and MWConfig_HotIpIdleTime
* Fixed a bug that caused more magic rings and amulets to be kept than actually required
+ Added MWT_DoShopping(npc) function
+ Added bot scripts: MWAbbadon.ntj, MWAnyasBargain.ntj, MWAuraStack.ntj, MWHallsOfPain.ntj, MWInfernalPit.ntj, MWMaggotsLair.ntj, MWPitOfAcheron.ntj
* Renamed "..\scripts\Logs\Temporary Data\" and moved it ("..\Scripts\Data\")
+ Added ldevil's auto mule (only the semi auto version so far)
+ Added and overhauled DGAutoMule.ntl
+ Added and overhauled DGMuleTown.ntl
+ Added bot scripts: NTPermAndMule.ntj, NTPickStuff
* Fixed a bug that caused problems when identifying items without an ID tome
* Fixed a bug that caused problems with drinking potions
+ Added leech bots and such by lanara
+ Added entry point: NTBotLeech.ntj
+ Added bot scripts: NTDiabloLeechFight.ntj, NTBaalLeechFight.ntj, NTBaalLeech.ntj
+ Added nip check
+ Added Mule Manager compatibility
* Most likely found the source of the previously increased number of restart/freezes and fixed it :)
* Fixed a bug that prevented light sorcs from keeping distance to monsters
* Overhauled necromancer attack algorithm in order to have it support bonemancers
+ Added simple attack algorithm for javazons
* Fixed a bug in cubing algorithm that caused faulty cubing priorities (e.g. crafting ahead of socketing)
* Did some tweaking on the D2NT Manager resources in order to increase the height of both item and common log and to enable minimization
+ Added data base for displaying names unid unique/set items
Viel Spaß beim Testen!
LG
Muddy
|