|
You last visited: Today at 20:51
Advertisement
[Release] Muddy's D2NT
Discussion on [Release] Muddy's D2NT within the Diablo 2 Programming forum part of the Diablo 2 category.
06/16/2011, 13:55
|
#2266
|
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
|
Quote:
Originally Posted by mindplay
hmm interessant..jo jez ahb icha u gesehend as er am ende von jedem game crafted...wensn crap sit seltl er es halt gleich wieder..ich hoffe er weiß was er tut..  ich hatte ne lange dia pause..sehr sehr lang xD weiß nimmer worauf es ankommt bei ringen und amuletten etc.
was mir auch aufgefallen ist, ist das runen nicht im manager log angezeigt werden..z.b. hab ich gerade ne mal gedroppt und die steht nich im log.
hab noch ne frage zu den logs.
Ist es normal das der hier nicht tut? :
mw_itemlog_v2.xsl
aber die hier funktionieren:
06-16-11_itemlog.xml
o.0 mir ist gerade aufgefallen das er sandstorms trek aufgepickt hat aber die dann gesellt hat....ich frag mich gerade warum.. bzwob er das bei anderen items auch so macht..wäre nich so toll
Code:
[Name] == ScarabshellBoots && [Quality] == unique && [COLOR="Red"][Flag] == ethereal[/COLOR] // Sandstorm Trek
|
MAL-Rune steht nicht im Log:
Items, die Teil eines Cuberezepts sind, werden im D2NT-Log nicht angezeigt. Im XML-Log sollte sie jedoch stehen.
mw_itemlog_v2.xsl ist das Stylesheet für die XML-Ausgabe, quasi eine Vorlage wie für Word oder so.
06-16-11_itemlog.xml ist das Log für den heutigen Tag.
Steht dann bei den Treks ein Preis dabei? Dann pickt er sie nur um sie zu sellen.
In deiner Pickit hast du stehen, dass nur eth Treks behalten werden.
|
|
|
06/16/2011, 13:59
|
#2267
|
elite*gold: 16
Join Date: Apr 2009
Posts: 40
Received Thanks: 1
|
ah stimmt  warum nur ethereal..macht doch keinen sinn o.0
iwie fällt mirgerade auf das die pickit fast nur perfektes zeug aufhebt und kaum fast perfektes zeug etc.. mus sich glaub alles ma umstellen :S
ich will halt fürn anfang das er auch nicht perfektes zeug pickt..
kann ich iwie die bluebird.nip benutzen? also anstatt der standart nip von muddy? Aber er soll weiterhin cuben etc.. geht das?
|
|
|
06/16/2011, 14:09
|
#2268
|
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
|
Bei Sands macht eth Sinn, die haben selfrep drauf...
Die Bluebird kannst du zusätzlich einbinden, schau dir in der Charconfig von Bluebird an, wie das gemacht wurde.
|
|
|
06/16/2011, 14:14
|
#2269
|
elite*gold: 16
Join Date: Apr 2009
Posts: 40
Received Thanks: 1
|
ah stimmt  k dann machts sinn.
Hmm was geau meinst du? Also wie was gemacht wurde? Ich hab die jez glaub ma an meine bedürfnisse angepasst..zumindest alle uniques. Ich hoffe das alle anderen sachen also z.b. rares schon so gemacht sind das es passt weil da blick ich echt nich durch xD
|
|
|
06/16/2011, 16:49
|
#2270
|
elite*gold: 0
Join Date: Jun 2011
Posts: 14
Received Thanks: 1
|
Wie sieht es mit dem Rusherscript aus?
Muss ich das nur beim Rushchar einstellen und dann mit dem Leecherchar ins Game und einfach folgen oder kann ich den Leecher auch so einstellen, dass er automatisch folgt?
Im Skript sehe ich fast nur Angaben für den Rusher bis auf das hier:
Quote:
|
MWConfig_IsRusher = true;
|
Daher die Frage, ob man den Leecher mit "false" folgen lassen kann.
Und was muss beim
Quote:
|
MWConfig_ActiveQuestersName = " ";
|
eingetraden werden?
Accountname? Charname? Bei Charname oder Accountname sagt er mir immer
Quote:
.
|
|
|
06/16/2011, 18:19
|
#2271
|
elite*gold: 16
Join Date: Apr 2009
Posts: 40
Received Thanks: 1
|
wo ist den definiert was er anch dem cuben behallten soll?
er hat nen guten ring gecraftet aber anscheined hat er ihn gedroppt oder verkauft..oder er was net guzt genug ka..
99ar
6ml
6ll
4dex
iwie glaub ich das iwas nich stimmt.. ich hab in etwa 100runs nur 6drops gehabt..nichts sonderlich gutes.. vllt hab ich zu viel oder zu wenig mf? gerade für superchests etc`hab ca 250mf...
|
|
|
06/16/2011, 20:11
|
#2272
|
elite*gold: 0
Join Date: Jun 2011
Posts: 14
Received Thanks: 1
|
Quote:
Originally Posted by mindplay
wo ist den definiert was er anch dem cuben behallten soll?
iwie glaub ich das iwas nich stimmt.. ich hab in etwa 100runs nur 6drops gehabt..nichts sonderlich gutes.. vllt hab ich zu viel oder zu wenig mf? gerade für superchests etc`hab ca 250mf...
|
Die Craftsachen stehen in der craft.nip ..... wer hätte es gedacht  .
Weisst du wie der MF-Graph aussieht? Nebenbei ist Drop immernoch Statistik, dass du eine %-Chance auf etwas hast heisst nicht, dass du es auch bekommst.
|
|
|
06/16/2011, 20:42
|
#2273
|
Administrator
elite*gold: 41624
Join Date: Jan 2010
Posts: 22,728
Received Thanks: 12,654
|
Quote:
Originally Posted by grorg
Wie sieht es mit dem Rusherscript aus?
Muss ich das nur beim Rushchar einstellen und dann mit dem Leecherchar ins Game und einfach folgen oder kann ich den Leecher auch so einstellen, dass er automatisch folgt?
Im Skript sehe ich fast nur Angaben für den Rusher bis auf das hier:
Daher die Frage, ob man den Leecher mit "false" folgen lassen kann.
Und was muss beim eingetraden werden?
Accountname? Charname? Bei Charname oder Accountname sagt er mir immer .
|
Nein, der Rush Entry Point ist nicht darauf ausgelegt, Spiele zu joinen, das musst du schon noch selbst machen.
In der Config des Rush Entry Points sollte MWConfig_IsRusher mit false initialisiert werden, oder du initialisierst es einfach gar nicht, in dem Fall wäre es undefined, was aber als false interpretiert wird.
Da sollte der Charname rein, oder eine leere Zeichenkette. Bei letzterem wird automatisch der erste Char mit Level <= 70 als aktiver Quester gesetzt.
Die Invalidierung beim Start ist auch normal, damit weist der Leader den aktiven Quester an, ihm seinen Namen mitzuteilen; das ist völlig normal und sollte dich nicht weiter stören.
LG
Muddy
|
|
|
06/16/2011, 20:47
|
#2274
|
elite*gold: 16
Join Date: Apr 2009
Posts: 40
Received Thanks: 1
|
Quote:
Originally Posted by grorg
Die Craftsachen stehen in der craft.nip ..... wer hätte es gedacht  .
Weisst du wie der MF-Graph aussieht? Nebenbei ist Drop immernoch Statistik, dass du eine %-Chance auf etwas hast heisst nicht, dass du es auch bekommst.
|
ja das is mir klar das es da steht...aber ich meine wo drin steht was der gecraftete ring haben muss damit er ihn auch behält..? ich finde da waren schon nen paar gute ringe/amu´s dabei die er einfach gesellt hat etc..
|
|
|
06/16/2011, 21:08
|
#2275
|
Administrator
elite*gold: 41624
Join Date: Jan 2010
Posts: 22,728
Received Thanks: 12,654
|
Quote:
Originally Posted by mindplay
ja das is mir klar das es da steht...aber ich meine wo drin steht was der gecraftete ring haben muss damit er ihn auch behält..? ich finde da waren schon nen paar gute ringe/amu´s dabei die er einfach gesellt hat etc..
|
Genau da, wo er gesagt hat? Lesen müsstest du die .nips dann schon selber, dabei kann man dir schlecht helfen. Vielleicht auch einfach mal  reinschauen.
Und generell sind meine .nips was Craft Items angeht eher schwach ausgelegt, sprich es wird auch ziemlicher Schrott gestasht - darum wage ich zu bezweifeln, dass irgendwas verkauft wurde, womit man etwas anfangen kann.
Aber im Zweifel schau dir eben die .nips an und passe sie gegebenenfalls an.
LG
Muddy
|
|
|
06/16/2011, 21:11
|
#2276
|
elite*gold: 16
Join Date: Apr 2009
Posts: 40
Received Thanks: 1
|
k..jo jez hab ich ma die .nip angescahut und das passt..dann awr das zeug echt **** xD wie gesagt hatte ne sehr sehr lange pause..
was muss denn so nen gecrafteter ring alles haben damit er was wert is?
Noch was allgemeines...mein MF wert beeinflusst nicht wie oft runen droppen bzw welche oder? d
|
|
|
06/16/2011, 21:11
|
#2277
|
elite*gold: 0
Join Date: Aug 2004
Posts: 233
Received Thanks: 39
|
Dann musst du die craft.nip anpassen. dazu gibt es einen guide:

um ein bisschen reinfuchsen kommst du nicht vorbei.
mir wird eigentlich mit der standart pickit zu viel gepickt.
und ich lasse 8 bots laufen und habe auf 40 runs pro bot (also 40*8) vll 20 picks.
250 mf ist ein sehr ausgewogener wert für normale runs.
Für chestbotting allerdings ( wenn du nur chest botting betreibst) viel zu viel.
Weitere infos dazu findest du auch im chestbotting guide.
da war ich wohl zu langsam
Zur frage was sich so lohnt gibts bei jsp einen guten guide:
|
|
|
06/16/2011, 21:22
|
#2278
|
elite*gold: 0
Join Date: Jun 2011
Posts: 14
Received Thanks: 1
|
Quote:
|
Nein, der Rush Entry Point ist nicht darauf ausgelegt, Spiele zu joinen, das musst du schon noch selbst machen.
|
Mir gings eher darum: Leecher erstellt Spiel, Rusherbot erstellt Spiel, Rusher rusht Leecher automatisch, Leecher folgt Rusher.
Quote:
|
In der Config des Rush Entry Points sollte MWConfig_IsRusher mit false initialisiert werden, oder du initialisierst es einfach gar nicht, in dem Fall wäre es undefined, was aber als false interpretiert wird.
|
Was bringt mir das? >> MWConfig_IsRusher = true; >> sollte doch auf jeden Fall fuer den Rusher drinstehen?
Oder meinst du "false" für den Leecher?
Meinst du mit "Rush Entry Points" die Skriptsache in der char_config unter ***MISC*** oder was anderes?
MWConfig_Script.push(["MWRush.ntj", 0]); meine ich).
Quote:
Da sollte der Charname rein, oder eine leere Zeichenkette. Bei letzterem wird automatisch der erste Char mit Level <= 70 als aktiver Quester gesetzt.
Die Invalidierung beim Start ist auch normal, damit weist der Leader den aktiven Quester an, ihm seinen Namen mitzuteilen; das ist völlig normal und sollte dich nicht weiter stören.
|
Charnamen hat er bei mir nicht genommen, egal wie rum ichs gemacht hab.
Leecher erstellt Spiel, Rusher joint oder Leecher erstellt, Rusher joint, Leecher joint erneut. Ging nix.
Ausserdem hat er sich in Akt 5 nach Shenk einfach verabschiedet mit "Akt 5 done" und ist aus dem Game raus, natürlich war mein Char nicht gerusht, Ahnen + Baal fehlte.
Diablo wollte er erst auch nicht machen, musste mit dem Rusher nochmal ins Spiel, dann hat er Diablo gemacht.
Was mir auch extrem aufgefallen ist - manchmal verhakt sich der Bot einfach. Zum Beispiel beim Merc-beleben in Akt 3. Er geht hoch, das Menü erscheint (wie beim Druck auf Escape), geht wieder weg und meine Sorc läuft wieder Richtung TP ohne Merc.
In Akt 2, Eingang zum Palast, da kam sie auch nicht die Treppen runter, immer mit der Maus eine halbe Sekunde drüber, aber nie reingekommen. Hätte ich das manuell nicht immer gemacht wenn ichs gesehen hab, stände die heute noch davor.
Das mit dem automatisch random Baalruns joinen hab ich auch noch nicht raus, ich finde überall nur Sachen für Leader/Leecher, wo man den Leader in die f-List packen muss, damit der Leecher die Spiele sieht.
Ich will aber einfach irgendwelche Baalruns joinen und XP abgreifen, nur weiss ich nicht wie und wo und überhaupt  .
|
|
|
06/17/2011, 00:55
|
#2279
|
elite*gold: 0
Join Date: Aug 2004
Posts: 233
Received Thanks: 39
|
Quote:
Originally Posted by Muddy_Waters
Jein, ist ein Bug im Cubing Algorithmus, den ich mir erst noch näher anschauen muss.
Du könntest deine NTTownManager library durch die nachfolgende ersetzen, eventuell hilft das etwas:
Code:
/**
* This file was modified by
* Check the programming section for updates and further scripts
* Last Update: 12:26 10.05.2011
*/
var _NTTMGR_BuyPots;
var _NTTMGR_BuyTP;
var _NTTMGR_BuyKey;
var _NTTMGR_DoHeal;
var _NTTMGR_DoID;
var _NTTMGR_DoRepair;
var _NTTMGR_DoRevive;
var _NTTMGR_RemoveCurse;
var _MWTMGR_SellTrash;
var _MWTMGR_VisitMerchantForSelling;
function NTTMGR_TownManager(simple)
{
var _cubing, _trash;
if(arguments.length < 1)
simple = false;
NTC_ClearCursor();
NTT_CleanPotions();
_NTTMGR_BuyPots = NTT_CheckBelt();
_NTTMGR_BuyTP = (NTTMGR_CheckScrolls(1) < 5);
_NTTMGR_BuyKey = (MWConfig_CarryKeys && MWTMGR_GetKeyQuantity() <= 10);
_NTTMGR_DoHeal = NTT_CheckHeal();
_NTTMGR_DoID = NTT_CheckUnids();
_NTTMGR_DoRepair = (NTT_CheckRepair(40) && MWT_CheckRepairCost());
_NTTMGR_DoRevive = NTT_CheckMerc();
_trash = MWT_GetTrashItems();
_MWTMGR_SellTrash = (_trash && _trash.length > 0);
_MWTMGR_VisitMerchantForSelling = (MWConfig_AlwaysSellTrashItems && _MWTMGR_SellTrash && !(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID || _NTTMGR_DoRepair || _NTTMGR_DoRevive && me.act == 3 || _NTTMGR_RemoveCurse || _NTTMGR_DoHeal));
_NTTMGR_RemoveCurse = NTTMGR_CheckCurse(MWConfig_CheckSelfSafeTown, MWConfig_CheckMercSafeTown);
_MWTMGR_VisitCain = (MWConfig_IdentAtCain && !MWT_CarryForcedUnids() && _NTTMGR_DoID);
if(me.classid == NTC_CHAR_CLASS_PALADIN)
NTC_PutSkill(MWS_VIGOR, NTC_HAND_RIGHT);
else if(me.classid == NTC_CHAR_CLASS_ASSASSIN && !me.GetState(157))
NTC_CastSkill(MWS_BURST_OF_SPEED, NTC_HAND_RIGHT);
if(_MWTMGR_VisitCain && (_NTTMGR_DoID > 1 || me.act == 2))
MWTMGR_VisitCain();
switch(me.act)
{
case 1:
if(_NTTMGR_DoHeal || _NTTMGR_RemoveCurse || _NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID || _MWTMGR_VisitMerchantForSelling)
NTTMGR_VisitAkara();
if(_NTTMGR_DoRevive)
NTTMGR_VisitKashya();
if(_NTTMGR_DoRepair)
NTTMGR_VisitCharsi();
break;
case 2:
if(_NTTMGR_DoHeal || _NTTMGR_RemoveCurse || _NTTMGR_DoRepair || _MWTMGR_VisitMerchantForSelling)
NTTMGR_VisitFara();
if(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID)
NTTMGR_VisitDrognan();
if(_NTTMGR_DoRevive)
NTTMGR_VisitGreiz();
break;
case 3:
if(_NTTMGR_DoHeal || _NTTMGR_RemoveCurse || _NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID || _MWTMGR_VisitMerchantForSelling)
NTTMGR_VisitOrmus();
if(_NTTMGR_DoRevive)
NTTMGR_VisitAsheara();
if(_NTTMGR_DoRepair)
NTTMGR_VisitHratli();
break;
case 4:
if(_NTTMGR_DoHeal || _NTTMGR_RemoveCurse || _NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID || _MWTMGR_VisitMerchantForSelling)
NTTMGR_VisitJamella(false);
if(_NTTMGR_DoRevive)
NTTMGR_VisitTyrael();
if(_NTTMGR_DoRepair)
NTTMGR_VisitHalbu();
break;
case 5:
if(_NTTMGR_DoHeal || _NTTMGR_RemoveCurse || _NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID)
NTTMGR_VisitMalah();
if(_NTTMGR_DoRevive)
NTTMGR_VisitQualKehk();
if(_NTTMGR_DoRepair || _MWTMGR_VisitMerchantForSelling)
NTTMGR_VisitLarzuk();
break;
}
_cubing = (!simple && NTCU_CheckCubing());
if(_cubing || NTT_CheckInventory() && NTT_CheckStash() || NTC_MyGoldCarry() > NTConfig_MinGoldToStash)
NTTMGR_VisitStash(_cubing);
if(!simple && NTConfig_Gamble && NTC_MyGold() > NTConfig_GambleStartGold)
{
switch(me.act)
{
case 1:
NTTMGR_VisitGheed();
break;
case 2:
NTTMGR_VisitElzix();
break;
case 3:
NTTMGR_VisitAlkor();
break;
case 4:
NTTMGR_VisitJamella(true);
break;
case 5:
NTTMGR_VisitAnya();
break;
}
_cubing = (!simple && NTCU_CheckCubing());
if(_cubing || NTT_CheckInventory() && NTT_CheckStash())
NTTMGR_VisitStash(_cubing);
}
_trash = MWT_GetTrashItems(false);
if(_trash && _trash.length > 0)
NTT_ClearInventory();
}
function NTTMGR_VisitTown()
{
var _prearea = me.areaid;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Town...");
if(!NTTM_CheckAct())
return false;
NTTMGR_TownManager(true);
if(!NTTM_TownMove("portalspot"))
return false;
if(!NTM_UsePortal("BluePortal", _prearea))
return false;
if(NTConfig_PublicMode)
NTM_MakeTP();
return true;
}
function NTTMGR_VisitStash(cubing)
{
var _stash;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Stash...");
if(!cubing && !NTT_CheckStash() && NTC_StashGoldFull())
return;
_stash = NTC_FindUnit(NTC_UNIT_OBJECT, NTC_UNIT_STASH);
if(!_stash || GetDistance(me, _stash) > 3)
NTTM_TownMove("stash");
if(!_stash)
_stash = NTC_FindUnit(NTC_UNIT_OBJECT, NTC_UNIT_STASH);
if(_stash)
{
if(NTT_DoInteract(_stash))
{
if(!cubing)
NTT_ManageStash();
if(cubing)
{
NTCU_DoCubing();
if(NTT_DoInteract(_stash))
NTT_ManageStash();
me.Cancel(1);
NTT_ClearInventory();
}
else
me.Cancel(1);
}
}
}
function NTTMGR_VisitAkara()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Akara...");
NTTM_TownMove("akara");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_AKARA, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_BuyKey || _NTTMGR_DoID || _MWTMGR_SellTrash)
{
if(NTT_DoTrade(_npc))
{
if(_NTTMGR_DoID)
NTTMGR_IDItems(_npc);
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_BuyPots)
MWT_FillBelt(_npc);
if(_NTTMGR_BuyTP)
NTT_FillTome(_npc, 1);
if(_NTTMGR_BuyKey)
NTT_FillKey(_npc);
}
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitKashya()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Kashya...");
NTTM_TownMove("kashya");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_KASHYA, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoInteract(_npc))
{
NTT_ReviveMerc();
me.Cancel(1);
}
}
}
}
function NTTMGR_VisitCharsi()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Charsi...");
NTTM_TownMove("charsi");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_CHARSI, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitGheed()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Gheed...");
NTTM_TownMove("gheed");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_GHEED, 5);
if(_npc)
MWTMGR_DoGambling(_npc);
}
function NTTMGR_VisitFara()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Fara...");
NTTM_TownMove("fara");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_FARA, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_DoRepair || _MWTMGR_SellTrash)
{
if(NTT_DoTrade(_npc))
{
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
}
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitDrognan()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Drognan...");
NTTM_TownMove("drognan");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_DROGNAN, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
if(_NTTMGR_DoID)
NTTMGR_IDItems(_npc);
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_BuyPots)
MWT_FillBelt(_npc);
if(_NTTMGR_BuyTP)
NTT_FillTome(_npc, 1);
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitLysander()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Lysander...");
NTTM_TownMove("lysander");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_LYSANDER, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_BuyKey)
NTT_FillKey(_npc);
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitGreiz()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Greiz...");
NTTM_TownMove("greiz");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_GREIZ, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
NTT_ReviveMerc();
me.Cancel(1);
}
}
}
function NTTMGR_VisitElzix()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Elzix...");
NTTM_TownMove("elzix");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ELZIX, 5);
if(_npc)
MWTMGR_DoGambling(_npc);
}
function NTTMGR_VisitOrmus()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Ormus...");
NTTM_TownMove("ormus");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ORMUS, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID || _MWTMGR_SellTrash)
{
if(NTT_DoTrade(_npc))
{
if(_NTTMGR_DoID)
NTTMGR_IDItems(_npc);
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_BuyPots)
MWT_FillBelt(_npc);
if(_NTTMGR_BuyTP)
NTT_FillTome(_npc, 1);
}
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitAsheara()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Asheara...");
NTTM_TownMove("asheara");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ASHEARA, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(_MWTMGR_SellTrash)
{
if(NTT_DoTrade(_npc))
{
MWTMGR_SellTrashItems(_npc);
me.Cancel(1);
}
}
NTT_ReviveMerc();
me.Cancel(1);
}
}
}
function NTTMGR_VisitHratli()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Hratli...");
NTTM_TownMove("hratli");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_HRATLI, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
if(_NTTMGR_BuyKey)
NTT_FillKey(_npc);
}
me.Cancel(1);
}
}
else
{
NTTM_TownMove("meshif");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_HRATLI, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
if(_NTTMGR_BuyKey)
NTT_FillKey(_npc);
}
me.Cancel(1);
}
}
}
}
function NTTMGR_VisitAlkor()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Alkor...");
NTTM_TownMove("alkor");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ALKOR, 5);
if(_npc)
MWTMGR_DoGambling(_npc);
}
function NTTMGR_VisitJamella(gamble)
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Jamella...");
NTTM_TownMove("jamella");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_JAMELLA, 5);
if(_npc)
{
if(gamble)
MWTMGR_DoGambling(_npc);
else
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_BuyKey || _NTTMGR_DoID || _MWTMGR_SellTrash)
{
if(NTT_DoTrade(_npc))
{
if(_NTTMGR_DoID)
NTTMGR_IDItems(_npc);
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_BuyPots)
MWT_FillBelt(_npc);
if(_NTTMGR_BuyTP)
NTT_FillTome(_npc, 1);
if(_NTTMGR_BuyKey)
NTT_FillKey(_npc);
}
}
me.Cancel(1);
}
}
}
}
function NTTMGR_VisitHalbu()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Halbu...");
NTTM_TownMove("halbu");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_HALBU, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitTyrael()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Tyrael...");
NTTM_TownMove("tyrael");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_TYRAEL_ACT_4, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
NTT_ReviveMerc();
me.Cancel(1);
}
}
}
function NTTMGR_VisitMalah()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Malah...");
NTTM_TownMove("malah");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_MALAH, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_BuyKey || _NTTMGR_DoID || _MWTMGR_SellTrash)
{
if(NTT_DoTrade(_npc))
{
if(_NTTMGR_DoID)
NTTMGR_IDItems(_npc);
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_BuyPots)
MWT_FillBelt(_npc);
if(_NTTMGR_BuyTP)
NTT_FillTome(_npc, 1);
if(_NTTMGR_BuyKey)
NTT_FillKey(_npc);
}
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitLarzuk()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Larzuk...");
NTTM_TownMove("larzuk");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_LARZUK, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitQualKehk()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Qual-Khek...");
NTTM_TownMove("qual-kehk");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_QUALKEHK, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
NTT_ReviveMerc();
me.Cancel(1);
}
}
}
function NTTMGR_VisitAnya()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Anya...");
NTTM_TownMove("anya");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ANYA_TOWN, 5);
if(_npc)
MWTMGR_DoGambling(_npc);
}
function MWTMGR_VisitCain()
{
var _npc, _unids;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Cain...");
NTTM_TownMove("cain");
switch(me.act)
{
case 1:
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_CAIN_ACT_1);
break;
case 2:
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_CAIN_ACT_2, 5);
break;
case 3:
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_CAIN_ACT_3, 5);
break;
case 4:
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_CAIN_ACT_4, 5);
break;
case 5:
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_CAIN_ACT_5, 5);
break;
}
if(_npc)
{
if(NTT_DoInteract(_npc))
{
_unids = NTT_GetUnidItems();
for(var i = 0; i <= 4; i++)
{
if(i % 2 == 0)
me.SelectNPCMenu(0x0FB4);
NTC_Delay(500);
if(!NTT_CheckUnids())
break;
}
for(var i = 0; i < _unids.length; i++)
{
if(NTSI_CheckItem(_unids[i], true) == 1)
MWI_WriteManagerLog(_unids[i], 0, true);
}
me.Cancel(1);
_NTTMGR_DoID = NTT_CheckUnids();
if(!(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID || _NTTMGR_DoRepair || _NTTMGR_DoRevive && me.act == 3 || _NTTMGR_RemoveCurse || _NTTMGR_DoHeal))
{
if(!MWConfig_AlwaysSellTrashItems)
{
NTT_ClearInventory();
_MWTMGR_VisitMerchantForSelling = false;
}
else
_MWTMGR_VisitMerchantForSelling = true;
}
_MWTMGR_SellTrash = (MWT_GetTrashItems().length > 0);
}
}
}
function NTTMGR_CheckScrolls(scrolltype)
{
var _tome = NTT_GetTome(scrolltype);
if(_tome)
return _tome.GetStat(70);
return 0;
}
function MWTMGR_GetKeyQuantity()
{
var _keys, _count;
if(me.classid == NTC_CHAR_CLASS_ASSASSIN)
return 12;
_keys = MWC_GetItems(MWC_LOC_INVENTORY, 0, 543);
_count = 0;
if(_keys)
{
for(var i = 0; i < _keys.length; i++)
_count += _keys[i].GetStat(70);
}
return _count;
}
function MWTMGR_SellTrashItems(npc)
{
var _items, _retValue;
_items = MWT_GetTrashItems();
_retValue = true;
for(var i = 0; i < _items.length; i++)
{
if(MWConfig_UseXMLItemlog)
MWI_WriteLog(_items[i], 1);
if(MWConfig_LogSoldItems)
MWI_WriteManagerLog(_items[i], 3);
if(!NTT_ShopItem(_items[i], npc, 1))
_retValue = false;
}
return _retValue;
}
function NTTMGR_IDItems(npc)
{
var _tome, _scroll;
var _result, _check;
var _items = NTT_GetUnidItems();
if(!_items || _items.length < 1)
return;
_tome = NTT_GetTome();
if(_tome && _tome.GetStat(70) < _items.length)
NTT_FillTome(npc);
for(var i = 0 ; i < _items.length ; i++)
{
switch(NTSI_CheckItem(_items[i], true))
{
case 1:
MWI_WriteManagerLog(_items[i], 0, true);
case 2:
break;
case 0:
if(_items[i].GetItemCost(1) >= 35E3)
break;
case -1:
if(_tome)
_result = NTT_IdItem(_tome, _items[i]);
else
{
_scroll = NTT_GetScroll();
if(!_scroll)
{
NTT_BuyScrolls(npc);
_scroll = NTT_GetScroll();
}
_result = NTT_IdItem(_scroll, _items[i]);
}
if(!_result)
break;
_check = NTSI_CheckItem(_items[i], true);
if(_check == 1)
MWI_WriteManagerLog(_items[i], 0, true);
else if(_check == 0 || _check == 3)
{
if(MWConfig_UseXMLItemlog)
MWI_WriteLog(_items[i], 1);
if(MWConfig_LogSoldItems)
MWI_WriteManagerLog(_items[i], 3, true);
NTT_ShopItem(_items[i], npc, 1);
}
break;
}
}
}
function MWTMGR_DoGambling(npc)
{
var _logString, _date, _deltaTime, _timeString, _gamblingData, _time;
if(arguments.length < 1 || !npc)
return false;
_gamblingData = new Array();
_gamblingData["itemsgambled"] = 0;
_gamblingData["itemskept"] = 0;
_gamblingData["goldmax"] = NTC_MyGold() - NTConfig_GambleStopGold;
_gamblingData["goldspent"] = 0;
_gamblingData["abort"] = false;
while(NTC_MyGold() > NTConfig_GambleStopGold)
{
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Gambling (" + (_gamblingData["goldspent"] / _gamblingData["goldmax"] * 100.0).toFixed(1) + "%)");
if(NTT_DoInteract(npc))
{
if(NTT_DoTrade(npc, 1))
_gamblingData = NTT_GambleIt(npc, _gamblingData);
me.Cancel(1);
if(_gamblingData["abort"])
break;
}
else
break;
}
_logString = "ÿ008040Gambling completed!;";
_logString += "ÿc0Items Gambled:ÿc8 " + _gamblingData["itemsgambled"] + " [" + _gamblingData["itemskept"] + "]";
_logString += "\nÿc0Gold Spent:ÿc8 " + MWC_InsertDigitSeperator(_gamblingData["goldspent"]);
_logString += "\nÿc0Total Items Gambled:ÿc8 " + MWC_InsertDigitSeperator(MWI_GetGamblingData("total")) + " [" + MWC_InsertDigitSeperator(MWI_GetGamblingData("kept")) + "]";
_logString += "\nÿc0Total Gold Spent:ÿc8 " + MWC_InsertDigitSeperator(MWI_GetGamblingData("gold"));
_logString += "\nÿc0Gambling Sessions:ÿc8 " + (MWI_GetGamblingData("sessions") + 1);
_date = new Date();
if(_date)
{
_deltaTime = _date.getTime() - MWI_GetGamblingData("lastupdate");
_timeString = "";
_date = new Date(MWI_GetGamblingData("lastupdate"));
if(!isNaN(_deltaTime) && _date)
{
// Days passed
_time = parseInt(_deltaTime / 864E5);
if(_time > 0)
{
_timeString += _time + " Day";
if(_time > 1)
_timeString += "s ";
else
_timeString += " ";
}
_timeString += MWC_ConvertTicksToTimeString(_deltaTime);
_logString += "\nÿc0Last Session:ÿc8 " + _date.toLocaleFormat("%a %m/%d/%y %H:%M:%S") + " [-" + _timeString + "]";
}
}
_date = new Date(MWI_GetGamblingData("creation"));
if(_date)
_logString += "\nÿc0Logfile Created:ÿc8 " + _date.toLocaleFormat("%a %m/%d/%y %H:%M:%S");
NTC_SendLogToOOG(NTC_LOG_COMMON, _logString);
SetStatusText("ÿc8Gambling completed!");
NTC_SendMsgToScript("MWBotGame.ntj", "RESET_TICKS");
NTC_SendMsgToScript("MWBotGame.ntj", "SET_DEFAULT_STATUS");
MWI_WriteGamblingData(0, new Array(0, 0), true, true);
return true;
}
// mask - 0x02 : Poison, 0x04 : Amplify Damage, 0x08 : Weaken, 0x10 : Iron Maiden, 0x20 : Decrepify, 0x40 : Lower Resist
function NTTMGR_CheckCurse(selfmask, mercmask)
{
if(selfmask > 0x01)
{
if((selfmask&0x02) && me.GetState(2))
return true;
if((selfmask&0x04) && me.GetState(9))
return true;
if((selfmask&0x08) && me.GetState(19))
return true;
if((selfmask&0x10) && me.GetState(55))
return true;
if((selfmask&0x20) && me.GetState(60))
return true;
if((selfmask&0x40) && me.GetState(61))
return true;
}
if(mercmask > 0x01)
{
var _merc = NTC_GetMerc();
if(_merc)
{
if((mercmask&0x02) && _merc.GetState(2))
return true;
if((mercmask&0x04) && _merc.GetState(9))
return true;
if((mercmask&0x08) && _merc.GetState(19))
return true;
if((mercmask&0x10) && _merc.GetState(55))
return true;
if((mercmask&0x20) && _merc.GetState(60))
return true;
if((mercmask&0x40) && _merc.GetState(61))
return true;
}
}
return false;
}
// self - 0x01 : Potion
// merc - 0x01 : Death
// common - 0x02 : Poison, 0x04 : Amplify Damage, 0x08 : Weaken, 0x10 : Iron Maiden, 0x20 : Decrepify, 0x40 : Lower Resist
function NTTMGR_CheckSafe(selfmask, mercmask)
{
if(((selfmask&0x01) && NTT_CheckBelt()) || ((mercmask&0x01) && NTT_CheckMerc()) || NTTMGR_CheckCurse(selfmask, mercmask))
return NTTMGR_VisitTown();
return true;
}
LG
Muddy
|
funktioniert leider nicht.
habe aber automule an und lasse ringe und amus jetzt beim automule droppen lasse aber nicht picke.
bei allen anderen funktionierts wunderbar nur der barb macht probleme.
der gambelt einfach zu oft (alle 5 minuten)
|
|
|
06/17/2011, 12:29
|
#2280
|
elite*gold: 16
Join Date: Apr 2009
Posts: 40
Received Thanks: 1
|
:d ich glaub langsam echt bei mir simmt was nich...der läuft set 3 tagen durch und hat nur 2 uniques gepickt..sonst nix o.0
|
|
|
 |
|
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 20:52.
|
|