|
You last visited: Today at 06:51
Advertisement
[Release] Muddy's D2NT
Discussion on [Release] Muddy's D2NT within the Diablo 2 Programming forum part of the Diablo 2 category.
08/24/2011, 19:08
|
#3001
|
elite*gold: 0
Join Date: Aug 2009
Posts: 435
Received Thanks: 159
|
Problem mit den Amuletten bestätigt! Habe schon wieder 7 Amulette, davon 4 unid, im stash. wenn ich alle ins Inventar lege und den Bot wieder starte verkauft er alle bis auf zwei, so wie es richtig ist...
|
|
|
08/24/2011, 20:37
|
#3002
|
elite*gold: 0
Join Date: Jul 2008
Posts: 37
Received Thanks: 0
|
Der Bot macht nix mehr bei mir. Beim Start kommt fdolgende Meldung in rot:
Quote:
|
<D2NT Error> C:\[blah]\NTItemParser.ntl (89): SyntaxError: unterminated rehular expression literal
|
Hab in der Datei geguckt.
Die 89 ist nehme ich mal an die Zeile, aber da steht nix auffälliges...
Nur das hier:
Quote:
|
if(eval(_NTIP_CheckList[i][0]))
|
Was ist da an der Syntax falsch?
|
|
|
08/24/2011, 20:48
|
#3003
|
elite*gold: 0
Join Date: Mar 2009
Posts: 258
Received Thanks: 14
|
Ich hab noch eine frage,
mir ist aufgefallen das er bot immer wieder nach ein paar run ein restart macht als neu einlogen kann man das irgend wie ändern das er einfahc immer on bleibt und die games aufmacht?
es passiert jetzt nach jeden game macht der bot ein restart.
|
|
|
08/24/2011, 21:10
|
#3004
|
elite*gold: 0
Join Date: May 2010
Posts: 212
Received Thanks: 40
|
Quote:
Originally Posted by mooh
Der Bot macht nix mehr bei mir. Beim Start kommt fdolgende Meldung in rot:
Hab in der Datei geguckt.
Die 89 ist nehme ich mal an die Zeile, aber da steht nix auffälliges...
Nur das hier:
Was ist da an der Syntax falsch?
|
Der hat wohl was gepickt, was er nicht versteht.
Stell dein Dia mal auf englisch um.
Denke, das war es dann.
|
|
|
08/24/2011, 21:16
|
#3005
|
elite*gold: 0
Join Date: Mar 2009
Posts: 258
Received Thanks: 14
|
steht auf englisch , er macht alle sachen zu ende, soblad er rausgehn will is der restart da
|
|
|
08/24/2011, 21:28
|
#3006
|
elite*gold: 0
Join Date: Apr 2011
Posts: 89
Received Thanks: 30
|
Quote:
Originally Posted by mooh
Der Bot macht nix mehr bei mir. Beim Start kommt fdolgende Meldung in rot:
Hab in der Datei geguckt.
Die 89 ist nehme ich mal an die Zeile, aber da steht nix auffälliges...
Nur das hier:
Was ist da an der Syntax falsch?
|
guck mal in den  . das mag helfen
|
|
|
08/24/2011, 22:08
|
#3007
|
elite*gold: 0
Join Date: May 2010
Posts: 212
Received Thanks: 40
|
Quote:
Originally Posted by Atronia
steht auf englisch , er macht alle sachen zu ende, soblad er rausgehn will is der restart da
|
Wie was jetzt?
Beim Start,
oder Rausgehen?
Ich verstand, geht ins game und hängt. Sry.
|
|
|
08/24/2011, 22:16
|
#3008
|
elite*gold: 0
Join Date: Jul 2008
Posts: 37
Received Thanks: 0
|
Haste richtig verstanden, er geht ins Game und hängt.
Hab MWConfig_RunNipCheck = true; gesetzt, aber es existiert keine ..\scripts\Logs\NipErrors.txt ...
Was ist mein Dia? Hab das Spiel schon auf Englisch, falls du das meinst.
Da hat einfach jemand anders ganz frech dazwischen gepostet :>
|
|
|
08/24/2011, 22:24
|
#3009
|
Administrator
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,727
Received Thanks: 12,652
|
Quote:
Originally Posted by Atronia
muddy geil danke hat geklapt nur noch eine frage wie kann man das ausstellen das er nicht mehr übern kopf schreibt was er gerade macht ???
|
Auch das findet sich übrigens in der  , die ich jetzt mal im Startpost verlinkt habe.
Quote:
Originally Posted by DeathFromHeaven
Problem mit den Amuletten bestätigt! Habe schon wieder 7 Amulette, davon 4 unid, im stash. wenn ich alle ins Inventar lege und den Bot wieder starte verkauft er alle bis auf zwei, so wie es richtig ist...
|
Puh...ich schaue es mir mal an, kann es mir gerade aber eigentlich nicht so richtig erklären.
Die Cubing Einstellungen würden mich interessieren.
Quote:
Originally Posted by Atronia
Ich hab noch eine frage,
mir ist aufgefallen das er bot immer wieder nach ein paar run ein restart macht als neu einlogen kann man das irgend wie ändern das er einfahc immer on bleibt und die games aufmacht?
es passiert jetzt nach jeden game macht der bot ein restart.
|
Hast du in der Text Box im Profil beim Manager hintr der Caption "Game # / CDKey" etwas anderes als 0 eingetragen? Wenn ja, sorg dafür, dass dort eine 0 steht. Stell außerdem sicher, dass der Haken bei "NoSound" im nicht gesetzt ist.
Quote:
Originally Posted by mooh
Haste richtig verstanden, er geht ins Game und hängt.
Hab MWConfig_RunNipCheck = true; gesetzt, aber es existiert keine ..\scripts\Logs\NipErrors.txt ...
Was ist mein Dia? Hab das Spiel schon auf Englisch, falls du das meinst.
|
Du musst den Char dazu schon ins Spiel gehen und eine Runde rödeln lassen. Dann sollte das an sich funktionieren.
LG
Muddy
|
|
|
08/24/2011, 22:31
|
#3010
|
elite*gold: 0
Join Date: Jul 2011
Posts: 9
Received Thanks: 7
|
Hallo
Also seit ich die neue Version nutze funktioniert das Cow-Level-Skript nicht mehr.
Der Bot beginnt das Script und bricht es ab sobald die erste Truhe auftaucht.
Es kommt eine Fehlermeldung, die beinhaltet irgendetwas von wegen "....openallnearbychests not defined"
Ich nehme mal an, dass in dem Skript vergessen wurde mit der neuen Bezeichnung "MWConfig_OpenContainerMode = 0" (bzw 1/2) die alte "MWConfig_OpenAllNearbyChests = true" (bzw false) zu ersetzen und die char_configs vergeblich nach der alten Zeile abgesucht werden und dann das Skript gestoppt wird
Wenn das tatsächlich der Fall ist brauche ich Hilfe um das umzusetzen.
Da ich nun allerdings scheinbar der erste bin, der dieses Problem hat, liegt es vielleicht eher an meiner Unfähigkeit.
Wenn dem so ist, sagt es mir und ich schildere das Problem genauer und hoffe darauf, dass mir trotzdem jemand helfen kann.
*edit*
Achja und außerdem ist mir aufgefallen, dass meine Amazone es nicht hinbekommt das "MWConfig_BuyPotionsOnLackOfMana = true" auszuführen. Das ist gerade bei ner Amazone wie meiner mit einem besonders niedrigen Manapool ärgerlich.
Aber da ich hier ebenfalls der erste bin, der dieses Problem hat, liegt es wohl an mir.
*edit2*
Danke Muddy, das Cows-Skript aus deiner antwort funktioniert einwandfrei
|
|
|
08/24/2011, 22:31
|
#3011
|
elite*gold: 0
Join Date: Mar 2009
Posts: 258
Received Thanks: 14
|
Hast du in der Text Box im Profil beim Manager hintr der Caption "Game # / CDKey" etwas anderes als 0 eingetragen? Wenn ja, sorg dafür, dass dort eine 0 steht. Stell außerdem sicher, dass der Haken bei "NoSound" im nicht gesetzt ist.
0stehtdrinund der harken bei no sound is auch drin und mir ist aufgefallen , das ich das nur bekomme wenn ich noch act2 tunnel dazu nehm .
|
|
|
08/24/2011, 22:46
|
#3012
|
Administrator
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,727
Received Thanks: 12,652
|
Quote:
Originally Posted by wohltat
Hallo
Also seit ich die neue Version nutze funktioniert das Cow-Level-Skript nicht mehr.
Der Bot beginnt das Script und bricht es ab sobald die erste Truhe auftaucht.
Es kommt eine Fehlermeldung, die beinhaltet irgendetwas von wegen "....openallnearbychests not defined"
Ich nehme mal an, dass in dem Skript vergessen wurde mit der neuen Bezeichnung "MWConfig_OpenContainerMode = 0" (bzw 1/2) die alte "MWConfig_OpenAllNearbyChests = true" (bzw false) zu ersetzen und die char_configs vergeblich nach der alten Zeile abgesucht werden und dann das Skript gestoppt wird
Wenn das tatsächlich der Fall ist brauche ich Hilfe um das umzusetzen.
Da ich nun allerdings scheinbar der erste bin, der dieses Problem hat, liegt es vielleicht eher an meiner Unfähigkeit.
Wenn dem so ist, sagt es mir und ich schildere das Problem genauer und hoffe darauf, dass mir trotzdem jemand helfen kann.
|
Ich würde eher sagen, du hast absolut Recht und danke für den Hinweis.
Versuch es mal so, mit der nächsten Revision ist das dann auch erledigt:
Code:
/**
* This file was modified by
* Check the programming section for updates and further scripts
* Last Update: 22:45 24.08.2011
*/
const _NTR_STRING_COW_KING = GetLocaleString(2850);
const _NTR_COW_KING_RANGE = 80;
function NTMain()
{
Include("libs/common/NTCommon.ntl");
NTC_IncludeLibs();
NTC_IncludeConfig("NTBot/char_configs");
NT_LoadConfig();
NTSI_LoadNIPFiles("NTBot/item_configs");
MWC_Initialize();
var _wirtbody, _cube, _leg, _portal, _stash, _npc;
var i;
if(!NTTM_CheckAct(me.act, true))
{
NTC_SendMsgToScript("MWBotGame.ntj", NTTM_CheckAct, 24, me.act, true);
return;
}
NTTMGR_TownManager();
if(!NTTM_TownMove("waypoint"))
{
NTC_SendMsgToScript("MWBotGame.ntj", NTTM_TownMove, 32, "waypoint");
return;
}
if(!NTM_TakeWaypoint(4))
{
NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeWaypoint, 38, 4);
return;
}
NTP_DoPrecast(true);
if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_MONSTER, 737, 10, 10))
{
NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveToPresetUnit, 46, me.areaid, NTC_UNIT_MONSTER, 737, 10, 10);
return;
}
if(!NTM_UsePortal("Portal", 38))
{
NTC_SendMsgToScript("MWBotGame.ntj", NTM_UsePortal, 52, "Portal", 38);
return;
}
NTM_MoveTo(me.areaid, 25047, 5178);
if(NTA_ClearPosition(10))
NTSI_PickItems();
_wirtbody = NTC_FindUnit(NTC_UNIT_OBJECT, 268);
if(!_wirtbody)
{
NTC_SendMsgToScript("MWBotGame.ntj", NTC_FindUnit, 63, NTC_UNIT_OBJECT, 268);
return;
}
if(NTM_MoveTo(_wirtbody.areaid, _wirtbody.x + 3, _wirtbody.y))
{
if(NTC_OpenChest(_wirtbody))
{
for(i = 0; i < 40; i++)
{
NTC_Delay(NTC_DELAY_FRAME);
_leg = NTC_FindUnit(NTC_UNIT_ITEM, 88, 1);
if(_leg)
break;
}
if(!NTT_CheckSpace(_leg.xsize, _leg.ysize))
NTTMGR_VisitTown();
if(MWSI_PickupItem(_leg.classid))
Print("ÿc4Got Leg");
}
}
if(!_leg)
{
NTC_SendMsgToScript("MWBotGame.ntj", NTC_FindUnit, 79, NTC_UNIT_ITEM, 88, 1);
return;
}
NTTM_CheckAct();
NTTM_TownMove("akara");
for(var i = 0; i < 10; i++)
{
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_AKARA);
if(_npc)
break;
}
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
NTT_FillTome(_npc, 1);
NTT_FillTome(_npc, 0);
NTT_SecondTomeTP(_npc, "tbk", 1);
_portal = NTR_GetTP();
if(!_portal)
{
NTC_SendMsgToScript("MWBotGame.ntj", NTR_GetTP, 121);
return;
}
}
}
me.Cancel(1);
}
if(MWT_OpenStash())
{
_cube = me.GetItems(NTC_UNIT_CUBE);
if(!_cube[0])
{
NTC_SendMsgToScript("MWBotGame.ntj", me.GetItems, 136, NTC_UNIT_CUBE);
return;
}
if(NTCU_CheckCubeInventoryInt() > 0)
{
NTCU_OpenCubeInt(_cube[0]);
if(NTCU_ClearCubeInt() < 1)
{
NTC_SendMsgToScript("MWBotGame.ntj", NTCU_ClearCubeInt, 148);
return;
}
NTCU_CloseCubeInt();
}
NTCU_MoveItemToCubeInt(_cube[0],_leg);
NTCU_MoveItemToCubeInt(_cube[0],_portal);
MWCU_Transmute(_cube[0]);
NTCU_CloseCubeInt();
me.Cancel(1);
NTC_Delay(250);
}
if(!NTR_TakeCowPortal(12))
{
NTC_SendMsgToScript("MWBotGame.ntj", NTR_TakeCowPortal, 169, 12);
return;
}
NTP_DoPrecast();
NTR_ClearRooms(150, NTC_UNIT_MONSTER, 773, _NTR_COW_KING_RANGE);
NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}
// Internal functions
function NTR_GetTP()
{
var _portals = me.GetItems("tbk");
if (_portals)
{
for (var i = 0; i < _portals.length; i++)
{
if (_portals[i].mode == 0 && (_portals[i].itemloc != 0 || NTConfig_Columns[_portals[i].y][_portals[i].x] > 0))
{
return _portals[i];
}
}
}
return false;
}
function NTR_TakeCowPortal(range)
{
var _portal;
_portal = NTC_FindUnit(NTC_UNIT_OBJECT, 60, 5);
if(_portal)
return NTM_UsePortal("Portal", 39, "dummy", _portal);
return false;
}
function NTR_ClearRooms(range, type, id, distance)
{
var i;
var _unit;
var _preRoom;
var _addRooms = new Array();
var _removeRooms = new Array();
if (distance)
{
_unit = GetPresetUnits(me.areaid, type, id);
if (!_unit || _unit.length < 1)
return false;
}
_preRoom = GetRoom();
if (_preRoom)
{
do
{
if (distance)
{
if (GetDistance(_preRoom.x * 5, _preRoom.y * 5, _unit[0].roomx * 5, _unit[0].roomy * 5) < distance)
continue;
}
_addRooms.push([_preRoom.x * 5, _preRoom.y * 5]);
} while (_preRoom.GetNext());
}
if (_addRooms.length < 1)
return false;
_preRoom = [me.x, me.y];
while (_addRooms.length > 0)
{
_addRooms.sort(function (a, b) { return (GetDistance(_preRoom[0], _preRoom[1], a[0], a[1]) - GetDistance(_preRoom[0], _preRoom[1], b[0], b[1])); });
_removeRooms.push([_addRooms[0][0], _addRooms[0][1]]);
for (i = 1; i < _addRooms.length; i++)
{
if (GetDistance(_preRoom[0], _preRoom[1], _addRooms[i][0], _addRooms[i][1]) <= GetDistance(_preRoom[0], _preRoom[1], _addRooms[0][0], _addRooms[0][1]))
{
_removeRooms.push([_addRooms[i][0], _addRooms[i][1]]);
}
else
break;
}
if (_removeRooms.length > 1)
{
_removeRooms.sort(function (a, b) { return (b[0] - a[0]); });
if (_removeRooms[0][0] <= _preRoom[0])
{
_removeRooms.sort(function (a, b) { return (b[1] - a[1]); });
if (_removeRooms[0][1] <= _preRoom[1])
{
_removeRooms.sort(function (a, b) { return (a[0] - b[0]); });
if (_removeRooms[0][0] >= _preRoom[0])
_removeRooms.sort(function (a, b) { return (a[1] - b[1]); });
}
}
}
if (!range || GetDistance(me.x, me.y, _removeRooms[0][0], _removeRooms[0][1]) < range)
{
if (NTR_MoveTo(me.areaid, _removeRooms[0][0], _removeRooms[0][1], 3, true))
_preRoom = _removeRooms[0];
}
for (i = 0; i < _addRooms.length; i++)
{
if (_addRooms[i][0] == _removeRooms[0][0] && _addRooms[i][1] == _removeRooms[0][1])
{
_addRooms.splice(i, 1);
break;
}
}
_removeRooms.length = 0;
}
return true;
}
function NTR_MoveTo(areaId, x, y, retry, isClearPath)
{
if (x == me.x && y == me.y)
return true;
if (arguments.length < 4)
retry = 3;
if (arguments.length < 5)
isClearPath = false;
var j;
var _path;
var _preX, _preY;
_path = GetPath(areaId, me.x, me.y, x, y, true);
if (!_path)
return false;
for (var i = 0; i < _path.length; i++)
{
if (NTR_CheckCowKing() || NTR_CheckSafe(_path[i][0], _path[i][1], 15))
{
for (j = 0; j < retry; j++)
{
if (NTM_MoveTo(me.areaid, _path[i][0], _path[i][1]))
break;
}
if (j >= retry)
return false;
}
if (isClearPath && !NTR_CheckCowKing())
{
_preX = me.x;
_preY = me.y;
if(!MWR_ClearPosition(30, true))
return false;
NTP_DoPrecast();
if (me.x != _preX || me.y != _preY)
{
if (!NTM_MoveTo(me.areaid, _preX, _preY))
return false;
}
}
}
return true;
}
function NTR_CheckCowKing()
{
var _cowKing = NTC_FindUnit(NTC_UNIT_MONSTER, _NTR_STRING_COW_KING);
return (_cowKing && GetDistance(me, _cowKing) < _NTR_COW_KING_RANGE);
}
function NTR_CheckSafe(x, y, range)
{
var i;
var _target = NTC_FindUnit(NTC_UNIT_MONSTER);
if (_target)
{
do
{
if (GetDistance(x, y, _target.x, _target.y) < range && _target.IsAttackable())
{
for (i = 0; i < 6; i++)
{
if (NTConfig_AttackSkill[i] && NTA_GetResistance(_target, _NTA_SkillDamage[i]) < 100)
return false;
}
}
} while (_target.GetNext());
}
return true;
}
function MWR_ClearPosition(range, pickitem, safelevel, openchests, usefinditem)
{
var _orgx, _orgy;
var _skiplist;
var _attackcount = 0;
var _target;
var _distance, _mingid, _mindistance;
var _result;
switch(arguments.length)
{
case 0:
range = 20;
case 1:
pickitem = false;
case 3:
openchests = true;
case 4:
usefinditem = true;
default:
if(NTConfig_CheckSelfSafe < 0x01 && NTConfig_CheckMercSafe < 0x01)
safelevel = 0;
break;
}
_orgx = me.x;
_orgy = me.y;
for(var i = 0; i < 3; i++)
{
_skiplist = new Array();
while(_attackcount < (i+1)*100)
{
if(NTR_CheckCowKing())
return false;
_mindistance = 1E6;
_target = NTC_FindUnit(NTC_UNIT_MONSTER);
if(_target)
{
do
{
if(_skiplist.indexOf(_target.gid) < 0)
{
if(_target.IsAttackable())
{
if(GetDistance(_orgx, _orgy, _target.x, _target.y) <= range && NTA_IsValidMonster(_target))
{
_distance = GetDistance(me, _target);
if(_distance < _mindistance)
{
_mingid = _target.gid;
_mindistance = _distance;
}
}
}
else
_skiplist.push(_target.gid);
}
} while(_target.GetNext());
}
if(_mindistance < 1E6)
{
_target = NTC_FindUnit(NTC_UNIT_MONSTER, _mingid, 1);
if(_target)
{
if(MWConfig_ShowOverheadStatus)
Say("!Attacking " + _target.name + " (" + (_target.hp * 100 / _target.hpmax).toFixed(0) + "%)");
_result = NTA_Attack(_target, (_attackcount % 30) == 0);
if(MWConfig_ShowOverheadStatus)
Say("!Attacking " + _target.name + " (" + (_target.hp * 100 / _target.hpmax).toFixed(0) + "%)");
switch(_result)
{
case 1:
_skiplist.push(_mingid);
break;
case 2:
case 3:
if(MWConfig_PickItemsInstantly && (_target.hp <= 0 || _target.mode == 0 || _target.mode == 12))
NTSI_PickItems();
_attackcount++;
break;
default:
_attackcount = 1E6;
}
}
}
else
break;
}
}
if(_attackcount > 2)
{
switch(me.classid)
{
case NTC_CHAR_CLASS_PALADIN:
if(parseInt(me.hp * 100 / me.hpmax) < NTConfig_UseRedemptionHP || parseInt(me.mp * 100 / me.mpmax) < NTConfig_UseRedemptionMP)
{
if(NTC_PutSkill(124, NTC_HAND_RIGHT))
NTC_PingDelay(1000);
}
break;
case NTC_CHAR_CLASS_BARBARIAN:
if(usefinditem && MWConfig_UseFindItem && !NTR_CheckCowKing())
MWL_FindItem(MWConfig_FindItemRange);
break;
case NTC_CHAR_CLASS_NECROMANCER:
if(!NTR_CheckCowKing())
MWA_RaiseMinions();
break;
}
}
if(pickitem && _attackcount > 0)
NTSI_PickItems();
if(MWConfig_OpenContainerMode == 2 && openchests && !NTR_CheckCowKing())
MWL_OpenNearbyChests(MWConfig_OpenChestsRange);
if(MWConfig_ActivateNearbyShrines)
MWL_ActivateNearbyShrines();
switch(safelevel)
{
case 1:
return NTTMGR_CheckSafe(0x00, NTConfig_CheckMercSafe&0x01);
case 2:
return NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe);
}
if(MWConfig_IdentAfterPickup)
MWL_IDItemsAfterPickup();
return true;
}
function NTT_SecondTomeTP(npc, type, amount)
{
var _items;
var _counter = 0;
if(arguments.length < 1)
return false;
if(arguments.length < 2)
type = 0;
if(arguments.length < 0)
amount = 1;
if(amount == 0)
return false;
if(type)
_items = npc.GetItems("tbk");
if(_items)
{
if(_items.length > 0)
{
for(var i = 0 ; i < amount ; i++)
{
if(NTT_ShopItem(_items[0], npc, 2))
_counter++;
}
}
}
return (_counter > 0);
}
Quote:
Originally Posted by Atronia
Hast du in der Text Box im Profil beim Manager hintr der Caption "Game # / CDKey" etwas anderes als 0 eingetragen? Wenn ja, sorg dafür, dass dort eine 0 steht. Stell außerdem sicher, dass der Haken bei "NoSound" im nicht gesetzt ist.
0stehtdrinund der harken bei no sound is auch drin und mir ist aufgefallen , das ich das nur bekomme wenn ich noch act2 tunnel dazu nehm .
|
Der Haken sollte eben gerade nicht gesetzt sein, da dieser Parameter dafür bekannt ist, zu Abstürzen beim Aktwechsel zu führen.
Ansonsten wäre auch ein Logikfehler im Entry Point denkbar, der beim Erreichen der betroffenen Anweisung zu einer Exception führt.
LG
Muddy
|
|
|
08/24/2011, 23:17
|
#3013
|
elite*gold: 0
Join Date: Jul 2011
Posts: 9
Received Thanks: 7
|
Für den Fall, dass mein editierter Post wegen der schnellen Antwort übersehen wird:
Außerdem ist mir aufgefallen, dass meine Amazone es nicht hinbekommt das "MWConfig_BuyPotionsOnLackOfMana = true" auszuführen. Das ist gerade bei ner Amazone wie meiner mit einem besonders niedrigen Manapool ärgerlich.
Aber da ich hier ebenfalls der erste bin, der dieses Problem hat, liegt es wohl an mir.
(Es passiert wirklich jedes Mal und erst wenn das Skript abgeschlossen ist geht der char mit der entsprechenden Nachricht "leak of mana, visiting town" oderso aus der jeweiligen Ebene. Zuvor wartet er einfach bis genug Mana für den nächsten Telejump regeneriert wurde)
Desweiteren habe ich Probleme mit dem Maggotslair Skript.
Am liebsten würde ich die Wurmgruft mit manchen chars komplett säubern, oder es zumindest mal ausprobieren.
Wenn nur alle Bossmonster auf dem Weg zu Kaltwurm erledigt werden reichte es mir auch.
In irgendeinem Post in diesem thread habe ich mal gelesen, dass "MWConfig_ClearAreaSpectypes.MaggotsLair" auf 0x01, bzw 0x08 gestellt werden müsste. Diese Einstellung ändert allerdings absolut garnix am verhalten meiner chars (mit 4 verschiedenen habe ich es versucht und außer Kaltwurm und area um ihn herum wird nichts angegriffen).
Bei allen anderen Skripten klappt es übrigens wunderbar mit "0x01" bzw "0x08"
Eine Frage habe ich noch :
Bei manchen "ClearPathSpectypes" bzw "ClearAreaSpectypes" folgt nur eine (Dezimal?-)Zahl und bei anderen folgt eine (Hexadezimal?-) Zahl
Bewirkt eine "1" beim ersten das Gleiche wie eine "0x01" beim zweiten und eine "8" das gleiche wie eine "0x08" ?
*edit*
Dein unten gepostetes Maggotslair Skript funktioniert ebenfalls einwandfrei.
Vielen Dank dafür!!
Meine Blizz-sorc und meine Light-sorc haben eine wahnsinnig gute killspeed da unten. Ich empfehle allerdings "0x01" anstelle von "0x0E" zu verwenden, da bei "0x0E" zuviel sinnlos hin und her gehüpft wird.
|
|
|
08/24/2011, 23:49
|
#3014
|
elite*gold: 0
Join Date: Jan 2009
Posts: 62
Received Thanks: 4
|
Muddy_Waters lag an english ^^ hatte es schon raus gefunden die sache mit dem cow bot war mir dan auch gleich aufgefallen ^^ thx für den geilen bot und weiter so dickes lob
|
|
|
08/25/2011, 00:00
|
#3015
|
Administrator
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,727
Received Thanks: 12,652
|
Das mit den Manatränken muss ich mir mal anschauen, ich hatte an sich eine Variable eingefügt, die nur einen einzigen Aufruf der betroffenen Funktion erlaubt, da die vorherige Implementierung in manchen Situationen eine Endlosrekursion zur Folge haben konnte.
Die Sache mit den Spectypes sollte ich wohl mal in die FAQ aufnehmen, das versteht man eigentlich nur mit entsprechendem Hintergrundwissen, wobei du in meiner Signatur eine kleine Erläuterung zu den verschiedenen Zahlensystemen findest.
Das dort von Haus aus bei den MWConfig_ClearPathSpectypes eine 0, sowie 0x01 bei den MWConfig_ClearAreaSpectypes steht, hat folgenden Hintergrund:
Die Tatsache, dass es sich bei letzterem um eine Hexadezimal Zahl handelt, deutet darauf hin, dass dieses Bitweise zu interpretieren ist - rein von der Funktion her könnte dort auch eine Dezimal Zahl stehen. Bei den Pfad Spectypes ist es von Haus aus eine dezimale 0, die besagt, dass gar keine Monster auf dem Weg angegriffen werden. Man könnte genausogut 0x00 schreiben, aber es macht eigentlich keinen Sinn, da keine Interpretierung dieses Wertes nötig ist, die Bedeutung ist unmittelbar klar.
Übrigens liegt der Fehler mal wieder weniger bei dir, als bei mir. Denn ich habe scheinbar mein Maggot's Lair Script über das NTColdworm Script geschrieben und dann nicht entsprechend umbenannt.
Ersetz darum einfach mal den Inhalt des Scripts durch das hier:
Code:
/**
* This file was written by
* Check the programming section for updates and further scripts
* Last Update: 16:40 17.08.2011
*/
function NTMain()
{
Include("libs/common/NTCommon.ntl");
NTC_IncludeLibs();
NTC_IncludeConfig("NTBot/char_configs");
NT_LoadConfig();
NTSI_LoadNIPFiles("NTBot/item_configs");
MWC_Initialize();
if(!NTTM_CheckAct(me.act, true))
{
NTC_SendMsgToScript("MWBotGame.ntj", NTTM_CheckAct, 18, me.act, true);
return;
}
NTTMGR_TownManager();
if(!NTTM_TownMove("waypoint"))
{
NTC_SendMsgToScript("MWBotGame.ntj", NTTM_TownMove, 26, "waypoint");
return;
}
if(!NTM_TakeWaypoint(43))
{
NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeWaypoint, 32, 43);
return;
}
NTP_DoPrecast(true);
for(var i = 0; i < 3; i++)
{
if(i > 0 && MWConfig_ClearAreaSpectypes.MaggotsLair > 0)
NTA_ClearLevel(true, 2, MWConfig_ClearAreaSpectypes.MaggotsLair);
if(!NTM_MoveToStair(me.areaid, 62 + i, 0, 0, MWConfig_ClearPathSpectypes.MaggotsLair > 0, MWConfig_ClearPathSpectypes.MaggotsLair))
{
NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveToStair, 42, me.areaid, 62 + i, 0, 0, MWConfig_ClearPathSpectypes.MaggotsLair > 0, MWConfig_ClearPathSpectypes.MaggotsLair);
return;
}
if(!NTM_TakeStair(62 + i))
{
NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeStair, 48, 62 + i);
return;
}
}
if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_OBJECT, 356, 4, 0, MWConfig_ClearPathSpectypes.MaggotsLair > 0, MWConfig_ClearPathSpectypes.MaggotsLair))
{
NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveToPresetUnit, 55, me.areaid, NTC_UNIT_OBJECT, 356, 4, 0, MWConfig_ClearPathSpectypes.MaggotsLair > 0, MWConfig_ClearPathSpectypes.MaggotsLair);
return;
}
if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
{
NTC_SendMsgToScript("MWBotGame.ntj", NTTMGR_CheckSafe, 61, NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe);
return;
}
if(!NTA_KillMonster(284))
{
NTC_SendMsgToScript("MWBotGame.ntj", NTA_KillMonster, 67, 284);
return;
}
if(NTConfig_ClearPosition)
NTA_ClearPosition();
if(MWConfig_OpenContainerMode == 1)
MWL_LootSpecialChests();
if(MWConfig_ClearAreaSpectypes.MaggotsLair)
NTA_ClearLevel(true, 2, MWConfig_ClearAreaSpectypes.MaggotsLair);
NTSI_PickItems();
NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}
Um alle Bosse, Champions und Minions auf dem Weg zu erledigen, initialisiert du die entsprechende Variable wie folgt:
Code:
MWConfig_ClearPathSpectypes.MaggotsLair = 0x0E;
LG
Muddy
|
|
|
 |
|
Similar Threads
|
[Release] D2NT 3.1 1.13c
07/17/2016 - Diablo 2 - 91 Replies
hi,
hab eben den d2nt3.1 gefunden. ein neues baba script is dabei.
release thread eon
D2NT3.1
|
[Realease] Muddy's Waypoint Catcher
08/21/2013 - Diablo 2 Programming - 46 Replies
Moin zusammen,
hier mal die erste Release Version eines kleinen Scripts genannt Waypoint Catcher. Das ganze ist jetzt nichtmal 24h alt, dementsprechend sind vermutlich noch einige Bugs vorhanden. Hinweise dazu nehme ich gerne entgegen. ;)
Features:
- Suchen sämtlicher Wegpunkte mit Ausnahme, wobei in Akt ein durch Probleme im Jail Bereich nach dem Wegpunkt Outer Cloister abgebrochen wird
- Wahlweise auch mit TP an jedem gefundenen Wp, sodass man damit auch anderen (nicht-Bots) die...
|
[D2NT] Long Dia Release
05/10/2011 - Diablo 2 Programming - 28 Replies
Ein kleines Script für diablo, es startet beim eingang macht ein tp cleart den weg zum star macht am star noch ein tp dann läufts wie das normale nur cleart es schöner :)
hoffe euch gefällts ich habs noch nicht wirklich getestet (2-3 runs) bugs können gerne hier gepostet werden verbesserungs vorschläge auch :D
installation:
1.)Script in den Bot ordner kopieren
2.)Script im editor oder vergleichbaren öffnen
3.) Msg´s anpassen (ist nicht schwer)
4.) in der char config die zeile...
|
D2NT 3.0 Pickit release
10/22/2010 - Diablo 2 - 77 Replies
edit
|
Muddy's D2NT Help
07/29/2010 - Diablo 2 - 3 Replies
hi i just started to use the bot it work's great.
how do i set up the skill's i use on my Sorc and pick up itme's?
.....
if you reply to this post please use english
|
All times are GMT +1. The time now is 06:53.
|
|