Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Diablo 2
You last visited: Today at 20:07

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

Advertisement



Problem beim LeechBot einstellen

Discussion on Problem beim LeechBot einstellen within the Diablo 2 forum part of the Other Online Games category.

Closed Thread
 
Old   #1
 
BECKS-MACHT's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 2
Problem beim LeechBot einstellen

Moin Leute,
also ich habe durch die suche nix gefunden und der Fred zum Sternenlooper Bot hat fast 300 Seiten -.-

Also ich habe nen Pala als Leader und ein DUDU der leecher soll.
Habe in der Leech.ntj den Channel und denn ACC eingestellt.
Die finden sind auch.
Allerdings:
Will der Dudu dann ein Game join, schreibt er in Gamename
"In the Game (Gamename) und dann PW
Das Game gibt es natürlich nicht.
Ich find leider die endsprechende Zeile in der ntj nicht.

Code:
//##############################################################################################################################
// Do Not distribute these scripts without the credits #########################################################################
//##############################################################################################################################
//Regards - Medix from http://www.************* #################################################################################
//##############################################################################################################################
var gameMinLength      = 90000;   // 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      = 180;      // 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   = 1000;   // how long to wait when a Game Does Not Exist occurs - minimum - default 10 minutes
var gameDoesNotExistDelayMax   = 1000;   // 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      = true;   // join chat after leaving a game
var joinRandomChannel      = false;      // if this is true, will join a random channel, otherwise it will use the channel below..
var joinChannelInChat      = "OP Becks";      // 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
var JoinFromChat = true;
//########################################################################################################################################
//################################AUTOMULE SETTINGS#######################################################################################
//########################################################################################################################################
var MuleAccount = "MULE ACC NAME";
var MulePassword = "MULE ACC PW";
var MuleCharLocation = 0; // charloc 1 = 0 , charloc 2 = 1 , charloc 3 = 2, ..... counts +1 after mule is full
var MuleGame = "MULE GAME NAME";
var MuleGamePassword ="MULE GAME PW";
//#########################################################################################################################################
//################################LEECHBOT SETTINGS########################################################################################
//#########################################################################################################################################
var leaderAccountName = "XXXXXXXXXX";   // Leader // achtet auf groß und kleinschreibung!!
var gamepassword = 'de';      // Wenn du ein Passwort für deine Baalruns verwendest, schreibe es hier zwischen die zwei ''
var ChatFLDelay = 8000 //delay between /f l in ms
var JoinGameAgain = true; // Bot joins same game again after leaving it due chicken 
//#########################################################################################################################################
//#########################################################################################################################################
//#########################################################################################################################################



// 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_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 zxetay = false;
var samegame = '';
var oldgame = '';
var check = 1;

Include("libs/controlInfo.ntl");
Include("libs/common/NTCommon.ntl");
//Include("joinBotSettings.ntl");
NTC_IncludeLibs();
var controlData = new controlInfo();

var game = 'Becks-Baal';

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)
            {
            if(zxetay){
                            if(Load("NTBot/NTMule.ntj"))
                {
                    _ingame = true;

                    sendEventToOOG(D2NT_MGR_INGAME, "In Game", 0);
                    lastGameStatus = 2; // in game successful
                }
            
            }
            
            else {
            
            
                if(Load("NTBot/NTBotGame.ntj"))
                {
                    _ingame = true;

                    sendEventToOOG(D2NT_MGR_INGAME, "In Game", 0);
                    lastGameStatus = 2; // in game successful
                }
            }
}
            Delay(1000);
        }
        else
        {
            if(_ingame)
            {
                _ingame = false;

                sendEventToOOG(D2NT_MGR_READY, "", 0);
            }


            RegisterEvent(EVENT_SCRIPTMSG, NT_ScriptMsgEvents1);




            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);
                if(check == 1)
                {
                    sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
                    outputGameLength();
                    lastGameStatus = 0;
                    setNextGameMake();
                    sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
                    check = check + 1;
                }
            }
        }

        if(JoinFromChat){
            game = '';
            if (joinChannelInChat)
            Delay (1200);
            //Say('Locating the leader : '+leaderAccountName);

            Say('/f l');
            Delay(ChatFLDelay);
            if(chat = controlData.get(controlData.controls.lobby.chat.textBox.channelText))
            {
                var errors = '';
                var found_leader = false;
                lines = chat.GetText();
                for (var friend = 0; friend < lines.length; friend++)
                {
                    if (lines[friend].lastIndexOf(': '+leaderAccountName+',') > -1)
                    {
                        game = '';
                        found_leader = true;
                        var regOfflineEnglish=/^\d\s?:\s?(\w*)\s?,\s?offline\s*$/gi;
                        var regGameNameEnglish=/^\s*(the\s)?(game\s)?([\w\s-]*\w)\s\(private\)\.\s*$/gi;
                        var regGameNameFrench=/^\s*(la\s)?(partie\s)?([\w\s-]*\w)\s\(priv[^\)]*\)\.\s*$/gi;             
                        var regGameNameGerman=/^\s*(Destruction\s)?(in\s)?(das\s)?(Spiel\s)?\'([\w\s-]*\w)\'\s\(privat[^\)]*\)\.\s*$/gi;

                if (lines[friend].match(regOfflineEnglish)) 
                
                {
                    errors += (errors == '' ? '' : ' ') + 'leader is offline';
                //  if (joinChannelInChat)
                    // Say('Leader is offline, delay 10 sec.');
                //  Delay(5000);
                } //err starts here
                if (lines[friend + 1].match(regGameNameEnglish) && lines[friend+1].substr(1, 1) != ':')
                {
                    game = lines[friend + 1].replace(regGameNameEnglish, "$3");
                }
                if (!game && lines[friend + 1].match(regGameNameFrench) && lines[friend+1].substr(1, 1) != ':')
                {
                    game = lines[friend + 1].replace(regGameNameFrench, "$3");
                }
            
                if (!game && lines[friend + 1].match(regGameNameGerman) && lines[friend+1].substr(1, 1) != ':')
                {
                    game = lines[friend + 1].replace(regGameNameGerman, "$5");
                } 
                if (!game && lines[friend + 1].match(regGameNameFrench) && lines[friend+1].substr(1, 1) != ':')
                {
                    game = lines[friend + 1].replace(regGameNameFrench, "$3");
                }
                if(!JoinGameAgain)
                {
                 if (game != '' && game != samegame)
                {
                    if (joinChannelInChat)
                        Delay(500);
                        //Say('' + game);

                    controlData.click(controlData.controls.lobby.button.join);
                    Delay (200);
                }
                else
                {
                    if(!errors)
                    {
                        errors = 'leader is not in game.';
                    }
                
                }
                }
                
                else
                {
                if (game != '')
                {
                    if (joinChannelInChat)
                        Delay(500);
                        //Say('' + game);

                    controlData.click(controlData.controls.lobby.button.join);
                    Delay (200);
                }
                else
                {
                    if(!errors)
                    {
                        errors = 'leader is not in game.';
                    }
                
                }
                
                }
            }
            }
            if (!found_leader && joinChannelInChat)
            {
            if (errors)
                Say('Errors : ' + errors);
            else
                Say('I couldn\'t find the leader in my friend list.');
                        Delay(1500);
                    }
                }
                else
                {
                    if (joinChannelInChat)
                    Say('I can\'t read the chat!');
                    Delay(1500);
                }
                
            }
            errors = '';
            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;
            }

            if(GetTickCount() > nextGameMake)
            {
                lastGameFailed = false;

                switch(lastGameStatus)
                {
                case 0:
                    controlData.click(controlData.controls.lobby.button.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.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);
            }
            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
                if(!controlData.get(controlData.controls.lobby.join.editBox.gameName))
                    {
                    controlData.click(controlData.controls.lobby.button.create);
                    Delay (1000);
                    controlData.click(controlData.controls.lobby.button.join);
                    Delay (1000);
                    }
                    if (game != '')
                    {
      
                    controlData.setText( controlData.controls.lobby.join.editBox.gameName, game);
                Delay (200);
                controlData.setText( controlData.controls.lobby.join.editBox.password, gamepassword);
                Delay (200);
                controlData.click(controlData.controls.lobby.join.button.joinGame);
                Delay (800);
           controlData.click(controlData.controls.lobby.button.quit);                       
                Delay (800);
                controlData.click(controlData.controls.lobby.button.join); 
                RunGC(); // run garbage collector between each game
                //locationTimeout(1000, location);
                lastGameStatus = 1; // pending join
           check = 1;
                }
              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
            RunGC(); // run garbage collector between each game

            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, "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.button.ok);
            break;

            case 28: // Lobby - Game Does Not Exist
                  inGameAt = Random(gameDoesNotExistDelayMin, gameDoesNotExistDelayMax);
              controlData.click(controlData.controls.lobby.button.quit); 
                  lastGameStatus = 0;
              controlData.click(controlData.controls.lobby.button.quit); 
                  setNextGameMake();
        }
    }













    function locationActionA(location)
    {
        switch(location.id)
        {

        case 3: // Lobby Chat

            break;

            
        case 1:   // Lobby

            Delay(500);
            controlData.click(controlData.controls.lobby.button.join);
            Delay(500);
            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);
            }
            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
            if(!controlData.get(controlData.controls.lobby.join.editBox.gameName))
            {
                controlData.click(controlData.controls.lobby.button.create);
                Delay (500);
                controlData.click(controlData.controls.lobby.button.join);
                Delay (500);
            }
            
            
            controlData.setText( controlData.controls.lobby.join.editBox.gameName, MuleGame);
            Delay (200);
            controlData.setText( controlData.controls.lobby.join.editBox.password, MuleGamePassword);
            Delay (200);
            controlData.click(controlData.controls.lobby.join.button.joinGame);
            RunGC(); // run garbage collector between each game
            //locationTimeout(1000, location);
            lastGameStatus = 1; // pending join
            check = 1;
            
            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, MuleAccount);
            Delay(1000)
            controlData.setText(controlData.controls.login.editBox.password, MulePassword);
            Delay(500);
            controlData.click(controlData.controls.login.button.logIn);
            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[MuleCharLocation]);
                if(_control && _control.GetText() != undefined)
                break;

                Delay(500);
            }

            if(_time < characterScreenTimeout)
            {
                Delay(characterSelectDelay);

                controlData.click(controlData.controls.characterSelect.textBox.characters[MuleCharLocation], 0, 0, 1);
                controlData.click(controlData.controls.characterSelect.textBox.characterInfo[MuleCharLocation], 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
            RunGC(); // run garbage collector between each game

            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, "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.button.ok);
            break;

        case 28: // Lobby - Game Does Not Exist

            controlData.click(controlData.controls.lobby.button.quit);


            //lastGameStatus = 0;
            //setNextGameMake();

            //locationTimeout(gameDoesNotExistTimeout, location);
            break;
        }
    }





    function locationActionB(location)
    {
        switch(location.id)
        {

        case 3: // Lobby Chat
            Delay(5000);
            controlData.click(controlData.controls.lobby.button.create);

            break;

            
        case 1:   // Lobby

            Delay(5000);
            controlData.click(controlData.controls.lobby.button.create);

            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);
            }
            
            controlData.setText( controlData.controls.lobby.create.editBox.gameName, MuleGame);
            Delay (200);
            controlData.setText( controlData.controls.lobby.create.editBox.password, MuleGamePassword);
            Delay (200);
            controlData.click(controlData.controls.lobby.create.button.normal);
            Delay(500);
            controlData.click(controlData.controls.lobby.create.button.createGame);
            Delay(500);    
            
            //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
            if(!controlData.get(controlData.controls.lobby.join.editBox.gameName))
            {
                controlData.click(controlData.controls.lobby.button.create);
                Delay (500);
                controlData.click(controlData.controls.lobby.button.join);
                Delay (500);
            }
            
            
            controlData.setText( controlData.controls.lobby.join.editBox.gameName, MuleGame);
            Delay (200);
            controlData.setText( controlData.controls.lobby.join.editBox.password, MuleGamePassword);
            Delay (200);
            controlData.click(controlData.controls.lobby.join.button.joinGame);
            RunGC(); // run garbage collector between each game
            //locationTimeout(1000, location);
            lastGameStatus = 1; // pending join
            check = 1;
            
            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, MuleAccount);
            Delay(1000)
            controlData.setText(controlData.controls.login.editBox.password, MulePassword);
            Delay(500);
            controlData.click(controlData.controls.login.button.logIn);
            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
            RunGC(); // run garbage collector between each game

            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, "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.button.ok);
            break;

        case 28: // Lobby - Game Does Not Exist

            controlData.click(controlData.controls.lobby.button.quit);


            //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));
            Delay(1);
        }

        return _retString;
    }


    function NT_ScriptMsgEvents1(msg)
    {
        
        

        switch(msg)
        {


        case "MULE":

            ExitGame();    
            NTC_SendLogToOOG(NTC_LOG_COMMON, "Log on Mule Account");
            NTC_Delay(2000);
            //ExitGame();
            NTC_Delay(20000);
            controlData.click(controlData.controls.lobby.button.quit);
            NTC_Delay(2000);
            controlData.click(controlData.controls.characterSelect.button.exit);
            NTC_Delay(2000);

            while(1)

            {
                if(!me.ingame){
                    locationActionA(controlData.getLocation());
                }
                else{
                    Delay(5000);
                    Load("NTBot/bots/NTJOIN.ntj");
                    break;
                }
            }


            break;
            
            
        case "MULE_START":
            
            Delay(5000);
            while(1)

            {
                if(!me.ingame){
                    locationActionB(controlData.getLocation());
                }
                else{
                    Delay(5000);
                    Load("NTBot/bots/NTMule.ntj");
                    break;
                }
            }

zxetay = true;
            
            break;


            
        case "MULE_FULL":
            
            ExitGame();
            NTC_Delay(10000);
            controlData.click(controlData.controls.lobby.button.quit);
            MuleCharLocation++;
                        while(1)

            {
                if(!me.ingame){
                    locationActionA(controlData.getLocation());
                }
                else{
                    Delay(5000);
                    Load("NTBot/bots/NTJOIN.ntj");
                    break;
                }
            }
            
    
    zxetay  = true;

            break;
            
            
        case "DONE":
        
        ExitGame();
        NTC_Delay(10000);
        NTC_SendLogToOOG(NTC_LOG_COMMON, "Finished Muling!");
        NTC_Delay(2000);
        controlData.click(controlData.controls.lobby.button.quit);
        NTC_Delay(2000);
        controlData.click(controlData.controls.characterSelect.button.exit);
        
        zxetay = false;
            
        }

    }
BECKS-MACHT is offline  
Old 09/14/2010, 14:33   #2
 
elite*gold: 0
Join Date: Jul 2009
Posts: 2,147
Received Thanks: 306
man kann die Sufu auch innerhalb eines Threads benutzen
du weißt wo es hingehört und machst trotzdem einen neuen Thread aus?-.-
XxArenaxX is offline  
Old 09/14/2010, 14:35   #3
 
BECKS-MACHT's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 2
die 300Seiten sind doch jetzt schon unübersichtlich
BECKS-MACHT is offline  
Old 09/14/2010, 14:40   #4
 
elite*gold: 0
Join Date: Jul 2009
Posts: 2,147
Received Thanks: 306
dann nutz die Sufu... Sollst ja auch nicht alle Seiten einzeln durchgehen-.-
XxArenaxX is offline  
Old 09/14/2010, 14:51   #5
 
BECKS-MACHT's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 2
Hab ich doch -.-
Aber das Problem finde ich da nicht.
Und ausserdem kwatschen da immer alle durcheinander.
BECKS-MACHT is offline  
Old 09/14/2010, 20:56   #6
 
kal_el's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
so wie hier...
closed
ab in thread mit dir
kal_el is offline  
Closed Thread


Similar Threads Similar Threads
Problem beim Rates einstellen von Profizocker
03/02/2011 - Metin2 Private Server - 7 Replies
Hey, ich habe die serverfiles von profizocker und immer wenn ich die rates, also priv_empire eigebe kommt ihrgenwas, die rates sind wieder normal, aber an den echten RATES ändert sich nix. was soll ich tun?
Brauche Hilfe beim Server einstellen!
05/06/2010 - Metin2 Private Server - 2 Replies
Ich hab den Server von einem Kumpel übernommen und der hat alle uppitems entfernt. Also man brauch für kein Item eine Uppsache bis +9. Ich will aber gerne die Uppsachen wieder einfügen. Ich denke mal das geht in der refine_proto aber wie nur ? Ich bitte um Hilfe es gibt dafür auch ein thanks <3 mfg - Yuko
Problem beim Leechbot
09/13/2008 - Diablo 2 - 4 Replies
hey jungs, hab hier mal wieder ne frage ;) hab jetzt mal den slut installiert, da ich mit nem bekannten zusammen baalruns machen wollte... gibt ja noch paar xp mehr :> allerdings bekomm ich das ding net zum laufen... ich weiß net was ich übersehen haben könnte ... das ist aus der readme... hab ich auch alles gemacht... bis auf step6 ;)
brauch hilfe beim tbot einstellen
02/08/2008 - Silkroad Online - 2 Replies
also folgendes der tbot lüft alles geht nur ich krieg ihn nich dazu nach dem er in der statd war wieder zu seinem tainingsplatz zurück zu gehene so mach ichs: ich geh zum trainingsplatz stell auf script record und begine zu recorden und lass den bot laufen kurz befor die waffe bricht speicher ich den script der bot porte in die statd macht alles ich bring ihn wider zu dem ort mach load script und zwar den den ich gespeichert hab normal müsste er da automatisch hin oder? kann mir ma wer so ne...
exp-drop einstellen beim WoWEmu ?
07/13/2006 - World of Warcraft - 5 Replies
hallo zusammen gibt es bei dem emu irgendwo die möglichkeit die drop und exp rate einzustellen und wenn ja wo ? mfg



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


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

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