Achtung, Important
also mein verfluchter ntbot kriegt dauernd wna...lass seperat laufen, 1baal nihlatak script und ein mf script(countess,pit,meph,andy,pindle,shenk,eldritc h)
allerdings kriegt der verflucht bot dauernd wna
starter config mf script
Quote:
var gameMinLength = 240000; // time in milliseconds, minimum game length, 180 seconds default (1 game/3 minutes)
var unableToConnectRetry = 5; // time in minutes to retry connecting on connection fail (real value is +/- 1 min)
var realmDownRetry = 120; // time in minutes to retry connecting on a realm down (default is 120 minutes)
var disconnectedRetry = 5; // time in minutes to retry on a disconnection (usually ip ban related)
var cdkeyInUseRetry = 5; // time in minutes to retry on a cdkey in use error message (set to 0 to stop)
var connectingToBnetTimeout = 20000; // time in milliseconds to wait for a login to time out and click cancel and retry
var characterScreenTimeout = 10000; // time in milliseconds to wait for character screen to appear
var pleaseWaitTimeout = 10000; // time in milliseconds to wait for a please wait popup
var createGameThreshold = 5000; // time in milliseconds to wait between making games
var createGameThresholdRandom = 1000; // time in milliseconds to randomly add +/- to the game create time
var createGameTimeout = 15000; // time in milliseconds to register a failed to create game
var waitInLineTimeout = 60000; // time in milliseconds to wait in lines for a create game (60 second default)
var characterSelectDelay = 1000; // time in milliseconds to wait before selecting a character on the char screen
var loginDelay = 1000; // time in milliseconds to wait before submitting login information
var clickDelay = 500; // wait X milliseconds before next action after a click event
var textDelay = 500; // wait X milliseconds before next action after inserting text into a textbox
var clickDelayRandom = 500; // random amount of time to add to a click
var textDelayRandom = 500; // random amount of time to add to a text set
var gameDoesNotExistDelayMin = 600000; // how long to wait when a Game Does Not Exist occurs - minimum - default 10 minutes
var gameDoesNotExistDelayMax = 900000; // how long to wait when a Game Does Not Exist occurs - maximum - default 15 minutes
var gameDoesNotExistTimeout = 30000; // how long to wait for the dialog to disappear (default 30 seconds, don't change this)
var joinChatAfterGame = false; // join chat after leaving a game
var joinRandomChannel = true; // if this is true, will join a random channel, otherwise it will use the channel below..
var joinChannelInChat = ""; // leave blank to not join a private channel
var waitBeforeEnterChatMin = 1000; // min how long to wait before entering chat
var waitBeforeEnterChatMax = 2000; // max how long to wait before entering chat
var waitInChatBeforeActionsMin = 2000; // min how long to wait before joining channel
var waitInChatBeforeActionsMax = 3000; // max how long to wait before joining channel
// DONT EDIT ANYTHING BELOW THIS
// D2NT Manager Command
const D2NT_MGR_LOADING = 1;
const D2NT_MGR_READY = 2;
const D2NT_MGR_LOGIN = 3;
const D2NT_MGR_SELECT_CHAR = 4;
const D2NT_MGR_CREATE_GAME = 5;
const D2NT_MGR_INGAME = 6;
const D2NT_MGR_RESTART = 7;
const D2NT_MGR_CHICKEN = 8;
const D2NT_MGR_PRINT_STATUS = 9;
const D2NT_MGR_PRINT_LOG = 10;
var lastGameMade = GetTickCount();
var lastGameStatus = 0;
var nextGameMake = 0;
var inGameAt = 0;
var chatActionsDone = false;
var lastGameFailed = false;
Include("controlInfo.ntl");
var controlData = new controlInfo();
function NTMain()
{
Delay(1000);
var _ingame = false;
controlData.clickDelay = clickDelay;
controlData.textDelay = textDelay;
controlData.clickDelayRandom = clickDelayRandom;
controlData.textDelayRandom = textDelayRandom;
while(1)
{
if(me.ingame)
{
if(!inGameAt)
inGameAt = GetTickCount();
if(!_ingame)
{
_ingame = true;
sendEventToOOG(D2NT_MGR_INGAME, "In Game", parseInt(gameMinLength/1000));
lastGameStatus = 2; // in game successful
}
Delay(1000);
}
else
{
if(_ingame)
{
_ingame = false;
sendEventToOOG(D2NT_MGR_READY, "", 0);
}
locationAction(controlData.getLocation());
Delay(500);
}
}
}
function locationAction(location)
{
switch(location.id)
{
case 3: // Lobby Chat
if(!chatActionsDone)
{
chatActionsDone = true;
Delay(Random(waitInChatBeforeActionsMin, waitInChatBeforeActionsMax));
if(joinRandomChannel || joinChannelInChat != "")
{
Say("/join " + (joinRandomChannel ? getRandomString(Random(3,10)) : joinChannelInChat));
Delay(1000);
}
}
case 1: // Lobby
if(location.id == 1 && joinChatAfterGame)
{
Delay(Random(waitBeforeEnterChatMin, waitBeforeEnterChatMax));
controlData.click(controlData.controls.lobby.butto n.enterChat);
break;
}
if(GetTickCount() > nextGameMake)
{
lastGameFailed = false;
switch(lastGameStatus)
{
case 0:
controlData.click(controlData.controls.lobby.butto n.create);
nextGameMake = GetTickCount() + createGameTimeout; // set our timeout
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
break;
case 1: // game failed, rollover to reset timer
inGameAt = GetTickCount(); // reset inGameAt, to wait how long we should have waited..
lastGameFailed = true;
case 2:
outputGameLength();
lastGameStatus = 0;
setNextGameMake();
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
break;
}
}
else
timeoutDelay(nextGameMake-GetTickCount(), location);
break;
case 2: // Waiting In Line
if(GetTickCount()-lastGameMade > waitInLineTimeout)
controlData.click(controlData.controls.lobby.inLin e.button.cancel);
break;
case 4: // Create Game
sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
RunGC(); // run garbage collector between each game
locationTimeout(5000, location);
lastGameMade = GetTickCount();
lastGameStatus = 1; // pending creation
break;
case 5: // Join Game
break;
case 6: // Ladder
break;
case 7: // Channel List
break;
case 8: // Main Menu
if(controlData.getCurrentRealmIndex() == me.gatewayid)
{
outputGameLength();
controlData.click(controlData.gameTypes[me.playtype]);
}
else
controlData.click(controlData.controls.mainMenu.bu tton.gateway);
break;
case 9: // Login
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
Delay(loginDelay);
controlData.setText(controlData.controls.login.edi tBox.accountName, me.account);
sendEventToOOG(D2NT_MGR_LOGIN, location.name, 0);
locationTimeout(5000, location);
break;
case 10: // Login Error (this is a fatal error, so stop)
sendEventToOOG(D2NT_MGR_RESTART, location.name, 10);
Delay(3500);
break;
case 11: // Unable To Connect
timeoutDelay(unableToConnectRetry*60*1000, location)
controlData.click(controlData.controls.login.unabl eToConnect.button.ok);
break;
case 12: // Character Select
var _time, _control;
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
for(_time = 0 ; _time < characterScreenTimeout ; _time += 500)
{
_control = controlData.get(controlData.controls.characterSele ct.textBox.characterInfo[me.charloc]);
if(_control && _control.GetText() != undefined)
break;
Delay(500);
}
if(_time < characterScreenTimeout)
{
Delay(characterSelectDelay);
sendEventToOOG(D2NT_MGR_SELECT_CHAR, location.name, 0);
// reset last game made, so it doesnt make a game immediately
inGameAt = 0;
setNextGameMake();
locationTimeout(5000, location);
}
else
{
timeoutDelay(realmDownRetry*60*1000, location);
controlData.click(controlData.controls.characterSe lect.button.exit);
}
break;
case 13: // Realm Down - Character Select screen
timeoutDelay(realmDownRetry*60*1000, location);
controlData.click(controlData.controls.characterSe lect.button.exit);
break;
case 14: // Character Select - Disconnected
timeoutDelay(disconnectedRetry*60*1000, location);
controlData.click(controlData.controls.characterSe lect.disconnected.button.ok);
break;
case 15: // New Character
break;
case 16: // Character Select - Please Wait popup
if(!locationTimeout(pleaseWaitTimeout, location))
controlData.click(controlData.controls.characterSe lect.pleaseWait.button.cancel);
break;
case 17: // Lobby - Lost Connection - just click okay, since we're toast anyway
controlData.click(controlData.controls.lobby.lostC onnection.button.ok);
break;
case 18: // D2 Splash
controlData.click(controlData.controls.d2Splash.te xtBox.copyright);
break;
case 19: // Login - Cdkey In Use
timeoutDelay(cdkeyInUseRetry*60*1000, location);
controlData.click(controlData.controls.login.cdkey InUse.button.ok);
break;
case 20: // Single Player - Select Difficulty
RunGC(); // run garbage collector between each game
controlData.click(controlData.singlePlayerDifficul ties[me.diff]);
break;
case 21: // Main Menu - Connecting
if(!locationTimeout(connectingToBnetTimeout, location))
controlData.click(controlData.controls.mainMenu.co nnecting.button.cancel);
break;
case 22: // Login - Invalid Cdkey (classic or xpac)
sendEventToOOG(D2NT_MGR_RESTART, location.name, 3600);
Delay(3500);
break;
case 23: // Character Select - Connecting
if(!locationTimeout(characterScreenTimeout, location))
controlData.click(controlData.controls.characterSe lect.button.exit);
break;
case 24: // Server Down - not much to do but wait..
break;
case 25: // Lobby - Please Wait
if(!locationTimeout(pleaseWaitTimeout, location))
controlData.click(controlData.controls.lobby.pleas eWait.button.cancel);
break;
case 26: // Lobby - Game Name Exists
sendEventToOOG(D2NT_MGR_PRINT_LOG, "Game already exists", 0);
inGameAt = 0;
lastGameStatus = 0;
setNextGameMake();
locationTimeout(15000, location);
break;
case 27: // Gateway Select
controlData.clickRealmEntry(me.gatewayid);
controlData.click(controlData.controls.gateway.but ton.ok);
break;
case 28: // Lobby - Game Does Not Exist
inGameAt = Random(gameDoesNotExistDelayMin, gameDoesNotExistDelayMax);
lastGameStatus = 0;
setNextGameMake();
locationTimeout(gameDoesNotExistTimeout, location);
break;
}
}
function sendEventToOOG(locationId, statusString, pendingTime)
{
return SendCopyData("D2NT Manager", null, (locationId<<16)|pendingTime, statusString);
}
function setNextGameMake()
{
lastGameMade = GetTickCount();
nextGameMake = lastGameMade + createGameThreshold + Random(0-createGameThresholdRandom, createGameThresholdRandom) + inGameAt;
inGameAt = 0;
chatActionsDone = false;
}
function outputGameLength()
{
if(inGameAt)
{
duration = GetTickCount() - inGameAt;
inGameAt = (duration < gameMinLength ? gameMinLength - duration : 0);
}
}
function locationTimeout(time, location)
{
endtime = GetTickCount() + time;
while(controlData.getLocation().id == location.id && endtime > GetTickCount())
{
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " (" + parseInt((endtime-GetTickCount())/1000) + "s)", 0);
Delay(500);
}
return (controlData.getLocation().id != location.id);
}
function timeoutDelay(time, location)
{
endtime = GetTickCount() + time;
while(endtime > GetTickCount())
{
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " (" + parseInt((endtime-GetTickCount())/1000) + "s)", 0);
Delay(1000);
}
}
function getRandomString(_length)
{
_retString = "";
_charSet = "0123456789abcdefghijklmnopqrstuvwxyz";
while(_length--)
_retString += _charSet.charAt(Random(0, _charSet.length-1));
return _retString;
}
|
char config
Quote:
Include("config/NTConfig.ntl");
var NTConfig_CastStatic;
function NT_LoadConfig()
{
//------------------------------------------------------------------------------
// Boss configuration
//------------------------------------------------------------------------------
NTConfig_PublicMode = false;
me.quitonhostile = false;
NTConfig_Script.push("NTPindleskin.ntj"); NTConfig_NihlathakExtension = false;
NTConfig_Script.push("NTEldritch.ntj"); NTConfig_ShenkExtension = true;
//NTConfig_Script.push("NTThreshSocket.ntj");
//NTConfig_Script.push("NTFrozenRiver.ntj"); NTConfig_ClearFrozenRiver = false;
//NTConfig_Script.push("NTGlacialTrail.ntj"); NTConfig_ClearGlacialTrail = false;
//NTConfig_Script.push("NTIcyCellar.ntj"); NTConfig_ClearIcyCellar = false;
//NTConfig_Script.push("NTDiablo.ntj");
//NTConfig_Script.push("NTTravincal.ntj");
//NTConfig_Script.push("NTSummoner.ntj");
//NTConfig_Script.push("NTDuriel.ntj");
//NTConfig_Script.push("NTAncientTunnels.ntj");
NTConfig_Script.push("NTCountess.ntj");
NTConfig_Script.push("NTPit.ntj"); NTConfig_ClearPitLevel1 = 0; // 0 : don't clear, 1 : clear path only, 2 : clear all
//NTConfig_Script.push("NTMausoleum.ntj");
NTConfig_Script.push("NTMephisto.ntj");
NTConfig_Script.push("NTAndariel.ntj");
//NTConfig_Script.push("NTBaal.ntj"); NTConfig_KillBaal = true;
//NTConfig_Script.push("NTNihlathak.ntj"); NTConfig_PindleskinExtension = false;
me.maxgametime = 2600; // time in seconds, maximum game length (0 is infinite)
NTConfig_StartDelay = 0; // Delay time in milliseconds to start;
NTConfig_AreaDelay = 5000; // Delay time in milliseconds to change area;
NTConfig_SnagDelay = 500; // Delay time in milliseconds to wait before starting picking items
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_SkipHealCurses = false;// If you want to skip curses, set to true
NTConfig_UseMerc = true; // Set to true if you use a mercenary, will revive merc at a reviver npc.
NTConfig_ResetWeapon = true; // Set to true to reset weapon when reviving merc
NTConfig_LifeThresh = 60; // Drink a normal potion if under this percent of life.
NTConfig_LifeRejuvThresh = 40; // 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_LifeChicken = 30; // This is your chicken life percent. If you go below this life total, exit game.
NTConfig_ManaChicken = 0; // This is your chicken mana percent. If you go below this mana total, exit game.
NTConfig_MercLifeThresh = 60; // This is the threshold to use a life potion on your merc in percent.
NTConfig_MercRejuvThresh = 40; // This is the threshold to use a rejuv potion on your merc in percent.
NTConfig_MercChicken = 20; // This is your mercs chicken life percent. If he goes below this, exit game.
NTConfig_FreeSpace = 4; // Number of free columns. If less full columns are free stashing is set.
// The numbers correspond to your inventory. Set 0 to keep whatever is there, 1 to stash it.
NTConfig_Columns[0] = [1,1,1,0,0,0,0,0,0,0];
NTConfig_Columns[1] = [1,1,1,0,0,0,0,0,0,0];
NTConfig_Columns[2] = [1,1,1,0,0,0,0,0,0,0];
NTConfig_Columns[3] = [1,1,1,0,0,0,0,0,0,0];
NTConfig_MinGoldToStash = 100000; // Maximum gold amount carried before going to stash
//----------------------------------------------------------------------------------------------
// Type of potion used in each belt column
// Available types : "hp" = health | "mp" = mana | "rv" = rejuv. Can use other potion types too.
// Keep equal types at adjacent columns. First HP then MP and then HP again is a bad choice.
// Keep HP and MP at the beginning of the belt (in case you want to use rejuv and other types).
// Rejuvenations MUST, I REPEAT MUST be at the end of the belt (last x columns).
// To use rejuvenations only, put "rv" in all columns.
//----------------------------------------------------------------------------------------------
NTConfig_BeltColType[0] = "hp";
NTConfig_BeltColType[1] = "mp";
NTConfig_BeltColType[2] = "rv";
NTConfig_BeltColType[3] = "hp";
//----------------------------------------------------------------------------
// Minimum amount of potions in each column before needing refilling
// If there's less potions then this number in the column we go and shop.
// Set to 4 to go shopping as soon as there's a potion missing.
// Recommend leaving columns set to "rv" at 0. Since shops won't carry rejuvs.
//----------------------------------------------------------------------------
NTConfig_BeltColMin[0] = 4;
NTConfig_BeltColMin[1] = 4;
NTConfig_BeltColMin[2] = 0;
NTConfig_BeltColMin[3] = 4;
//-----------------------------------------------------------------------------------
// SnagIt configuration
// Here is a list of preset nip files assuming you use nip package.
// If you want to add your own .nip files, just copy any line and enter the
// To disable a .nip file, just add "//" at the start of the line or delete the line.
//-----------------------------------------------------------------------------------
NTConfig_NIPFilePath.push("uniques.nip");
//NTConfig_NIPFilePath.push("sets.nip");
//NTConfig_NIPFilePath.push("whites.nip");
//NTConfig_NIPFilePath.push("runes.nip");
//NTConfig_NIPFilePath.push("rares.nip");
//NTConfig_NIPFilePath.push("magics.nip");
//NTConfig_NIPFilePath.push("gems.nip");
//NTConfig_NIPFilePath.push("charmsjewels.nip");
//NTConfig_NIPFilePath.push("ringsamulets.nip");
//NTConfig_NIPFilePath.push("potions.nip");
//NTConfig_NIPFilePath.push("moneymaker.nip");
//NTConfig_NIPFilePath.push("keys.nip");
NTConfig_SnagRange = 40; // Radius to check for dropped items. 40 is a good number here
//------------------------------------------------------------------------------
// Cubing configuration
// Supported gems and runes recipe only
//------------------------------------------------------------------------------
NTConfig_Cubing = false; // Enable cubing
//NTConfig_CubingItem.push(["gcw",0,3]); //Chipped Diamond gcw
//NTConfig_CubingItem.push(["gcv",0,3]); //Chipped Amethyst gcv
//NTConfig_CubingItem.push(["gcb",0,3]); //Chipped Saphire gcb
//NTConfig_CubingItem.push(["gcy",0,3]); //Chipped Topaz gcy
//NTConfig_CubingItem.push(["gcr",0,3]); //Chipped Ruby gcr
//NTConfig_CubingItem.push(["gcg",0,3]); //Chipped Emerald gcg
//NTConfig_CubingItem.push(["skc",0,3]); //Chipped Skull skc
//NTConfig_CubingItem.push(["gfw",0,3]); //Flawed Diamond gfw
//NTConfig_CubingItem.push(["gfv",0,3]); //Flawed Amethyst gfv
//NTConfig_CubingItem.push(["gfb",0,3]); //Flawed Saphire gfb
//NTConfig_CubingItem.push(["gfy",0,3]); //Flawed Topaz gfy
//NTConfig_CubingItem.push(["gfr",0,3]); //Flawed Ruby gfr
//NTConfig_CubingItem.push(["gfg",0,3]); //Flawed Emerald gfg
//NTConfig_CubingItem.push(["skf",0,3]); //Flawed Skull skf
//NTConfig_CubingItem.push(["gsw",0,3]); //Normal Diamond gsw
//NTConfig_CubingItem.push(["gsv",0,3]); //Normal Amethyst gsv
//NTConfig_CubingItem.push(["gsb",0,3]); //Normal Saphire gsb
//NTConfig_CubingItem.push(["gsy",0,3]); //Normal Topaz gsy
//NTConfig_CubingItem.push(["gsr",0,3]); //Normal Ruby gsr
//NTConfig_CubingItem.push(["gsg",0,3]); //Normal Emerald gsg
//NTConfig_CubingItem.push(["sku",0,3]); //Normal Skull sku
//NTConfig_CubingItem.push(["glw",0,3]); //Flawless Diamond glw
//NTConfig_CubingItem.push(["gzv",0,3]); //Flawless Amethyst gzv
//NTConfig_CubingItem.push(["glb",0,3]); //Flawless Saphire glb
//NTConfig_CubingItem.push(["gly",0,3]); //Flawless Topaz gly
//NTConfig_CubingItem.push(["glr",0,3]); //Flawless Ruby glr
//NTConfig_CubingItem.push(["glg",0,3]); //Flawless Emerald glg
//NTConfig_CubingItem.push(["skl",0,3]); //Flawless Skull skl
//NTConfig_CubingItem.push(["r01",0,3]); //El Rune r01
//NTConfig_CubingItem.push(["r02",0,3]); //Eld Rune r02
//NTConfig_CubingItem.push(["r03",0,3]); //Tir Rune r03
//NTConfig_CubingItem.push(["r04",0,3]); //Nef Rune r04
//NTConfig_CubingItem.push(["r05",0,3]); //Eth Rune r05
//NTConfig_CubingItem.push(["r06",0,3]); //Ith Rune r06
//NTConfig_CubingItem.push(["r07",0,3]); //Tal Rune r07
//NTConfig_CubingItem.push(["r08",0,3]); //Ral Rune r08
//NTConfig_CubingItem.push(["r09",0,3]); //Ort Rune r09
//NTConfig_CubingItem.push(["r10",0,3,"gcy",0,1]); //Thul Rune + chipped Topaz r10 + gcy
//NTConfig_CubingItem.push(["r11",0,3,"gcv",0,1]); //Amn Rune + chipped Amethyst r11 + gcv
//NTConfig_CubingItem.push(["r12",0,3,"gcb",0,1]); //Sol Rune + chipped Saphire r12 + gcb
//NTConfig_CubingItem.push(["r13",0,3,"gcr",0,1]); //Shael Rune + chipped Ruby r13 + gcr
//NTConfig_CubingItem.push(["r14",0,3,"gcg",0,1]); //Dol Rune + chipped Emerald r14 + gcg
//NTConfig_CubingItem.push(["r15",0,3,"gcw",0,1]); //Hel Rune + chipped Diamond r15 + gcw
//NTConfig_CubingItem.push(["r16",0,3,"gfy",0,1]); //Io Rune + flawed Topaz r16 + gfy
//NTConfig_CubingItem.push(["r17",0,3,"gfv",0,1]); //Lum Rune + flawed Amethyst r17 + gfv
//NTConfig_CubingItem.push(["r18",0,3,"gfb",0,1]); //Ko Rune + flawed Saphire r18 + gfb
//NTConfig_CubingItem.push(["r19",0,3,"gfr",0,1]); //Fal Rune + flawed Ruby r19 + gfr
//NTConfig_CubingItem.push(["r20",0,3,"gfg",0,1]); //Lem Rune + flawed Emerald r20 + gfg
//NTConfig_CubingItem.push(["r21",0,2,"gfw",0,1]); //Pul Rune + flawed Diamond r21 + gfw
//NTConfig_CubingItem.push(["r22",0,2,"gsy",0,1]); //Um Rune + Topaz r22 + gsy
//NTConfig_CubingItem.push(["r23",0,2,"gsv",0,1]); //Mal Rune + Amethyst r23 + gsv
//NTConfig_CubingItem.push(["r24",0,2,"gsb",0,1]); //Ist Rune + Saphire r24 + gsb
//NTConfig_CubingItem.push(["r25",0,2,"gsr",0,1]); //Gul Rune + Ruby r25 + gsr
//NTConfig_CubingItem.push(["r26",0,2,"gsg",0,1]); //Vex Rune + Emerald r26 + gsg
//NTConfig_CubingItem.push(["r27",0,2,"gsw",0,1]); //Ohm Rune + Diamond r27 + gsw
//NTConfig_CubingItem.push(["r28",0,2,"gly",0,1]); //Lo Rune + flawless Topaz r28 + gly
//NTConfig_CubingItem.push(["r29",0,2,"gzv",0,1]); //Sur Rune + flawless Amethyst r29 + gzv
//NTConfig_CubingItem.push(["r30",0,2,"glb",0,1]); //Ber Rune + flawless Saphire r30 + glb
//NTConfig_CubingItem.push(["r31",0,2,"glr",0,1]); //Jah Rune + flawless Ruby r31 + gll
//NTConfig_CubingItem.push(["r32",0,2,"glg",0,1]); //Cham Rune + flawless Emerald r32 + glg
//------------------------------------------------------------------------------
// Gamble configuration
// To specify what items to gamble, adjust the array with the desired item codes
//------------------------------------------------------------------------------
//NTConfig_Gamble = true; // Enable gambling
//NTConfig_GambleStopGold = 300000; // Gold amount to stop the gambling
//NTConfig_GambleItem.push("rin"); // Rings
//NTConfig_GambleItem.push("amu"); // Amulets
//NTConfig_GambleItem.push("ci0"); // Circlets
//NTConfig_GambleItem.push("ci1"); // Coronets
//NTConfig_GambleItem.push("lgl"); // Leather Gloves
//NTConfig_GambleItem.push("vgl"); // Heavy Gloves
//NTConfig_GambleItem.push("mgl"); // Chain Gloves
//NTConfig_GambleItem.push("tgl"); // Light Gauntlets
//NTConfig_GambleItem.push("hgl"); // Gauntlets
NTConfig_OpenChest = true; // Set to true to open chest
//------------------------------------------------------------------------------
// Attack configuration
//------------------------------------------------------------------------------
NTConfig_AttackSkill[0] = 49; // Cast your first spell once. Set to 0 if you won't
NTConfig_AttackSkill[1] = 49; // Cast your primary spell to boss.
NTConfig_AttackSkill[2] = 49; // Cast your primary spell to others.
NTConfig_AttackSkill[3] = 53; // Cast your primary untimed spell if primary spell is timed spell. Set to 0 if you won't
NTConfig_AttackSkill[4] = 0; // Cast your secondary spell if monster is immune to your primary spell. Set to 0 if you won't
NTConfig_AttackSkill[5] = 0; // Cast your secondary untimed spell if secondary spell is timed spell. Set to 0 if you won't
NTConfig_ClearPosition = true; // Set to true if you want to clear area after killing boss.
NTConfig_CheckSafe = true; // Set to true to check for curses, merc and potion (go to town if needed)
NTConfig_CastStatic = 100; // Cast Static Field until monster's HP lower less than this percent. Set to 100 if you won't
}
|
baal starter script
Quote:
var gameMinLength = 240000; // time in milliseconds, minimum game length, 180 seconds default (1 game/3 minutes)
var unableToConnectRetry = 5; // time in minutes to retry connecting on connection fail (real value is +/- 1 min)
var realmDownRetry = 120; // time in minutes to retry connecting on a realm down (default is 120 minutes)
var disconnectedRetry = 5; // time in minutes to retry on a disconnection (usually ip ban related)
var cdkeyInUseRetry = 5; // time in minutes to retry on a cdkey in use error message (set to 0 to stop)
var connectingToBnetTimeout = 20000; // time in milliseconds to wait for a login to time out and click cancel and retry
var characterScreenTimeout = 10000; // time in milliseconds to wait for character screen to appear
var pleaseWaitTimeout = 10000; // time in milliseconds to wait for a please wait popup
var createGameThreshold = 5000; // time in milliseconds to wait between making games
var createGameThresholdRandom = 1000; // time in milliseconds to randomly add +/- to the game create time
var createGameTimeout = 15000; // time in milliseconds to register a failed to create game
var waitInLineTimeout = 60000; // time in milliseconds to wait in lines for a create game (60 second default)
var characterSelectDelay = 1000; // time in milliseconds to wait before selecting a character on the char screen
var loginDelay = 1000; // time in milliseconds to wait before submitting login information
var clickDelay = 500; // wait X milliseconds before next action after a click event
var textDelay = 500; // wait X milliseconds before next action after inserting text into a textbox
var clickDelayRandom = 500; // random amount of time to add to a click
var textDelayRandom = 500; // random amount of time to add to a text set
var gameDoesNotExistDelayMin = 600000; // how long to wait when a Game Does Not Exist occurs - minimum - default 10 minutes
var gameDoesNotExistDelayMax = 900000; // how long to wait when a Game Does Not Exist occurs - maximum - default 15 minutes
var gameDoesNotExistTimeout = 30000; // how long to wait for the dialog to disappear (default 30 seconds, don't change this)
var joinChatAfterGame = false; // join chat after leaving a game
var joinRandomChannel = true; // if this is true, will join a random channel, otherwise it will use the channel below..
var joinChannelInChat = ""; // leave blank to not join a private channel
var waitBeforeEnterChatMin = 1000; // min how long to wait before entering chat
var waitBeforeEnterChatMax = 2000; // max how long to wait before entering chat
var waitInChatBeforeActionsMin = 2000; // min how long to wait before joining channel
var waitInChatBeforeActionsMax = 3000; // max how long to wait before joining channel
// DONT EDIT ANYTHING BELOW THIS
// D2NT Manager Command
const D2NT_MGR_LOADING = 1;
const D2NT_MGR_READY = 2;
const D2NT_MGR_LOGIN = 3;
const D2NT_MGR_SELECT_CHAR = 4;
const D2NT_MGR_CREATE_GAME = 5;
const D2NT_MGR_INGAME = 6;
const D2NT_MGR_RESTART = 7;
const D2NT_MGR_CHICKEN = 8;
const D2NT_MGR_PRINT_STATUS = 9;
const D2NT_MGR_PRINT_LOG = 10;
var lastGameMade = GetTickCount();
var lastGameStatus = 0;
var nextGameMake = 0;
var inGameAt = 0;
var chatActionsDone = false;
var lastGameFailed = false;
Include("controlInfo.ntl");
var controlData = new controlInfo();
function NTMain()
{
Delay(1000);
var _ingame = false;
controlData.clickDelay = clickDelay;
controlData.textDelay = textDelay;
controlData.clickDelayRandom = clickDelayRandom;
controlData.textDelayRandom = textDelayRandom;
while(1)
{
if(me.ingame)
{
if(!inGameAt)
inGameAt = GetTickCount();
if(!_ingame)
{
_ingame = true;
sendEventToOOG(D2NT_MGR_INGAME, "In Game", parseInt(gameMinLength/1000));
lastGameStatus = 2; // in game successful
}
Delay(1000);
}
else
{
if(_ingame)
{
_ingame = false;
sendEventToOOG(D2NT_MGR_READY, "", 0);
}
locationAction(controlData.getLocation());
Delay(500);
}
}
}
function locationAction(location)
{
switch(location.id)
{
case 3: // Lobby Chat
if(!chatActionsDone)
{
chatActionsDone = true;
Delay(Random(waitInChatBeforeActionsMin, waitInChatBeforeActionsMax));
if(joinRandomChannel || joinChannelInChat != "")
{
Say("/join " + (joinRandomChannel ? getRandomString(Random(3,10)) : joinChannelInChat));
Delay(1000);
}
}
case 1: // Lobby
if(location.id == 1 && joinChatAfterGame)
{
Delay(Random(waitBeforeEnterChatMin, waitBeforeEnterChatMax));
controlData.click(controlData.controls.lobby.butto n.enterChat);
break;
}
if(GetTickCount() > nextGameMake)
{
lastGameFailed = false;
switch(lastGameStatus)
{
case 0:
controlData.click(controlData.controls.lobby.butto n.create);
nextGameMake = GetTickCount() + createGameTimeout; // set our timeout
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
break;
case 1: // game failed, rollover to reset timer
inGameAt = GetTickCount(); // reset inGameAt, to wait how long we should have waited..
lastGameFailed = true;
case 2:
outputGameLength();
lastGameStatus = 0;
setNextGameMake();
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
break;
}
}
else
timeoutDelay(nextGameMake-GetTickCount(), location);
break;
case 2: // Waiting In Line
if(GetTickCount()-lastGameMade > waitInLineTimeout)
controlData.click(controlData.controls.lobby.inLin e.button.cancel);
break;
case 4: // Create Game
sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
RunGC(); // run garbage collector between each game
locationTimeout(5000, location);
lastGameMade = GetTickCount();
lastGameStatus = 1; // pending creation
break;
case 5: // Join Game
break;
case 6: // Ladder
break;
case 7: // Channel List
break;
case 8: // Main Menu
if(controlData.getCurrentRealmIndex() == me.gatewayid)
{
outputGameLength();
controlData.click(controlData.gameTypes[me.playtype]);
}
else
controlData.click(controlData.controls.mainMenu.bu tton.gateway);
break;
case 9: // Login
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
Delay(loginDelay);
controlData.setText(controlData.controls.login.edi tBox.accountName, me.account);
sendEventToOOG(D2NT_MGR_LOGIN, location.name, 0);
locationTimeout(5000, location);
break;
case 10: // Login Error (this is a fatal error, so stop)
sendEventToOOG(D2NT_MGR_RESTART, location.name, 10);
Delay(3500);
break;
case 11: // Unable To Connect
timeoutDelay(unableToConnectRetry*60*1000, location)
controlData.click(controlData.controls.login.unabl eToConnect.button.ok);
break;
case 12: // Character Select
var _time, _control;
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
for(_time = 0 ; _time < characterScreenTimeout ; _time += 500)
{
_control = controlData.get(controlData.controls.characterSele ct.textBox.characterInfo[me.charloc]);
if(_control && _control.GetText() != undefined)
break;
Delay(500);
}
if(_time < characterScreenTimeout)
{
Delay(characterSelectDelay);
sendEventToOOG(D2NT_MGR_SELECT_CHAR, location.name, 0);
// reset last game made, so it doesnt make a game immediately
inGameAt = 0;
setNextGameMake();
locationTimeout(5000, location);
}
else
{
timeoutDelay(realmDownRetry*60*1000, location);
controlData.click(controlData.controls.characterSe lect.button.exit);
}
break;
case 13: // Realm Down - Character Select screen
timeoutDelay(realmDownRetry*60*1000, location);
controlData.click(controlData.controls.characterSe lect.button.exit);
break;
case 14: // Character Select - Disconnected
timeoutDelay(disconnectedRetry*60*1000, location);
controlData.click(controlData.controls.characterSe lect.disconnected.button.ok);
break;
case 15: // New Character
break;
case 16: // Character Select - Please Wait popup
if(!locationTimeout(pleaseWaitTimeout, location))
controlData.click(controlData.controls.characterSe lect.pleaseWait.button.cancel);
break;
case 17: // Lobby - Lost Connection - just click okay, since we're toast anyway
controlData.click(controlData.controls.lobby.lostC onnection.button.ok);
break;
case 18: // D2 Splash
controlData.click(controlData.controls.d2Splash.te xtBox.copyright);
break;
case 19: // Login - Cdkey In Use
timeoutDelay(cdkeyInUseRetry*60*1000, location);
controlData.click(controlData.controls.login.cdkey InUse.button.ok);
break;
case 20: // Single Player - Select Difficulty
RunGC(); // run garbage collector between each game
controlData.click(controlData.singlePlayerDifficul ties[me.diff]);
break;
case 21: // Main Menu - Connecting
if(!locationTimeout(connectingToBnetTimeout, location))
controlData.click(controlData.controls.mainMenu.co nnecting.button.cancel);
break;
case 22: // Login - Invalid Cdkey (classic or xpac)
sendEventToOOG(D2NT_MGR_RESTART, location.name, 3600);
Delay(3500);
break;
case 23: // Character Select - Connecting
if(!locationTimeout(characterScreenTimeout, location))
controlData.click(controlData.controls.characterSe lect.button.exit);
break;
case 24: // Server Down - not much to do but wait..
break;
case 25: // Lobby - Please Wait
if(!locationTimeout(pleaseWaitTimeout, location))
controlData.click(controlData.controls.lobby.pleas eWait.button.cancel);
break;
case 26: // Lobby - Game Name Exists
sendEventToOOG(D2NT_MGR_PRINT_LOG, "Game already exists", 0);
inGameAt = 0;
lastGameStatus = 0;
setNextGameMake();
locationTimeout(15000, location);
break;
case 27: // Gateway Select
controlData.clickRealmEntry(me.gatewayid);
controlData.click(controlData.controls.gateway.but ton.ok);
break;
case 28: // Lobby - Game Does Not Exist
inGameAt = Random(gameDoesNotExistDelayMin, gameDoesNotExistDelayMax);
lastGameStatus = 0;
setNextGameMake();
locationTimeout(gameDoesNotExistTimeout, location);
break;
}
}
function sendEventToOOG(locationId, statusString, pendingTime)
{
return SendCopyData("D2NT Manager", null, (locationId<<16)|pendingTime, statusString);
}
function setNextGameMake()
{
lastGameMade = GetTickCount();
nextGameMake = lastGameMade + createGameThreshold + Random(0-createGameThresholdRandom, createGameThresholdRandom) + inGameAt;
inGameAt = 0;
chatActionsDone = false;
}
function outputGameLength()
{
if(inGameAt)
{
duration = GetTickCount() - inGameAt;
inGameAt = (duration < gameMinLength ? gameMinLength - duration : 0);
}
}
function locationTimeout(time, location)
{
endtime = GetTickCount() + time;
while(controlData.getLocation().id == location.id && endtime > GetTickCount())
{
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " (" + parseInt((endtime-GetTickCount())/1000) + "s)", 0);
Delay(500);
}
return (controlData.getLocation().id != location.id);
}
function timeoutDelay(time, location)
{
endtime = GetTickCount() + time;
while(endtime > GetTickCount())
{
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " (" + parseInt((endtime-GetTickCount())/1000) + "s)", 0);
Delay(1000);
}
}
function getRandomString(_length)
{
_retString = "";
_charSet = "0123456789abcdefghijklmnopqrstuvwxyz";
while(_length--)
_retString += _charSet.charAt(Random(0, _charSet.length-1));
return _retString;
}
|
baal char script
Quote:
Include("config/NTConfig.ntl");
var NTConfig_PutAura;
var NTConfig_UseRedemption;
function NT_LoadConfig()
{
//------------------------------------------------------------------------------
// Boss configuration
//------------------------------------------------------------------------------
NTConfig_PublicMode = false;
me.quitonhostile = false;
//NTConfig_Script.push("NTPindleskin.ntj"); NTConfig_NihlathakExtension = false;
NTConfig_Script.push("NTNihlathak.ntj"); NTConfig_PindleskinExtension = false;
//NTConfig_Script.push("NTEldritch.ntj"); NTConfig_ShenkExtension = false;
//NTConfig_Script.push("NTThreshSocket.ntj");
//NTConfig_Script.push("NTFrozenRiver.ntj"); NTConfig_ClearFrozenRiver = false;
//NTConfig_Script.push("NTGlacialTrail.ntj"); NTConfig_ClearGlacialTrail = false;
//NTConfig_Script.push("NTIcyCellar.ntj"); NTConfig_ClearIcyCellar = false;
NTConfig_Script.push("NTBaal.ntj"); NTConfig_KillBaal = true;
//NTConfig_Script.push("NTDiablo.ntj");
//NTConfig_Script.push("NTMephisto.ntj");
//NTConfig_Script.push("NTTravincal.ntj");
//NTConfig_Script.push("NTSummoner.ntj");
//NTConfig_Script.push("NTDuriel.ntj");
//NTConfig_Script.push("NTAncientTunnels.ntj");
//NTConfig_Script.push("NTAndariel.ntj");
//NTConfig_Script.push("NTCountess.ntj");
//NTConfig_Script.push("NTPit.ntj"); NTConfig_ClearPitLevel1 = 1; // 0 : don't clear, 1 : clear path only, 2 : clear all
//NTConfig_Script.push("NTMausoleum.ntj");
me.maxgametime = 1000; // time in seconds, maximum game length (0 is infinite)
NTConfig_StartDelay =500; // Delay time in milliseconds to start;
NTConfig_AreaDelay = 500; // Delay time in milliseconds to change area;
NTConfig_SnagDelay = 500; // Delay time in milliseconds to wait before starting picking items
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_SkipHealCurses = false;// If you want to skip curses, set to true
NTConfig_UseMerc = true; // Set to true if you use a mercenary, will revive merc at a reviver npc.
NTConfig_ResetWeapon = true; // Set to true to reset weapon when reviving merc
NTConfig_LifeThresh = 60; // Drink a normal potion if under this percent of life.
NTConfig_LifeRejuvThresh = 40; // 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_LifeChicken = 30; // This is your chicken life percent. If you go below this life total, exit game.
NTConfig_ManaChicken = 0; // This is your chicken mana percent. If you go below this mana total, exit game.
NTConfig_MercLifeThresh = 60; // This is the threshold to use a life potion on your merc in percent.
NTConfig_MercRejuvThresh = 40; // This is the threshold to use a rejuv potion on your merc in percent.
NTConfig_MercChicken = 20; // This is your mercs chicken life percent. If he goes below this, exit game.
NTConfig_FreeSpace = 4; // Number of free columns. If less full columns are free stashing is set.
// The numbers correspond to your inventory. Set 0 to keep whatever is there, 1 to stash it.
NTConfig_Columns[0] = [1,1,1,1,0,0,0,0,0,0];
NTConfig_Columns[1] = [1,1,1,1,0,0,0,0,0,0];
NTConfig_Columns[2] = [1,1,1,1,0,0,0,0,0,0];
NTConfig_Columns[3] = [1,1,1,1,0,0,0,0,0,0];
NTConfig_MinGoldToStash = 100000; // Maximum gold amount carried before going to stash
//----------------------------------------------------------------------------------------------
// Type of potion used in each belt column
// Available types : "hp" = health | "mp" = mana | "rv" = rejuv. Can use other potion types too.
// Keep equal types at adjacent columns. First HP then MP and then HP again is a bad choice.
// Keep HP and MP at the beginning of the belt (in case you want to use rejuv and other types).
// Rejuvenations MUST, I REPEAT MUST be at the end of the belt (last x columns).
// To use rejuvenations only, put "rv" in all columns.
//----------------------------------------------------------------------------------------------
NTConfig_BeltColType[0] = "hp";
NTConfig_BeltColType[1] = "hp";
NTConfig_BeltColType[2] = "rv";
NTConfig_BeltColType[3] = "mv";
//----------------------------------------------------------------------------
// Minimum amount of potions in each column before needing refilling
// If there's less potions then this number in the column we go and shop.
// Set to 4 to go shopping as soon as there's a potion missing.
// Recommend leaving columns set to "rv" at 0. Since shops won't carry rejuvs.
//----------------------------------------------------------------------------
NTConfig_BeltColMin[0] = 4;
NTConfig_BeltColMin[1] = 4;
NTConfig_BeltColMin[2] = 0;
NTConfig_BeltColMin[3] = 4;
//-----------------------------------------------------------------------------------
// SnagIt configuration
// Here is a list of preset nip files assuming you use nip package.
// If you want to add your own .nip files, just copy any line and enter the
// To disable a .nip file, just add "//" at the start of the line or delete the line.
//-----------------------------------------------------------------------------------
NTConfig_NIPFilePath.push("uniques.nip");
//NTConfig_NIPFilePath.push("sets.nip");
//NTConfig_NIPFilePath.push("whites.nip");
//NTConfig_NIPFilePath.push("runes.nip");
//NTConfig_NIPFilePath.push("rares.nip");
//NTConfig_NIPFilePath.push("magics.nip");
//NTConfig_NIPFilePath.push("gems.nip");
//NTConfig_NIPFilePath.push("charmsjewels.nip");
//NTConfig_NIPFilePath.push("ringsamulets.nip");
//NTConfig_NIPFilePath.push("potions.nip");
//NTConfig_NIPFilePath.push("moneymaker.nip");
//NTConfig_NIPFilePath.push("keys.nip");
NTConfig_SnagRange = 40; // Radius to check for dropped items. 40 is a good number here
//------------------------------------------------------------------------------
// Cubing configuration
// Supported gems and runes recipe only
//------------------------------------------------------------------------------
NTConfig_Cubing = false; // Enable cubing
//NTConfig_CubingItem.push(["gcw",0,3]); //Chipped Diamond gcw
//NTConfig_CubingItem.push(["gcv",0,3]); //Chipped Amethyst gcv
//NTConfig_CubingItem.push(["gcb",0,3]); //Chipped Saphire gcb
//NTConfig_CubingItem.push(["gcy",0,3]); //Chipped Topaz gcy
//NTConfig_CubingItem.push(["gcr",0,3]); //Chipped Ruby gcr
//NTConfig_CubingItem.push(["gcg",0,3]); //Chipped Emerald gcg
//NTConfig_CubingItem.push(["skc",0,3]); //Chipped Skull skc
//NTConfig_CubingItem.push(["gfw",0,3]); //Flawed Diamond gfw
//NTConfig_CubingItem.push(["gfv",0,3]); //Flawed Amethyst gfv
//NTConfig_CubingItem.push(["gfb",0,3]); //Flawed Saphire gfb
//NTConfig_CubingItem.push(["gfy",0,3]); //Flawed Topaz gfy
//NTConfig_CubingItem.push(["gfr",0,3]); //Flawed Ruby gfr
//NTConfig_CubingItem.push(["gfg",0,3]); //Flawed Emerald gfg
//NTConfig_CubingItem.push(["skf",0,3]); //Flawed Skull skf
//NTConfig_CubingItem.push(["gsw",0,3]); //Normal Diamond gsw
//NTConfig_CubingItem.push(["gsv",0,3]); //Normal Amethyst gsv
//NTConfig_CubingItem.push(["gsb",0,3]); //Normal Saphire gsb
//NTConfig_CubingItem.push(["gsy",0,3]); //Normal Topaz gsy
//NTConfig_CubingItem.push(["gsr",0,3]); //Normal Ruby gsr
//NTConfig_CubingItem.push(["gsg",0,3]); //Normal Emerald gsg
//NTConfig_CubingItem.push(["sku",0,3]); //Normal Skull sku
//NTConfig_CubingItem.push(["glw",0,3]); //Flawless Diamond glw
//NTConfig_CubingItem.push(["gzv",0,3]); //Flawless Amethyst gzv
//NTConfig_CubingItem.push(["glb",0,3]); //Flawless Saphire glb
//NTConfig_CubingItem.push(["gly",0,3]); //Flawless Topaz gly
//NTConfig_CubingItem.push(["glr",0,3]); //Flawless Ruby glr
//NTConfig_CubingItem.push(["glg",0,3]); //Flawless Emerald glg
//NTConfig_CubingItem.push(["skl",0,3]); //Flawless Skull skl
//NTConfig_CubingItem.push(["r01",0,3]); //El Rune r01
//NTConfig_CubingItem.push(["r02",0,3]); //Eld Rune r02
//NTConfig_CubingItem.push(["r03",0,3]); //Tir Rune r03
//NTConfig_CubingItem.push(["r04",0,3]); //Nef Rune r04
//NTConfig_CubingItem.push(["r05",0,3]); //Eth Rune r05
//NTConfig_CubingItem.push(["r06",0,3]); //Ith Rune r06
//NTConfig_CubingItem.push(["r07",0,3]); //Tal Rune r07
//NTConfig_CubingItem.push(["r08",0,3]); //Ral Rune r08
//NTConfig_CubingItem.push(["r09",0,3]); //Ort Rune r09
//NTConfig_CubingItem.push(["r10",0,3,"gcy",0,1]); //Thul Rune + chipped Topaz r10 + gcy
//NTConfig_CubingItem.push(["r11",0,3,"gcv",0,1]); //Amn Rune + chipped Amethyst r11 + gcv
//NTConfig_CubingItem.push(["r12",0,3,"gcb",0,1]); //Sol Rune + chipped Saphire r12 + gcb
//NTConfig_CubingItem.push(["r13",0,3,"gcr",0,1]); //Shael Rune + chipped Ruby r13 + gcr
//NTConfig_CubingItem.push(["r14",0,3,"gcg",0,1]); //Dol Rune + chipped Emerald r14 + gcg
//NTConfig_CubingItem.push(["r15",0,3,"gcw",0,1]); //Hel Rune + chipped Diamond r15 + gcw
NTConfig_CubingItem.push(["r16",0,3,"gfy",0,1]); //Io Rune + flawed Topaz r16 + gfy
NTConfig_CubingItem.push(["r17",0,3,"gfv",0,1]); //Lum Rune + flawed Amethyst r17 + gfv
NTConfig_CubingItem.push(["r18",0,3,"gfb",0,1]); //Ko Rune + flawed Saphire r18 + gfb
NTConfig_CubingItem.push(["r19",0,3,"gfr",0,1]); //Fal Rune + flawed Ruby r19 + gfr
NTConfig_CubingItem.push(["r20",0,3,"gfg",0,1]); //Lem Rune + flawed Emerald r20 + gfg
NTConfig_CubingItem.push(["r21",0,2,"gfw",0,1]); //Pul Rune + flawed Diamond r21 + gfw
NTConfig_CubingItem.push(["r22",0,2,"gsy",0,1]); //Um Rune + Topaz r22 + gsy
NTConfig_CubingItem.push(["r23",0,2,"gsv",0,1]); //Mal Rune + Amethyst r23 + gsv
//NTConfig_CubingItem.push(["r24",0,2,"gsb",0,1]); //Ist Rune + Saphire r24 + gsb
//NTConfig_CubingItem.push(["r25",0,2,"gsr",0,1]); //Gul Rune + Ruby r25 + gsr
//NTConfig_CubingItem.push(["r26",0,2,"gsg",0,1]); //Vex Rune + Emerald r26 + gsg
//NTConfig_CubingItem.push(["r27",0,2,"gsw",0,1]); //Ohm Rune + Diamond r27 + gsw
//NTConfig_CubingItem.push(["r28",0,2,"gly",0,1]); //Lo Rune + flawless Topaz r28 + gly
//NTConfig_CubingItem.push(["r29",0,2,"gzv",0,1]); //Sur Rune + flawless Amethyst r29 + gzv
//NTConfig_CubingItem.push(["r30",0,2,"glb",0,1]); //Ber Rune + flawless Saphire r30 + glb
//NTConfig_CubingItem.push(["r31",0,2,"glr",0,1]); //Jah Rune + flawless Ruby r31 + gll
//NTConfig_CubingItem.push(["r32",0,2,"glg",0,1]); //Cham Rune + flawless Emerald r32 + glg
//------------------------------------------------------------------------------
// Gamble configuration
// To specify what items to gamble, adjust the array with the desired item codes
//------------------------------------------------------------------------------
NTConfig_Gamble = false; // Enable gambling
NTConfig_GambleStopGold = 300000; // Gold amount to stop the gambling
NTConfig_GambleItem.push("rin"); // Rings
NTConfig_GambleItem.push("amu"); // Amulets
NTConfig_GambleItem.push("ci0"); // Circlets
NTConfig_GambleItem.push("ci1"); // Coronets
//NTConfig_GambleItem.push("lgl"); // Leather Gloves
//NTConfig_GambleItem.push("vgl"); // Heavy Gloves
//NTConfig_GambleItem.push("mgl"); // Chain Gloves
//NTConfig_GambleItem.push("tgl"); // Light Gauntlets
//NTConfig_GambleItem.push("hgl"); // Gauntlets
NTConfig_OpenChest = true; // Set to true to open chest
//------------------------------------------------------------------------------
// Attack configuration
//------------------------------------------------------------------------------
NTConfig_PutAura = 113; // Concentration
NTConfig_AttackSkill[0] = 0; // Cast your first spell once. Set to 0 if you won't
NTConfig_AttackSkill[1] = 112; // Blessed Hammer
NTConfig_AttackSkill[2] = 112; // Blessed Hammer
NTConfig_AttackSkill[4] = 0; // Cast your secondary spell if monster is immune to your primary spell. Set to 0 if you won't
NTConfig_ClearPosition = true; // Set to true if you want to clear area after killing boss.
NTConfig_CheckSafe = true; // Set to true to check for curses, merc and potion (go to town if needed)
NTConfig_UseRedemption = true; // Set to true to use Redemption after killing monster.
}
|
wär super wenn man die dauernden wnas beseitigen könnte
achja ich lass sogar auf 2vpcs laufen, mit 2 unterschiedlichen installationen und keys, falls das von beduetung ist
|