|
You last visited: Today at 05:42
Advertisement
D2NT 3.X Shopbot
Discussion on D2NT 3.X Shopbot within the Diablo 2 forum part of the Other Online Games category.
05/17/2010, 17:41
|
#16
|
elite*gold: 0
Join Date: Mar 2009
Posts: 382
Received Thanks: 45
|
Quote:
Originally Posted by mirkoregge
muss man nicht in der Char config
NTConfig_Script.push("NTShopbot.ntj");
einfügen?
|
sollte eigentlich klar sein... aber zur sicherheit würd ichs auch nochmal in den startpost schreiben.... find den shopbot (claw1.3) unter redvex aber deutlich schneller schon alein deswegen, weil anya immer aufn roten portal steht usw ...
aber dennoch ty :=)
btw is das normal das er zwar das tradefenster (entgegen claw1.3) aufmacht aber dann nicht zu den klauen springt ?
|
|
|
05/18/2010, 16:38
|
#17
|
elite*gold: 0
Join Date: Nov 2009
Posts: 180
Received Thanks: 6
|
macht wirre sachen, deswegen .....
Ich fasse nochmal zusammen, damit die lösungfindung vllt etwas einfach ist:
1.) Datei namens NTShopbot.ntj in D2NT\scripts\NTBot\bots erstellt mit folgendem inhalt (1:1 kopie von hier)
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// //
// ShopBot Script For D2NT 2.1 //
// 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,h p3,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;
}
2.) In D2NT\scripts\NTBot\item_configs\shoping eine datei namens shoping.nip mit dem kopierten Inhalt meiner bisherigen bluebird.nip erstellt.
3.) Den restlichen code in meine charconfig eingefügt die nun so aussieht
var NTConfig_UseRedemptionHP;
var NTConfig_UseRedemptionMP;
//================================================== ================================================== =====
// 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( 2 );
shop_npcNumber.push( 3 );
shop_npcNumber.push( 4 );
shop_npcNumber.push( 5 );
shop_npcNumber.push( 6 );
shop_npcNumber.push( 7 );
shop_npcNumber.push( 8 );
shop_npcNumber.push( 9 );
shop_npcNumber.push( 10 );
shop_npcNumber.push( 11 );
shop_npcNumber.push( 12 );
shop_npcNumber.push( 13 );
shop_npcNumber.push( 14 );
// 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;
//================================================== ================================================== ======
function NT_LoadConfig()
{
NTConfig_Script.push("NTShopbot.ntj");
//------------------------------------------------------------------------------
// Bosseinstellungen
//------------------------------------------------------------------------------
//
//..::AKT 1::..
//-------------
//NTConfig_Script.push("NTMausoleum.ntj"); NTConfig_KillBloodRaven = true;
//NTConfig_Script.push("NTTristram.ntj"); NTConfig_KillRakanishu = true;
//NTConfig_Script.push("NTKuhlevel.ntj"); NTConfig_KillRakanishu = true; NTConfig_ClearTristram = false; NTConfig_MooMooFarm = true;
NTConfig_Script.push("NTGraefin.ntj");
//NTConfig_Script.push("NTBaumkopf.ntj");
//NTConfig_Script.push("NTPit.ntj"); NTConfig_ClearPitLevel1 = 2; // 0 : nicht clearen, 1 : nur den Weg clearen, 2 : alles clearen
//NTConfig_Script.push("NTDas Loch.ntj"); NTConfig_ClearHoleLevel1 = 1; // 0 : nicht clearen, 1 : nur den Weg clearen, 2 : alles clearen
NTConfig_Script.push("NTAndariel.ntj");
//
//
//..::AKT 2::..
//-------------
//NTConfig_Script.push("NTRadament.ntj");
//NTConfig_Script.push("NTKaltwurm der Graeber.ntj");
//NTConfig_Script.push("NTAlte Tunnels.ntj");
// NTConfig_Script.push("NTSummoner.ntj"); NTConfig_KillFireEye = false;
NTConfig_Script.push("NTDuriel.ntj");
//
//
//..::AKT 3::..
//-------------
//NTConfig_Script.push("NTKanalisation Akt3.ntj"); NTConfig_ClearA3SewersLevel1 = 1; // 0 : don't clear, 1 : clear path only, 2 : clear all
NTConfig_Script.push("NTKurastTravel.ntj");
NTConfig_Script.push("NTTravincal.ntj");
NTConfig_Script.push("NTMephisto.ntj");
//
//
//..::AKT 4::..
//-------------
NTConfig_Script.push("NTIzual.ntj");
NTConfig_Script.push("NTDer Hoellenschmied.ntj");
//NTConfig_Script.push("NTDiablo.ntj");
NTConfig_Script.push("NTFastDiablo.ntj");
//
//
//..::AKT 5::..
//-------------
//NTConfig_Script.push("NTPindleskinWP.ntj");
NTConfig_Script.push("NTPindleskin.ntj"); NTConfig_NihlathakExtension = true;
//NTConfig_Script.push("NTNihlathak.ntj"); NTConfig_PindleskinExtension = false;
//NTConfig_Script.push("NTEldritch.ntj"); NTConfig_ShenkExtension = true; NTConfig_DacFarren = false;
//NTConfig_Script.push("NTThreshSocket.ntj");
//NTConfig_Script.push("NTFrostfluss.ntj"); NTConfig_ClearFrozenRiver = false;
//NTConfig_Script.push("NTGletscherweg.ntj"); NTConfig_ClearGlacialTrail = false;
//NTConfig_Script.push("NTEiskeller.ntj"); NTConfig_ClearIcyCellar = false;
NTConfig_Script.push("NTBaal.ntj"); NTConfig_KillBaal = true;
//------------------------------------------------------------------------------
// Rush - Bot
//------------------------------------------------------------------------------
//NTConfig_Script.push("NTRushAct1.ntj");
//NTConfig_Script.push("NTRushAct2.ntj"); NTConfig_Cube = true; NTConfig_Staff = true; NTConfig_Amu = true; NTConfig_Summoner = true;
//NTConfig_Script.push("NTRushAct3.ntj");
//NTConfig_Script.push("NTRushAct4.ntj"); NTConfig_ClearCS = false;
//NTConfig_Script.push("NTRushAct5.ntj"); NTConfig_Anya = true; NTConfig_Ancients = true;
//------------------------------------------------------------------------------
// Baal-Leech-Bot
//------------------------------------------------------------------------------
//NTConfig_Script.push("NTBaalLeech.ntj");
//------------------------------------------------------------------------------
// Positionen anzeigen
//------------------------------------------------------------------------------
//NTConfig_Script.push("NTposition.ntj");
//------------------------------------------------------------------------------
// Zeiteinstellungen
//------------------------------------------------------------------------------
me.maxgametime = 1800000; // Maximale Spielzeit für einen Run (0 = unendlich)
NTConfig_StartDelay = 500; // Zeit in Millisekunden vor dem Start
NTConfig_AreaDelay = 500; // Zeit in Millisekunden vor dem Gebietswechsel
NTConfig_SnagDelay = 1; // Zeit in Millisekunden vor dem Einsammeln von Items
//------------------------------------------------------------------------------
// Life / Mana - Einstellungen
//------------------------------------------------------------------------------
NTConfig_SkipHealLife = 90; // Unterhalb dieser % seiner Leben geht der Bot zum Heiler
NTConfig_SkipHealMana = 70; // Unterhalb dieser % seiner Mana geht der Bot zum Heiler
NTConfig_SkipHealCurses = true;// false = Flüche heilen : true = Flüche nicht heilen
NTConfig_UseMerc = true; // true = Söldner verwenden : false = keinen Söldner verwenden
NTConfig_ResetWeapon = false; // Waffe vom Söldner kurz rausnehmen und wieder reinlegen (Aura)
NTConfig_LifeThresh = 67; // Unterhalb dieser % seiner Leben trinkt der Bot einen normalen Heiltrank
NTConfig_LifeRejuvThresh = 37; // Unterhalb dieser % seiner Leben trinkt der Bot einen lila Trank
NTConfig_ManaThresh = 30; // Unterhalb dieser % seiner Mana trinkt der Bot einen normalen Manatrank
NTConfig_ManaRejuvThresh = 0; // Unterhalb dieser % seiner Mana trinkt der Bot einen lila Trank
NTConfig_LifeChicken = 20; // Unterhalb dieser % seiner Leben verlässt der Bot das Spiel
NTConfig_ManaChicken = 0; // Unterhalb dieser % seiner Mana verlässt der Bot das Spiel
NTConfig_MercLifeThresh = 80; // Unterhalb dieser % des Söldnerlebens gibt der Bot dem Söldner einen Heiltrank
NTConfig_MercRejuvThresh = 30; // Unterhalb dieser % des Söldnerlebens gibt der Bot dem Söldner einen lila Trank
NTConfig_MercChicken = 0; // Unterhalb dieser % des Söldnerlebens verlässt der Bot das Spiel
//------------------------------------------------------------------------------
// Inventar - Einstellungen
//------------------------------------------------------------------------------
NTConfig_FreeSpace = 7; // Anzahl der Kästchen im Inventar die mindestens frei sein müssen. Sind weniger Kästchen frei, geht der Bot zur Truhe.
// Die Zahlen stellen dein Inventar dar. Jede Zahl ist ein Kästchen. 0 = Der bot fässt diese items niemals an : 1 = Der Bot arbeitet mit diesen Feldern.
NTConfig_Columns[0] = [1,1,1,1,1,0,0,0,0,0];
NTConfig_Columns[1] = [1,1,1,1,1,0,0,0,0,0];
NTConfig_Columns[2] = [1,1,1,1,1,0,0,0,0,0];
NTConfig_Columns[3] = [1,1,1,1,1,0,0,0,0,0];
NTConfig_MinGoldToStash = 100000; // Maximale Goldsumme die der Bot bei sich tragen darf ohne zur Truhe zu gehen.
//------------------------------------------------------------------------------
// Gürtel - Einstellungen
//------------------------------------------------------------------------------
//
// Tragt hier ein, welche tränke in welcher Reihe des Gürtels verwendet werden sollen.
// Mögliche Arten : "hp" = Heiltrank : "mp" = Manatrank : "rv" = lila Trank.
// Versucht die Spalten zu sortieren. Z.B: Heiltrank, Manatrank, Heiltrank, Manatrank ist eine beschissene Einstellung.
// Wenn ihr lila Tränke verwendet, dann macht sie hinten in den Gürtel NICHT vorne.
// Sie MÜSSEN hinten im Gürtel sein
// Ganz coole leute schreiben rv in jede Spalte o_O
//----------------------------------------------------------------------------------------------
NTConfig_BeltColType[0] = "hp";
NTConfig_BeltColType[1] = "rv";
NTConfig_BeltColType[2] = "rv";
NTConfig_BeltColType[3] = "rv";
//------------------------------------------------------------------------------
// PickIt - Einstellungen
//------------------------------------------------------------------------------
//
// Hier könnt ihr einstellen welches Pickit verwendet wird.
// Es darf nur ein Modus ausgewählt sein!!! (normal / advance / extreme)
//-----------------------------------------------------------------------------------
//
//NTConfig_NIPFilePath.push("normal/normal.nip");
//NTConfig_NIPFilePath.push("normal/magic_rare.nip");
//NTConfig_NIPFilePath.push("normal/set.nip");
//NTConfig_NIPFilePath.push("normal/unique.nip");
//NTConfig_NIPFilePath.push("normal/craft.nip");
//NTConfig_NIPFilePath.push("advance/normal.nip");
//NTConfig_NIPFilePath.push("advance/magic_rare.nip");
//NTConfig_NIPFilePath.push("advance/set.nip");
//NTConfig_NIPFilePath.push("advance/unique.nip");
//NTConfig_NIPFilePath.push("advance/craft.nip");
//NTConfig_NIPFilePath.push("extreme/normal.nip");
//NTConfig_NIPFilePath.push("extreme/magic_rare.nip");
//NTConfig_NIPFilePath.push("extreme/set.nip");
//NTConfig_NIPFilePath.push("extreme/unique.nip");
//NTConfig_NIPFilePath.push("extreme/craft.nip");
NTConfig_NIPFilePath.push("Bluebird.nip");
NTConfig_NIPFilePath.push("shoping/shoping.nip");
NTConfig_SnagRange = 50; // Radius in welchem der Bot überprüft ob etwas gedropt ist. 40 scheint ganz OK zu sein. Wenn ihr sehr häufig EBENEN farmt darfs denke ich auch 50 sein.
//------------------------------------------------------------------------------
// Cubing - Einstellungen
//------------------------------------------------------------------------------
NTConfig_Cubing = true; // Lasst das auf false
//NTConfig_CubingItem.push([NTCU_GEM, 560]); // Flawless Amethyst
//NTConfig_CubingItem.push([NTCU_GEM, 565]); // Flawless Topaz
//NTConfig_CubingItem.push([NTCU_GEM, 570]); // Flawless Saphire
//NTConfig_CubingItem.push([NTCU_GEM, 575]); // Flawless Emerald
//NTConfig_CubingItem.push([NTCU_GEM, 580]); // Flawless Ruby
//NTConfig_CubingItem.push([NTCU_GEM, 585]); // Flawless Diamond
//NTConfig_CubingItem.push([NTCU_GEM, 600]); // Flawless Skull
//NTConfig_CubingItem.push([NTCU_MAGIC, 420]); // Magic Tiara
//NTConfig_CubingItem.push([NTCU_MAGIC, 421]); // Magic Diadem
//NTConfig_CubingItem.push([NTCU_MAGIC_CHARM, 603]); // Magic Small Charm
//NTConfig_CubingItem.push([NTCU_MAGIC_CHARM, 605]); // Magic Grand Charm
//NTConfig_CubingItem.push([NTCU_CRAFT_HITPOWER_GLOVES, 382]); // Craft Heavy Bracers
//NTConfig_CubingItem.push([NTCU_CRAFT_HITPOWER_GLOVES, 452]); // Craft Vambraces
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_HELM, 354]); // Craft Casque
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_HELM, 424]); // Craft Armet
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_BOOTS, 388]); // Craft Battle Boots
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_BOOTS, 458]); // Craft Mirrored Boots
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_GLOVES, 381]); // Craft Sharkskin Gloves
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_GLOVES, 451]); // Craft Vampirebone Gloves
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_BELT, 392]); // Craft Mesh Belt
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_BELT, 462]); // Craft Mithril Coil
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_AMULET, 520]); // Craft Amulet
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_RING, 522]); // Craft Ring
//stürzt ab //NTConfig_CubingItem.push([NTCU_CRAFT_CASTER_AMULET, 520]); // Craft Amulet
//NTConfig_CubingItem.push([NTCU_CRAFT_SAFETY_SHIELD, 447]); // Craft Monarch
//NTConfig_CubingItem.push([NTCU_CRAFT_SAFETY_AMULET, 520]); // Craft Amulet
//NTConfig_CubingItem.push([NTCU_RUNE_THUL, 562]);
//NTConfig_CubingItem.push([NTCU_RUNE_AMN, 557]);
//NTConfig_CubingItem.push([NTCU_RUNE_SOL, 567]);
//NTConfig_CubingItem.push([NTCU_RUNE_SHAEL, 577]);
//NTConfig_CubingItem.push([NTCU_RUNE_DOL, 572]);
//NTConfig_CubingItem.push([NTCU_RUNE_HEL, 582]);
//NTConfig_CubingItem.push([NTCU_RUNE_IO, 563]);
NTConfig_CubingItem.push([NTCU_RUNE_LUM, 558]);
NTConfig_CubingItem.push([NTCU_RUNE_KO, 568]);
NTConfig_CubingItem.push([NTCU_RUNE_FAL, 578]);
NTConfig_CubingItem.push([NTCU_RUNE_LEM, 573]);
NTConfig_CubingItem.push([NTCU_RUNE_PUL, 583]);
NTConfig_CubingItem.push([NTCU_RUNE_UM, 564]);
NTConfig_CubingItem.push([NTCU_RUNE_MAL, 559]);
//NTConfig_CubingItem.push([NTCU_RUNE_IST, 569]);
NTConfig_CubingItem.push([NTCU_RUNE_GUL, 579]);
//NTConfig_CubingItem.push([NTCU_RUNE_VEX, 574]);
//NTConfig_CubingItem.push([NTCU_RUNE_OHM, 584]);
//NTConfig_CubingItem.push([NTCU_RUNE_LO, 565]);
//NTConfig_CubingItem.push([NTCU_RUNE_SUR, 560]);
//NTConfig_CubingItem.push([NTCU_RUNE_BER, 570]);
//NTConfig_CubingItem.push([NTCU_RUNE_JAH, 580]);
//NTConfig_CubingItem.push([NTCU_RUNE_CHAM, 575]);
//***** Include the following, Primary item must be setted in item_configs folder *****
//NTConfig_CubingItem.push([NTCU_SOCKET_BODYARMOR, 442]); // Socket Sacred Armor
//NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 255]); // Socket Thresher
//NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 256]); // Socket Cryptic Axe
//NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 257]); // Socket Great Poleaxe
//NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 258]); // Socket Giant Thresher
//NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_WEAPON, 295]); // Titan's Revenge : Exceptional -> Elite
//NTConfig_CubingItem.push([NTCU_UPGRADE_N_UNIQUE_ARMOR, 337]); // Magefist : Normal -> Exceptional
//NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 360]); // Skin of the Vipermagi : Exceptional -> Elite
//NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 383]); // Magefist or Lava Gout : Exceptional -> Elite
//NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 389]); // Gore Rider : Exceptional -> Elite
//NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 477]); // Arreat's Face : Exceptional -> Elite
//NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 481]); // Herald Of Zakarum : Exceptional -> Elite
//------------------------------------------------------------------------------
// Gamble / Glücksspiel - Einstellungen
//------------------------------------------------------------------------------
NTConfig_Gamble = true; // true = Glücksspiel machen : false = kein Glücksspiel
NTConfig_GambleStartGold = 2000000; // Wenn schon soviel Gold da ist beginnt der Bot auf mit dem Glücksspiel.
NTConfig_GambleStopGold = 800000; // Wenn nurnoch soviel Gold da ist hört der Bot auf mit dem Glücksspiel.
NTConfig_GambleItem.push(520); // Amulette
NTConfig_GambleItem.push(522); // Ringe
NTConfig_GambleItem.push(418); // Reifen
NTConfig_GambleItem.push(419); // Coronets
NTConfig_GambleItem.push(334); // Lederhandschuhe
NTConfig_GambleItem.push(335); // Schwere Handschuhe
NTConfig_GambleItem.push(336); // Lettenhandschuhe
NTConfig_GambleItem.push(337); // Leichte Handschuhe
NTConfig_GambleItem.push(338); // Handschuhe?
//------------------------------------------------------------------------------
// Ein paar allgemeine Einstellungen
//------------------------------------------------------------------------------
NTConfig_PublicMode = true; // Auf true setzen, wenn du mit diesem Bot öffentliche Spiele / public games machen willst
NTConfig_CheckCloneDiablo = true; // Auf true setzten, wenn du in dem Game warten willst, wenn die Nachricht "Diablo Walks the Earth" erscheint.
NTConfig_OpenChest = true; // true = Truhen öffnen : false = Truhen zulassen
me.quitonhostile = false; // Auf true setzen, wenn du public Games machst und möchtest, dass der Bot das Spiel direkt verlässt, wenn Bot-Jäger auftauchen
//------------------------------------------------------------------------------
// Angriffs - Einstellungen
//------------------------------------------------------------------------------
NTConfig_AttackSkill[0] = 0; // Anfangsskill (wird nur EIN mal gecastet) 0 = keinen
NTConfig_AttackSkill[1] = 112; // Welcher Skill soll beim Angriff gegen Bosse aktiv sein? 0 = keiner
NTConfig_AttackSkill[2] = 113; // Welche Aura soll beim Angriff gegen Bosse aktiv sein? 0 = keine
NTConfig_AttackSkill[3] = 112; // Welcher Skill soll beim Angriff gegen andere Monster aktiv sein? 0 = keiner
NTConfig_AttackSkill[4] = 113; // Welche Aura soll beim Angriff gegen andere Monster aktiv sein? 0 = keine
NTConfig_AttackSkill[5] = 0; // Zweitskill, falls ein Monster immun gegen den Hauptskill ist 0 = keinen
NTConfig_AttackSkill[6] = 0; // Zweitaura.0 = keine (braucht man eigentlich nicht)
NTConfig_ClearPosition = false; // Auf true setzen, dann cleart der Bot die nahe Umgebung des Bosses.
NTConfig_UseRedemptionHP = 80; // Unterhalb dieser % seiner Leben setzt der Bot "Rücknahme" ein. 0 = ausgeschaltet
NTConfig_UseRedemptionMP = 60; // Unterhalb dieser % seiner Mana setzt der Bot "Rücknahme" ein. 0 = ausgeschaltet
//------------------------------------------------------------------------------
// Das hier einfach so lassen. Finger weg!
//------------------------------------------------------------------------------
// 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 = 0x04|0x40;
// 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|0x04|0x10|0x40;
}
4. Und was macht der gute nun. er geht ins spiel, schreibt, dass shoppen los geht und rennt los. er geht schön der reihe nach alle npc ab, kauft bei denen die heiltränke haben genau soviel tränke wie im tradefenster angezeigt werden und bei die anderen klickt er nur kurz an, macht nichts und geht weiter. irgendwann ist das inv mit heil und manatränken voll und dann kommt die entsprechende fehlermeldung: "have not space save items, and have an item ca not buy it".
danke schonmal fürs behilflich sein!
|
|
|
05/18/2010, 17:44
|
#18
|
elite*gold: 250
Join Date: Mar 2010
Posts: 840
Received Thanks: 184
|
Quote:
Originally Posted by senfbert
Ich fasse nochmal zusammen, damit die lösungfindung vllt etwas einfach ist:
1.) Datei namens NTShopbot.ntj in D2NT\scripts\NTBot\bots erstellt mit folgendem inhalt (1:1 kopie von hier)
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// //
// ShopBot Script For D2NT 2.1 //
// 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,h p3,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;
}
2.) In D2NT\scripts\NTBot\item_configs\shoping eine datei namens shoping.nip mit dem kopierten Inhalt meiner bisherigen bluebird.nip erstellt.
3.) Den restlichen code in meine charconfig eingefügt die nun so aussieht
var NTConfig_UseRedemptionHP;
var NTConfig_UseRedemptionMP;
//================================================== ================================================== =====
// 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( 2 );
shop_npcNumber.push( 3 );
shop_npcNumber.push( 4 );
shop_npcNumber.push( 5 );
shop_npcNumber.push( 6 );
shop_npcNumber.push( 7 );
shop_npcNumber.push( 8 );
shop_npcNumber.push( 9 );
shop_npcNumber.push( 10 );
shop_npcNumber.push( 11 );
shop_npcNumber.push( 12 );
shop_npcNumber.push( 13 );
shop_npcNumber.push( 14 );
// 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;
//================================================== ================================================== ======
function NT_LoadConfig()
{
NTConfig_Script.push("NTShopbot.ntj");
//------------------------------------------------------------------------------
// Bosseinstellungen
//------------------------------------------------------------------------------
//
//..::AKT 1::..
//-------------
//NTConfig_Script.push("NTMausoleum.ntj"); NTConfig_KillBloodRaven = true;
//NTConfig_Script.push("NTTristram.ntj"); NTConfig_KillRakanishu = true;
//NTConfig_Script.push("NTKuhlevel.ntj"); NTConfig_KillRakanishu = true; NTConfig_ClearTristram = false; NTConfig_MooMooFarm = true;
NTConfig_Script.push("NTGraefin.ntj");
//NTConfig_Script.push("NTBaumkopf.ntj");
//NTConfig_Script.push("NTPit.ntj"); NTConfig_ClearPitLevel1 = 2; // 0 : nicht clearen, 1 : nur den Weg clearen, 2 : alles clearen
//NTConfig_Script.push("NTDas Loch.ntj"); NTConfig_ClearHoleLevel1 = 1; // 0 : nicht clearen, 1 : nur den Weg clearen, 2 : alles clearen
NTConfig_Script.push("NTAndariel.ntj");
//
//
//..::AKT 2::..
//-------------
//NTConfig_Script.push("NTRadament.ntj");
//NTConfig_Script.push("NTKaltwurm der Graeber.ntj");
//NTConfig_Script.push("NTAlte Tunnels.ntj");
// NTConfig_Script.push("NTSummoner.ntj"); NTConfig_KillFireEye = false;
NTConfig_Script.push("NTDuriel.ntj");
//
//
//..::AKT 3::..
//-------------
//NTConfig_Script.push("NTKanalisation Akt3.ntj"); NTConfig_ClearA3SewersLevel1 = 1; // 0 : don't clear, 1 : clear path only, 2 : clear all
NTConfig_Script.push("NTKurastTravel.ntj");
NTConfig_Script.push("NTTravincal.ntj");
NTConfig_Script.push("NTMephisto.ntj");
//
//
//..::AKT 4::..
//-------------
NTConfig_Script.push("NTIzual.ntj");
NTConfig_Script.push("NTDer Hoellenschmied.ntj");
//NTConfig_Script.push("NTDiablo.ntj");
NTConfig_Script.push("NTFastDiablo.ntj");
//
//
//..::AKT 5::..
//-------------
//NTConfig_Script.push("NTPindleskinWP.ntj");
NTConfig_Script.push("NTPindleskin.ntj"); NTConfig_NihlathakExtension = true;
//NTConfig_Script.push("NTNihlathak.ntj"); NTConfig_PindleskinExtension = false;
//NTConfig_Script.push("NTEldritch.ntj"); NTConfig_ShenkExtension = true; NTConfig_DacFarren = false;
//NTConfig_Script.push("NTThreshSocket.ntj");
//NTConfig_Script.push("NTFrostfluss.ntj"); NTConfig_ClearFrozenRiver = false;
//NTConfig_Script.push("NTGletscherweg.ntj"); NTConfig_ClearGlacialTrail = false;
//NTConfig_Script.push("NTEiskeller.ntj"); NTConfig_ClearIcyCellar = false;
NTConfig_Script.push("NTBaal.ntj"); NTConfig_KillBaal = true;
//------------------------------------------------------------------------------
// Rush - Bot
//------------------------------------------------------------------------------
//NTConfig_Script.push("NTRushAct1.ntj");
//NTConfig_Script.push("NTRushAct2.ntj"); NTConfig_Cube = true; NTConfig_Staff = true; NTConfig_Amu = true; NTConfig_Summoner = true;
//NTConfig_Script.push("NTRushAct3.ntj");
//NTConfig_Script.push("NTRushAct4.ntj"); NTConfig_ClearCS = false;
//NTConfig_Script.push("NTRushAct5.ntj"); NTConfig_Anya = true; NTConfig_Ancients = true;
//------------------------------------------------------------------------------
// Baal-Leech-Bot
//------------------------------------------------------------------------------
//NTConfig_Script.push("NTBaalLeech.ntj");
//------------------------------------------------------------------------------
// Positionen anzeigen
//------------------------------------------------------------------------------
//NTConfig_Script.push("NTposition.ntj");
//------------------------------------------------------------------------------
// Zeiteinstellungen
//------------------------------------------------------------------------------
me.maxgametime = 1800000; // Maximale Spielzeit für einen Run (0 = unendlich)
NTConfig_StartDelay = 500; // Zeit in Millisekunden vor dem Start
NTConfig_AreaDelay = 500; // Zeit in Millisekunden vor dem Gebietswechsel
NTConfig_SnagDelay = 1; // Zeit in Millisekunden vor dem Einsammeln von Items
//------------------------------------------------------------------------------
// Life / Mana - Einstellungen
//------------------------------------------------------------------------------
NTConfig_SkipHealLife = 90; // Unterhalb dieser % seiner Leben geht der Bot zum Heiler
NTConfig_SkipHealMana = 70; // Unterhalb dieser % seiner Mana geht der Bot zum Heiler
NTConfig_SkipHealCurses = true;// false = Flüche heilen : true = Flüche nicht heilen
NTConfig_UseMerc = true; // true = Söldner verwenden : false = keinen Söldner verwenden
NTConfig_ResetWeapon = false; // Waffe vom Söldner kurz rausnehmen und wieder reinlegen (Aura)
NTConfig_LifeThresh = 67; // Unterhalb dieser % seiner Leben trinkt der Bot einen normalen Heiltrank
NTConfig_LifeRejuvThresh = 37; // Unterhalb dieser % seiner Leben trinkt der Bot einen lila Trank
NTConfig_ManaThresh = 30; // Unterhalb dieser % seiner Mana trinkt der Bot einen normalen Manatrank
NTConfig_ManaRejuvThresh = 0; // Unterhalb dieser % seiner Mana trinkt der Bot einen lila Trank
NTConfig_LifeChicken = 20; // Unterhalb dieser % seiner Leben verlässt der Bot das Spiel
NTConfig_ManaChicken = 0; // Unterhalb dieser % seiner Mana verlässt der Bot das Spiel
NTConfig_MercLifeThresh = 80; // Unterhalb dieser % des Söldnerlebens gibt der Bot dem Söldner einen Heiltrank
NTConfig_MercRejuvThresh = 30; // Unterhalb dieser % des Söldnerlebens gibt der Bot dem Söldner einen lila Trank
NTConfig_MercChicken = 0; // Unterhalb dieser % des Söldnerlebens verlässt der Bot das Spiel
//------------------------------------------------------------------------------
// Inventar - Einstellungen
//------------------------------------------------------------------------------
NTConfig_FreeSpace = 7; // Anzahl der Kästchen im Inventar die mindestens frei sein müssen. Sind weniger Kästchen frei, geht der Bot zur Truhe.
// Die Zahlen stellen dein Inventar dar. Jede Zahl ist ein Kästchen. 0 = Der bot fässt diese items niemals an : 1 = Der Bot arbeitet mit diesen Feldern.
NTConfig_Columns[0] = [1,1,1,1,1,0,0,0,0,0];
NTConfig_Columns[1] = [1,1,1,1,1,0,0,0,0,0];
NTConfig_Columns[2] = [1,1,1,1,1,0,0,0,0,0];
NTConfig_Columns[3] = [1,1,1,1,1,0,0,0,0,0];
NTConfig_MinGoldToStash = 100000; // Maximale Goldsumme die der Bot bei sich tragen darf ohne zur Truhe zu gehen.
//------------------------------------------------------------------------------
// Gürtel - Einstellungen
//------------------------------------------------------------------------------
//
// Tragt hier ein, welche tränke in welcher Reihe des Gürtels verwendet werden sollen.
// Mögliche Arten : "hp" = Heiltrank : "mp" = Manatrank : "rv" = lila Trank.
// Versucht die Spalten zu sortieren. Z.B: Heiltrank, Manatrank, Heiltrank, Manatrank ist eine beschissene Einstellung.
// Wenn ihr lila Tränke verwendet, dann macht sie hinten in den Gürtel NICHT vorne.
// Sie MÜSSEN hinten im Gürtel sein
// Ganz coole leute schreiben rv in jede Spalte o_O
//----------------------------------------------------------------------------------------------
NTConfig_BeltColType[0] = "hp";
NTConfig_BeltColType[1] = "rv";
NTConfig_BeltColType[2] = "rv";
NTConfig_BeltColType[3] = "rv";
//------------------------------------------------------------------------------
// PickIt - Einstellungen
//------------------------------------------------------------------------------
//
// Hier könnt ihr einstellen welches Pickit verwendet wird.
// Es darf nur ein Modus ausgewählt sein!!! (normal / advance / extreme)
//-----------------------------------------------------------------------------------
//
//NTConfig_NIPFilePath.push("normal/normal.nip");
//NTConfig_NIPFilePath.push("normal/magic_rare.nip");
//NTConfig_NIPFilePath.push("normal/set.nip");
//NTConfig_NIPFilePath.push("normal/unique.nip");
//NTConfig_NIPFilePath.push("normal/craft.nip");
//NTConfig_NIPFilePath.push("advance/normal.nip");
//NTConfig_NIPFilePath.push("advance/magic_rare.nip");
//NTConfig_NIPFilePath.push("advance/set.nip");
//NTConfig_NIPFilePath.push("advance/unique.nip");
//NTConfig_NIPFilePath.push("advance/craft.nip");
//NTConfig_NIPFilePath.push("extreme/normal.nip");
//NTConfig_NIPFilePath.push("extreme/magic_rare.nip");
//NTConfig_NIPFilePath.push("extreme/set.nip");
//NTConfig_NIPFilePath.push("extreme/unique.nip");
//NTConfig_NIPFilePath.push("extreme/craft.nip");
NTConfig_NIPFilePath.push("Bluebird.nip");
NTConfig_NIPFilePath.push("shoping/shoping.nip");
NTConfig_SnagRange = 50; // Radius in welchem der Bot überprüft ob etwas gedropt ist. 40 scheint ganz OK zu sein. Wenn ihr sehr häufig EBENEN farmt darfs denke ich auch 50 sein.
//------------------------------------------------------------------------------
// Cubing - Einstellungen
//------------------------------------------------------------------------------
NTConfig_Cubing = true; // Lasst das auf false
//NTConfig_CubingItem.push([NTCU_GEM, 560]); // Flawless Amethyst
//NTConfig_CubingItem.push([NTCU_GEM, 565]); // Flawless Topaz
//NTConfig_CubingItem.push([NTCU_GEM, 570]); // Flawless Saphire
//NTConfig_CubingItem.push([NTCU_GEM, 575]); // Flawless Emerald
//NTConfig_CubingItem.push([NTCU_GEM, 580]); // Flawless Ruby
//NTConfig_CubingItem.push([NTCU_GEM, 585]); // Flawless Diamond
//NTConfig_CubingItem.push([NTCU_GEM, 600]); // Flawless Skull
//NTConfig_CubingItem.push([NTCU_MAGIC, 420]); // Magic Tiara
//NTConfig_CubingItem.push([NTCU_MAGIC, 421]); // Magic Diadem
//NTConfig_CubingItem.push([NTCU_MAGIC_CHARM, 603]); // Magic Small Charm
//NTConfig_CubingItem.push([NTCU_MAGIC_CHARM, 605]); // Magic Grand Charm
//NTConfig_CubingItem.push([NTCU_CRAFT_HITPOWER_GLOVES, 382]); // Craft Heavy Bracers
//NTConfig_CubingItem.push([NTCU_CRAFT_HITPOWER_GLOVES, 452]); // Craft Vambraces
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_HELM, 354]); // Craft Casque
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_HELM, 424]); // Craft Armet
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_BOOTS, 388]); // Craft Battle Boots
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_BOOTS, 458]); // Craft Mirrored Boots
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_GLOVES, 381]); // Craft Sharkskin Gloves
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_GLOVES, 451]); // Craft Vampirebone Gloves
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_BELT, 392]); // Craft Mesh Belt
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_BELT, 462]); // Craft Mithril Coil
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_AMULET, 520]); // Craft Amulet
//NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_RING, 522]); // Craft Ring
//stürzt ab //NTConfig_CubingItem.push([NTCU_CRAFT_CASTER_AMULET, 520]); // Craft Amulet
//NTConfig_CubingItem.push([NTCU_CRAFT_SAFETY_SHIELD, 447]); // Craft Monarch
//NTConfig_CubingItem.push([NTCU_CRAFT_SAFETY_AMULET, 520]); // Craft Amulet
//NTConfig_CubingItem.push([NTCU_RUNE_THUL, 562]);
//NTConfig_CubingItem.push([NTCU_RUNE_AMN, 557]);
//NTConfig_CubingItem.push([NTCU_RUNE_SOL, 567]);
//NTConfig_CubingItem.push([NTCU_RUNE_SHAEL, 577]);
//NTConfig_CubingItem.push([NTCU_RUNE_DOL, 572]);
//NTConfig_CubingItem.push([NTCU_RUNE_HEL, 582]);
//NTConfig_CubingItem.push([NTCU_RUNE_IO, 563]);
NTConfig_CubingItem.push([NTCU_RUNE_LUM, 558]);
NTConfig_CubingItem.push([NTCU_RUNE_KO, 568]);
NTConfig_CubingItem.push([NTCU_RUNE_FAL, 578]);
NTConfig_CubingItem.push([NTCU_RUNE_LEM, 573]);
NTConfig_CubingItem.push([NTCU_RUNE_PUL, 583]);
NTConfig_CubingItem.push([NTCU_RUNE_UM, 564]);
NTConfig_CubingItem.push([NTCU_RUNE_MAL, 559]);
//NTConfig_CubingItem.push([NTCU_RUNE_IST, 569]);
NTConfig_CubingItem.push([NTCU_RUNE_GUL, 579]);
//NTConfig_CubingItem.push([NTCU_RUNE_VEX, 574]);
//NTConfig_CubingItem.push([NTCU_RUNE_OHM, 584]);
//NTConfig_CubingItem.push([NTCU_RUNE_LO, 565]);
//NTConfig_CubingItem.push([NTCU_RUNE_SUR, 560]);
//NTConfig_CubingItem.push([NTCU_RUNE_BER, 570]);
//NTConfig_CubingItem.push([NTCU_RUNE_JAH, 580]);
//NTConfig_CubingItem.push([NTCU_RUNE_CHAM, 575]);
//***** Include the following, Primary item must be setted in item_configs folder *****
//NTConfig_CubingItem.push([NTCU_SOCKET_BODYARMOR, 442]); // Socket Sacred Armor
//NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 255]); // Socket Thresher
//NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 256]); // Socket Cryptic Axe
//NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 257]); // Socket Great Poleaxe
//NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 258]); // Socket Giant Thresher
//NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_WEAPON, 295]); // Titan's Revenge : Exceptional -> Elite
//NTConfig_CubingItem.push([NTCU_UPGRADE_N_UNIQUE_ARMOR, 337]); // Magefist : Normal -> Exceptional
//NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 360]); // Skin of the Vipermagi : Exceptional -> Elite
//NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 383]); // Magefist or Lava Gout : Exceptional -> Elite
//NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 389]); // Gore Rider : Exceptional -> Elite
//NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 477]); // Arreat's Face : Exceptional -> Elite
//NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 481]); // Herald Of Zakarum : Exceptional -> Elite
//------------------------------------------------------------------------------
// Gamble / Glücksspiel - Einstellungen
//------------------------------------------------------------------------------
NTConfig_Gamble = true; // true = Glücksspiel machen : false = kein Glücksspiel
NTConfig_GambleStartGold = 2000000; // Wenn schon soviel Gold da ist beginnt der Bot auf mit dem Glücksspiel.
NTConfig_GambleStopGold = 800000; // Wenn nurnoch soviel Gold da ist hört der Bot auf mit dem Glücksspiel.
NTConfig_GambleItem.push(520); // Amulette
NTConfig_GambleItem.push(522); // Ringe
NTConfig_GambleItem.push(418); // Reifen
NTConfig_GambleItem.push(419); // Coronets
NTConfig_GambleItem.push(334); // Lederhandschuhe
NTConfig_GambleItem.push(335); // Schwere Handschuhe
NTConfig_GambleItem.push(336); // Lettenhandschuhe
NTConfig_GambleItem.push(337); // Leichte Handschuhe
NTConfig_GambleItem.push(338); // Handschuhe?
//------------------------------------------------------------------------------
// Ein paar allgemeine Einstellungen
//------------------------------------------------------------------------------
NTConfig_PublicMode = true; // Auf true setzen, wenn du mit diesem Bot öffentliche Spiele / public games machen willst
NTConfig_CheckCloneDiablo = true; // Auf true setzten, wenn du in dem Game warten willst, wenn die Nachricht "Diablo Walks the Earth" erscheint.
NTConfig_OpenChest = true; // true = Truhen öffnen : false = Truhen zulassen
me.quitonhostile = false; // Auf true setzen, wenn du public Games machst und möchtest, dass der Bot das Spiel direkt verlässt, wenn Bot-Jäger auftauchen
//------------------------------------------------------------------------------
// Angriffs - Einstellungen
//------------------------------------------------------------------------------
NTConfig_AttackSkill[0] = 0; // Anfangsskill (wird nur EIN mal gecastet) 0 = keinen
NTConfig_AttackSkill[1] = 112; // Welcher Skill soll beim Angriff gegen Bosse aktiv sein? 0 = keiner
NTConfig_AttackSkill[2] = 113; // Welche Aura soll beim Angriff gegen Bosse aktiv sein? 0 = keine
NTConfig_AttackSkill[3] = 112; // Welcher Skill soll beim Angriff gegen andere Monster aktiv sein? 0 = keiner
NTConfig_AttackSkill[4] = 113; // Welche Aura soll beim Angriff gegen andere Monster aktiv sein? 0 = keine
NTConfig_AttackSkill[5] = 0; // Zweitskill, falls ein Monster immun gegen den Hauptskill ist 0 = keinen
NTConfig_AttackSkill[6] = 0; // Zweitaura.0 = keine (braucht man eigentlich nicht)
NTConfig_ClearPosition = false; // Auf true setzen, dann cleart der Bot die nahe Umgebung des Bosses.
NTConfig_UseRedemptionHP = 80; // Unterhalb dieser % seiner Leben setzt der Bot "Rücknahme" ein. 0 = ausgeschaltet
NTConfig_UseRedemptionMP = 60; // Unterhalb dieser % seiner Mana setzt der Bot "Rücknahme" ein. 0 = ausgeschaltet
//------------------------------------------------------------------------------
// Das hier einfach so lassen. Finger weg!
//------------------------------------------------------------------------------
// 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 = 0x04|0x40;
// 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|0x04|0x10|0x40;
}
4. Und was macht der gute nun. er geht ins spiel, schreibt, dass shoppen los geht und rennt los. er geht schön der reihe nach alle npc ab, kauft bei denen die heiltränke haben genau soviel tränke wie im tradefenster angezeigt werden und bei die anderen klickt er nur kurz an, macht nichts und geht weiter. irgendwann ist das inv mit heil und manatränken voll und dann kommt die entsprechende fehlermeldung: "have not space save items, and have an item ca not buy it".
danke schonmal fürs behilflich sein!
|
warum kauft der bei dir Heiltränke?
Hast du deine andere pickit nicht deaktiviert? Wobei das eig kein problem sein sollte, da der bot immer nur so viel tränke kauft wie er braucht.
Bei mir funktioniert der einwandfrei (bis auf das, dass er sau langsam is)
Das ist ganz normal, dass er nicht die einzelnen fenster durchgeht, da er alle auf einmal scannt
|
|
|
05/18/2010, 18:06
|
#19
|
elite*gold: 0
Join Date: Nov 2009
Posts: 180
Received Thanks: 6
|
ja das weiß ich ja eben nicht warum er die heiltränke kauft
ich hab beide pickits drin, wobei die identisch sind. und bei mir ist er sogar sehr flott unterwegs, aber das hilft ja alles nix wenn er sich das inv mit tränken vollballert und dann nix mehr aufnehmen kann
deswegen hab ich hier ja extra alles so genau gepostet damit man da einen fehler hoffentlich finden kann!!
|
|
|
05/18/2010, 18:31
|
#20
|
elite*gold: 0
Join Date: Mar 2010
Posts: 13
Received Thanks: 5
|
// ##### Potions #######################
[Name] == GreaterHealingPotion
[Name] == SuperHealingPotion
[Name] == GreaterManaPotion
[Name] == SuperManaPotion
[Name] == RejuvenationPotion
[Name] == FullRejuvenationPotion
aktivier nur deine shopping pickit, und entferne darin diese Einträge. ( // davor sollte auch funktionieren)
|
|
|
05/18/2010, 18:42
|
#21
|
elite*gold: 0
Join Date: May 2007
Posts: 64
Received Thanks: 3
|
der is ja soo viel geiler als redvex danke dir (:
Inventar voll und er wartet sobald er wieder was kaufen kann wohahahhaha
i like
/E ne gescheite nip wäre noch toll!
evtl setz ich mich nacher auch einfach selber rann
--> jeweler sacred armor of defiance was will man denn damit ?
hab das nichtmal ansatzweise in pickit drin und kauft sowas trozdem
|
|
|
05/18/2010, 18:46
|
#22
|
elite*gold: 0
Join Date: Nov 2009
Posts: 180
Received Thanks: 6
|
ah danke soweit schon mal!
daran lag es!
also er dreht jetzt tapfer sein runde, quatscht jeden an und geht dann wieder weiter. kontrollieren kann ich das ja nicht ob er alle reiter im tradefenster durchschaut, aber wird schon so sein?
|
|
|
05/18/2010, 19:55
|
#23
|
elite*gold: 0
Join Date: Nov 2009
Posts: 180
Received Thanks: 6
|
was mich aber eher noch interessieren würde... kann man nicht einstellen, dass er seine runde dreht, dann ganz normal nen run macht und dann ab in ein neues game?? nicht, dass ihm tatsächlich mal das geld ausgeht oder so n mist, mal abgesehen davon ist es sonst ja auch eintönig
|
|
|
05/18/2010, 20:05
|
#24
|
elite*gold: 0
Join Date: May 2007
Posts: 64
Received Thanks: 3
|
wenn ihm das geld ausgeht und was kaufen kann bleibter stehn und spamt dasn mit !no money to shop and item to shop oder so
das macht ihn 10x besser als redvex ^^
imho könntest auch ne max gametime von 20 mins machen paar runs vor den shopbotschreiben dann dürfts auch gen
|
|
|
05/18/2010, 20:23
|
#25
|
elite*gold: 0
Join Date: Nov 2009
Posts: 180
Received Thanks: 6
|
stimmt, guter ansatz!
also den run macht er jetzt auch so wie ich es möchte, allerdings scheißt er auf die maxgametime und läuft einfach tapfer weiter .... die ist doch in millisekunden angegeben, oder?
also
me.maxgametime = 60000
= nach einer minute müsste er n neues game anfangen!? (nur zum testen)
|
|
|
05/18/2010, 20:26
|
#26
|
elite*gold: 0
Join Date: Jan 2010
Posts: 325
Received Thanks: 50
|
max game time = sec nächst mal sufu benutzen oder anleitung von BB lesen
edit :hier noch ne pickit
Code:
//----- Handschuhe -----
[Type] == Gloves && [Quality] == magic # [IAS] == 20 && [JavelinandSpearSkillTab] == 3
[Name] == VampireboneGloves && [Quality] == magic # [IAS] == 20 && [JavelinandSpearSkillTab] == 3
[Name] == Vambraces && [Quality] == magic # [IAS] == 20 && [JavelinandSpearSkillTab] == 3
[Name] == CrusaderGauntlets && [Quality] == magic # [IAS] == 20 && [JavelinandSpearSkillTab] == 3
[Name] == Vampirebone Gloves && [Quality] == magic # [IAS] == 20 && [JavelinandSpearSkillTab] == 3
[Name] == Vambraces && [Quality] == magic # [IAS] == 20 && [JavelinandSpearSkillTab] == 3
[Name] == CrusaderGauntlets && [Quality] == magic # [IAS] == 20 && [JavelinandSpearSkillTab] == 3
//----- Rüstungen -----
[Type] == Armor && [Quality] == Magic && ([Class] == Normal || [Class] == Exceptional) # [MaxHP] <= 80 && [MaxHP] >= 60 && [Sockets] == 3
[Type] == Armor && [Quality] == Magic && [Flag] != ethereal # [Sockets] == 4 && ([MaxHP] >= 60 || [FHR] == 24)
//----- Schilde ----
[Type] == Shield && [Class] == elite && [Quality] == Magic && [Flag] != ethereal # [Sockets] >= 3 && [FBR] == 30
//[Type] == Shield && [Quality] == Magic && [Flag] != ethereal # [Sockets] >= 3 && [FBR] == 30
[Type] == Shield && [Quality] == Magic && [Flag] != ethereal # [Sockets] >= 3 && [MaxHP] >= 60
//----- Assasinen Claws -----
[Type] == HandToHand && [Quality] == Magic # [AssassinSkills] == 2 && [SkillLightningSentry] == 3
[Type] == HandToHand && [Quality] == Magic # [TrapsSkillTab] == 3 && [SkillLightningSentry] == 3
[Type] == HandToHand && [Quality] == Magic # [AssassinSkills] == 2 && [SkillVenom] == 3
[Type] == HandToHand && [Quality] == Magic # [ShadowDisciplinesSkillTab] == 3 && [SkillVenom] == 3
[Type] == HandToHand && [Quality] == Magic # [AssassinSkills] == 2 && [SkillFade] == 3
[Type] == HandToHand && [Quality] == Magic # [ShadowDisciplinesSkillTab] == 3 && [SkillFade] == 3
[Type] == HandToHand && [Quality] == Magic # [AssassinSkills] == 2 && [SkillShadowMaster] == 3 && [SkillWeaponBlock] == 3
[Type] == HandToHand && [Quality] == Magic # [ShadowDisciplinesSkillTab] == 3 && [SkillShadowMaster] == 3 && [SkillWeaponBlock] == 3
|
|
|
05/18/2010, 20:49
|
#27
|
elite*gold: 0
Join Date: Oct 2008
Posts: 297
Received Thanks: 14
|
welche händler klappert ihr ab?
kleiner tipp macht gamble aus -.-
|
|
|
05/18/2010, 21:11
|
#28
|
elite*gold: 23
Join Date: Mar 2010
Posts: 2,021
Received Thanks: 337
|
wie schlägt sich der bot nun in vergleich zu redex, was die geschwindigkeit angeht? klingt alles voll toll, aber wenn er weniger, als 15mal/minute anya besuchen kann (so oft macht er's bei mir mit redvex), dann lohnt es sich einfach nicht. richtig tolle items shoppt man nach ***.. k runs, und da rechnet sich der schnellere bot einfach besser
|
|
|
05/18/2010, 21:14
|
#29
|
elite*gold: 0
Join Date: Oct 2008
Posts: 297
Received Thanks: 14
|
würde ca ein händler alle 15sec Oo
aber dafür kackt der bot net alle halbe stunde ab
|
|
|
05/18/2010, 21:23
|
#30
|
elite*gold: 23
Join Date: Mar 2010
Posts: 2,021
Received Thanks: 337
|
240 pro stunde? -.-
da bleib ich lieber bei 900 pro stunde - ich hatte bis jetzt nicht wirklich probleme mit dem redvex bot. es ist bis jetzt nie abgestürzt und hat mir schon ein paar schöne sachen geholt ^^
schade eigentlich, sonst wäre das ding hier ja ziemlich perfekt :/
|
|
|
|
|
Similar Threads
|
Shopbot
08/28/2010 - Metin2 - 16 Replies
tagchen
ich suche nen shopbot der mir zB 20 pm's in den laden zieht für zB 1kk
ich hatte mal einen der hieß shopbot by chrisbin aber den find ich jetzt nicht mehr
ich hoffe ihr könnt mir da einen suchen oder wisst wo einer ist
lg oops:mofo:
|
d2nt shopbot?
08/23/2010 - Diablo 2 - 4 Replies
gibt es eigentlich einen? hab bisher keinen sichten können.
btw, wenn ich mehrere bots laufen lasse, wo müssen die versch. cdkey.mpqs hin?
|
d2nt shopbot probleme
05/23/2010 - Diablo 2 - 6 Replies
^^
hallo leute habe ne frage meine shopbots finden nix ;(
ich glaube der fehler ist meine pickit !
bitte schaut sie mal an und helft mir den fehler zu finden .
ich danke euch ^^
|
D2nt Shopbot Pickit _HELP_
05/20/2010 - Diablo 2 - 6 Replies
ich bräuchte hilfe zum thema d2nt shopbot.
wo soll ich shoppen oO?
Könnte denk ich mal eine neue (gute) Pickit für shopbot gebrauchen
er shopped auch im moment nur bei Anya.... is das gut? o.O
|
D2NT Modded By Cybervirus + SHOPBOT???
09/16/2009 - Diablo 2 - 4 Replies
Hi botter freunde!
Ist irgendwer in der lage eine sequence fuer den D2NT modded by Cybervirus zu schreiben, sodass er Anya und larzuk farmed??? Also natuerlich fuer gz magic items, die pickits, sofern nicht vorhanden, waeren kein problem, das bekomme ich noch hin! Aber der rest... Das kann doch bestimmt net so schwer sein wenn man ein bischen in der materie steckt??
Ich hab echt kein bock auf kuk bot :P
Ich denke die existenz dieser sequence waere bestimmt nicht nur in meinem interesse...
|
All times are GMT +2. The time now is 05:42.
|
|