Originally Posted by Icybloody
Kenne mich damit garnicht aus, vor welchem Script? ich Poste dir mal
1. NT BotLeech:
Code:
//###################################################################
//###########################Einstellungen###########################
//###################################################################
var leaderAccountName = "RS5";
var leaderName = "VSR";
var gamepassword = "";
var JoinGameAgain = false; // wenn der Bot nach chicken oder disconnect ins selbe Spiel nochmal gehen soll, auf true stellen
var UseCDKeyChangeTrick = false; // Wenn der LeechBot mehrere CD Keys nutzen soll, dann auf true stellen.
var joinRandomChannel = false;
var joinChannelInChat = "OP Zsbaal";
var firstJoinMessage = ""; // Soll der leechbot etwas sagen, wenn er in den Chat kommt, dann hier eintragen
var chatMessageAfterGame = ""; // Soll der leechbot etwas sagen, wenn er aus dem Spiel kommt, dann hier eintragen
//###################################################################
//##############################Delays###############################
//###################################################################
var gameMinLength = 180000;
// realm delays (minutes)
var unableToConnectRetry = 2;
var realmDownRetry = 60;
var disconnectedRetry = 2;
var cdkeyInUseRetry = 2;
// interface delays (milliseconds)
var connectingToBnetTimeout = 20000;
var characterScreenTimeout = 10000;
var pleaseWaitTimeout = 10000;
var createGameThreshold = 10000;
var createGameThresholdRandom = 1000;
var createGameTimeout = 15000;
var waitInLineTimeout = 15000;
var characterSelectDelay = 1000;
var loginDelay = 1000;
var clickDelay = 500;
var textDelay = 500;
var clickDelayRandom = 500;
var textDelayRandom = 500;
var gameDoesNotExistDelayMin = 600000;
var gameDoesNotExistDelayMax = 900000;
var gameDoesNotExistTimeout = 30000;
var waitBeforeEnterChatMin = 1000;
var waitBeforeEnterChatMax = 2000;
var waitInChatBeforeActionsMin = 2000;
var waitInChatBeforeActionsMax = 3000;
// Only for JoinBot (friend list delay, milliseconds)
var LeaderOfflineDelay = 15000;
var LeaderInChatDelay = 6500;
var GameIsFullDelay = 15000;
//###################################################################
//###################################################################
//###############DO NOT CHANGE ANYTHING BELOW THIS###################
//###################################################################
//###################################################################
//D2NT Manager Command
const D2NT_MGR_LOADING = 1;
const D2NT_MGR_READY = 2;
const D2NT_MGR_LOGIN = 3;
const D2NT_MGR_CREATE_GAME = 4;
const D2NT_MGR_INGAME = 5;
const D2NT_MGR_RESTART = 6;
const D2NT_MGR_CHICKEN = 7;
const D2NT_MGR_PRINT_STATUS = 8;
const D2NT_MGR_PRINT_LOG = 9;
var lastGameMade = GetTickCount();
var lastGameStatus = 0;
var nextGameMake = 0;
var inGameAt = 0;
var chatActionsDone = false;
var lastGameFailed = false;
var sayChatMsgAfterGame = false;
Include("libs/controlInfo.ntl");
var controlData = new controlInfo();
var samegame = '';
var oldgame = '';
var game = '';
var _gamename = "";
var _gamepassword = "";
var _leaderOfflineTick = -LeaderOfflineDelay;
var _leaderInChatTick = -LeaderInChatDelay;
var _GameIsFullTick = -GameIsFullDelay;
var Debug = false;
var joinChatAfterGame = true;
function NTMain()
{
Delay(1000);
var _ingame = false;
controlData.clickDelay = clickDelay;
controlData.textDelay = textDelay;
controlData.clickDelayRandom = clickDelayRandom;
controlData.textDelayRandom = textDelayRandom;
while(1)
{
if(me.ingame)
{
_gamename = me.gamename;
_gamepassword = me.gamepassword;
if(!inGameAt)
inGameAt = GetTickCount();
if(!_ingame)
{
RunGC(); // run garbage collector between each game
if(Load("NTBot/NTBotGame.ntj"))
{
_ingame = true;
if(me.playtype > 0)
sendEventToOOG(D2NT_MGR_INGAME, "In Game[IP:" + me.gameserverip.split(".")[3] + "]", 0);
else
sendEventToOOG(D2NT_MGR_INGAME, "In Game", 0);
lastGameStatus = 2; // in game successful
// To exit game as soon as the leader quits
//Load("NTBot/NTCheckLeader.ntj");
// to party only the leader
//Load("NTBot/tools/NTTools_AutoPartyJoinFriendGames.ntj");
}
}
Delay(1000);
}
else
{
if(_ingame)
{
_ingame = false;
sayChatMsgAfterGame = true;
sendEventToOOG(D2NT_MGR_READY, "", 0);
}
locationAction(controlData.getLocation());
Delay(500);
}
}
}
function locationAction(location)
{
switch(location.id)
{
case 3: // Lobby Chat
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
if(!chatActionsDone)
{
Delay(Random(waitInChatBeforeActionsMin, waitInChatBeforeActionsMax));
if(joinRandomChannel || joinChannelInChat != "")
{
Say("/join " + (joinRandomChannel ? getRandomString(Random(3,10)) : joinChannelInChat));
Delay(1000);
}
if(firstJoinMessage)
{
Say(firstJoinMessage);
Delay(200);
}
chatActionsDone = true;
}
if (chatMessageAfterGame && _gamename != "" && sayChatMsgAfterGame == true)
{
Say(chatMessageAfterGame);
sayChatMsgAfterGame = false;
Delay(200);
}
game = '';
var _tick = GetTickCount();
if ((_leaderOfflineTick < 0 || (_leaderOfflineTick + LeaderOfflineDelay) < _tick)
&& (_leaderInChatTick < 0 || (_leaderInChatTick + LeaderInChatDelay) < _tick)
&& (_GameIsFullTick < 0 || (_GameIsFullTick + GameIsFullDelay) < _tick))
{
DebugInOOG('Locating the leader : '+leaderAccountName);
Say('/f l');
Delay(1500);
}
if(chat = controlData.get(controlData.controls.lobby.chat.textBox.channelText))
{
var found_leader = false;
lines = chat.GetText();
for (var line_id = lines.length - 1; line_id > -1; line_id--)
{
if (found_leader) // useless... :/
break;
if (lines[line_id].substring(0,1) == " ")
continue;
// retrieving the whole message
var msg = lines[line_id].replace(/^\s+|\s+$/, "");
var msglines = 1;
while (lines[line_id+msglines] != undefined && lines[line_id+msglines].substring(0,2) == " ")
{
msg += " " + lines[line_id+msglines].replace(/^\s+|\s+$/, "");
msglines++;
}
if (msg.lastIndexOf(leaderName) >= 0)
DebugInOOG("yc8found him :;"+msg);
// checking if the msg is a friendly whisper
if (msg.lastIndexOf(leaderName + ' (*' +leaderAccountName+')') > -1)
{
var regGameNameWhispered=/^.*(game|partie|spiel|partita|partida).*(nomm[^\s]*|called|chiamata)\s*([\w\s-]*\w)\s*\.\s*$/gi;
if (msg.match(regGameNameWhispered))
game = msg.replace(regGameNameWhispered, "$3");
if (game != '')
{
found_leader = true;
break;
}
}
// checking if the msg is from the friend list
if (msg.lastIndexOf(': '+leaderAccountName+',') > -1)
{
found_leader = true;
var regOffline=/^.*(offline|desconectado).*$/gi;
var regInChat=/^.*(channel|canale?)\s*([\w\s-]*\w)\.?\s*$/gi;
var regGameName=/^.*(game|partie|spiel|partita|partida)\s*([\w\s-]*\w)\s*\(priv[^\)]*\)\.\s*$/gi;
if (msg.match(regOffline)
&& (_leaderOfflineTick < 0 || (_leaderOfflineTick + LeaderOfflineDelay) < _tick))
{
DebugInOOG('Leader is offline, delay '+Math.round(LeaderOfflineDelay/1000)+' sec for next /f l.');
_leaderOfflineTick = GetTickCount();
}
else if (msg.match(regInChat)
&& (_leaderInChatTick < 0 || (_leaderInChatTick + LeaderInChatDelay) < _tick))
{
DebugInOOG('Leader is in the chat "'+msg.replace(regInChat, "$2")+'", delay '+Math.round(LeaderInChatDelay/1000)+' sec for next /f l.');
_leaderInChatTick = GetTickCount();
}
else if (msg.match(regGameName)
&& ((_leaderOfflineTick < 0 || (_leaderOfflineTick + LeaderOfflineDelay) < _tick)
&& (_leaderInChatTick < 0 || (_leaderInChatTick + LeaderInChatDelay) < _tick)))
{
game = msg.replace(regGameName, "$2");
}
else if ((_leaderInChatTick < 0 || (_leaderInChatTick + LeaderInChatDelay) < _tick)
&& (_leaderOfflineTick < 0 || (_leaderOfflineTick + LeaderOfflineDelay) < _tick))
{
// unhandled line, supposelly "In Realm"
DebugInOOG('The leader was in the the lobby but not in chat, delay '+Math.round(LeaderInChatDelay/1000)+' sec for next /f l.');
_leaderInChatTick = GetTickCount();
}
break;
}
}
if (found_leader == false)
DebugInOOG('I couldn\'t find the leader in my friend list!');
if (game!="")
{
DebugInOOG('Leader is in the game "' + game + '"');
//controlData.click(controlData.controls.lobby.button.join);
//Delay(100);
if(!JoinGameAgain)
{
if (game != samegame)
{
if (UseCDKeyChangeTrick)
{
// increasing the number of runs in the OOG (for CDKey switch)
// Problem : the gamename/gamepassword set in your OOG will be typed in the lobbyChat
// this may output a red message in the lobby chat if you have a password set (not a real problem)
// I recommend to set a gamename like "Run" and no gamepassword in your OOG. -> this will output "Run-01", "Run-02", etc in lobby chat before joining games
sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
Delay(1000);
}
controlData.click(controlData.controls.lobby.button.join);
Delay (200);
}
else
Delay(30000);
}
else
{
if (UseCDKeyChangeTrick)
{
// increasing the number of runs in the OOG (for CDKey switch)
// Problem : the gamename/gamepassword set in your OOG will be typed in the lobbyChat
// this may output a red message in the lobby chat if you have a password set (not a real problem)
// I recommend to set a gamename like "Run" and no gamepassword in your OOG. -> this will output "Run-01", "Run-02", etc in lobby chat before joining games
sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
Delay(1000);
}
controlData.click(controlData.controls.lobby.button.join);
Delay (200);
}
}
}
else
{
DebugInOOG('I can\'t read the chat!');
//DebugInOOG('You probably haven\'t added the lobby chat controlinfo coordinates!');
Delay(30000);
}
if(game != '')
samegame = game;
break;
case 1: // Lobby
if(location.id == 1 && joinChatAfterGame)
{
Delay(Random(waitBeforeEnterChatMin, waitBeforeEnterChatMax));
controlData.click(controlData.controls.lobby.button.enterChat);
break;
}
break;
case 2: // Waiting In Line
if(GetTickCount()-lastGameMade > waitInLineTimeout)
controlData.click(controlData.controls.lobby.inLine.button.cancel);
break;
case 4: // Create Game
if(!controlData.get(controlData.controls.lobby.create.editBox.gameName))
{
controlData.click(controlData.controls.lobby.button.join);
Delay (500);
controlData.click(controlData.controls.lobby.button.create);
Delay (500);
break;
}
sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
locationTimeout(5000, location);
lastGameMade = GetTickCount();
lastGameStatus = 1; // pending creation
break;
case 5: // Join Game
if (game)
{
controlData.setText( controlData.controls.lobby.join.editBox.gameName, game);
Delay (100);
controlData.setText( controlData.controls.lobby.join.editBox.password, gamepassword);
Delay (100);
controlData.click(controlData.controls.lobby.join.button.joinGame);
RunGC(); // run garbage collector between each game
locationTimeout(5000, location);
lastGameStatus = 1; // pending join
}
else
{
DebugInOOG('No game to join : cancelling');
me.Cancel(1);
Delay(1000);
}
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.button.gateway);
break;
case 9: // Login
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
Delay(loginDelay);
controlData.setText(controlData.controls.login.editBox.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.unableToConnect.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.characterSelect.textBox.characterInfo[me.charloc]);
if(_control && _control.GetText() != undefined)
break;
Delay(500);
}
if(_time < characterScreenTimeout)
{
Delay(characterSelectDelay);
controlData.click(controlData.controls.characterSelect.textBox.characters[me.charloc], 0, 0, 1);
controlData.click(controlData.controls.characterSelect.textBox.characterInfo[me.charloc], 0, 0, 1);
// reset last game made, so it doesnt make a game immediately
inGameAt = 0;
setNextGameMake();
}
else
{
controlData.click(controlData.controls.characterSelect.button.exit);
timeoutDelay(realmDownRetry*60*1000, location);
}
break;
case 13: // Realm Down - Character Select screen
controlData.click(controlData.controls.characterSelect.button.exit);
timeoutDelay(realmDownRetry*60*1000, location);
break;
case 14: // Character Select - Disconnected
timeoutDelay(disconnectedRetry*60*1000, location);
controlData.click(controlData.controls.characterSelect.disconnected.button.ok);
break;
case 15: // New Character
break;
case 16: // Character Select - Please Wait popup
if(!locationTimeout(pleaseWaitTimeout, location))
controlData.click(controlData.controls.characterSelect.pleaseWait.button.cancel);
break;
case 17: // Lobby - Lost Connection - just click okay, since we're toast anyway
controlData.click(controlData.controls.lobby.lostConnection.button.ok);
break;
case 18: // D2 Splash
controlData.click(controlData.controls.d2Splash.textBox.copyright);
break;
case 19: // Login - Cdkey In Use
timeoutDelay(cdkeyInUseRetry*60*1000, location);
controlData.click(controlData.controls.login.cdkeyInUse.button.ok);
break;
case 20: // Single Player - Select Difficulty
controlData.click(controlData.singlePlayerDifficulties[me.diff]);
break;
case 21: // Main Menu - Connecting
if(!locationTimeout(connectingToBnetTimeout, location))
controlData.click(controlData.controls.mainMenu.connecting.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.characterSelect.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.pleaseWait.button.cancel);
break;
case 26: // Lobby - Game Name Exists
sendEventToOOG(D2NT_MGR_PRINT_LOG, "yE00000Game 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.button.ok);
break;
case 28: // Lobby - Game Does Not Exist
inGameAt = Random(gameDoesNotExistDelayMin, gameDoesNotExistDelayMax);
lastGameStatus = 0;
setNextGameMake();
locationTimeout(gameDoesNotExistTimeout, location);
break;
default:
DebugInOOG("Unhandled location : "+location.id);
break;
}
DebugInOOG("Location : "+location.id);
}
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));
Delay(1);
}
return _retString;
}
function DebugInOOG(logString)
{
if (Debug)
return SendCopyData("D2NT Manager", null, 9<<16, "-- Debug : " + logString);
else
return false;
}
2. Meinem Druiden Confic:
Code:
var NTConfig_Teleport;
function NT_LoadConfig()
{
//###################################################################
//#########################BotType festlegen#########################
//###################################################################
NTConfig_BotType = 3;
// 1 = Leader
// 2 = Co-Leecher
// 3 = Leecher
//####################################################################
//###########################Leader Scripts###########################
//####################################################################
if(NTConfig_BotType <= 1)
{
//##########################Eldritch+Shenk##########################
//NTConfig_Script.push("NTEldritch.ntj"); NTConfig_FarmRVPots = 4; // Wenn dem Char mehr als x rv pots fehlen, farmt er Eld+Shenk. Wenn er mehr hat, dann nicht. Wenn er immer farmen soll, dann auf 0 setzen.
//##############################Diablo##############################
//NTConfig_Script.push("NTDiablo.ntj"); NTConfig_DiabloLeechers = false; // DiabloLeechers auf true setzen, wenn ihr Leecher mit dem NTDiabloLeech Script dabei habt
NTConfig_StarTPMsg = "TP up - Please let me open the seals and stay one screen behind me, if you are leecher."; // welche Nachricht soll gesagt werden wenn das TP am Stern gemacht wird. nichts zwischen "" eintragen wenn nichts gesagt werden soll
NTConfig_KillDiaMsg = "Killing Diablo, Leechers go hide behind the corners.";// welche Nachricht soll gesagt werden wenn alle Siegel offen sind. nichts zwischen "" eintragen wenn nichts gesagt werden soll
NTConfig_DiaNxtGame = ""; // Wenn nach Dia schluss ist, dann hier Next Game Message eintragen
//###############################Baal###############################
//NTConfig_Script.push("NTBaal.ntj"); NTConfig_KillBaal = true;
NTConfig_UnsafeTP = true; // Soll ein unsafe tp geöffnet werden beim baalrun?
NTConfig_UNSAFETPSpoke = "Fighters may come now"; // welche Nachricht soll geschrieben werden wenn das unsafe tp geöffnet wird. nichts zwischen "" eintragen wenn nichts gesagt werden soll
NTConfig_SafeTP = "Leechers may come now"; // welche Nachricht soll gesagt werden wenn das safe tp gemacht wird. nichts zwischen "" eintragen wenn nichts gesagt werden soll
NTConfig_KILL = "Time to kill Baal"; // welche Nachricht soll ankündigen das baal gemacht werden soll. nichts zwischen "" eintragen wenn nichts gesagt werden soll
NTConfig_NxtGame = "Next Game. Join 'OP Mychannel' to follow my runs"; // welche Nachricht soll am ende des runs geschrieben werden. nichts zwischen "" eintragen wenn nichts gesagt werden soll
//###############################Rest###############################
NTConfig_NIPFilePath.push("leader.nip"); // Leader hat seine eigene Pickit
NTConfig_Eintritt = false; // Soll der Bot eine Nachricht schreiben, wenn jemand das Spiel betritt, dann auf true stellen
NTConfig_Willkommen = "Welcome to my runs."; // Angezeigte Nachricht, wenn NTConfig_Eintritt = true ist
}
//####################################################################
//#########################LeechFight Scripts#########################
//####################################################################
if(NTConfig_BotType == 2)
{
NTConfig_Leader = "Leader Char Name" // Name vom Leader-Char, Groß- und Kleinschreibung beachten!
//##############################Diablo##############################
//NTConfig_Script.push("NTDiabloLeechFight.ntj");
//###############################Baal###############################
//NTConfig_Script.push("NTBaalLeechFight.ntj"); NTConfig_KillBaal = true;
NTConfig_CoLeechTPMsg = "Fighters may come now"; // Bei dieser Message vom Leader geht der Bot ins TP. Wenn er jederzeit rein gehen soll, leer lassen.
//###############################Rest###############################
NTConfig_NIPFilePath.push("leecher.nip"); // Leader hat seine eigene Pickit
NTConfig_Leech = false; // Wenn der LeechFighter keine Enigma hat, aber trotzdem mitkämpfen soll, dann auf true stellen.
NTConfig_JoinOnly = true; // Leecher joined nur Partys, macht aber selber keine auf
}
//####################################################################
//###########################Leecher Scripts##########################
//####################################################################
if(NTConfig_BotType >= 3)
{
NTConfig_Leader = "VSR" // Name vom Leader-Char, Groß- und Kleinschreibung beachten!
//##############################Diablo##############################
//NTConfig_Script.push("NTDiabloLeech.ntj"); // NTConfig_DiabloLeechers MUSS beim leader auf true sein
//###############################Baal###############################
//NTConfig_Script.push("NTBaalLeech.ntj");
NTConfig_LeechTPMsg = ""; // Bei dieser Message vom Leader geht der Bot ins TP. Wenn er jederzeit rein gehen soll, leer lassen.
//###############################Rest###############################
NTConfig_Leech = true; // Wenn der Leecher Enigma hat, dann auf false stellen
NTConfig_JoinOnly = true; // Leecher joined nur Partys, macht aber selber keine auf
}
//####################################################################
//#########################Char Einstellungen#########################
//####################################################################
// Diese Zahlen Spiegeln euer Inventar wieder. 0 = Von euch belegter Platz, den der Bot nicht anrührt. 1 = Hiermit darf der Bot arbeiten.
NTConfig_Columns[0] = [0,0,1,1,1,1,1,1,1,0];
NTConfig_Columns[1] = [0,0,1,1,1,1,1,1,1,0];
NTConfig_Columns[2] = [0,0,1,1,1,1,1,1,1,0];
NTConfig_Columns[3] = [0,0,0,1,1,1,1,1,1,0];
NTConfig_LifeThresh = 65; // Bei weniger als XX Prozent Leben wird ein Heiltrank getrunken.
NTConfig_LifeRejuvThresh = 25; // Bei weniger als XX Prozent Leben wird ein Regenerationstrank getrunken.
NTConfig_ManaThresh = 25; // Bei weniger als XX Prozent Mana wird ein Manatrank getrunken.
NTConfig_ManaRejuvThresh = 0; // Bei weniger als XX Prozent Mana wird ein Regenerationstrank getrunken.
NTConfig_LifeChicken = 25; // Bei weniger als XX Prozent Leben verlässt der Bot das Spiel um nicht zu sterben.
NTConfig_ManaChicken = 0; // Bei weniger als XX Prozent Mana verlässt der Bot das Spiel.
NTConfig_MercLifeThresh = 80; // Hat der Merc weniger als XX Prozent Leben, bekommt er einen Heiltrank.
NTConfig_MercRejuvThresh = 30; // Hat der Merc weniger als XX Prozent Leben, bekommt er einen Regenerationstrank.
NTConfig_MercChicken = 0; // Hat der Merc weniger als XX Prozent Leben, verlässt der Bot das Spiel.
//----------------------------------------------------------------------------------------------
// Hier stellt ihr ein, welche Tränke in den Gürtel sollen.
// hp = Heiltrank, mp = Manatrank, rv = Regenerationstrank
// Gleiche Arten von Tränken müssen immer direkt nebeneinander liegen. Sollen HP-, MP-, und Reg-
// Tränke zusammen in den Gürtel, so MÜSSEN die Reg-Tränke immer an das Ende.
//----------------------------------------------------------------------------------------------
NTConfig_BeltColType[0] = "hp";
NTConfig_BeltColType[1] = "hp";
NTConfig_BeltColType[2] = "hp";
NTConfig_BeltColType[3] = "mp";
//------------------------------------------------------------------------------
// Angriffs - Einstellungen (Skill-ID's stehen im libs-Ordner in der Skills.txt)
//------------------------------------------------------------------------------
NTConfig_AttackSkill[0] = 0; // Dieser Skill wird nur einmal zu Beginn gecastet. 0 = Keiner
NTConfig_AttackSkill[1] = 0; // Primärer Angriff gegen Bosse
NTConfig_AttackSkill[2] = 0; // Sekundärer Angriff gegen Bosse
NTConfig_AttackSkill[3] = 0; // Primärer Angriff gegen normale Monster
NTConfig_AttackSkill[4] = 0; // Sekundärer Angriff gegen normale Monster
NTConfig_AttackSkill[5] = 0; // Primärer Angriff gegen immune Monster
NTConfig_AttackSkill[6] = 0; // Sekundärer Angriff gegen immune Monster
NTConfig_ClearPosition = false; // true = Bot tötet auch Monster in der Umgebung eines Bosses
NTConfig_SkipHealLife = 90; // Habt ihr mehr als XX Prozent Leben, besucht der Bot keinen Arzt
NTConfig_SkipHealMana = 70; // Habt ihr mehr als XX Prozent Mana, besucht der Bot keinen Arzt
//####################################################################
//##############################Optionen##############################
//####################################################################
if(NTConfig_BotType < 3)
NTConfig_UseMerc = true;
else
NTConfig_UseMerc = false;
NTConfig_PublicMode = true;
me.quitonhostile = true; // Es gibt zwar ein Anti Hostile Script, das sich gegen Bothunter wehrt, aber ich würde es nicht drauf anlegen, da es gegen die meissten Bothunter chancenlos ist
NTConfig_Teleport = false; // Wenn der Bot zum Telen die Waffe wechseln soll, das hier auf true setzen
me.maxgametime = 0; // Maximale Spielzeit in Sekunden (0 = Unendlich)
NTConfig_FastPick = false; // true = schnelleres item einsammeln // ihr müsst hier in der charconfig noch NTConfig_SnagDelay anpassen // achtung kann das spiel instabil machen
NTConfig_SnagDelay = 100; // Verzögerung beim Aufheben von Gegenständen in Millisekunden
NTConfig_SnagRange = 80; // Radius in dem nach gedroppten Items gescannt wird. Ein Wert von 40-50 ist hier in Ordnung.
NTConfig_LogSoldItems = [0]; // Verkaufte items im log anzeigen 4= magic, 5 = set, 6 = rare, 7 = unique, 8 = craft, 0 = nicht anzeigen
NTConfig_LogPickItems = [0]; // Aufgesammelte items im log anzeigen 4= magic, 5 = set, 6 = rare, 7 = unique, 8 = craft, 0 = nicht anzeigen
// Wenn ihr alle aufgehobenen/verkauften Items anzeigen wollt, muss das in der Klammer stehen: [4,5,6,7,8]
NTConfig_CheckCloneDiablo = false; // Wenn das auf true ist, bleibt der Bot bei Dia walk im Spiel, was wir beim public botten nicht wollen
NTConfig_OpenChest = false; // true = Superchests werden geöffnet
NTConfig_OpenAllNearbyChests = false; // sollen ALLE nicht spezial chest ebenfals geöffnet werden = true
NTConfig_Gamble = false; // Wenn dann würde ich das nur auf Leechern anmachen
NTConfig_GambleStartGold = 2000000; // Bei der Goldanzahl beginnt der Bot zu gambeln.
NTConfig_GambleStopGold = 300000; // Bei der Goldanzahl hört der Bot auf zu gambeln.
NTConfig_GambleItem.push(520); // Amulette
NTConfig_GambleItem.push(522); // Ringe
NTConfig_GambleItem.push(418); // Reife
NTConfig_GambleItem.push(419); // Krönchen
NTConfig_GambleItem.push(331); // Schild (jmod)
NTConfig_GambleItem.push(377); // Schild (jmod)
// 0x01 : Tränke, 0x02 : Gift, 0x04 : Verstärkter Schaden (Fluch), 0x08 : Schwächen (Fluch), 0x10 : Eiserne Jungfrau (Fluch), 0x20 : Altern (Fluch), 0x40 : Wiederstandsschwund (Fluch)
NTConfig_CheckSelfSafe = 0;
// 0x01 : Tod, 0x02 : Gift, 0x04 : Verstärkter Schaden (Fluch), 0x08 : Schwächen (Fluch), 0x10 : Eiserne Jungfrau (Fluch), 0x20 : Altern (Fluch), 0x40 : Wiederstandsschwund (Fluch)
NTConfig_CheckMercSafe = 0x01;
MyConfig_StoreItem = [0, 0]; // für das sortieren der stash zuständig
NTConfig_UseXMLItemlog = false; // XMLlog
MyConfig_MiniShopBot = true; // scant merchants automatisch nach items in der pickit
MyConfig_CatchExperienceShrine = false; // Bot nimmt XP Schrein aufm Weg mit. Nicht beim Leader anmachen, das hält ihn nur unnötig auf.
MyConfig_CatchGemShrine = false; // Bot holt Gem Schrein
MyConfig_CatchSkillShrine = false; // Bot holt Skill Schrein
MyConfig_CatchArmorShrine = false; // Bot holt Armor Schrein
MyConfig_CatchResistShrine = false; // Bot holt Resi Schreine
NTConfig_StartDelay = 0; // Verzögerung beim Start in Millisekunden
NTConfig_AreaDelay = 500; // Verzögerung bei Gebietswechsel in Millisekunden
NTConfig_Cubing = false; // Beim public botten wollen wir XP und nicht ewig rumcuben.
NTConfig_UseCainToID = false; // soviele Items nehmen wir nicht mit, die können wir auch per Hand identen
NTConfig_CheckSojSales = false; NTConfig_CheckSojSalesItem = false; // Wenn das auf true ist, idlet der Bot in der Stadt rum um weitere SoJ sales abzuwarten -> NoGo für public bot
NTConfig_WorldEventAccount = ""; // schreibt dem acc alle 10 min eine nachricht bei soj verkäufen oder worldevent ("" leer lassen fals nicht benötigt)
NTConfig_WorldEventWaitTime = 1; // Wie lange soll der char bei einem worldevent warten in sekunden (0 = Unendlich)
NTConfig_FreeSpace = 7; // Sind weniger als X Spalten frei, werden die Items gestasht.
NTConfig_MinGoldToStash = 150000; // Maximales Gold, was der Bot mit sich rumträgt, bevor er es in die Truhe zahlt.
NTConfig_ResetWeapon = false; // wird nicht mehr gebraucht
}
Bitte selbstständig [Code]-Tags benutzen, dann kann man den kram sogar lesen. - Muddy
|