Register for your free account! | Forgot your password?

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

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

Advertisement



Game create delay problem

Discussion on Game create delay problem within the Diablo 2 forum part of the Other Online Games category.

Closed Thread
 
Old   #1

 
elite*gold: 250
Join Date: Mar 2010
Posts: 840
Received Thanks: 184
Game create delay problem

also mein bot macht immer 90 Sekunden Pause nach jedem run, obwohl ich es auf 15 eingestellt habe und wenn er sich einloggt braucht er auch erstmal 90 sec bis er nen game macht -.-

Code:
var gameMinLength      = 180000;   // 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      = 15000;      // time in milliseconds to wait between making games
var createGameThresholdRandom   = 2000;      // 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      = false;   // 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      = "";      // 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";







// 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;

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

var game = '';

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;

                    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
                    }
                }
            }
            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(GetTickCount() > nextGameMake)
        {
            var _control;

            lastGameFailed = false;

            switch(lastGameStatus)
            {
            case 0:
                _control = controlData.get(controlData.controls.lobby.button.create);
                if(_control && _control.pressed)
                {
                    controlData.click(controlData.controls.lobby.button.join);
                    Delay(500);
                }

                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;
        
        
        
        break;
        
    case 1:   // Lobby
        
        if(location.id == 1 && joinChatAfterGame)
        {
            Delay(Random(waitBeforeEnterChatMin, waitBeforeEnterChatMax));
            controlData.click(controlData.controls.lobby.button.enterChat);
            break;
        }

        if(GetTickCount() > nextGameMake)
        {
            var _control;

            lastGameFailed = false;

            switch(lastGameStatus)
            {
            case 0:
                _control = controlData.get(controlData.controls.lobby.button.create);
                if(_control && _control.pressed)
                {
                    controlData.click(controlData.controls.lobby.button.join);
                    Delay(500);
                }

                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();

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













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);
        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_SendLogToOOG(NTC_LOG_COMMON, "Log on next Mule char because current Mulechar is full!");
        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;
        
    }

}
FoGzone is offline  
Old 10/03/2010, 20:17   #2

 
lanara's Avatar
 
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,256
Ja, das ist schon eine Sauerei, wenn man innerhalb von 25 Minuten keine Antwort bekommt, da würde ich auch sofort einen neuen Thread aufmachen.



Hoffentlich hilft dir keiner, ein sollches Verhalten sollte nicht unterstützt werden.
lanara is offline  
Old 10/03/2010, 20:29   #3

 
elite*gold: 250
Join Date: Mar 2010
Posts: 840
Received Thanks: 184
Quote:
Originally Posted by lanara View Post
Ja, das ist schon eine Sauerei, wenn man innerhalb von 25 Minuten keine Antwort bekommt, da würde ich auch sofort einen neuen Thread aufmachen.



Hoffentlich hilft dir keiner, ein sollches Verhalten sollte nicht unterstützt werden.
du verschissener ********* verpiss dich endlich mal
ich hab schon vor tagen Leute angeschrieben aber nie ne antwort bekommen....
man so nen wixer wie dich findet man auch nur einmal
FoGzone is offline  
Thanks
1 User
Old 10/03/2010, 20:31   #4
 
spike0's Avatar
 
elite*gold: 23
Join Date: Mar 2010
Posts: 2,021
Received Thanks: 337
@lanara: jetzt kannst du dir sicher sein, dass ihm keiner hilft ^^
spike0 is offline  
Old 10/03/2010, 20:40   #5

 
elite*gold: 250
Join Date: Mar 2010
Posts: 840
Received Thanks: 184
Quote:
Originally Posted by spike0 View Post
@lanara: jetzt kannst du dir sicher sein, dass ihm keiner hilft ^^
na und?
habs endlich selber gefixed

lanara wurde schon bei den mods gemeldet weil er ständig sinlose posts macht
FoGzone is offline  
Old 10/03/2010, 20:42   #6
 
elite*gold: 0
Join Date: May 2008
Posts: 153
Received Thanks: 16
Quote:
Originally Posted by Knutschkugel View Post
du verschissener ********* verpiss dich endlich mal
ich hab schon vor tagen Leute angeschrieben aber nie ne antwort bekommen....
man so nen wixer wie dich findet man auch nur einmal
hahahahahahahahahahahahahahahahahahahahahahahahaha hahahahaha zu geil
ich würd mir aber nen multi machen um so zu flamen ehrlich gesagt.

Edith sagt, dass du dich mit deinem Post grade lieber ganz schnell wegtrollen solltest.
Nightgrey is offline  
Old 10/03/2010, 20:58   #7
 
spike0's Avatar
 
elite*gold: 23
Join Date: Mar 2010
Posts: 2,021
Received Thanks: 337
Quote:
Originally Posted by Knutschkugel View Post
lanara wurde schon bei den mods gemeldet weil er ständig sinlose posts macht
böse(r), böse(r) lanara... gut, dass du sehr freundliche posts machst, und diese auch an die richtige stelle =)
spike0 is offline  
Old 10/03/2010, 22:15   #8
 
elite*gold: 0
Join Date: Mar 2008
Posts: 406
Received Thanks: 83
Quote:
Originally Posted by Knutschkugel View Post
du verschissener ********* verpiss dich endlich mal
ich hab schon vor tagen Leute angeschrieben aber nie ne antwort bekommen....
man so nen wixer wie dich findet man auch nur einmal
Vote4ban

Selbst wenn Dir jemand auf den Keks geht hast Du noch lange nicht das Recht, so mit ihm umzugehen.
Besonders nicht, wenn er im Recht ist..

Wenn Dir jemand nicht paßt, setz ihn auf die Ignore-Liste, wenn Du denn weißt, wie das geht...

Ich kann und will nicht glauben, daß so ein asozialer Umgangston die Regel werden sollte...
Test_The_Rest is offline  
Old 10/03/2010, 22:19   #9
 
elite*gold: 0
Join Date: May 2009
Posts: 788
Received Thanks: 50
aiaiaiaiaiaiaiai

so boese woerter sollte man hier aber nicht verwenden

tztztztztztztztz ._.

:O
joshiii is offline  
Old 10/04/2010, 09:19   #10

 
lanara's Avatar
 
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,256
Quote:
Originally Posted by Knutschkugel View Post
lanara wurde schon bei den mods gemeldet weil er ständig sinlose posts macht
Da hab ich aber nu Angst. Solange hier Leute wie du, allstarz., Der J0ker etc. ständig sinnlose Threads eröffnen, werden auch weiterhin sinnlose Posts in diesen sinnlosen Threads von mir kommen.
lanara is offline  
Old 10/04/2010, 10:12   #11
 
G[oz]U's Avatar
 
elite*gold: 0
Join Date: Aug 2009
Posts: 706
Received Thanks: 135
Quote:
Originally Posted by Knutschkugel View Post
du verschissener ********* verpiss dich endlich mal
ich hab schon vor tagen Leute angeschrieben aber nie ne antwort bekommen....
man so nen wixer wie dich findet man auch nur einmal
Quote:
Originally Posted by Knutschkugel View Post
lanara wurde schon bei den mods gemeldet weil er ständig sinlose posts macht
Thx m8m hab selten so gelacht xD
Made my day
G[oz]U is offline  
Old 10/04/2010, 12:53   #12
 
kal_el's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
Quote:
du verschissener ********* verpiss dich endlich mal
ich hab schon vor tagen Leute angeschrieben aber nie ne antwort bekommen....
man so nen wixer wie dich findet man auch nur einmal
zu heftig
+1

closed
kal_el is offline  
Closed Thread


Similar Threads Similar Threads
How do i create Game.exe on my ShaiyaPS?
07/29/2010 - Shaiya - 0 Replies
Any1 can tell me how can i make the game.exe of my shaiya PS?
how Create share to Server and game
01/08/2010 - Dekaron Private Server - 14 Replies
if i get new share fillies and i need to edit ham to work in Server how edit ham can anyone Tell Me how i need anyman explanation how to do it :rolleyes: http://www.elitepvpers.com/forum/2moons-pserver-ho sting/361622-rebirth-client-patch-rebirth-share-pa tch-server.html
MultiClient (How to create one for every game)
11/06/2009 - General Gaming Discussion - 7 Replies
Hello everyone, this entire guide has been rewritten to make it like (Vmware for dummies) =). Now comes in a program called Vmware, it is a virtual PC software that makes virtual computers inside your current system, and is the only Vm product to support Direct3d, which is needed to run all the games To download Vmware go to this site www.enfull.com and on the bottom left corner of the page is a search box, type in Vmware and click on VMware-workstation-5.5.3-34685.exe you will see...
NTBot (+D2BS) create Game delay spackt :(
09/27/2009 - Diablo 2 - 5 Replies
Hey, normalerweise komm ich auf solche Sachen selber aber im moment verzweifel ich echt... Mein Bot nimmt sich 3-4 Minuten zwischen jedem Game bevor er ein neues erstellt! Die GameMinLength ist 185sec, und der gamecreate delay bei 8-15sec. Er braucht für einen Run meistens 3 1/2 Minuten, d.h. er sollte das nächste game eigentlich direkt nach dem Gamecreatedelay öffnen... macht er aber nicht, er wartet irgendwie nochmal die GameMinLength in der Lobby ab -.- Ich hab keine Ahnung was ich...
how do i create an account for this game?
11/12/2007 - Conquer Online 2 - 2 Replies
how do i create an account for this game? can someone link me?



All times are GMT +2. The time now is 07:02.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.