Register for your free account! | Forgot your password?

You last visited: Today at 07:10

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release] Muddy's D2NT

Discussion on [Release] Muddy's D2NT within the Diablo 2 Programming forum part of the Diablo 2 category.

Reply
 
Old 01/09/2012, 16:08   #5206
 
mirkoregge's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 3,170
Received Thanks: 1,191
Ist ein bekannter Fehler. Du solltest einfach ein Script nach Mephisto ansetzen oder zu erst Mephisto und danach Andariel machen.
mirkoregge is offline  
Thanks
3 Users
Old 01/09/2012, 17:32   #5207
 
kal_el's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
oder das in der NTmephisto.ntj abschalten.
Quote:
//NTM_MoveTo(me.areaid, 17590, 8069);

//_portal = NTC_FindUnit(NTC_UNIT_OBJECT, 342, 1);

//if(_portal)
// NTM_UsePortal("Portal", 103, "dummy", _portal);
kal_el is offline  
Thanks
4 Users
Old 01/10/2012, 00:52   #5208
 
elite*gold: 0
Join Date: Nov 2011
Posts: 7
Received Thanks: 0
der bot funktioniert großartig vielen dank dafür

hab allerdings noch ein winziges problem bzw eine frage die damit zusammen hängt

ich lasse atm den bot als duett aus einem leader und einen leachfighter laufen
dh der ntbot läuft quasi doppelt auf einem pc
wenn jetzt alles minimiert ist zb loggen sich beite bots nicht ins bnet ein sie warten einfach ohne das pw einzugeben ( einzeln funktionieren beide)

ich muss damit sich beide einloggen mindestens hintereinander die ntmanager maximieren( einzeln)
wenn beide manager maximiert sind machen beide nichts
wär ja auch weiter kein problem aber beim key change also restart bleibt der bot wieder wie oben beschrieben hängen( solang sein ntmanager minimiert ist)
hab jede möglichkeit probiert atm lasse ich den leader maximiert laufen
und der leacher fällt halt weg nach ner zeit

habt ihr ne idee was das problem ist bzw ist der nt überhaupt in der lage so
zu laufen?
danke schonmal

system is win7 ultimate ( vllt liegt es ja dadran)
die bots laufen einzeln einwandfrei
schokotraum is offline  
Old 01/10/2012, 00:55   #5209
 
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
Den D2NT-Manager startet man nur 1x, bei einer 2. Instanz gibt es Probleme...
Um mit mehreren Chars botten zu können, einfach im D2NT-Manager die entsprechenden Profile erstellen.
TheCrazy11 is offline  
Thanks
3 Users
Old 01/10/2012, 00:59   #5210
 
kal_el's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
Quote:
Originally Posted by schokotraum View Post
der bot funktioniert großartig vielen dank dafür

hab allerdings noch ein winziges problem bzw eine frage die damit zusammen hängt

ich lasse atm den bot als duett aus einem leader und einen leachfighter laufen
dh der ntbot läuft quasi doppelt auf einem pc
wenn jetzt alles minimiert ist zb loggen sich beite bots nicht ins bnet ein sie warten einfach ohne das pw einzugeben ( einzeln funktionieren beide)

ich muss damit sich beide einloggen mindestens hintereinander die ntmanager maximieren( einzeln)
wenn beide manager maximiert sind machen beide nichts
wär ja auch weiter kein problem aber beim key change also restart bleibt der bot wieder wie oben beschrieben hängen( solang sein ntmanager minimiert ist)
hab jede möglichkeit probiert atm lasse ich den leader maximiert laufen
und der leacher fällt halt weg nach ner zeit

habt ihr ne idee was das problem ist bzw ist der nt überhaupt in der lage so
zu laufen?
danke schonmal

system is win7 ultimate ( vllt liegt es ja dadran)
die bots laufen einzeln einwandfrei
du darfst keine 2 manager starten!!!
öffne deinen manager -> ADD-> und erstell einfach ein 2.tes profil für deinen leecher.


edit: oh... nur 4 min. zu langsam
kal_el is offline  
Thanks
3 Users
Old 01/10/2012, 09:40   #5211
 
mirkoregge's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 3,170
Received Thanks: 1,191
Ich hab nach Längerem mal wieder eine Frage.
Im Muddys gibts ja ein Shopping-Script für Anya
Code:
MWConfig_Script.push(["MWAnyasBargain.ntj", 10]); MWConfig_ShoppingMinGold = 500000; MWConfig_ShoppingAttempts = 200;
Ich möchte für Classic gerne dieses Script für Drognan adden.
Das Anya-Script sieht ja so aus:
Code:
/**
*	This file was written by 
*	Check the programming section for updates and further scripts
*	Last Update: 15:05 16.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();

	var _npc, _maxAttempts, _startTicks;
	
	if(!NTTM_CheckAct(5, true))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_CheckAct, 24, 5, true);
		return;
	}

	NTTMGR_TownManager();

	if(!NTTM_TownMove("anya"))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_TownMove, 32, "anya");
		return;
	}
	
	if(!NTC_FindUnit(NTC_UNIT_OBJECT, 60, 5))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTC_FindUnit, 35, NTC_UNIT_OBJECT, 60, 5);
		return;
	}
	
	if(MWConfig_ShoppingAttempts > 0)
		_maxAttempts = MWConfig_ShoppingAttempts;
	else
		_maxAttempts = 1E12;
		
	_startTicks = GetTickCount();

	for(var i = _maxAttempts; i >= 0; i--)
	{
		_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ANYA_TOWN, 5);

		if(_npc)
		{
			if(NTT_DoInteract(_npc))
			{
				if(NTT_DoTrade(_npc))
				{
					MWT_DoShopping(_npc);
					me.Cancel(1);
				}
			}
		}
		
		if(NTC_MyGold() < MWConfig_ShoppingMinGold)
		{
			Print("ÿc1Lack of gold - aborting...");
			break;
		}
		
		MWAB_UseRedPortal(121);
		
		if(i % 50 == 0)
			NTA_ClearPosition(25);
		
		MWAB_UseRedPortal(NTC_AREA_ID_ACT_5);
		
		MWC_SetStatusText("ÿc8Attempts: ÿc1" + (_maxAttempts - i) + ((_maxAttempts < 1E12) ? " of " + _maxAttempts : "")," ÿc8[" + MWC_ConvertTicksToTimeString(GetTickCount() - _startTicks) + "]");
	}
	
	Print("ÿc8Finished in: " + MWC_ConvertTicksToTimeString(GetTickCount() - _startTicks));
	
	NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}

function MWAB_UseRedPortal(dest)
{
	var _portal;
	
	if(me.areaid == dest)
		return true;

	_portal = NTC_FindUnit(NTC_UNIT_OBJECT);
	
	if(_portal)
	{
		do
		{
			if(_portal.classid == 60)
			{
				for(var i = 0; i < 20; i++)
				{
					if(me.areaid == dest)
					{
						NTC_PingDelay(100);
						return true;
					}
					
					if(i % 5 == 0)
						NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _portal);
					
					if(i % 10 == 5)
						NTM_GetCloserInt(_portal);
					
					NTC_Delay(200);
				}
			}
		} while(_portal.GetNext());
	}
	
	return false;
}
Ich würd jetzt als Programmier-Anfänger einfach:
Code:
if(!NTTM_TownMove("anya"))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_TownMove, 32, "anya");
		return;
in
Code:
if(!NTTM_TownMove("drognan"))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_TownMove, 32, "drognan");
		return;
und
Code:
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ANYA_TOWN, 5);
in
Code:
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_DROGNAN_TOWN, 2);
ändern.
Würde das so funktionieren?
Oder ganz anders? Der Sternlooper enthält ja einen Shopbot:
Code:
	//#################################################################
	//############################### Shop Bot ########################
	//#############################Einstellungen#######################
	//#################################################################

// base shop d2x £¨if need shop d2c, set this true £©
var is_D2C = false;

// shop npc number£¬can shop multi npc, just need push npc number uself.
var shop_npcNumber = new Array();
//shop_npcNumber.push( 1 );
shop_npcNumber.push( 4 );
//shop_npcNumber.push( 5 );
//shop_npcNumber.push( 13 );
//shop_npcNumber.push( 12 );
// Act 1: Akara(1),    Charsi(2),  Gheed(3)
// Act 2: Drognan(4),  Fara(5),    Elzix(6)
// Act 3: Ormus(7),    Hratli(8),  Asheara(9)
// Act 4: Jamella(10), Halbu(11)
// Act 5: Anya(12),    Larzuk(13), Malah(14)

// auto kill anya red tp undead
var autoClear = true;
// shop anya go wp, if u want go wp, set it to true£¬base do not go wp
var anyaGoWp = false;

// get error then £º"quit game" or "come on"£¬base is "come on"
var errorGoQuitGame = false;
Code:
//############################################################################
	//################################# Shopping #################################
	//############################################################################

	//NTConfig_Script.push("NTShopbot.ntj");
NTShopbot:
Code:
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//                                                                                                        //
//                				                                                          //
//                                                Edit BY Lamobchan    2010/1/20                          //
//                                                Change For D2NT 3.1  2010/4/27                          //
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 如果你不是很熟悉的话,请不要改动,因为现在这里没啥要设置的!
// if u don't know the javascript codes, do not edit this!
//                                                lambochan

// 下列的物品忽略...
var shop_ignoreList = "aqv,cqv,key,tbk,ibk,tsc,isc,yps,vps,wms,hp1,hp2,hp3,hp4,hp5,mp1,mp2,mp3,mp4,mp5";

// kill再生尸,不用设置
var killUndear = false;

// anya红门坐标,不必理会
var anyaTPX = 10068;
var anyaTPY = 13308;

// 发生错误的情况(用来监控是否退出)
var errorMode = -1;
var sameErrorCount = 0;

function NTMain()
{
    // 初始化
    Include("libs/common/NTCommon.ntl");
    NTC_IncludeLibs();
    NTC_IncludeConfig("NTBot/char_configs");
    NT_LoadConfig();
    NTSI_LoadNIPFiles("NTBot/item_configs");
    NTA_Initialize();
    NTTMGR_TownManager();
    

    NTC_Delay( 2000 );
    NT_Shoping_OverHead( "Now begin shoping..." );

    // shoping
    NT_Shoping();

    // over.
    NT_Shoping_Msg( "SCRIPT_END" );
}

function NT_Shoping()
{
    var npcName = new Array( "akara",   "charsi", "gheed",   /* act1 */
                             "drognan", "fara",   "elzix",   /* act2 */
                             "ormus",   "hratli", "asheara", /* act3 */
                             "jamella", "halbu" );           /* act4 */
                          // "anya",    "larzuk", "malah" ); /* act5 */
    if( !is_D2C ){ // d2x, need add act5 npc name
        npcName.push( "anya" );
        npcName.push( "larzuk" );
        npcName.push( "malah" );
    }
    
    var npcID = [NTC_NPC_ID_AKARA,     NTC_NPC_ID_CHARSI, NTC_NPC_ID_GHEED,
                 NTC_NPC_ID_DROGNAN,   NTC_NPC_ID_FARA,   NTC_NPC_ID_ELZIX,
                 NTC_NPC_ID_ORMUS,     NTC_NPC_ID_HRATLI, NTC_NPC_ID_ASHEARA,
                 NTC_NPC_ID_JAMELLA,   NTC_NPC_ID_HALBU,
                 NTC_NPC_ID_ANYA_TOWN, NTC_NPC_ID_LARZUK, NTC_NPC_ID_MALAH];
                 
    var j;
    var num;
    var npc;
    var npcCount;
    var shopItems;
    var shopRush = 0;
    var buyItems = new Array();
    var showItems = new Array();


    if( shop_npcNumber.length <= 0 ){
        NT_Shoping_Msg( "have not npc list for shoping, plz check it!" );
        return;
    }
    
    for( ; ; ){
        num = 0;
        npcCount = shop_npcNumber.length;
        do{
            if( shopRush++ > 30 ){
                RunGC();
                shopRush = 0;
            }

            if( NTTMGR_CheckScrolls( 1 ) < 4 )
                NTTMGR_TownManager();

            if( !NT_Shoping_CheckACT( shop_npcNumber[num] ) ){
                NT_Shoping_Msg( "NT_Shoping_CheckACT()", 1 );
                break;
            }
            
            if( !NTTM_TownMove( npcName[shop_npcNumber[num] - 1] ) ){
                NT_Shoping_Msg( "NTTM_TownMove()", 2 );
                break;
            }
            
            npc = NTC_FindUnit( NTC_UNIT_NPC, npcID[shop_npcNumber[num] - 1], 2 );
            if( npc ){
                if( !NTT_DoInteract( npc ) ){
                    NT_Shoping_Msg( "NTT_DoInteract()", 3 );
                    break;
                }
                
                if( !NTT_DoTrade( npc ) ){
                    NT_Shoping_CancelMenu();
                    NT_Shoping_Msg( "!NTT_DoTrade()", 4 );
                    break;
                }
                
                shopItems = npc.GetItems();
                if( shopItems ){
                    for( j = 0; j < shopItems.length; ++j ){
                        if( shop_ignoreList.indexOf( shopItems[j] ) == -1 ){
                            if( NTIPCheckItem( shopItems[j] ) == 1 ){
                                buyItems.push( shopItems[j] );
                                var mark = new markItems( shopItems[j].quality, shopItems[j].name, shopItems[j].itemdesc );
                                showItems.push( mark );
                            }
                        }
                    }
                } // end if(shopItems)
                
                if( buyItems.length > 0 ){
                    for( j = 0; j < buyItems.length; ++j ){
                        if( buyItems[j].GetItemCost( 0, npcID[shop_npcNumber[num] - 1] ) > NTC_MyGold() ){
                            NT_Shoping_CancelMenu();
                            NT_Shoping_Loop( "have not money buy an item now." );
                        }
                        if( NTT_CheckSpace( buyItems[j].xsize, buyItems[j].ysize ) ){
                            if( !NTT_ShopItem( buyItems[j], npc, 2 ) ){
                                NT_Shoping_CancelMenu();
                                NT_Shoping_Loop( "have an item can not buy it." );
                            }
                        } // end if(NTT_Ch
                        else {
                            NT_Shoping_CancelMenu();
                            NTTMGR_VisitStash();
                            
                            if( !NTT_CheckSpace( buyItems[j].xsize, buyItems[j].ysize ) ){
                                NT_Shoping_Loop( "have not space save items, and have an item can not buy it." );
                            }
                            
                            if( !NTTM_TownMove( npcName[shop_npcNumber[num] - 1] ) ){
                                NT_Shoping_Loop( "have an item can not buy it." );
                            }
                            
                            if( !NTT_DoInteract( npc ) ){
                                NT_Shoping_Loop( "have an item can not buy it." );
                            }
                            
                            if( !NTT_DoTrade( npc ) ){
                                NT_Shoping_CancelMenu();
                                NT_Shoping_Loop( "have an item can not buy it." );
                            }
                            
                            if( !NTT_ShopItem( buyItems[j], npc, 2 ) ){
                                NT_Shoping_CancelMenu();
                                NT_Shoping_Loop( "have an item can not buy it." );
                            }
                        } // end else
                        NTC_SendLogToOOG( NTC_LOG_ITEM, "Buy " + NTC_ItemQualityToMGRColor[showItems[j].quality] + "[" + showItems[j].name + "] " + ";"  + showItems[j].itemdesc + 
                                          " [" + npcName[shop_npcNumber[num] - 1].charAt( 0 ).toUpperCase() + 
                                          npcName[shop_npcNumber[num] - 1].substring( 1 ) + "]" );

                    } // end for( j
                    
                    buyItems.length = 0;
                    showItems.length = 0;
                }
                // 关闭菜单
                NT_Shoping_CancelMenu();
            } // end if(npc)
            
            // 出城
            if( !NT_Shoping_InOutTown(shop_npcNumber[num], num ) ){
                NT_Shoping_Msg( "NT_Shoping_InOutTown()", 5 );
                break;
            }
            
            // next npc
            num++;
        
        } while( --npcCount );
        
    }
}

function NT_Shoping_InOutTown(num, count)
{
    if( shop_npcNumber.length > 1 ){                    // shop几个
        var outTown = NT_Shoping_GoNextNpc(num, count); // 看看要不要出城,因为要刷新npc必须在该act出城..
        if( !outTown )                                  // 不用。
            return true;
    }

    if( num == 12 && !anyaGoWp ){ // anya go red tp
        if( !NTTM_TownMove( "portal" ) ){
            NT_Shoping_Msg( "NTTM_TownMove()", 6 );
            return false;
        }
        if( !NT_Shoping_UsePortal( "Portal", 121 ) ){
            NT_Shoping_Msg( "NT_Shoping_UsePortal()", 7 );
            return false;
        }
        
        // kill再生尸
        if( autoClear ){
            killUndear = true;
            NTP_DoPrecast();
            // 有“吸星大法”和TP的话,先吸掉一些......
            if( NTC_GetSkillLevel( 124 ) && NTC_GetSkillLevel( 54 ) ){
                if( !NTM_MoveTo( me.areaid, 10069, 13293 ) )
                    return false;
                NTC_PutSkill( 124, NTC_HAND_RIGHT );
                NTC_PingDelay( 2000 );
                
                if( !NTM_MoveTo( me.areaid, me.x - 15, me.y - 15 ) )
                    return false;
            } // end if( NTC_Ch
            
            if( NT_Shoping_CheckUndear( 20 ) ){
                if( NTA_ClearPosition( 20 ) )
                    NTSI_PickItems();
                if( NTC_GetSkillLevel( 124 ) && NT_Shoping_CheckCorpses( 8 ) ){
                    NTC_PutSkill( 124, NTC_HAND_RIGHT );
                    NTC_PingDelay( 2000 );
                }
                NTC_PutSkill( 115, NTC_HAND_RIGHT );
            }
            
            if( !NTM_MoveTo( me.areaid, anyaTPX, anyaTPY ) )
                return false;
                
            autoClear = false;
        }
        // 门口有怪的话,必须杀光
        if( killUndear && NT_Shoping_CheckUndear( 20 ) ){
            if( NTA_ClearPosition( 20 ) )
                NTSI_PickItems();
            if( NTC_GetSkillLevel( 124 ) && NT_Shoping_CheckCorpses( 8 ) ){
                NTC_PutSkill( 124, NTC_HAND_RIGHT );
                NTC_PingDelay( 2000 );
            }
            if( !NTM_MoveTo( me.areaid, anyaTPX, anyaTPY ) )
                return false;
            NTC_PutSkill( 115, NTC_HAND_RIGHT );
        }
        // 走人回act5 town
        if( !NT_Shoping_UsePortal( "Portal", 109 ) ){
            NT_Shoping_Msg( "NT_Shoping_UsePortal()", 8 );
            return NT_Shoping_CheckACT();
        }
    } else {
        var ok = false;
        if( !NTTM_TownMove( "waypoint" ) ){
            NT_Shoping_Msg( "NTTM_TownMove()", 9 );
            return false;
        }
        switch( me.act ){
        case 1 :
            if( !NT_Shoping_TakeWaypoint( 35 ) )
                return false;
            ok = NT_Shoping_TakeWaypoint( 1 );
            break;
        case 2 :
            if( !NT_Shoping_TakeWaypoint( 48 ) ){
                return false;
            }
            ok = NT_Shoping_TakeWaypoint( 40 );
            break;
        case 3 :
            if( !NT_Shoping_TakeWaypoint( 101 ) )
                return false;
            ok = NT_Shoping_TakeWaypoint( 75 );
            break;       
        case 4 :
            if( !NT_Shoping_TakeWaypoint( 107 ) )
                return false;
            ok = NT_Shoping_TakeWaypoint( 103 );
            break;
        case 5 :
            if( !NT_Shoping_TakeWaypoint( 129 ) )
                return false;
            ok = NT_Shoping_TakeWaypoint( 109 );
            break;
        }
        if( !ok ){ // give a chance do it again..
            return NT_Shoping_CheckACT();
        }
    }
    return true;
}

function NT_Shoping_CheckMonster( target )
{
    return ( target.hp > 0 && target.mode != 0 && target.mode != 12 && GetDistance( me, target ) != -1 );
}


function NT_Shoping_CheckCorpses( range )
{
    var undear = NTC_FindUnit( NTC_UNIT_MONSTER, 438, 2 );
    if( undear ){
        do{
            if( !NT_Shoping_CheckMonster( undear ) && GetDistance( me, undear ) < range )
                return true;
        } while( undear.GetNext() );
    }
    return false;
}

function NT_Shoping_CheckUndear( range )
{
    var undear = NTC_FindUnit( NTC_UNIT_MONSTER, 438, 2 );
    if( undear ){
        do{
            if( GetDistance( me, undear ) < range )
                return true;
        } while( undear.GetNext() );
    }
    return false;
}

function NT_Shoping_Loop( str )
{
    var hi = "NTShopbot.ntj : " + str;
    NTC_SendLogToOOG( hi );
    var tempX = me.x;
    var tempY = me.y;
    for( ; ; ){
        for( var i = 0; i < 20; ++i ){
            NT_Shoping_OverHead( str );
            
            var xx = Random( -3, 3 );
            var yy = Random( -3, 3 );
            
            NTC_DoClick( NTC_CLICK_LDOWN, NTC_SHIFT_NONE, xx, yy );
            NTC_Delay(500);
            
            NTC_Delay( 3000 );
            
            NTC_DoClick( NTC_CLICK_LDOWN, NTC_SHIFT_NONE, tempX, tempY );
            NTC_Delay(500);
        }
    }
}

function NT_Shoping_Msg( str, em )
{
    errorGoQuitGame ? NTC_SendMsgToScript( "NTBotGame.ntj", str ) : 
    ( NT_Shoping_CheckError( em ) ? NTC_SendMsgToScript( "NTBotGame.ntj", str ) : 
    NTC_SendLogToOOG( NTC_LOG_COMMON, "ÿE00000" + str ) );
}

function NT_Shoping_CheckError( em )
{
    if( errorMode == em ){
        sameErrorCount++;
        if( sameErrorCount >= 5 )
            return true;
    } else {
        errorMode = em;
        sameErrorCount = 0;
    }
    if( em == 3 ){ // maybe mouse lock
        // don't know how to fix now....
    }
    return false;
}

function NT_Shoping_CheckACT(npcNum)
{
    var townid = [1,40,75,103,109];
    if( !NTC_InTown() ){
        if( !NT_Shoping_MakeTP( townid[me.act-1] ) )
            return false;
    }
    if( arguments.length < 1 )
        return true;

    var act = NT_Shoping_CheckNPC( npcNum );
    if( act == 0 )
        return false;

    if( act != me.act ){
        if( !NTTM_TownMove( "waypoint" ) )
            return false;
        if( !NT_Shoping_TakeWaypoint( townid[act-1] ) )
            return false;
    }
    return true;
}


function NT_Shoping_GoNextNpc(npcNum, count)
{
    var cur = NT_Shoping_CheckNPC(npcNum);
    var next = NT_Shoping_CheckNPC(shop_npcNumber[count+1]);
    return ( next == cur ? false : true ); // 相等就不用出城

}

function NT_Shoping_CheckNPC( npcNum )
{
    if( is_D2C && npcNum > 11 )
        return 0;

    switch( npcNum ){
    case 1 :
    case 2 :
    case 3 :
        return 1;
    case 4 :
    case 5 :
    case 6 :
        return 2;
    case 7 :
    case 8 :
    case 9 :
        return 3;
    case 10:
    case 11:
        return 4;
    case 12:
    case 13:
    case 14:
        return 5;
    }
    return 0;
}

function NT_Shoping_OverHead( str )
{
    Say( "!" + str );
    NTC_Delay( 200 );
}

// 函数关闭打开的菜单
function NT_Shoping_CancelMenu()
{
    var i;
    while (GetUIState(0x01) ||
           GetUIState(0x08) ||
           GetUIState(0x0C) ||
           GetUIState(0x17) ||
           GetUIState(0x19) ||
           GetUIState(0x1A) ||
           GetUIState(0x24)){
        for( i = 0; i < 40; ++i ){
            if( ( i % 20 ) == 0 )
                me.Cancel(1);

            NTC_Delay( 200 );

            if( !GetUIState(0x01) &&
                !GetUIState(0x08) &&
                !GetUIState(0x0C) &&
                !GetUIState(0x17) &&
                !GetUIState(0x19) &&
                !GetUIState(0x1A) &&
                !GetUIState(0x24)){
                NTC_PingDelay(500);
                break;
            }
        }
    }
    NTC_PingDelay( 500 );
}

function markItems( quality, name, itemdesc )
{
    this.quality = quality;
    this.name = name;
    this.itemdesc = itemdesc;
}


function NT_Shoping_TakeWaypoint( areaid )
{
    var _unit;
    if( me.areaid == areaid )
        return true;
    _unit = NTM_GetWaypointInt();
    if( !_unit )
        return false;
    if( NTC_InTown() )
        me.Cancel( 1 );
    for( var i = 0 ; i < 20 ; ++i ){
        if( ( i % 10 ) == 0 ){
            NTC_DoClick( NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _unit );
        }
        NTC_Delay(200);
        if( GetUIState( 0x14 ) ){
            if( me.TakeWaypoint( areaid ) ){
                NTC_PingDelay( NTConfig_AreaDelay );
                return true;
            }
            break;
        }
    }

    return false;
}

function NT_Shoping_UsePortal( how, dest, ownername, portal )
{
    if( me.areaid == dest )
        return true;
    if( NTC_InTown() )
        me.Cancel( 1 );
    if( NT_Shoping_ChangeAreaInt( how, dest, ownername, portal ) ){
        NTC_PingDelay( NTConfig_AreaDelay );
        return true;
    }
    return false;
}

function NT_Shoping_ChangeAreaInt( how, dest, ownername, myportal )
{
    var _portal;
    var _playerportal = false;
    var _prearea;

    if( how == "BluePortal" ){
        if( !ownername )
        ownername = me.name;
        _playerportal = true;
    }

    if( arguments.length > 3 && myportal )
        _portal = myportal;
    else {
        _portal = NTM_FindCorrectPortalInt( _playerportal, ownername );
        if( _portal < 0 )
            _portal = NTM_FindPortalAreaInt( dest );
            if( _portal == -1 )
                return false;
    }
    if( !_portal )
        return false;
    _prearea = me.areaid;

    for( var i = 0 ; i < 20 ; ++i ){
        if( ( i % 5 ) == 0 ){
//            if( i == 10 )
//                NTM_MoveTo( _prearea, me.x + 6, me.y + 6 );
            NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _portal);
        }
        NTC_Delay(200);
        if( me.areaid != _prearea )
            break;
    }
    while( me.areaid == 0 )
        NTC_Delay(200);
    return ( me.areaid == dest );
}

function NT_Shoping_MakeTP(dest)
{
    var _usetp = true;
    var _portal;
    var _portalname;

    if( NTC_InTown() )
       return true;
    if( arguments.length < 1 )
        _usetp = false;
    if( !NTC_CastSkill( 220, NTC_HAND_RIGHT ) )
        return false;
    NTC_PingDelay( 500 );

    _portalname = GetLocaleString( 3226 );
    for( var i = 0 ; i <= 2 ; ++i ){
        _portal = NTC_FindUnit( NTC_UNIT_OBJECT, _portalname );
        if( _portal ){
            do{
                if( _portal.mode == 2 && NTC_CheckOwner( _portal ) ){
                    if( _usetp )
                        return NT_Shoping_UsePortal( "BluePortal", dest, me.name, _portal );

                    return true;
                }
            } while( _portal.GetNext() );
        }
        if( i < 2 )
            NTC_Delay(500);
    }
    return false;
}
Müsste halt wieder NTBotGame mit MWBotGame ersetzt werden.
Lieg ich da richtig?
mirkoregge is offline  
Old 01/10/2012, 10:30   #5212
 
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
Den Shopbot für Anya kannst du nicht so ohne weiteres anpassen, da im 2. Akt kein rotes Portal ist!

Du kannst es umgehen, wenn du den Bot über einen WP in ein anderes Gebiet des selben Aktes schickst z.B. Kanalisation lvl 2.
Das würde dann so ausschauen:
Code:
/**
*	This file was written by 
*	modified for Drognan by 
*	Check the programming section for updates and further scripts
*	Last Update: 10:30 10.01.2012
*/

function NTMain()
{
	Include("libs/common/NTCommon.ntl");
	
	NTC_IncludeLibs();
	NTC_IncludeConfig("NTBot/char_configs");

	NT_LoadConfig();
	NTSI_LoadNIPFiles("NTBot/item_configs");

	MWC_Initialize();

	var _npc, _maxAttempts, _startTicks;
	
	if(!NTTM_CheckAct(2, true))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_CheckAct, 22, 2, true);
		return;
	}

	NTTMGR_TownManager();

	if(!NTTM_TownMove("drognan"))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_TownMove, 30, "drognan");
		return;
	}
	
	if(!NTC_FindUnit(NTC_UNIT_OBJECT, 60, 5))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTC_FindUnit, 36, NTC_UNIT_OBJECT, 60, 5);
		return;
	}
	
	if(MWConfig_ShoppingAttempts > 0)
		_maxAttempts = MWConfig_ShoppingAttempts;
	else
		_maxAttempts = 1E12;
		
	_startTicks = GetTickCount();

	for(var i = _maxAttempts; i >= 0; i--)
	{
		_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_DROGNAN, 5);

		if(_npc)
		{
			if(NTT_DoInteract(_npc))
			{
				if(NTT_DoTrade(_npc))
				{
					MWT_DoShopping(_npc);
					me.Cancel(1);
				}
			}
		}
		
		if(NTC_MyGold() < MWConfig_ShoppingMinGold)
		{
			Print("ÿc1Lack of gold - aborting...");
			break;
		}
		
		if(!NTTM_TownMove("waypoint"))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTTM_TownMove, 71, "waypoint");
			return;
		}

		if(!NTM_TakeWaypoint(48))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeWaypoint, 77, 48);
			return;
		}
		
		if(!NTTM_CheckAct(2))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTTM_CheckAct, 83, 2);
			return;
		}
		
		if(!NTTM_TownMove("drognan"))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTTM_TownMove, 89, "drognan");
			return;
		}
		
		if(!NTC_FindUnit(NTC_UNIT_OBJECT, 60, 5))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTC_FindUnit, 95, NTC_UNIT_OBJECT, 60, 5);
			return;
		}
	
		MWC_SetStatusText("ÿc8Attempts: ÿc1" + (_maxAttempts - i) + ((_maxAttempts < 1E12) ? " of " + _maxAttempts : "")," ÿc8[" + MWC_ConvertTicksToTimeString(GetTickCount() - _startTicks) + "]");
	}
	
	Print("ÿc8Finished in: " + MWC_ConvertTicksToTimeString(GetTickCount() - _startTicks));
	
	NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}
Alternativ wäre auch noch die Variante mit dem Aus-der-Stadt-laufen, das kann ich jetzt nicht ohne testen schreiben.

EDIT: Ich habe viele Überprüfungen eingebaut, die man eigentlich nicht bräuchte, ich habe es aber für schön gefunden, dass man weiß, wo ein Fehler auftritt!
TheCrazy11 is offline  
Thanks
3 Users
Old 01/10/2012, 10:54   #5213
 
mirkoregge's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 3,170
Received Thanks: 1,191
Vielen Dank dafür, ich werds dann gleich mal testen, wenn mein Pala Level 55 ist.
mirkoregge is offline  
Old 01/10/2012, 11:01   #5214
 
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
Ansonsten sollte das Script vom Sternenlooper auch gehen, ich glaub der Etal hat auch ein Shopscript dabei!
TheCrazy11 is offline  
Old 01/10/2012, 13:04   #5215
 
mirkoregge's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 3,170
Received Thanks: 1,191
Also ich habs jetzt mal getestet. Bot beginnt zu shoppen. Nachdem er mit Drognan 1x gesprochen hat und Richtung WP geht, friert das Spiel ein. o.O
Wegpunkte hat er alle in Akt 2. Irgend eine Idee?

Edit: Hab jetzt die SternlooperVariante probiert.
Fehler:
mirkoregge is offline  
Old 01/10/2012, 13:25   #5216
 
elite*gold: 0
Join Date: Mar 2009
Posts: 108
Received Thanks: 2
hallo :-))

also hab den bot eingestellt soweit...
aba sobald ich ihn starte kommt im manager schon der erste fehler.. [AM] Status: not ready!


er läuft dennoch also er startet game etc.. macht andy und Gräfin dann chrasht das game ohne weitere fehlermeldung oda sonst was .. .steht dann im manager das gam(01) was finished successfully!

hat jemand ne ahnung? =)
kundrin is offline  
Old 01/10/2012, 13:28   #5217
 
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
[AM] Status: not ready! ist kein Fehler, nur eine Info, dass du Automule nicht aktiviert hast.

Welche Scripte hast du aktiviert?
Poste mal deine Config in [code]-Box!
TheCrazy11 is offline  
Old 01/10/2012, 13:35   #5218
 
elite*gold: 0
Join Date: Mar 2009
Posts: 108
Received Thanks: 2
Code:
/**
*	This file was modified by 
*	Check the programming section for updates and further scripts
*	Last Update: 23:10 29.08.2011
*
*	Hotkey				Description
*
*	Pause/Break			Pauses the current bot script.
*	Page up (PgUp)		Skips the current bot script.
*	Page down (PgDn)	Repeats the previous bot script
*	Home (Pos1)			Shows your current coordinates and areaid.
*	End					Shows current ping in status text bar.
*	Insert (Ins)		Logs all items on your char to either XML or TXT.
*	Delete (Del)		Exits the game. NOTE: Always use this key to leave a game!
*	Backspace			Force trigger auto mule. NOTE: Won't work unless auto mule is actually activated for the current char.
*/

Include("NTBot/char_configs/MWConfig_GlobalSettings.ntl");

var NTConfig_UseRedemptionHP;
var NTConfig_UseRedemptionMP;

function NT_LoadConfig()
{
	MW_LoadGlobalSettings();
	
	//------------------------------------------------------------------------------
	//
	// Run Configuration
	//
	//------------------------------------------------------------------------------
	
	// Use the following syntax for activating botscripts: MWConfig_Script.push([<ScriptName>, <Script runtime in minutes (0 is infinite)>]);
	// ***************** Current schedule ******************

	MWConfig_Script.push(["NTAndariel.ntj", 5]);
	//MWConfig_Script.push(["NTMausoleum.ntj", 10]); MWConfig_ClearPathSpectypes.Mausoleum = 0; MWConfig_ClearAreaSpectypes.Mausoleum = 0x01; NTConfig_KillBloodRaven = true;
	//MWConfig_Script.push(["NTPit.ntj", 10]); MWConfig_ClearPathSpectypes.Pit = 0; MWConfig_ClearAreaSpectypes.Pit = 0x01; NTConfig_ClearPitLevel1 = 2; // 0 : don't clear, 1 : clear path only, 2 : clear all
	MWConfig_Script.push(["NTCountess.ntj", 5]); MWConfig_ClearPathSpectypes.Countess = 0; MWConfig_ClearAreaSpectypes.Countess = 0;
	//MWConfig_Script.push(["NTSummoner.ntj", 5]); NTConfig_KillFireEye = false; MWConfig_ClearPathSpectypes.Summoner = 0;
	//MWConfig_Script.push(["NTAncientTunnels.ntj", 10]); MWConfig_ClearPathSpectypes.AncientTunnels = 0x01; MWConfig_ClearAreaSpectypes.AncientTunnels = 0x01;
	//MWConfig_Script.push(["MWKurastSewers.ntj", 5]); MWConfig_ClearPathSpectypes.KurastSewers = 0;
	//MWConfig_Script.push(["NTTravincal.ntj", 5]);
	//MWConfig_Script.push(["NTMephisto.ntj", 5]); MWConfig_OpenMephistoChest = true; MWConfig_MephistoClearArea = false;
	MWConfig_Script.push(["MWSuperChests.ntj", 20]); MWConfig_SuperChestClearAreaRadius = 5; MWConfig_SuperChestAreas = ["Arachnid Lair", "Swampy Pit Level 3", "Flayer Dungeon", "Abbadon", "Pit of Acheron", "Drifter Cavern", "Infernal Pit", "Icy Cellar"];
	//MWConfig_Script.push(["NTNihlathak.ntj", 5]); MWConfig_ClearPathSpectypes.Nihlathak = 0; NTConfig_PindleskinExtension = false; MWConfig_SkipOnTombVipers = true;
	//MWConfig_Script.push(["NTBaal.ntj", 10]); NTConfig_KillBaal = true; MWConfig_SkipBaalOnDolls = true; MWConfig_SkipBaalOnSouls = false; MWConfig_DoBaalPreAttack = true;
	//MWConfig_Script.push(["NTDiablo.ntj", 10]); MWConfig_KillFullInfectorMob = true; MWConfig_StartAtStar = false; MWConfig_IgnoreSealOpeningErrors = false; MWConfig_FastDia = true;

	// *****************************************************
	
	//------------------------------------------------------------------------------
	// Available Scripts
	//------------------------------------------------------------------------------
	/* NOTE:
	// The scripts below are actually commented out; to add a script, copy one of the lines below and add it to the current schedule above. ;)
	// You should also get yourself a decent editor that supports syntax highlighting for JavaScript, I'd recommend Notepad++. (http://notepad-plus-plus.org/download/)
	// *********************** Act I ***********************
	
	//MWConfig_Script.push(["NTMausoleum.ntj", 10]); MWConfig_ClearPathSpectypes.Mausoleum = 0; MWConfig_ClearAreaSpectypes.Mausoleum = 0x01; NTConfig_KillBloodRaven = true;
	//MWConfig_Script.push(["NTTristram.ntj", 10]); NTConfig_KillRakanishu = true;
	//MWConfig_Script.push(["NTHole.ntj", 10]); MWConfig_ClearPathSpectypes.Hole = 0; MWConfig_ClearAreaSpectypes.Hole = 0x01; NTConfig_ClearHoleLevel1 = 1; // 0 : don't clear, 1 : clear path only, 2 : clear all
	//MWConfig_Script.push(["NTTreehead.ntj", 10]);
	//MWConfig_Script.push(["MWColdcrow.ntj", 10]); MWConfig_ClearCaveMode = 0; // 0: Only kill coldcrow; 1: Clear Cave Level 1; 2: Clear both Cave Level 1 & 2
	//MWConfig_Script.push(["NTCountess.ntj", 5]); MWConfig_ClearPathSpectypes.Countess = 0; MWConfig_ClearAreaSpectypes.Countess = 0;
	//MWConfig_Script.push(["NTPit.ntj", 10]); MWConfig_ClearPathSpectypes.Pit = 0; MWConfig_ClearAreaSpectypes.Pit = 0x01; NTConfig_ClearPitLevel1 = 2; // 0 : don't clear, 1 : clear path only, 2 : clear all
	//MWConfig_Script.push(["NTAndariel.ntj", 10]);
	
	// *********************** Act II **********************
	
	//MWConfig_Script.push(["NTRadament.ntj", 10]); MWConfig_ClearPathSpectypes.Radament = 0;
	//MWConfig_Script.push(["MWMaggotsLair.ntj", 10]); MWConfig_ClearPathSpectypes.MaggotsLair = 0; MWConfig_ClearAreaSpectypes.MaggotsLair = 0x01;
	//MWConfig_Script.push(["NTAncientTunnels.ntj", 10]); MWConfig_ClearPathSpectypes.AncientTunnels = 0; MWConfig_ClearAreaSpectypes.AncientTunnels = 0x01;
	//MWConfig_Script.push(["NTSummoner.ntj", 5]); NTConfig_KillFireEye = false; MWConfig_ClearPathSpectypes.Summoner = 0;
	MWConfig_Script.push(["NTDuriel.ntj", 10]); MWConfig_ClearPathSpectypes.Duriel = 0;
	
	// ********************** Act III **********************
	
	//MWConfig_Script.push(["MWFlayerJungle.ntj", 10]); MWConfig_ClearAreaSpectypes.FlayerJungle = 0x01;
	//MWConfig_Script.push(["MWKurastSewers.ntj", 5]); MWConfig_ClearPathSpectypes.KurastSewers = 0;
	//MWConfig_Script.push(["MWKurastTemples.ntj", 5]); MWConfig_ClearPathSpectypes.KurastTemples = 0; MWConfig_ClearAreaSpectypes.KurastTemples = 0x01;
	//MWConfig_Script.push(["NTTravincal.ntj", 5]);
	//MWConfig_Script.push(["NTMephisto.ntj", 5]); MWConfig_OpenMephistoChest = true; MWConfig_MephistoClearArea = true;
	
	// *********************** Act IV **********************
	
	//MWConfig_Script.push(["NTIzual.ntj", 5]); MWConfig_ClearPathSpectypes.Izual = 0;
	//MWConfig_Script.push(["MWRiverOfFlame.ntj", 10]); MWConfig_ClearAreaSpectypes.RiverOfFlame = 0x01;
	//MWConfig_Script.push(["NTHephasto.ntj", 10]); MWConfig_ClearPathSpectypes.Hephasto = 0;
	//MWConfig_Script.push(["NTDiablo.ntj", 10]); MWConfig_KillFullInfectorMob = true; MWConfig_StartAtStar = false; MWConfig_IgnoreSealOpeningErrors = false; MWConfig_FastDia = true;
	
	// *********************** Act V ***********************
	
	//MWConfig_Script.push(["MWAbbadon.ntj", 10]); MWConfig_ClearPathSpectypes.Abbadon = 0; MWConfig_ClearAreaSpectypes.Abbadon = 0x01;
	//MWConfig_Script.push(["MWPitOfAcheron.ntj", 10]); MWConfig_ClearPathSpectypes.PitOfAcheron = 0; MWConfig_ClearAreaSpectypes.PitOfAcheron = 0x01;
	//MWConfig_Script.push(["MWInfernalPit.ntj", 10]); MWConfig_ClearPathSpectypes.InfernalPit = 0; MWConfig_ClearAreaSpectypes.InfernalPit = 0x01;
	//MWConfig_Script.push(["MWHallsOfPain.ntj", 15]); MWConfig_ClearAreaSpectypes.HallsOfPain = 0x01; MWConfig_ClearHallsOfAnguish = true;
	//MWConfig_Script.push(["NTPindleskin.ntj", 5]); NTConfig_NihlathakExtension = false; MWConfig_SkipOnTombVipers = true;
	MWConfig_Script.push(["NTEldritch.ntj", 5]); NTConfig_ShenkExtension = true;
	//MWConfig_Script.push(["NTThreshSocket.ntj", 5]); MWConfig_ClearPathSpectypes.ThreshSocket = 0;
	//MWConfig_Script.push(["NTFrozenRiver.ntj", 10]); MWConfig_ClearPathSpectypes.FrozenRiver = 0; MWConfig_ClearAreaSpectypes.FrozenRiver = 0x01;
	//MWConfig_Script.push(["NTGlacialTrail.ntj", 10]); MWConfig_ClearPathSpectypes.GlacialTrail = 0; MWConfig_ClearAreaSpectypes.GlacialTrail = 0x01; 
	//MWConfig_Script.push(["NTIcyCellar.ntj", 5]); MWConfig_ClearPathSpectypes.IcyCellar = 0; MWConfig_ClearAreaSpectypes.IcyCellar = 0x01;
	//MWConfig_Script.push(["NTNihlathak.ntj", 5]); MWConfig_ClearPathSpectypes.Nihlathak = 0; NTConfig_PindleskinExtension = false; MWConfig_SkipOnTombVipers = true;
	//MWConfig_Script.push(["MWWorldstoneKeep.ntj", 10]); MWConfig_ClearAreaSpectypes.WorldstoneKeep = 0x01; MWConfig_SkipLevelOnWitches = true; MWConfig_SkipLevelOnSouls = false; MWConfig_SkipLevelOnDeathLords = true;
	//MWConfig_Script.push(["NTBaal.ntj", 10]); NTConfig_KillBaal = true; MWConfig_SkipBaalOnDolls = true; MWConfig_SkipBaalOnSouls = false; MWConfig_DoBaalPreAttack = true; MWConfig_ClearPathSpectypes.Baal = 0;
	
	// *********************** Misc ************************
	
	MWConfig_Script.push(["MWAuraStack.ntj", 10]); MWConfig_StackRepetitions = 100; MWConfig_ResetMercWeaponAfterStacking = false;
	//MWConfig_Script.push(["MWSuperChests.ntj", 20]); MWConfig_SuperChestClearAreaRadius = 10; MWConfig_SuperChestAreas = ["Cave Level 2", "Mausoleum", "Hole Level 2", "Pit Level 2", "Sewers Level 3", "Halls of the Dead Level 2", "Stony Tomb Level 2", "Maggot's Lair Level 3", "Ancient Tunnels", "Tal Rasha's Tomb", "Arachnid Lair", "Swampy Pit Level 3", "Flayer Dungeon", "Sewers Level 2", "Abbadon", "Pit of Acheron", "Drifter Cavern", "Infernal Pit", "Icy Cellar", "Halls of Pain"];
	//MWConfig_Script.push(["MWRush.ntj", 0]); MWConfig_IsRusher = true;
	MWConfig_Script.push(["MWWaypointCatcher.ntj", 0]); MWConfig_WaypointCatcherActs = [1, 2, 3, 4, 5]; MWConfig_TPWaypoints = true; MWConfig_SkipHallsOfPain = true; MWConfig_ClearWaypointPaths = false; 
	//MWConfig_Script.push(["MWIdleMode.ntj", 0]); MWConfig_IdleModeRuntime = 5; // Runtime in Minutes
	//MWConfig_Script.push(["NTCows.ntj", 10]);
	//MWConfig_Script.push(["MWBloodyRejuvs.ntj", 10]);
	//MWConfig_Script.push(["MWOrganHarvest.ntj", 10]); MWConfig_EnterInvalidUberPortals = true; MWConfig_PauseOnLackOfKeys = false; MWConfig_IntendedUberPortal = 0; // Matron's Den: 133; Forgotten Sands: 134; Furnace Of Pain: 135;
	//MWConfig_Script.push(["MWUberTristram.ntj", 10]); MWConfig_PauseOnLackOfOrgans = false; MWConfig_PauseOnKeptTorch = false;
	//MWConfig_Script.push(["MWAnyasBargain.ntj", 10]); MWConfig_ShoppingMinGold = 500000; MWConfig_ShoppingAttempts = 200;
	
	// ************ Leech and friends by lanara ************

	//MWConfig_Script.push(["NTDiabloLeechFight.ntj", 10]); MWConfig_StartAtStar = true; MWConfig_EnterUnsafeTP = true; NTConfig_PreBuff = true; MWConfig_IgnoreSealOpeningErrors = true; NTConfig_Leader = "LeaderNameGoesHere";
	//MWConfig_Script.push(["NTBaalLeech.ntj", 10]); NTConfig_KillBaal = true; MWConfig_EnterUnsafeTP = false; NTConfig_Leader = "LeaderNameGoesHere";
	//MWConfig_Script.push(["NTBaalLeechFight.ntj", 10]); NTConfig_KillBaal = true; MWConfig_DoBaalPreAttack = true; MWConfig_EnterUnsafeTP = true; NTConfig_Leader = "LeaderNameGoesHere";
	
	*/
	//------------------------------------------------------------------------------
	// Misc Configuration
	//------------------------------------------------------------------------------
	
	NTConfig_SkipHealLife = 90;		// If you have more than this percent of life, you won't go to a healer.
	NTConfig_SkipHealMana = 70;		// If you have more than this percent of mana, you won't go to a healer
	NTConfig_UseMerc = true;		// Set to true if you use a mercenary, will revive merc at a reviver npc.

	// Exit game or to reset your Enigma if Teleport skill is missing (due to identifying an item having +x to Teleport [Sorceress only]). WARNING: Activating this feature may - though not likely will - result in the loss of your enigma. Use at your own risk and make sure your char has sufficient strength!
	// 0: Don't do anything; 1: Reset armor; 2: Exit game
	MWConfig_ResetArmorMode = 1;

	//------------------------------------------------------------------------------
	// Potion Configuration
	//------------------------------------------------------------------------------
	
	NTConfig_LifeThresh = 70;		// Drink a normal potion if under this percent of life.
	NTConfig_LifeRejuvThresh = 60;	// Drink a rejuvenation potion if under this percent of life.
	NTConfig_ManaThresh = 30;		// Drink a normal potion if under this percent of mana.
	NTConfig_ManaRejuvThresh = 1;	// Drink a rejuvenation potion if under this percent of mana.
	
	NTConfig_MercLifeThresh = 50;	// This is the threshold to use a life potion on your merc in percent.
	NTConfig_MercRejuvThresh = 30;	// This is the threshold to use a rejuv potion on your merc in percent.
	
	//------------------------------------------------------------------------------
	// Chicken Configuration
	//------------------------------------------------------------------------------
	
	// This is your chicken life. If you go below this threshhold, your char will exit the game. You can either enter a percentage (1-100), an absolute threshold (>100) or 0 to deactivate life chicken.
	NTConfig_LifeChicken = 40;
	// This is your chicken mana. If you go below this threshhold, your char will exit the game. You can either enter a percentage (1-100), an absolute threshold (>100) or 0 to deactivate mana chicken.
	NTConfig_ManaChicken = 0;
	// This is your merc's chicken life in percent. If your merc goes below this threshhold, your char will exit the game.
	NTConfig_MercChicken = 0;
	// Whether or not to disable chicken when you pause the bot.
	MWConfig_DisableChickenOnPause = true;
	
	//------------------------------------------------------------------------------
	// Inventory Configuration
	//------------------------------------------------------------------------------
	
	// Each number represents a slot in your inventory.
	// Set to 0 if the slot and its content must not be touched.
	// Set to 1 to allow access to this slot.
	// Set to 2 to select the slot that is used for storing keys. (if keys are kept at another slot, your char will try to move them)
	NTConfig_Columns[0] = [1,1,1,1,1,1,0,0,0,0];
	NTConfig_Columns[1] = [1,1,1,1,1,1,0,0,0,0];
	NTConfig_Columns[2] = [1,1,1,1,1,1,0,0,0,0];
	NTConfig_Columns[3] = [1,1,1,1,1,2,0,0,0,0];
	
	// Number of free columns. If less full columns are free stashing is set. Call SetFreeColumns(NTConfig_Columns) to always stash right away (recommended).
	NTConfig_FreeSpace = SetFreeColumns(NTConfig_Columns);

	// Maximum gold amount carried before going to stash.
	NTConfig_MinGoldToStash = 100000;
	
	// Set to true if your char is supposed to carry, buy and pick up keys. You do not need to add keys to your .nip files, they will be picked up anyway if this is set to true.
	MWConfig_CarryKeys = true;

	//------------------------------------------------------------------------------
	// Belt Configuration
	//------------------------------------------------------------------------------
		
	// Available types : "hp" = health, "mp" = mana, "rv" = rejuvenation.
	// Define how many columns are used for each potion type.
	MWConfig_BeltColType["hp"].Columns = 1;
	MWConfig_BeltColType["mp"].Columns = 1;
	MWConfig_BeltColType["rv"].Columns = 2;
	
	// Define minimum number of potions per column. If the actual number of potions in a column is below this value, your char will visit a merchant when in town in order to buy potions.
	MWConfig_BeltColType["hp"].MinPots = 3;
	MWConfig_BeltColType["mp"].MinPots = 3;

	// Visit Town and buy potions if your char lacks mana when trying to loot a corpse or teleport.
	MWConfig_BuyPotionsOnLackOfMana = true;
	
	// Set to true to replace low quality potions with higher quality potions that just dropped.
	MWConfig_ReplaceLowQualityPotions = true;

	//-----------------------------------------------------------------------------------
	// NipFile Configuration
	//-----------------------------------------------------------------------------------
	
	NTConfig_NIPFilePath.push("private/normal.nip");
	NTConfig_NIPFilePath.push("private/magic_rare.nip");
	NTConfig_NIPFilePath.push("private/set.nip");
	NTConfig_NIPFilePath.push("private/unique.nip");
	NTConfig_NIPFilePath.push("private/craft.nip");
	NTConfig_NIPFilePath.push("private/temp.nip");
	
	//------------------------------------------------------------------------------
	// Pickit Configuration
	//------------------------------------------------------------------------------
	
	// Radius to check for dropped items. NOTE: The maximum is at about ~75, entering higher values will not have any effect.
	NTConfig_SnagRange = 70;
	
	// Set to true to check for dropped items whenever you kill a monster. (Recommended value to avoid crashes: false)
	MWConfig_PickItemsInstantly = false;
	
	//------------------------------------------------------------------------------
	// Chest Configuration
	//------------------------------------------------------------------------------
	
	// Select which containers shall be looted. 0: None; 1: Super Chests, 2: All
	MWConfig_OpenContainerMode = 2;
	
	// Set to true to check for dropped items right after opening a chest. NOTE: This will slow down your runs and therefore should definately be set to false when doing private games.
	MWConfig_PickChestLootsInstantly = false;
	
	// This is the range being checked for chests after clearing an area or room. NOTE: You should not set this too high, 30 is a good value.
	MWConfig_OpenChestsRange = 30;
	
	// If you do not like to open chests in a certain area, you can its areaid as an exception below. NOTE: All areaids can be found in "sdk\areas.txt".
	// MWConfig_ChestExceptions.push(<areaid1>, <areaid2>, <areaidn>);
	
	//------------------------------------------------------------------------------
	// Cubing Configuration
	//------------------------------------------------------------------------------
	
	// Set to true to enable cubing and crafting. NOTE: The recipes are added in the global config by default. If you like to craft certain recipe only using this very char, add those recipes below.
	NTConfig_Cubing = true;
	
	//------------------------------------------------------------------------------
	// General Configuration
	//------------------------------------------------------------------------------
	
	// Set to true to activate public mode. By activating public mode, your char will form a party, open TPs and do some chat outputs when running certain bot scripts.
	NTConfig_PublicMode = true;

	// Set to true to exit the game instantly if the game is public. This may happen sometimes due to an error pasting the password correctly.
	MWConfig_ExitGameOnMissingPassword = true;
	
	// Set to true to exit the game when another player expresses hostility towards you.
	me.quitonhostile = true;
	
	// This is the maximum time in seconds your char will remain in a single game. Set to 0 to stay in game infinitely.
	me.maxgametime = 3000;
	
	// This is the minimum time in seconds for your char to remain in a single game. Your char will not exit the game before this time elapsed.
	me.mingametime = 0;
	
	//------------------------------------------------------------------------------
	// Automule Configuration
	//------------------------------------------------------------------------------	
	
	// Set to true to enable auto mule.
	MWConfig_Automule.Activated = false;
	
	// The maximum stash load in percent before auto mule is triggered.
	MWConfig_Automule.MaxLoad = 95;
	
	// Set to true to show your stash's current load whenever managing stash.
	MWConfig_Automule.ShowCurrentLoad = true;
	
	// Set to true to finish your current game before muling, otherwise the game is left right away in case your stash is full.
	MWConfig_Automule.FinishGame = true;
	
	// Define which items are not to be touched when muling.
	MWConfig_Automule.DontMule.push("mule/dont_mule.nip");
	MWConfig_Automule.DontMule.push("mule/gems.nip");
	
	//------------------------------------------------------------------------------
	// Shrine Configuration
	//------------------------------------------------------------------------------
	
	// Set to true to activate nearby shrines. Shrines will only be activated if it is actually useful.
	MWConfig_ActivateNearbyShrines = true;
	
	// If you would like to skip shrines in a certain area, you can its areaid as an exception below. NOTE: All areaids can be found in "sdk\areas.txt".
	// MWConfig_ShrineExceptions.push(<areaid1>, <areaid2>, <areaidn>);
	
	//------------------------------------------------------------------------------
	// Precast Configuration
	//------------------------------------------------------------------------------
	
	// Your precast skills can be defined in the array below. NOTE: Battle Command, Battle Orders and Shout will be cast automatically. Constants for all skill ids can be found in "scripts\libs\common\MWSkills.ntl".
	MWConfig_PrecastSkills = [MWS_HOLY_SHIELD];
	
	// Set this to true to force your bot to swap slots before precast. In case you are using CTA, set this to false.
	MWConfig_SwitchSlotsForPrecast = true;
	
	// Set this to true if you would like to switch slots right after casting BC, BO and Shout. If set to false, your char will remain with the BO Slot until the whole precast procedure is done.
	MWConfig_SwitchSlotsAfterBoPrecast = true;
	
	//------------------------------------------------------------------------------
	// Attack Configuration
	//------------------------------------------------------------------------------
	
	// Specify your attack skills below. NOTE: Constants for all skill ids can be found in "scripts\libs\common\MWSkills.ntl".
	NTConfig_AttackSkill[0] = -1;					// This skill is used once whenever attacking a new target. Set to -1 to deactivate.
	NTConfig_AttackSkill[1] = MWS_BLESSED_HAMMER;	// Primary skill to bosses.
	NTConfig_AttackSkill[2] = MWS_CONCENTRATION;	// Primary aura to bosses. Set to -1 to deactivate.
	NTConfig_AttackSkill[3] = MWS_BLESSED_HAMMER;	// Primary skill to others.
	NTConfig_AttackSkill[4] = MWS_CONCENTRATION;	// Primary aura to others. Set to -1 to deactivate.
	NTConfig_AttackSkill[5] = MWS_HOLY_BOLT;		// Secondary skill in case monster is immune to primary skill. Set to 0 if you won't
	NTConfig_AttackSkill[6] = MWS_CONCENTRATION;	// Secondary aura. Set to 0 not to activate any aura.
	NTConfig_AttackSkill[7] = MWS_SALVATION;		// Aura to be used against Uber Mephisto. Set to -1 to deactivate.
	
	// Set to true if you want to clear area after killing boss. NOTE: This only affects a few botscripts.
	NTConfig_ClearPosition = true;
	
	// Set to true to clear area when killing a boss and the position is crowded by monsters. NOTE: Setting this to true may cause NTA_KillMonster() to fail way more often.
	MWConfig_ClearBossPosition = false;
	
	// This is the number of attacks to be performed before the the character tries to move to another position. Set to 0 not to reposition.
	MWConfig_AttacksBeforeRepositioning = 25;

	// Define a time limit for your attacks for each type of monster.
	MWConfig_AttackTimeLimit[0] = 20;	// Maximum time in seconds to attack a normal monster
	MWConfig_AttackTimeLimit[1] = 120;	// Maximum time in seconds to attack a super unique monster
	MWConfig_AttackTimeLimit[2] = 30;	// Maximum time in seconds to attack a champion
	MWConfig_AttackTimeLimit[3] = 120;	// Maximum time in seconds to attack a bosse
	MWConfig_AttackTimeLimit[4] = 30;	// Maximum time in seconds to attack a minion
	
	// Define when a monster is considered immune by entering the index of one or more of your attack skills. As an example: [1, 3] means that a monster is considered immune if it is immune to both NTConfig_AttackSkill[1] and NTConfig_AttackSkill[3], whatever those may be.
	MWConfig_CheckImmunitySkills = [];
	
	// Select the behaviour of your character when encountering a monsters that is considered immune referring to the definition above.
	// 0: Don't do anything. (D2NT default)
	// 1: Get close to the monster.
	// 2: Skip the monster.
	// 3: Attack the monster using NTConfig_AttackSkill[8] and NTConfig_AttackSkill[9]
	NTConfig_BehaviourOnImmuneMonster = 0;
	
	NTConfig_AttackSkill[8] = -1;	// Skill to be used against user defined immunes.
	NTConfig_AttackSkill[9] = -1;	// Untimed Skill to be used against user defined immunes.
	
	// Activate Redemption if your health is lower than this percentage. Set to 0 not to use Redemption.
	NTConfig_UseRedemptionHP = 80;
	
	// Activate Redemption if your health is lower than this percentage. Set to 0 not to use Redemption.
	NTConfig_UseRedemptionMP = 60;
	
	// Select whether or not you'd like to swap slots right before killing a boss in order to benefit from some extra MF in your second slot. 
	// The first element can either be the classid of the target or its name (case insensitive), second element is the life threshold in percent.
	//MWConfig_SlotSwapMonsters.push([156, 50]); // Andariel, 50%
	//MWConfig_SlotSwapMonsters.push([211, 20]); // Duriel, 20%
	//MWConfig_SlotSwapMonsters.push([242, 20]); // Mephisto, 20%
	//MWConfig_SlotSwapMonsters.push([243, 20]); // Diablo, 20%
	//MWConfig_SlotSwapMonsters.push([544, 15]); // Baal, 15%

	// Check self safe in field (NOT in town). Set to 0 if you won't.
	// 0x01 : Potion
	// 0x02 : Poison
	// 0x04 : Amplify Damage
	// 0x08 : Weaken
	// 0x10 : Iron Maiden
	// 0x20 : Decrepify
	// 0x40 : Lower Resist
	NTConfig_CheckSelfSafe = 0;

	// Check merc's safe in field (NOT in town). Set to 0 if you won't.
	// 0x01 : Death
	// 0x02 : Poison
	// 0x04 : Amplify Damage
	// 0x08 : Weaken
	// 0x10 : Iron Maiden
	// 0x20 : Decrepify
	// 0x40 : Lower Resist
	NTConfig_CheckMercSafe = 0x01;
}
hoffe meinst die cfg =)
kundrin is offline  
Old 01/10/2012, 13:35   #5219
 
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
Quote:
Originally Posted by mirkoregge View Post
Edit: Hab jetzt die SternlooperVariante probiert.
Fehler:
Die Funktion würde NTIP_CheckItem heißen, vielleicht ein copy&paste-Fehler?
Ansonsten schau mal im Originalthread zu dem Script nach:

Quote:
Originally Posted by kundrin View Post
Code:
/**
*	This file was modified by 
*	Check the programming section for updates and further scripts
*	Last Update: 23:10 29.08.2011
*
*	Hotkey				Description
*
*	Pause/Break			Pauses the current bot script.
*	Page up (PgUp)		Skips the current bot script.
*	Page down (PgDn)	Repeats the previous bot script
*	Home (Pos1)			Shows your current coordinates and areaid.
*	End					Shows current ping in status text bar.
*	Insert (Ins)		Logs all items on your char to either XML or TXT.
*	Delete (Del)		Exits the game. NOTE: Always use this key to leave a game!
*	Backspace			Force trigger auto mule. NOTE: Won't work unless auto mule is actually activated for the current char.
*/

Include("NTBot/char_configs/MWConfig_GlobalSettings.ntl");

var NTConfig_UseRedemptionHP;
var NTConfig_UseRedemptionMP;

function NT_LoadConfig()
{
	MW_LoadGlobalSettings();
	
	//------------------------------------------------------------------------------
	//
	// Run Configuration
	//
	//------------------------------------------------------------------------------
	
	// Use the following syntax for activating botscripts: MWConfig_Script.push([<ScriptName>, <Script runtime in minutes (0 is infinite)>]);
	// ***************** Current schedule ******************

	MWConfig_Script.push(["NTAndariel.ntj", 5]);
	//MWConfig_Script.push(["NTMausoleum.ntj", 10]); MWConfig_ClearPathSpectypes.Mausoleum = 0; MWConfig_ClearAreaSpectypes.Mausoleum = 0x01; NTConfig_KillBloodRaven = true;
	//MWConfig_Script.push(["NTPit.ntj", 10]); MWConfig_ClearPathSpectypes.Pit = 0; MWConfig_ClearAreaSpectypes.Pit = 0x01; NTConfig_ClearPitLevel1 = 2; // 0 : don't clear, 1 : clear path only, 2 : clear all
	MWConfig_Script.push(["NTCountess.ntj", 5]); MWConfig_ClearPathSpectypes.Countess = 0; MWConfig_ClearAreaSpectypes.Countess = 0;
	//MWConfig_Script.push(["NTSummoner.ntj", 5]); NTConfig_KillFireEye = false; MWConfig_ClearPathSpectypes.Summoner = 0;
	//MWConfig_Script.push(["NTAncientTunnels.ntj", 10]); MWConfig_ClearPathSpectypes.AncientTunnels = 0x01; MWConfig_ClearAreaSpectypes.AncientTunnels = 0x01;
	//MWConfig_Script.push(["MWKurastSewers.ntj", 5]); MWConfig_ClearPathSpectypes.KurastSewers = 0;
	//MWConfig_Script.push(["NTTravincal.ntj", 5]);
	//MWConfig_Script.push(["NTMephisto.ntj", 5]); MWConfig_OpenMephistoChest = true; MWConfig_MephistoClearArea = false;
	MWConfig_Script.push(["MWSuperChests.ntj", 20]); MWConfig_SuperChestClearAreaRadius = 5; MWConfig_SuperChestAreas = ["Arachnid Lair", "Swampy Pit Level 3", "Flayer Dungeon", "Abbadon", "Pit of Acheron", "Drifter Cavern", "Infernal Pit", "Icy Cellar"];
	//MWConfig_Script.push(["NTNihlathak.ntj", 5]); MWConfig_ClearPathSpectypes.Nihlathak = 0; NTConfig_PindleskinExtension = false; MWConfig_SkipOnTombVipers = true;
	//MWConfig_Script.push(["NTBaal.ntj", 10]); NTConfig_KillBaal = true; MWConfig_SkipBaalOnDolls = true; MWConfig_SkipBaalOnSouls = false; MWConfig_DoBaalPreAttack = true;
	//MWConfig_Script.push(["NTDiablo.ntj", 10]); MWConfig_KillFullInfectorMob = true; MWConfig_StartAtStar = false; MWConfig_IgnoreSealOpeningErrors = false; MWConfig_FastDia = true;

	// *****************************************************
	
	//------------------------------------------------------------------------------
	// Available Scripts
	//------------------------------------------------------------------------------
	/* NOTE:
	// The scripts below are actually commented out; to add a script, copy one of the lines below and add it to the current schedule above. ;)
	// You should also get yourself a decent editor that supports syntax highlighting for JavaScript, I'd recommend Notepad++. (http://notepad-plus-plus.org/download/)
	// *********************** Act I ***********************
	
	//MWConfig_Script.push(["NTMausoleum.ntj", 10]); MWConfig_ClearPathSpectypes.Mausoleum = 0; MWConfig_ClearAreaSpectypes.Mausoleum = 0x01; NTConfig_KillBloodRaven = true;
	//MWConfig_Script.push(["NTTristram.ntj", 10]); NTConfig_KillRakanishu = true;
	//MWConfig_Script.push(["NTHole.ntj", 10]); MWConfig_ClearPathSpectypes.Hole = 0; MWConfig_ClearAreaSpectypes.Hole = 0x01; NTConfig_ClearHoleLevel1 = 1; // 0 : don't clear, 1 : clear path only, 2 : clear all
	//MWConfig_Script.push(["NTTreehead.ntj", 10]);
	//MWConfig_Script.push(["MWColdcrow.ntj", 10]); MWConfig_ClearCaveMode = 0; // 0: Only kill coldcrow; 1: Clear Cave Level 1; 2: Clear both Cave Level 1 & 2
	//MWConfig_Script.push(["NTCountess.ntj", 5]); MWConfig_ClearPathSpectypes.Countess = 0; MWConfig_ClearAreaSpectypes.Countess = 0;
	//MWConfig_Script.push(["NTPit.ntj", 10]); MWConfig_ClearPathSpectypes.Pit = 0; MWConfig_ClearAreaSpectypes.Pit = 0x01; NTConfig_ClearPitLevel1 = 2; // 0 : don't clear, 1 : clear path only, 2 : clear all
	//MWConfig_Script.push(["NTAndariel.ntj", 10]);
	
	// *********************** Act II **********************
	
	//MWConfig_Script.push(["NTRadament.ntj", 10]); MWConfig_ClearPathSpectypes.Radament = 0;
	//MWConfig_Script.push(["MWMaggotsLair.ntj", 10]); MWConfig_ClearPathSpectypes.MaggotsLair = 0; MWConfig_ClearAreaSpectypes.MaggotsLair = 0x01;
	//MWConfig_Script.push(["NTAncientTunnels.ntj", 10]); MWConfig_ClearPathSpectypes.AncientTunnels = 0; MWConfig_ClearAreaSpectypes.AncientTunnels = 0x01;
	//MWConfig_Script.push(["NTSummoner.ntj", 5]); NTConfig_KillFireEye = false; MWConfig_ClearPathSpectypes.Summoner = 0;
	MWConfig_Script.push(["NTDuriel.ntj", 10]); MWConfig_ClearPathSpectypes.Duriel = 0;
	
	// ********************** Act III **********************
	
	//MWConfig_Script.push(["MWFlayerJungle.ntj", 10]); MWConfig_ClearAreaSpectypes.FlayerJungle = 0x01;
	//MWConfig_Script.push(["MWKurastSewers.ntj", 5]); MWConfig_ClearPathSpectypes.KurastSewers = 0;
	//MWConfig_Script.push(["MWKurastTemples.ntj", 5]); MWConfig_ClearPathSpectypes.KurastTemples = 0; MWConfig_ClearAreaSpectypes.KurastTemples = 0x01;
	//MWConfig_Script.push(["NTTravincal.ntj", 5]);
	//MWConfig_Script.push(["NTMephisto.ntj", 5]); MWConfig_OpenMephistoChest = true; MWConfig_MephistoClearArea = true;
	
	// *********************** Act IV **********************
	
	//MWConfig_Script.push(["NTIzual.ntj", 5]); MWConfig_ClearPathSpectypes.Izual = 0;
	//MWConfig_Script.push(["MWRiverOfFlame.ntj", 10]); MWConfig_ClearAreaSpectypes.RiverOfFlame = 0x01;
	//MWConfig_Script.push(["NTHephasto.ntj", 10]); MWConfig_ClearPathSpectypes.Hephasto = 0;
	//MWConfig_Script.push(["NTDiablo.ntj", 10]); MWConfig_KillFullInfectorMob = true; MWConfig_StartAtStar = false; MWConfig_IgnoreSealOpeningErrors = false; MWConfig_FastDia = true;
	
	// *********************** Act V ***********************
	
	//MWConfig_Script.push(["MWAbbadon.ntj", 10]); MWConfig_ClearPathSpectypes.Abbadon = 0; MWConfig_ClearAreaSpectypes.Abbadon = 0x01;
	//MWConfig_Script.push(["MWPitOfAcheron.ntj", 10]); MWConfig_ClearPathSpectypes.PitOfAcheron = 0; MWConfig_ClearAreaSpectypes.PitOfAcheron = 0x01;
	//MWConfig_Script.push(["MWInfernalPit.ntj", 10]); MWConfig_ClearPathSpectypes.InfernalPit = 0; MWConfig_ClearAreaSpectypes.InfernalPit = 0x01;
	//MWConfig_Script.push(["MWHallsOfPain.ntj", 15]); MWConfig_ClearAreaSpectypes.HallsOfPain = 0x01; MWConfig_ClearHallsOfAnguish = true;
	//MWConfig_Script.push(["NTPindleskin.ntj", 5]); NTConfig_NihlathakExtension = false; MWConfig_SkipOnTombVipers = true;
	MWConfig_Script.push(["NTEldritch.ntj", 5]); NTConfig_ShenkExtension = true;
	//MWConfig_Script.push(["NTThreshSocket.ntj", 5]); MWConfig_ClearPathSpectypes.ThreshSocket = 0;
	//MWConfig_Script.push(["NTFrozenRiver.ntj", 10]); MWConfig_ClearPathSpectypes.FrozenRiver = 0; MWConfig_ClearAreaSpectypes.FrozenRiver = 0x01;
	//MWConfig_Script.push(["NTGlacialTrail.ntj", 10]); MWConfig_ClearPathSpectypes.GlacialTrail = 0; MWConfig_ClearAreaSpectypes.GlacialTrail = 0x01; 
	//MWConfig_Script.push(["NTIcyCellar.ntj", 5]); MWConfig_ClearPathSpectypes.IcyCellar = 0; MWConfig_ClearAreaSpectypes.IcyCellar = 0x01;
	//MWConfig_Script.push(["NTNihlathak.ntj", 5]); MWConfig_ClearPathSpectypes.Nihlathak = 0; NTConfig_PindleskinExtension = false; MWConfig_SkipOnTombVipers = true;
	//MWConfig_Script.push(["MWWorldstoneKeep.ntj", 10]); MWConfig_ClearAreaSpectypes.WorldstoneKeep = 0x01; MWConfig_SkipLevelOnWitches = true; MWConfig_SkipLevelOnSouls = false; MWConfig_SkipLevelOnDeathLords = true;
	//MWConfig_Script.push(["NTBaal.ntj", 10]); NTConfig_KillBaal = true; MWConfig_SkipBaalOnDolls = true; MWConfig_SkipBaalOnSouls = false; MWConfig_DoBaalPreAttack = true; MWConfig_ClearPathSpectypes.Baal = 0;
	
	// *********************** Misc ************************
	
	MWConfig_Script.push(["MWAuraStack.ntj", 10]); MWConfig_StackRepetitions = 100; MWConfig_ResetMercWeaponAfterStacking = false;
	//MWConfig_Script.push(["MWSuperChests.ntj", 20]); MWConfig_SuperChestClearAreaRadius = 10; MWConfig_SuperChestAreas = ["Cave Level 2", "Mausoleum", "Hole Level 2", "Pit Level 2", "Sewers Level 3", "Halls of the Dead Level 2", "Stony Tomb Level 2", "Maggot's Lair Level 3", "Ancient Tunnels", "Tal Rasha's Tomb", "Arachnid Lair", "Swampy Pit Level 3", "Flayer Dungeon", "Sewers Level 2", "Abbadon", "Pit of Acheron", "Drifter Cavern", "Infernal Pit", "Icy Cellar", "Halls of Pain"];
	//MWConfig_Script.push(["MWRush.ntj", 0]); MWConfig_IsRusher = true;
	MWConfig_Script.push(["MWWaypointCatcher.ntj", 0]); MWConfig_WaypointCatcherActs = [1, 2, 3, 4, 5]; MWConfig_TPWaypoints = true; MWConfig_SkipHallsOfPain = true; MWConfig_ClearWaypointPaths = false; 
	//MWConfig_Script.push(["MWIdleMode.ntj", 0]); MWConfig_IdleModeRuntime = 5; // Runtime in Minutes
	//MWConfig_Script.push(["NTCows.ntj", 10]);
	//MWConfig_Script.push(["MWBloodyRejuvs.ntj", 10]);
	//MWConfig_Script.push(["MWOrganHarvest.ntj", 10]); MWConfig_EnterInvalidUberPortals = true; MWConfig_PauseOnLackOfKeys = false; MWConfig_IntendedUberPortal = 0; // Matron's Den: 133; Forgotten Sands: 134; Furnace Of Pain: 135;
	//MWConfig_Script.push(["MWUberTristram.ntj", 10]); MWConfig_PauseOnLackOfOrgans = false; MWConfig_PauseOnKeptTorch = false;
	//MWConfig_Script.push(["MWAnyasBargain.ntj", 10]); MWConfig_ShoppingMinGold = 500000; MWConfig_ShoppingAttempts = 200;
	
	// ************ Leech and friends by lanara ************

	//MWConfig_Script.push(["NTDiabloLeechFight.ntj", 10]); MWConfig_StartAtStar = true; MWConfig_EnterUnsafeTP = true; NTConfig_PreBuff = true; MWConfig_IgnoreSealOpeningErrors = true; NTConfig_Leader = "LeaderNameGoesHere";
	//MWConfig_Script.push(["NTBaalLeech.ntj", 10]); NTConfig_KillBaal = true; MWConfig_EnterUnsafeTP = false; NTConfig_Leader = "LeaderNameGoesHere";
	//MWConfig_Script.push(["NTBaalLeechFight.ntj", 10]); NTConfig_KillBaal = true; MWConfig_DoBaalPreAttack = true; MWConfig_EnterUnsafeTP = true; NTConfig_Leader = "LeaderNameGoesHere";
	
	*/
	//------------------------------------------------------------------------------
	// Misc Configuration
	//------------------------------------------------------------------------------
	
	NTConfig_SkipHealLife = 90;		// If you have more than this percent of life, you won't go to a healer.
	NTConfig_SkipHealMana = 70;		// If you have more than this percent of mana, you won't go to a healer
	NTConfig_UseMerc = true;		// Set to true if you use a mercenary, will revive merc at a reviver npc.

	// Exit game or to reset your Enigma if Teleport skill is missing (due to identifying an item having +x to Teleport [Sorceress only]). WARNING: Activating this feature may - though not likely will - result in the loss of your enigma. Use at your own risk and make sure your char has sufficient strength!
	// 0: Don't do anything; 1: Reset armor; 2: Exit game
	MWConfig_ResetArmorMode = 1;

	//------------------------------------------------------------------------------
	// Potion Configuration
	//------------------------------------------------------------------------------
	
	NTConfig_LifeThresh = 70;		// Drink a normal potion if under this percent of life.
	NTConfig_LifeRejuvThresh = 60;	// Drink a rejuvenation potion if under this percent of life.
	NTConfig_ManaThresh = 30;		// Drink a normal potion if under this percent of mana.
	NTConfig_ManaRejuvThresh = 1;	// Drink a rejuvenation potion if under this percent of mana.
	
	NTConfig_MercLifeThresh = 50;	// This is the threshold to use a life potion on your merc in percent.
	NTConfig_MercRejuvThresh = 30;	// This is the threshold to use a rejuv potion on your merc in percent.
	
	//------------------------------------------------------------------------------
	// Chicken Configuration
	//------------------------------------------------------------------------------
	
	// This is your chicken life. If you go below this threshhold, your char will exit the game. You can either enter a percentage (1-100), an absolute threshold (>100) or 0 to deactivate life chicken.
	NTConfig_LifeChicken = 40;
	// This is your chicken mana. If you go below this threshhold, your char will exit the game. You can either enter a percentage (1-100), an absolute threshold (>100) or 0 to deactivate mana chicken.
	NTConfig_ManaChicken = 0;
	// This is your merc's chicken life in percent. If your merc goes below this threshhold, your char will exit the game.
	NTConfig_MercChicken = 0;
	// Whether or not to disable chicken when you pause the bot.
	MWConfig_DisableChickenOnPause = true;
	
	//------------------------------------------------------------------------------
	// Inventory Configuration
	//------------------------------------------------------------------------------
	
	// Each number represents a slot in your inventory.
	// Set to 0 if the slot and its content must not be touched.
	// Set to 1 to allow access to this slot.
	// Set to 2 to select the slot that is used for storing keys. (if keys are kept at another slot, your char will try to move them)
	NTConfig_Columns[0] = [1,1,1,1,1,1,0,0,0,0];
	NTConfig_Columns[1] = [1,1,1,1,1,1,0,0,0,0];
	NTConfig_Columns[2] = [1,1,1,1,1,1,0,0,0,0];
	NTConfig_Columns[3] = [1,1,1,1,1,2,0,0,0,0];
	
	// Number of free columns. If less full columns are free stashing is set. Call SetFreeColumns(NTConfig_Columns) to always stash right away (recommended).
	NTConfig_FreeSpace = SetFreeColumns(NTConfig_Columns);

	// Maximum gold amount carried before going to stash.
	NTConfig_MinGoldToStash = 100000;
	
	// Set to true if your char is supposed to carry, buy and pick up keys. You do not need to add keys to your .nip files, they will be picked up anyway if this is set to true.
	MWConfig_CarryKeys = true;

	//------------------------------------------------------------------------------
	// Belt Configuration
	//------------------------------------------------------------------------------
		
	// Available types : "hp" = health, "mp" = mana, "rv" = rejuvenation.
	// Define how many columns are used for each potion type.
	MWConfig_BeltColType["hp"].Columns = 1;
	MWConfig_BeltColType["mp"].Columns = 1;
	MWConfig_BeltColType["rv"].Columns = 2;
	
	// Define minimum number of potions per column. If the actual number of potions in a column is below this value, your char will visit a merchant when in town in order to buy potions.
	MWConfig_BeltColType["hp"].MinPots = 3;
	MWConfig_BeltColType["mp"].MinPots = 3;

	// Visit Town and buy potions if your char lacks mana when trying to loot a corpse or teleport.
	MWConfig_BuyPotionsOnLackOfMana = true;
	
	// Set to true to replace low quality potions with higher quality potions that just dropped.
	MWConfig_ReplaceLowQualityPotions = true;

	//-----------------------------------------------------------------------------------
	// NipFile Configuration
	//-----------------------------------------------------------------------------------
	
	NTConfig_NIPFilePath.push("private/normal.nip");
	NTConfig_NIPFilePath.push("private/magic_rare.nip");
	NTConfig_NIPFilePath.push("private/set.nip");
	NTConfig_NIPFilePath.push("private/unique.nip");
	NTConfig_NIPFilePath.push("private/craft.nip");
	NTConfig_NIPFilePath.push("private/temp.nip");
	
	//------------------------------------------------------------------------------
	// Pickit Configuration
	//------------------------------------------------------------------------------
	
	// Radius to check for dropped items. NOTE: The maximum is at about ~75, entering higher values will not have any effect.
	NTConfig_SnagRange = 70;
	
	// Set to true to check for dropped items whenever you kill a monster. (Recommended value to avoid crashes: false)
	MWConfig_PickItemsInstantly = false;
	
	//------------------------------------------------------------------------------
	// Chest Configuration
	//------------------------------------------------------------------------------
	
	// Select which containers shall be looted. 0: None; 1: Super Chests, 2: All
	MWConfig_OpenContainerMode = 2;
	
	// Set to true to check for dropped items right after opening a chest. NOTE: This will slow down your runs and therefore should definately be set to false when doing private games.
	MWConfig_PickChestLootsInstantly = false;
	
	// This is the range being checked for chests after clearing an area or room. NOTE: You should not set this too high, 30 is a good value.
	MWConfig_OpenChestsRange = 30;
	
	// If you do not like to open chests in a certain area, you can its areaid as an exception below. NOTE: All areaids can be found in "sdk\areas.txt".
	// MWConfig_ChestExceptions.push(<areaid1>, <areaid2>, <areaidn>);
	
	//------------------------------------------------------------------------------
	// Cubing Configuration
	//------------------------------------------------------------------------------
	
	// Set to true to enable cubing and crafting. NOTE: The recipes are added in the global config by default. If you like to craft certain recipe only using this very char, add those recipes below.
	NTConfig_Cubing = true;
	
	//------------------------------------------------------------------------------
	// General Configuration
	//------------------------------------------------------------------------------
	
	// Set to true to activate public mode. By activating public mode, your char will form a party, open TPs and do some chat outputs when running certain bot scripts.
	NTConfig_PublicMode = true;

	// Set to true to exit the game instantly if the game is public. This may happen sometimes due to an error pasting the password correctly.
	MWConfig_ExitGameOnMissingPassword = true;
	
	// Set to true to exit the game when another player expresses hostility towards you.
	me.quitonhostile = true;
	
	// This is the maximum time in seconds your char will remain in a single game. Set to 0 to stay in game infinitely.
	me.maxgametime = 3000;
	
	// This is the minimum time in seconds for your char to remain in a single game. Your char will not exit the game before this time elapsed.
	me.mingametime = 0;
	
	//------------------------------------------------------------------------------
	// Automule Configuration
	//------------------------------------------------------------------------------	
	
	// Set to true to enable auto mule.
	MWConfig_Automule.Activated = false;
	
	// The maximum stash load in percent before auto mule is triggered.
	MWConfig_Automule.MaxLoad = 95;
	
	// Set to true to show your stash's current load whenever managing stash.
	MWConfig_Automule.ShowCurrentLoad = true;
	
	// Set to true to finish your current game before muling, otherwise the game is left right away in case your stash is full.
	MWConfig_Automule.FinishGame = true;
	
	// Define which items are not to be touched when muling.
	MWConfig_Automule.DontMule.push("mule/dont_mule.nip");
	MWConfig_Automule.DontMule.push("mule/gems.nip");
	
	//------------------------------------------------------------------------------
	// Shrine Configuration
	//------------------------------------------------------------------------------
	
	// Set to true to activate nearby shrines. Shrines will only be activated if it is actually useful.
	MWConfig_ActivateNearbyShrines = true;
	
	// If you would like to skip shrines in a certain area, you can its areaid as an exception below. NOTE: All areaids can be found in "sdk\areas.txt".
	// MWConfig_ShrineExceptions.push(<areaid1>, <areaid2>, <areaidn>);
	
	//------------------------------------------------------------------------------
	// Precast Configuration
	//------------------------------------------------------------------------------
	
	// Your precast skills can be defined in the array below. NOTE: Battle Command, Battle Orders and Shout will be cast automatically. Constants for all skill ids can be found in "scripts\libs\common\MWSkills.ntl".
	MWConfig_PrecastSkills = [MWS_HOLY_SHIELD];
	
	// Set this to true to force your bot to swap slots before precast. In case you are using CTA, set this to false.
	MWConfig_SwitchSlotsForPrecast = true;
	
	// Set this to true if you would like to switch slots right after casting BC, BO and Shout. If set to false, your char will remain with the BO Slot until the whole precast procedure is done.
	MWConfig_SwitchSlotsAfterBoPrecast = true;
	
	//------------------------------------------------------------------------------
	// Attack Configuration
	//------------------------------------------------------------------------------
	
	// Specify your attack skills below. NOTE: Constants for all skill ids can be found in "scripts\libs\common\MWSkills.ntl".
	NTConfig_AttackSkill[0] = -1;					// This skill is used once whenever attacking a new target. Set to -1 to deactivate.
	NTConfig_AttackSkill[1] = MWS_BLESSED_HAMMER;	// Primary skill to bosses.
	NTConfig_AttackSkill[2] = MWS_CONCENTRATION;	// Primary aura to bosses. Set to -1 to deactivate.
	NTConfig_AttackSkill[3] = MWS_BLESSED_HAMMER;	// Primary skill to others.
	NTConfig_AttackSkill[4] = MWS_CONCENTRATION;	// Primary aura to others. Set to -1 to deactivate.
	NTConfig_AttackSkill[5] = MWS_HOLY_BOLT;		// Secondary skill in case monster is immune to primary skill. Set to 0 if you won't
	NTConfig_AttackSkill[6] = MWS_CONCENTRATION;	// Secondary aura. Set to 0 not to activate any aura.
	NTConfig_AttackSkill[7] = MWS_SALVATION;		// Aura to be used against Uber Mephisto. Set to -1 to deactivate.
	
	// Set to true if you want to clear area after killing boss. NOTE: This only affects a few botscripts.
	NTConfig_ClearPosition = true;
	
	// Set to true to clear area when killing a boss and the position is crowded by monsters. NOTE: Setting this to true may cause NTA_KillMonster() to fail way more often.
	MWConfig_ClearBossPosition = false;
	
	// This is the number of attacks to be performed before the the character tries to move to another position. Set to 0 not to reposition.
	MWConfig_AttacksBeforeRepositioning = 25;

	// Define a time limit for your attacks for each type of monster.
	MWConfig_AttackTimeLimit[0] = 20;	// Maximum time in seconds to attack a normal monster
	MWConfig_AttackTimeLimit[1] = 120;	// Maximum time in seconds to attack a super unique monster
	MWConfig_AttackTimeLimit[2] = 30;	// Maximum time in seconds to attack a champion
	MWConfig_AttackTimeLimit[3] = 120;	// Maximum time in seconds to attack a bosse
	MWConfig_AttackTimeLimit[4] = 30;	// Maximum time in seconds to attack a minion
	
	// Define when a monster is considered immune by entering the index of one or more of your attack skills. As an example: [1, 3] means that a monster is considered immune if it is immune to both NTConfig_AttackSkill[1] and NTConfig_AttackSkill[3], whatever those may be.
	MWConfig_CheckImmunitySkills = [];
	
	// Select the behaviour of your character when encountering a monsters that is considered immune referring to the definition above.
	// 0: Don't do anything. (D2NT default)
	// 1: Get close to the monster.
	// 2: Skip the monster.
	// 3: Attack the monster using NTConfig_AttackSkill[8] and NTConfig_AttackSkill[9]
	NTConfig_BehaviourOnImmuneMonster = 0;
	
	NTConfig_AttackSkill[8] = -1;	// Skill to be used against user defined immunes.
	NTConfig_AttackSkill[9] = -1;	// Untimed Skill to be used against user defined immunes.
	
	// Activate Redemption if your health is lower than this percentage. Set to 0 not to use Redemption.
	NTConfig_UseRedemptionHP = 80;
	
	// Activate Redemption if your health is lower than this percentage. Set to 0 not to use Redemption.
	NTConfig_UseRedemptionMP = 60;
	
	// Select whether or not you'd like to swap slots right before killing a boss in order to benefit from some extra MF in your second slot. 
	// The first element can either be the classid of the target or its name (case insensitive), second element is the life threshold in percent.
	//MWConfig_SlotSwapMonsters.push([156, 50]); // Andariel, 50%
	//MWConfig_SlotSwapMonsters.push([211, 20]); // Duriel, 20%
	//MWConfig_SlotSwapMonsters.push([242, 20]); // Mephisto, 20%
	//MWConfig_SlotSwapMonsters.push([243, 20]); // Diablo, 20%
	//MWConfig_SlotSwapMonsters.push([544, 15]); // Baal, 15%

	// Check self safe in field (NOT in town). Set to 0 if you won't.
	// 0x01 : Potion
	// 0x02 : Poison
	// 0x04 : Amplify Damage
	// 0x08 : Weaken
	// 0x10 : Iron Maiden
	// 0x20 : Decrepify
	// 0x40 : Lower Resist
	NTConfig_CheckSelfSafe = 0;

	// Check merc's safe in field (NOT in town). Set to 0 if you won't.
	// 0x01 : Death
	// 0x02 : Poison
	// 0x04 : Amplify Damage
	// 0x08 : Weaken
	// 0x10 : Iron Maiden
	// 0x20 : Decrepify
	// 0x40 : Lower Resist
	NTConfig_CheckMercSafe = 0x01;
}
hoffe meinst die cfg =)
Ja, diese Config meinte ich.

Stell mal D2 auf englisch, das wirkt wahre Wunder!
Im 1. Thread sind ein paar Themen verlinkt, wie das schnell geht!
TheCrazy11 is offline  
Old 01/10/2012, 13:44   #5220
 
mirkoregge's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 3,170
Received Thanks: 1,191
Quote:
Originally Posted by TheCrazy11 View Post
Die Funktion würde NTIP_CheckItem heißen, vielleicht ein copy&paste-Fehler?
Jopp das wars; hatte es allerding original aus dem Sternlooper kopiert und nur NTBotGame gegen MWBotGame ersetzt. Jetzt funzt es super. Danke!

Einwa hab ich allerding denn noch: der Bot kauft Tränke und trinkt sie dann; somit kauft er ständig Potions.
Hab das so eingestellt:
Code:
	//------------------------------------------------------------------------------
	// Belt Configuration
	//------------------------------------------------------------------------------
		
	// Available types : "hp" = health, "mp" = mana, "rv" = rejuvenation.
	// Define how many columns are used for each potion type.
	MWConfig_BeltColType["hp"].Columns = 1;
	MWConfig_BeltColType["mp"].Columns = 1;
	MWConfig_BeltColType["rv"].Columns = 0;
	
	// Define minimum number of potions per column. If the actual number of potions in a column is below this value, your char will visit a merchant when in town in order to buy potions.
	MWConfig_BeltColType["hp"].MinPots = 0;
	MWConfig_BeltColType["mp"].MinPots = 0;

	// Visit Town and buy potions if your char lacks mana when trying to loot a corpse or teleport.
	MWConfig_BuyPotionsOnLackOfMana = false;
	
	// Set to true to replace low quality potions with higher quality potions that just dropped.
	MWConfig_ReplaceLowQualityPotions = true;
edit: Fehler war, dass ich in der Pickit Tränke eingestellt hatte
mirkoregge is offline  
Reply


Similar Threads 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 07:13.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.