Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Diablo 2
You last visited: Today at 14:29

  • 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 05/31/2011, 23:44   #1771
 
elite*gold: 0
Join Date: Apr 2011
Posts: 19
Received Thanks: 0
ich hatte das jetzt auch schön öfters, aber nachdem ich fastpick auf false gestelt hab, gehts wunderbar
muechl is offline  
Old 06/01/2011, 07:07   #1772
 
elite*gold: 0
Join Date: May 2011
Posts: 9
Received Thanks: 0
Quote:
Originally Posted by joshiii View Post
kanns sein dass du iwie 1st und 2cond slot vertauscht hat also das hoto aufm 1st slot ist ?! ._.
Wusste nicht das es ne Rolle spielt, hatte Hoto und Zaka in Slot 1 und CTA sowie Spirit in Slot zwei.
Habe es jetzt mal umgetauscht aber auch dann mag er das nicht machen, und wenn ich von vorneherein beim ausloggen auf Waffenslot mit CTA einstelle Bo´t er zwar, wechsel aber nicht aufs Hoto^^
Amakra is offline  
Old 06/01/2011, 10:20   #1773
 
elite*gold: 0
Join Date: Apr 2011
Posts: 19
Received Thanks: 0
Neue Frage:

Eigentlich sollte mein bot bei dolls einfach das baal script skippen und dafür bei diablo weitermachen..

aber er leavt immer... was hab ich falsch eingestellt^^
muechl is offline  
Old 06/01/2011, 11:22   #1774
 
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
Quote:
Originally Posted by muechl View Post
Neue Frage:

Eigentlich sollte mein bot bei dolls einfach das baal script skippen und dafür bei diablo weitermachen..

aber er leavt immer... was hab ich falsch eingestellt^^
Oh, dann passt da wohl was nicht.
Leavt er immer oder nur wenn Dolls sind?
Poste mal das Baalscript und die Charconfig des Leaders.
TheCrazy11 is offline  
Old 06/01/2011, 12:21   #1775
 
elite*gold: 0
Join Date: May 2011
Posts: 39
Received Thanks: 1
Quote:
Originally Posted by muechl View Post
ich hatte das jetzt auch schön öfters, aber nachdem ich fastpick auf false gestelt hab, gehts wunderbar
mh jo funzt^^
gibt ne möglichkeit, wie da ganze auch mit fast-pickit geht ohne, dass man dauernd dropt?^^
gulli12 is offline  
Old 06/01/2011, 16:48   #1776
 
elite*gold: 0
Join Date: May 2009
Posts: 667
Received Thanks: 27
eine frage, kann ich dem leader auch beibringen das er bei jeder weave msg ansagt?
style- is offline  
Old 06/01/2011, 17:24   #1777
 
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
Quote:
Originally Posted by style- View Post
eine frage, kann ich dem leader auch beibringen das er bei jeder weave msg ansagt?
3 Seiten davor steht die Lösung deines Problems...
-->
TheCrazy11 is offline  
Thanks
2 Users
Old 06/01/2011, 21:51   #1778
 
mirkoregge's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 3,170
Received Thanks: 1,191
So habe heute mal den Bot getestet; läuft soweit gut, aber:
im DiabloLeechfight-Script hängt der Pala sich beim letzen Siegel auf; Pala öffnet letzetes Siegel, schaltet Rücknahme an, bleibt hängen und bricht dann ab; habe heute erst die Version von Seite 1 geladen. Der Fehler tritt nur beim Pala auf; sehr merkwürdig. Jemand ne Idee?

Ich vermute, dass der Fehler hier irgendwo liegt:
Code:
function NT_OpenVenomSealInt(type)
{
	var i, n;
	var _monstername = GetLocaleString(2853);

	var _attackpos = [7835, 5280, 7835, 5300, 7855, 5300, 7855, 5280];
	

	for(i = 0 ; i < _attackpos.length ; i += 2)
	{
		NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);

		NTA_ClearPosition(25, true, 2);
	}
	
	NTM_MoveTo(me.areaid, 7843, 5292);
	NTA_ClearPosition(40, true, 2);
	
	for(i = 0 ; i < 3 ; i++)
	{
		if(type == 1)
		{
			NTM_MoveTo(me.areaid, 7871, 5293);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7893, 5307);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7912, 5280);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7931, 5293);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7908, 5293);
			NTA_ClearPosition(60, true, 2);
			
			NT_OpenSealInt(392, 7895, 5318);
			
			[COLOR="Red"]if(me.classid == NTC_CHAR_CLASS_PALADIN)
				NTM_MoveTo(me.areaid, 7892, 5298);[/COLOR]
		}
		else
		{
			NTM_MoveTo(me.areaid, 7893, 5274);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7927, 5280);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7930, 5308);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7929, 5294);
			NTA_ClearPosition(60, true, 2);
			
			NT_OpenSealInt(392, 7916, 5310);
			
			[COLOR="Red"]if(me.classid == NTC_CHAR_CLASS_PALADIN)
				NTM_MoveTo(me.areaid, 7927, 5275);[/COLOR]
Vielleicht stimmt ne Zahl nicht?
mirkoregge is offline  
Old 06/01/2011, 22:09   #1779
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41624
Join Date: Jan 2010
Posts: 22,728
Received Thanks: 12,655
Quote:
Originally Posted by Amakra View Post
Wusste nicht das es ne Rolle spielt, hatte Hoto und Zaka in Slot 1 und CTA sowie Spirit in Slot zwei.
Habe es jetzt mal umgetauscht aber auch dann mag er das nicht machen, und wenn ich von vorneherein beim ausloggen auf Waffenslot mit CTA einstelle Bo´t er zwar, wechsel aber nicht aufs Hoto^^
Normal sollte das tatsächlich automatisch gehen. Könntest du mal ein anderes CTA versuchen? Ich hatte bisher schon einmal den Fall, dass ein CTA aus irgendeinem Grund ein zerschossenes Präfix hat, sodass es nicht als CTA erkannt werden konnte - das ist aber extrem selten.

Wie gesagt, normal sollte das so gehen.

P.S.: Das Pushen von Beiträgen ist streng genommen nur im Black Market erlaubt. Wir sehen das hier zwar etwas lockerer, aber Beiträge in unter 24h zu Pushen ist dennoch übertrieben und folglich nicht gerne gesehen.

Quote:
Originally Posted by mirkoregge View Post
So habe heute mal den Bot getestet; läuft soweit gut, aber:
im DiabloLeechfight-Script hängt der Pala sich beim letzen Siegel auf; Pala öffnet letzetes Siegel, schaltet Rücknahme an, bleibt hängen und bricht dann ab; habe heute erst die Version von Seite 1 geladen. Der Fehler tritt nur beim Pala auf; sehr merkwürdig. Jemand ne Idee?

Ich vermute, dass der Fehler hier irgendwo liegt:
Code:
function NT_OpenVenomSealInt(type)
{
	var i, n;
	var _monstername = GetLocaleString(2853);

	var _attackpos = [7835, 5280, 7835, 5300, 7855, 5300, 7855, 5280];
	

	for(i = 0 ; i < _attackpos.length ; i += 2)
	{
		NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);

		NTA_ClearPosition(25, true, 2);
	}
	
	NTM_MoveTo(me.areaid, 7843, 5292);
	NTA_ClearPosition(40, true, 2);
	
	for(i = 0 ; i < 3 ; i++)
	{
		if(type == 1)
		{
			NTM_MoveTo(me.areaid, 7871, 5293);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7893, 5307);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7912, 5280);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7931, 5293);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7908, 5293);
			NTA_ClearPosition(60, true, 2);
			
			NT_OpenSealInt(392, 7895, 5318);
			
			[COLOR="Red"]if(me.classid == NTC_CHAR_CLASS_PALADIN)
				NTM_MoveTo(me.areaid, 7892, 5298);[/COLOR]
		}
		else
		{
			NTM_MoveTo(me.areaid, 7893, 5274);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7927, 5280);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7930, 5308);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7929, 5294);
			NTA_ClearPosition(60, true, 2);
			
			NT_OpenSealInt(392, 7916, 5310);
			
			[COLOR="Red"]if(me.classid == NTC_CHAR_CLASS_PALADIN)
				NTM_MoveTo(me.areaid, 7927, 5275);[/COLOR]
Vielleicht stimmt ne Zahl nicht?
Ich kann dir zwar nicht direkt sagen, was die Ursache deines Problems ist, aber die von dir markierten Aufrufe halte ich für unwahrscheinlich, da der Rückgabewert von NTM_MoveTo() nicht weiter ausgewertet wird.
Selbst wenn die Funktion hier fehlschlägt, hätte dies keine erkennbaren Folgen im Aufrufkontext.

LG
Muddy
Muddy Waters is offline  
Thanks
1 User
Old 06/01/2011, 22:28   #1780
 
elite*gold: 0
Join Date: May 2009
Posts: 667
Received Thanks: 27
Ich habe ein problem, mir is auf gefallen das mien leader wenn er game leavt bevor baal/dia um ist immer absturtz hat oder "bitte warten" bekomm und game dann abstürtz wodurch er nicht weiter macht.

bei "bitte warten" passiert garnichts mehr. das war jetzt 2h der fall.

wenn er game leavt sofort wenn er drin war bekomt er absturtz und game is frozen ( somit restartet er nicht)

wie kann ich das problem beheben?
style- is offline  
Old 06/02/2011, 08:06   #1781
 
elite*gold: 0
Join Date: Apr 2011
Posts: 39
Received Thanks: 2
Hi !
mein Bot ist nur im channel und refreshed seine fl.
eigentlich habe ich alles richtig eingestellt und die bots haben sich auch in der fl.
wäre sehr nett, wenn mir jemand helfen kann
Jack_Falcone is offline  
Old 06/02/2011, 08:11   #1782
 
flow-jow's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 435
Received Thanks: 117
Quote:
Originally Posted by Jack_Falcone View Post
Hi !
mein Bot ist nur im channel und refreshed seine fl.
eigentlich habe ich alles richtig eingestellt und die bots haben sich auch in der fl.
wäre sehr nett, wenn mir jemand helfen kann
hm.. hast den leader-acc exakt so geschrieben wie in der f-list angezeigt?
flow-jow is offline  
Old 06/02/2011, 08:12   #1783
 
elite*gold: 0
Join Date: Apr 2011
Posts: 39
Received Thanks: 2
Quote:
Originally Posted by flow-jow View Post
hm.. hast den leader-acc exakt so geschrieben wie in der f-list angezeigt?
name vom acc ist st-jesu,
und char name St-Jesu .


// Leader Account settings
// ================================================== ===========================
var leaderAccountName = "st-jesu";
var leaderName = "St-Jesu";
Jack_Falcone is offline  
Old 06/02/2011, 09:36   #1784
 
elite*gold: 0
Join Date: May 2009
Posts: 788
Received Thanks: 50
[QUOTE=Jack_Falcone;10964227]name vom acc ist st-jesu,
und char name St-Jesu .


ja so probleme kenne ich

wenn der accname und charname gleich sind fuehrt das manchmal zu fehlern
sowas ist mir frueher auch mal passiert ^^ als ich dann nen neuen leader mit anderem namen gemacht habe war alles wieder prima ^^
joshiii is offline  
Old 06/02/2011, 10:08   #1785

 
lanara's Avatar
 
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,258
Quote:
Originally Posted by style- View Post
Ich habe ein problem, mir is auf gefallen das mien leader wenn er game leavt bevor baal/dia um ist immer absturtz hat oder "bitte warten" bekomm und game dann abstürtz wodurch er nicht weiter macht.

bei "bitte warten" passiert garnichts mehr. das war jetzt 2h der fall.

wenn er game leavt sofort wenn er drin war bekomt er absturtz und game is frozen ( somit restartet er nicht)

wie kann ich das problem beheben?
Mal mit dieser NTBot probieren:

Code:
var channelUsers               = new Array();

//###################################################################
//###########################Einstellungen###########################
//###################################################################

// Wenn ihr nur einen Key benutzt, dann diesen Wert mindestens auf 180000 setzen, damit ihr keine realmdowns bekommt
var gameMinLength              = 190000;

var joinChatAfterLogin         = false; // true = Bot geht in den Chat, um .login/Announces zu machen
var joinChannelInChat          = "OP MyBaal"; // Wenn der Bot in keinen bestimmten Channel soll, dann nichts eintragen
var channelLogin               = true; // true = Bot schreibt .login nachdem er eingeloggt ist
channelUsers.push("Account Name"); // Hier deinen Account Name eintragen
channelUsers.push("Char Name"); // Hier deinen Char Name eintragen

// %game --> "gamename-"
// %counter --> number of the next game
// %time --> time in seconds till game creation
// %password --> game password
var gameAnnouncement           = "Next Game: %game%counter in %time seconds."; // Wenn keine NG message im Chat geposted werden soll, dann nichts eintragen

//----------------------------------------------------------------------------------------------------------------------------------------------------------


//###################################################################
//##############################Delays###############################
//###################################################################

// 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        = 15000;
var createGameThresholdRandom  = 1000;
var createGameTimeout          = 15000;
var waitInLineTimeout          = 60000;
var characterSelectDelay       = 1000;
var loginDelay                 = 1000;
var clickDelay                 = 1000;
var textDelay                  = 1000;
var clickDelayRandom           = 500;
var textDelayRandom            = 500;
var gameDoesNotExistDelayMin   = 600000;
var gameDoesNotExistDelayMax   = 900000;
var gameDoesNotExistTimeout    = 30000;
var gameAnnouncementDelay      = 5000;
var gameAnnouncementDelayRandom = 500;
var waitBeforeEnterChatMin     = 1000;
var waitBeforeEnterChatMax     = 2000;
var waitInChatBeforeActionsMin = 2000;
var waitInChatBeforeActionsMax = 3000;


//###################################################################
//###################################################################
//###############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 joinedChannel = false;
var justJoined = true;
var joinRandomChannel = false;

Include("libs/controlInfo.ntl");

var controlData = new controlInfo();

function NTMain()
{
    Delay(1000);

    var _ingame = false;

    controlData.clickDelay = clickDelay;
    controlData.textDelay = textDelay;
    controlData.clickDelayRandom = clickDelayRandom;
    controlData.textDelayRandom = textDelayRandom;

    while(1)
    {
        if(me.ingame)
        {
            if(!inGameAt)
                inGameAt = GetTickCount();

            if(!_ingame)
            {
                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
                }
            }

            Delay(1000);
        }
        else
        {
            if(_ingame)
            {
                _ingame = false;

                sendEventToOOG(D2NT_MGR_READY, "", 0);
            }

            locationAction(controlData.getLocation());

            Delay(500);
        }
    }
}

function locationAction(location)
{
    switch(location.id)
    {
    case 3: // Lobby Chat
        if(justJoined)
        {
            justJoined = false;
            if(isChannelUser(me.account, me.charname))
            {
                for(var i = 0; i < 3; i++)
                {
                    SetStatusText("ÿc2Chat actions enabled!");    
                    Delay(150);
                    SetStatusText("");    
                    Delay(150);
                }
            }
            else
            {
                for(var i = 0; i < 3; i++)
                {
                    SetStatusText("ÿc1Chat actions disabled!");    
                    Delay(150);
                    SetStatusText("");    
                    Delay(150);
                }
            }
        }
        if(!chatActionsDone && isChannelUser(me.account, me.charname))
        {
            chatActionsDone = true;
            Delay(Random(waitInChatBeforeActionsMin, waitInChatBeforeActionsMax));
            if(!joinedChannel && (joinRandomChannel || joinChannelInChat != ""))
            {
                var rndChannel = getRandomString(Random(3,10));
                SetStatusText("ÿc8Joining Channel " + (joinRandomChannel ? rndChannel : joinChannelInChat) );
                Delay(1000);
                Say("/join " + (joinRandomChannel ? rndChannel : joinChannelInChat));
                joinedChannel = true;
                Delay(1000);
                if(channelLogin)
                {
                    SetStatusText("ÿc8Channel Login...");
                    Say(".login");
                    Delay(1000);
                }
            }
        }
    case 1:    // Lobby
        if(location.id == 1 && joinChatAfterLogin)
        {
            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();
                lastGameFailed = true;
                Delay(5000);
                
            case 2:
                outputGameLength();
                lastGameStatus = 0;
                setNextGameMake();
                if(lastGameFailed)
                {
                    SetStatusText("ÿc1Failed to join!");
                    sendEventToOOG(D2NT_MGR_PRINT_LOG, "ÿE00000Game " + ((getGameCounter(me.gamename, true)) ? ("(" + getGameCounter(me.gamename, true) + ")") : "") + " creation failed!", 0)
                    Delay(2500);
                }
                sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
                break;
            }
        }
        else
        {
            if(joinChannelInChat && gameAnnouncement && me.gamename && isChannelUser(me.account, me.charname))
            {
                var tempDelay = (gameAnnouncementDelay > 5000) ? gameAnnouncementDelay : 5000 + 
                            (gameAnnouncementDelayRandom > 500) ? Random(0, gameAnnouncementDelayRandom) : 500;
                var gameText = gameAnnouncement;
                gameText = gameText.replace("%password", me.gamepassword);
                gameText = gameText.replace("%game", getGameName(me.gamename));
                gameText = gameText.replace("%counter", getGameCounter(me.gamename, false));
                gameText = gameText.replace("%time", parseInt((nextGameMake - GetTickCount() - tempDelay)/1000+3.0));
                if(parseInt((nextGameMake - GetTickCount() - tempDelay)/1000+3.0) > 5)
                {    
                    Delay(tempDelay);
                    Say(gameText);
                }
            }
            timeoutDelay(nextGameMake-GetTickCount(), location, true);
        }
        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);

        locationTimeout(5000, location);

        lastGameMade = GetTickCount();
        lastGameStatus = 1; // pending creation
        break;

    case 5: // Join Game
        break;

    case 6: // Ladder
        break;

    case 7: // Channel List
        break;

    case 8: // Main Menu
        if(controlData.getCurrentRealmIndex() == me.gatewayid)
        {
            outputGameLength();
            controlData.click(controlData.gameTypes[me.playtype]);
        }
        else
            controlData.click(controlData.controls.mainMenu.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);
		if(!locationTimeout(pleaseWaitTimeout, location))
			sendEventToOOG(D2NT_MGR_RESTART, location.name, 60);
		break;

    case 26: // Lobby - Game Name Exists
        sendEventToOOG(D2NT_MGR_PRINT_LOG, "ÿE00000Game already exists", 0);
        SetStatusText("ÿc1Game akready exists!");
        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;
    }
}

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, showNextGameStatus)
{
    if(arguments.length < 3)
        showNextGameStatus = false;
    
    endtime = GetTickCount() + time;

    while(endtime > GetTickCount())
    {
        sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " (" + parseInt((endtime-GetTickCount())/1000) + "s)", 0);
        if(showNextGameStatus)
        {
            if(lastGameFailed && parseInt((endtime-GetTickCount())/1000) > 30)
            {
                if(parseInt((endtime-GetTickCount())/1000) % 30 == 0)
                {
                    SetStatusText("ÿc1Last game failed!");
                    Delay(5000);
                }
                if(me.gamename && getGameCounter(me.gamename, false))
                    SetStatusText("ÿc8Next game: " + getGameName(me.gamename) + getGameCounter(me.gamename, false) + " (" + parseInt((endtime-GetTickCount())/1000) + "s)");
                else
                    SetStatusText("ÿc8Game creation pending... (" + parseInt((endtime-GetTickCount())/1000) + "s)");
            }
            else if(parseInt((endtime-GetTickCount())/1000) >= 0)
            {
                if(me.gamename && getGameCounter(me.gamename, false))
                    SetStatusText("ÿc8Next game: " + getGameName(me.gamename) + getGameCounter(me.gamename, false) + " (" + parseInt((endtime-GetTickCount())/1000) + "s)");
                else
                    SetStatusText("ÿc8Game creation pending... (" + parseInt((endtime-GetTickCount())/1000) + "s)");
            }
            if(me.ingame)
                endtime = GetTickCount();
        }
        Delay(1000);
    }
    if(showNextGameStatus)
        SetStatusText("ÿc8Creating game...");
}

function getRandomString(_length)
{
    _retString = "";
    _charSet = "0123456789abcdefghijklmnopqrstuvwxyz";

    while(_length--)
    {
        _retString += _charSet.charAt(Random(0, _charSet.length-1));
        Delay(1);
    }

    return _retString;
}

function getGameName(lastGameString)
{
    if(!lastGameString)
        return "";
    else
        return (lastGameString.substr(0, lastGameString.lastIndexOf('-')+1));
}

function getGameCounter(lastGameString, simple)
{
    var myCount, countString;
    if(!lastGameString)
        return "-1";
    else
    {
        countString = lastGameString.slice(lastGameString.lastIndexOf('-')+1);
            
        switch(countString)
        {
            case "08":
                myCount = 9;
                break;
            case "09":
                myCount = 10;
                break;
            default:
                myCount = parseInt(countString) + 1;
                break;
        }
        if(!simple)
        {
            if(myCount <= 9)
                return ('0' + myCount);
        }
        return myCount;
    }
}

function isChannelUser(accountname, charname)
{
    for(var i = 0; i < channelUsers.length; i++)
    {
        if(accountname.toLowerCase() == channelUsers[i].toLowerCase() || charname.toLowerCase() == channelUsers[i].toLowerCase())
            return true;
    }
    return false;
}
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 14:29.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

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