Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Diablo 2
You last visited: Today at 08:35

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

Advertisement



[D2NT] Public Botten for Dummies

Discussion on [D2NT] Public Botten for Dummies within the Diablo 2 forum part of the Other Online Games category.

Reply
 
Old 07/24/2011, 15:00   #2101
 
mirkoregge's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 3,170
Received Thanks: 1,191
Auf Seite 1 steht:

Quote:
Warum verlässt meine Amazone das Spiel bevor Baal tot ist mit der Meldung NTA_KillMonster() failed?
Code:
Der Fehler lässt sich relativ einfach beheben, indem man folgendes in die Charconfig hinzufügt:
Code:
            NTConfig_AttackSkill[7] = 24; // Angriff gegen Bosse
mirkoregge is offline  
Thanks
1 User
Old 07/24/2011, 15:01   #2102
 
elite*gold: 0
Join Date: Jul 2011
Posts: 43
Received Thanks: 0
Hey also hab alles nach der anleitung eingestellt aber mein bot geht nicht in das game des leader sondern fragt immer nur die freundes liste ab.

Ich denke es liegt dadrann das ich keine Grüne Meldung bekomme das der leader in ein Spiel geht aber wie kann man das aktivieren?
muh999 is offline  
Old 07/24/2011, 15:25   #2103
 
elite*gold: 18
Join Date: Aug 2008
Posts: 599
Received Thanks: 54
der Leader muss dich auch in die freunde liste Hinzufügen dann bekommt du diese "Grüne meldung"
HacK. is offline  
Thanks
2 Users
Old 07/24/2011, 15:25   #2104
 
elite*gold: 0
Join Date: Apr 2011
Posts: 19
Received Thanks: 0
super, ich werd probieren, danke
muechl is offline  
Old 07/24/2011, 15:27   #2105
 
elite*gold: 0
Join Date: Jul 2011
Posts: 43
Received Thanks: 0
Danke aber wenn ich nur von dem Leechen will wie macht der es dann wenn der leader mich nicht in der Freundes liste hat? das läuft ja dann nur mit dem char namen von dem und da fragt er trozdem immer nur die f l ab ....
muh999 is offline  
Old 07/24/2011, 17:11   #2106
 
elite*gold: 0
Join Date: Jun 2008
Posts: 91
Received Thanks: 18
Es geht halt nur, wenn ihr Euch gegenseitig in der Freundesliste habt.
Falconmind is offline  
Thanks
1 User
Old 07/24/2011, 21:59   #2107
 
elite*gold: 0
Join Date: Jul 2011
Posts: 5
Received Thanks: 0
schönes ding erstmal danke für das ganze

hab folgendes problem:
- xml-log aktiviert
- im d2nt-manager steht bei jedem item auch schön die area dran
- in den logs aber überall "undefined" bei "Found At"

im verzeichnis logs\loc gibts 2 dateien von meinem char - sind aber beide immer leer.. werden zwar ab und zu neu angelegt, aber immer leer

hab ich irgendwas bei der konfiguration vergessen oder warum tut das nicht so wie ich es erwarten würde ?
snodo is offline  
Old 07/24/2011, 22:19   #2108
 
elite*gold: 0
Join Date: Jun 2008
Posts: 91
Received Thanks: 18
Verwendest du auch ein Englisches Diablo? (Hacken bei Direct TXT) Ansonsten check deine Configs mal durch auf Fehler, am besten mit NotePad ++ weil du da Highlight hast.



Hoffe konnte dir helfen.
Falconmind is offline  
Thanks
1 User
Old 07/25/2011, 02:12   #2109
 
elite*gold: 0
Join Date: Feb 2011
Posts: 18
Received Thanks: 0
Wieso gehen meine Co-leecher nach diablo in town act 4, und leaven dann das spiel obwohl ich noch baal eingestellt habe?
schmutzfuss is offline  
Old 07/25/2011, 10:34   #2110
 
Klangsphaere's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 139
Received Thanks: 19
Geht der Leader dann zu Baal? Was kommt als Meldung? Meist hast du in den Fenstern oben stehen warum der Bot jetzt geht. Evtl. haben die keinen Waypoint? Mal im auge behalten und dann posten. Manchmal stehts auch als Message im D2NT drin (mit rot)
Klangsphaere is offline  
Old 07/25/2011, 21:15   #2111
 
Icybloody's Avatar
 
elite*gold: LOCKED
Join Date: Sep 2010
Posts: 309
Received Thanks: 39
Quote:
Originally Posted by Icybloody View Post
Hab mir jetzt die erstem 75 Seiten durchgelesen und nix gefunden, mein Problem ist folgendes: Er loggt ein, wählt meinen char, geht in den channel den ich eingegeben habe, schaut auf der FL nach dem Leader der Botruns macht (baalruns) versucht game zu joinen sofern es nicht voll ist xD aber sobald er drinnen ist vesucht er zu initialisieren und dann exited er einfach.. jedes game, kann mir plx jemand helfen?
Quote:
Originally Posted by Icybloody View Post
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
Kann mir jetzt pls jemand dabei helfen? mir wurde nur gesagt das da anscheindn nen // vergessen wurde, mehr nicht. Wofür poste ich extra meine Datei need help plxthx
Icybloody is offline  
Old 07/25/2011, 22:15   #2112

 
lanara's Avatar
 
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,258
Code:
	if(NTConfig_BotType >= 3)
	{
		NTConfig_Leader = "VSR" // Name vom Leader-Char, Groß- und Kleinschreibung beachten!
		
		//##############################Diablo##############################
		[COLOR="Red"]//[/COLOR]NTConfig_Script.push("NTDiabloLeech.ntj"); // NTConfig_DiabloLeechers MUSS beim leader auf true sein

		//###############################Baal###############################
		[COLOR="red"]//[/COLOR]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
	}
Solange die // vor dem Script stehen, wird die Zeile ignoriert. Also entferne sie vor dem Script das du machen willst, dann klappts auch.
lanara is offline  
Thanks
2 Users
Old 07/26/2011, 01:16   #2113
 
Icybloody's Avatar
 
elite*gold: LOCKED
Join Date: Sep 2010
Posts: 309
Received Thanks: 39
danke genau so eine antwort habe ich mir gewünscht! guter und netter support btw
Icybloody is offline  
Old 07/26/2011, 09:48   #2114
 
Klangsphaere's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 139
Received Thanks: 19
Das steht aber auch alles in der Anleitung von lanara auf Seite 1. Ich weiss soviel Text kann anstrengend sein, hilft aber definitiv bei problemchen wie diesen

Ist es möglich als leecher vorher Andi zu machen? Welche Dateien müßte ich dann zusätzlich reinkopieren? Danke im vorraus
Klangsphaere is offline  
Old 07/26/2011, 09:59   #2115

 
lanara's Avatar
 
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,258
Quote:
Originally Posted by Klangsphaere View Post
Das steht aber auch alles in der Anleitung von lanara auf Seite 1. Ich weiss soviel Text kann anstrengend sein, hilft aber definitiv bei problemchen wie diesen

Ist es möglich als leecher vorher Andi zu machen? Welche Dateien müßte ich dann zusätzlich reinkopieren? Danke im vorraus
Einfach das Andariel Script aus dem Sternenlooper D2NT kopieren (Verzeichnis scripts\NTBot\bots) und in der Config mit einfügen.

Code:
NTConfig_Script.push("Akt1-Andariel.ntj");
lanara is offline  
Thanks
1 User
Reply

Tags
baal, bot, d2nt, diablo, public


Similar Threads Similar Threads
[D2NT] How to do Public
07/04/2011 - Diablo 2 - 51 Replies
Also da ich gefragt wurde ob ich das nicht machen könnte, habe ich mir gedacht da ich grade nichts zu tuen habe, wieso den eigentlich nicht. Falls jemand Maphack im Fullwindow spielen will: http://img824.imageshack.us/img824/1725/66387846. png Hacken Raus nehmen. CREADITS TO: Sternlooper TheBluebird Muddy_Waters
D2Nt Public Pickit
10/18/2010 - Diablo 2 - 4 Replies
Der Bot ist super aber er pickt einfach sachen viel zu langsame zb small charms. Da sind normale Spieler schneller. Kann man das einstellen das er sachen sofort beim droppen pickt??
Classic botten mit D2nt
07/09/2010 - Diablo 2 Programming - 2 Replies
Huhu :) ich möchte classic anfangen und wollte mal fragen ob es tolle d2nt classic scripts gibt, bzw. was ich ändern muss oder ob es auch non enigma scripts gibt für paladin oder so^^ Gibt aufjeden ein THX :) Und eine Pickit für Classic wäre auch nice^^ Oder gibs andere Classic bots ?
Public Baal mit D2NT
04/13/2009 - Diablo 2 - 3 Replies
könnt ihr mir vll sagen was ich machen muss um mit den bot public baals runs zu machen wäre echt cool in dern config auf true stellen ist mir klar aber wie stell ich game name und sowas alles ein und brauch ich dafür nicht wieder eine config datei wäre echt cool wenn ihr mir helfen könntet ;)



All times are GMT +1. The time now is 08:38.


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

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