Register for your free account! | Forgot your password?

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

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

Advertisement



Redvex Plugin Automaton

Discussion on Redvex Plugin Automaton within the Diablo 2 forum part of the Other Online Games category.

Reply
 
Old 03/23/2011, 02:57   #31
 
elite*gold: 0
Join Date: Mar 2008
Posts: 150
Received Thanks: 29
hmm..mal ne noobige frage: ist es normal das ich jedes mal wenn ich d2 beende/redvex neu starte/bzw. mit einem fenster einlogge für das nächste fenster den localhost RedVex Server wieder neu hinzufügen muss? :S
Nozzelhood is offline  
Old 03/23/2011, 09:01   #32
 
elite*gold: 0
Join Date: Jun 2010
Posts: 142
Received Thanks: 19
ja ist normal such mal nach realmfix giebt ne tut für
sosito is offline  
Thanks
1 User
Old 03/23/2011, 09:26   #33

 
lanara's Avatar
 
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,256
Wenn man nicht über ein festes Realm einloggt, bzw. den Realmlock nicht nutzt ja.
lanara is offline  
Old 03/23/2011, 11:59   #34
 
elite*gold: 0
Join Date: Jan 2010
Posts: 169
Received Thanks: 0
realm lock ?
2Paddy is offline  
Old 03/23/2011, 12:06   #35


 
onkelxlc's Avatar
 
elite*gold: 75
Join Date: May 2009
Posts: 988
Received Thanks: 91
Ist beim kuk bot mit drin
onkelxlc is offline  
Old 03/23/2011, 14:12   #36
 
N00bcake's Avatar
 
elite*gold: 20
Join Date: May 2009
Posts: 2,649
Received Thanks: 475
Quote:
Originally Posted by Muddy_Waters View Post
Wenn man den Worten dort Glauben schenkt, wird das nicht funktionieren,
unabhängig davon ob Loader oder nicht.

Ich verstehe auch ehrlich gesagt den Sinn deines Vorhabens nicht, aber die Diskussion passt hier thematisch nicht rein.

Lg
Muddy
Ich bin kein D2 Pro Zocker, aber so dachte ich mir könnte ich etwas mehr Spielspaß rauskitzeln und den Schwierigkeitsgrad etwas erhöhen .. Solo Offline ist zwar ganz nett, aber ich würde lieber mit ner Party herumziehen oder neue Charaktere hochlvln ..

Also ich weiß noch immer nicht mit welchem Bot ich das nun machen kann
N00bcake is offline  
Old 03/23/2011, 15:18   #37
 
elite*gold: 0
Join Date: Jun 2010
Posts: 142
Received Thanks: 19
wiso offline? spiel doch online^^ und da funkt redvex einwandfrei

Lanara hat wie immer hierzu super arbeit geleistet

sosito is offline  
Old 03/23/2011, 15:20   #38

 
lanara's Avatar
 
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,256
Wenn du mehr Spielspaß willst, würde ich dir eher empfehlen einen Mod zu spielen. Kannst ja mal schauen. Und warum spielst du eigentlich offline und nicht im Bnet?
lanara is offline  
Old 03/23/2011, 15:30   #39
 
N00bcake's Avatar
 
elite*gold: 20
Join Date: May 2009
Posts: 2,649
Received Thanks: 475
Quote:
Originally Posted by lanara View Post
Wenn du mehr Spielspaß willst, würde ich dir eher empfehlen einen Mod zu spielen. Kannst ja mal schauen. Und warum spielst du eigentlich offline und nicht im Bnet?
Lieben Dank, Median XL sieht sehr interessant aus, werde ich heut Abend sogar ausprobieren .. wenn ich nur noch ne Npc Party per Bot aufstellen kann würde das meinen Wünschen voll und ganz gerecht werden

€dit: Ich hab einfach kein Interesse im Bnet zu spielen
N00bcake is offline  
Old 03/23/2011, 18:07   #40
 
elite*gold: 0
Join Date: Mar 2010
Posts: 100
Received Thanks: 4
Ist es normal dass die Follower keine Potions benutzen? Wenn ja, was bringt es dann wenn sie die aufheben?!
spiderjack is offline  
Old 03/23/2011, 18:50   #41

 
RezChams's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 24,265
Received Thanks: 15,362
Sollte sich heilfen, wenn ers nich tut einfach mit den Plugin Condome erweitern
RezChams is offline  
Old 03/23/2011, 18:52   #42

 
lanara's Avatar
 
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,256
Quote:
Originally Posted by spiderjack View Post
Ist es normal dass die Follower keine Potions benutzen? Wenn ja, was bringt es dann wenn sie die aufheben?!
Lad dir Condom, da kannstes einstellen. Siehe meinen neuesten Blog Eintrag dazu.
lanara is offline  
Old 03/23/2011, 22:12   #43
 
xdoddestroyer's Avatar
 
elite*gold: 20
Join Date: Feb 2009
Posts: 3,100
Received Thanks: 922
kommich bei mir kommt immer diese meldung

wenn ich bei den der folgen soll (meine soso) .follow schreibe!



obwohl ich ja den leader char Name in die ini eingefügt habe, und auch schon mal versuch mit groß und kleinschreibung zu ändern aber leider kommt bei beiden die Meldung

in der automations ini die ich als follow char namen (bunny) umbenannt habe

Code:
[Main]
Master=ich-i	// Der Name des Leader Chars
AutoRelease=1		// lässt den Bot seinen Kardarver aufheben, wenn er stirbt
Speak=1			// Zeigt was er denkt ( zb wenn ihr follow anschaltet, empfehlt es so zu lassen )
UseTeleport=0		// Teleport ja / nein
Melee=0			// Toggle Melee mode on/off (only attack monsters within leash range)
Leash=15		// Maximale Entferung bevor die der Bot von euch haben darf damit er kämpft ( am besten so lassen )
TeleLeash=30		// Maximale Entferung für Teleport zum folgen ( Wie ihr es wollt)
Spacing=5		// Minimale Nähe zu euch ( so ist es eigentlich gut )
HideFromPKs=1		// Wenn ihr / er gehostiled wird geht er in die Stadt, wenn er das nicht kann verlässt er das Game
PickTP=1		// lässt den Bot Tps aufheben, solange das Buch nicht voll ist
PickGold=1		// lässt den Bot Gold aufheben
PickMana=4		// lässt den Bot Mana Tränke aufheben, solange bis er x viele hate
PickLife=4		// lässt den Bot Life Tränke aufheben, solange bis er x viele hate
PickJuve=4		// lässt den Bot Rev Tränke aufheben, solange bis er x viele hate
PickBolts=0		// lässt den Bot Bolzen Tränke aufheben, solange bis er x viele hate
PickArrows=0		// lässt den Bot Pfeile Tränke aufheben, solange bis er x viele hate

[Shrines]
ManaRecharge=0	// Präzens der Schreine, 0 = nicht 1 = immer wenn er diesen findet, 2= 2te wahl 3= 3te wahl etc
Armor=1		
Combat=0	
Experience=3	
Skill=2		
Stamina=1	
ResistFire=1	
ResistCold=1	
ResistLighting=1
ResistPoison=1	

[Amazon]
Decoy=0		// Amazon wird einen decoy erschaffen während des kamfpes
Valkyrie=0	// Amazon wird eine Valküre erschaffen während des kamfpes

[Assassin]
MainTrap=0	// skillID(Attacks.txt) 3 von 5 Fallen werden diese
OffTrap=0	// skillID(Attacks.txt) 2 von 5 Fallen werden dieses
ShadowWarrior=0 // Assassine wird einen Shadow Warrior erschaffen während des kampfes
ShadowMaster=0	// Assassine wird einen Shadow Master erschaffen während des kampfes

[Necromancer]
UseCurse=0	// skillID(Attacks.txt) Welcher Fluch benutzt werden soll
CurseCooldown=0 // wie lange Pause zwischen jeden Curse, in Milli Sekunden
NecroSkeli=0	// Wie viele Skelette minimal erschaffen, und gehalten werden sollen, es werden bei Tod neue gemacht
NecroMage=0	// Wie viele Skelett Magier minimal erschaffen, und gehalten werden sollen, es werden bei Tod neue gemacht
Revive=0	// Wie viele Rivives minimal erschaffen, und gehalten werden sollen, es werden bei Tod neue gemacht
ClayGolem=0	// Welcher Golem gehalten werden soll
BloodGolem=0	
FireGolem=0	

[Barbarian]
FindItems=0	// Find Items nutzen nach dem Kampf

[Paladin]
FightAura=0	// Kampf Aura ( Meistens Konzentration = 113)
ClearAura=0	// Reinigungs aura
MoveAura=0	// Wenn der Pala rennt, welche Aura er nutzen soll
Cleric=0	// Lässt dem Paladin Holy bolt auf euch casten wenn euer leben unter 90 % fällt

[Sorceress]
Enchanter=0	// Lässt die Sorc Ench machen

[Druid]
Raven=0		// Wie viele Raben?
SpiritWolf=0	// Wie viele Wölfe?
DireWolf=0	// Wie viele Dire Wölfe?
Grizzly=0	// Druid will keep this many grizzlys summoned
OakSage=0	// Druid will keep oak sage summoned
HeartOfTheWolverine=0	// Ab hier merkt ihr bestimmt, das immer die casts gemeint sind
SpiritOfBarbs=0	
PoisonCreeper=0 
CarrionVine=0	
SolarCreeper=0	

[Precast]
Timer=120000	// Skill down zwischen jeden Pre Cast in Milli Sekunden
Precast1=0	// Welche Precasts sollen gemacht werden ( Achtung, wenn ihr Cta nutz scheint Bo nicht zu funktionieren, wenn es im Switch ist!)
Precast2=0	
Precast3=0	
Precast4=0	

[Attack]
Hand1=2
Hand2=1
Hand3=0
Hand4=0
Attack1=64
Attack2=47
Attack3=0
Attack4=0
Repeat1=1
Repeat2=2
Repeat3=0
Repeat4=0
Cooldown1=500
Cooldown2=500
Cooldown3=500
Cooldown4=500

************************************************************

SPECIAL CASE SPELLS/ATTACKS:

Telekinesis	-> Automaton will automatically detect this spell, and widen the pickup range
		-> and use telekinesis to pick up potions/gold/etc
Novas/Infernos	-> Automaton will automatically detect the range for these spells, and only use
		-> them in sequence if monsters are in range, or close enough to move in range
		-> of and cast without outstepping the bounds of the running leash
Static Field	-> Automaton will automatically detect the range for this spell, and only use it
		-> if monsters are in range.  It will not, however, move into range.
Corpse Explosion-> Automaton will automatically detect the range for this spell, and only use it
		-> on corpses in range of hostile targets.

************************************************************

GATEWAY LOGIC IMPROVEMENTS:

->You no longer have to "run to" the gateways(doors/stairs) for automaton to attempt to follow.  It now
uses a logical heirarchy of remembered gateways.  However, doing so will still tag the correct gateway
and ensure it doesn't make a mistake.

->Automaton will not attempt to follow you through a waypoint unless it has the destination waypoint.  additionally,
if you come accross a waypoint in an area it does not yet own, automaton will automatically attempt to grab the waypoint
when the coast is clear.  Simply stand on/nearby wps that your automaton character doesn't have for a few moments.

************************************************************

RECOVERY STATES:

If the bot becomes "lost", it may enter a certain logic "state" and adapt certain behaviors:

LOST (OUT OF TOWN) -> Automaton will wait to be picked up for 10 seconds, then attempt to portal to town
LOST (INSIDE TOWN) -> Automaton will wait to be picked up for 10 seconds, then ask the master for a town portal (if allowed to speak)
WAITING FOR TP	   -> After asking for a town portal, the bot will now take the next TP the master makes (if in range)
WAITING FOR PK	   -> If configured to hide from PKs, the Automaton will wait in town until no players are aggressive to it.

************************************************************

CHAT LOG:

Automaton hinterlässt dir eine Nachricht im Diablo II Fenster wenn etwas nicht stimmt.

hier mal die follow ini von nt

Code:
//###################################################################
//###########################Einstellungen###########################
//###################################################################
    
var leaderAccountName          = "acc name des leader";
var leaderName                 = "char name des leader";
var gamepassword               = "111";
var JoinGameAgain              = true; // wenn der Bot nach chicken oder disconnect ins selbe Spiel nochmal gehen soll, auf true stellen

var UseCDKeyChangeTrick        = false; // Wenn der LeechBot mehrere CD Keys nutzen soll, dann auf true stellen.

var joinRandomChannel          = false;
var joinChannelInChat          = "";
var firstJoinMessage           = ""; // Soll der leechbot etwas sagen, wenn er in den Chat kommt, dann hier eintragen
var chatMessageAfterGame       = ""; // Soll der leechbot etwas sagen, wenn er aus dem Spiel kommt, dann hier eintragen

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

var gameMinLength              = 180000;

// realm delays (minutes)
var unableToConnectRetry       = 2;
var realmDownRetry             = 60;
var disconnectedRetry          = 2;
var cdkeyInUseRetry            = 2;

// interface delays (milliseconds)
var connectingToBnetTimeout    = 20000;
var characterScreenTimeout     = 10000;
var pleaseWaitTimeout          = 10000;
var createGameThreshold        = 10000;
var createGameThresholdRandom  = 1000;
var createGameTimeout          = 15000;
var waitInLineTimeout          = 15000;
var characterSelectDelay       = 1000;
var loginDelay                 = 1000;
var clickDelay                 = 500;
var textDelay                  = 500;
var clickDelayRandom           = 500;
var textDelayRandom            = 500;
var gameDoesNotExistDelayMin   = 600000;
var gameDoesNotExistDelayMax   = 900000;
var gameDoesNotExistTimeout    = 30000;
var waitBeforeEnterChatMin     = 1000;
var waitBeforeEnterChatMax     = 2000;
var waitInChatBeforeActionsMin = 2000;
var waitInChatBeforeActionsMax = 3000;

// Only for JoinBot (friend list delay, milliseconds)
var LeaderOfflineDelay         = 30000;
var LeaderInChatDelay          = 10000;
var GameIsFullDelay            = 30000;

//###################################################################
//###################################################################
//###############DO NOT CHANGE ANYTHING BELOW THIS###################
//###################################################################
//###################################################################

//D2NT Manager Command

const D2NT_MGR_LOADING = 1;
const D2NT_MGR_READY = 2;
const D2NT_MGR_LOGIN = 3;
const D2NT_MGR_CREATE_GAME = 4;
const D2NT_MGR_INGAME = 5;
const D2NT_MGR_RESTART = 6;
const D2NT_MGR_CHICKEN = 7;
const D2NT_MGR_PRINT_STATUS = 8;
const D2NT_MGR_PRINT_LOG = 9;

var lastGameMade     = GetTickCount();
var lastGameStatus     = 0;
var nextGameMake     = 0;
var inGameAt       = 0;
var chatActionsDone   = false;
var lastGameFailed     = false;
var sayChatMsgAfterGame = false;

Include("libs/controlInfo.ntl");

var controlData = new controlInfo();

var samegame = '';
var oldgame = '';
var game = '';
var _gamename = "";
var _gamepassword = "";
var _leaderOfflineTick = -LeaderOfflineDelay;
var _leaderInChatTick = -LeaderInChatDelay;
var _GameIsFullTick = -GameIsFullDelay;
var Debug = false;
var joinChatAfterGame    = true;


function NTMain()
{
    Delay(1000);

    var _ingame = false;

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

    while(1)
    {
        if(me.ingame)
        {
            _gamename = me.gamename;
            _gamepassword = me.gamepassword;

            if(!inGameAt)
                inGameAt = GetTickCount();

            if(!_ingame)
            {
                RunGC(); // run garbage collector between each game

                if(Load("NTMap/NTMapGame.ntj"))
                {
                    _ingame = true;

                    if(me.playtype > 0)
                        sendEventToOOG(D2NT_MGR_INGAME, "In Game[IP:" + me.gameserverip.split(".")[3] + "]", 0);
                    else
                        sendEventToOOG(D2NT_MGR_INGAME, "In Game", 0);

                    lastGameStatus = 2; // in game successful

                    // To exit game as soon as the leader quits
                    //Load("NTBot/NTCheckLeader.ntj");
                    // to party only the leader
                    //Load("NTBot/tools/NTTools_AutoPartyJoinFriendGames.ntj");
                }
            }

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

                sendEventToOOG(D2NT_MGR_READY, "", 0);
            }

            locationAction(controlData.getLocation());

            Delay(500);
        }
    }
}

function locationAction(location)
{
    switch(location.id)
    {
    case 3: // Lobby Chat
        sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);

        if(!chatActionsDone)
        {  
            Delay(Random(waitInChatBeforeActionsMin, waitInChatBeforeActionsMax));

            if(joinRandomChannel || joinChannelInChat != "")
            {
                Say("/join " + (joinRandomChannel ? getRandomString(Random(3,10)) : joinChannelInChat));
                Delay(1000);
            }

            if(firstJoinMessage)
            {
                Say(firstJoinMessage);
                Delay(200);
            }

            chatActionsDone = true;
        }

        if (chatMessageAfterGame && _gamename != "" && sayChatMsgAfterGame == true)
        {
            Say(chatMessageAfterGame);
            sayChatMsgAfterGame = false;
            Delay(200);
        }

        game = '';

        var _tick = GetTickCount();
        if ((_leaderOfflineTick < 0 || (_leaderOfflineTick + LeaderOfflineDelay) < _tick)
         && (_leaderInChatTick < 0 || (_leaderInChatTick + LeaderInChatDelay) < _tick)
         && (_GameIsFullTick < 0 || (_GameIsFullTick + GameIsFullDelay) < _tick))
        {
            DebugInOOG('Locating the leader : '+leaderAccountName);
            Delay(10000);
            Say('/f l');
            Delay(1500);
        }

        if(chat = controlData.get(controlData.controls.lobby.chat.textBox.channelText))
        {
            var found_leader = false;
            lines = chat.GetText();
            for (var line_id = lines.length - 1; line_id > -1; line_id--)
            {
                if (found_leader) // useless... :/
                    break;

                if (lines[line_id].substring(0,1) == " ")
                    continue;

                // retrieving the whole message
                var msg = lines[line_id].replace(/^s+|s+$/, "");
                var msglines = 1;
                while (lines[line_id+msglines] != undefined && lines[line_id+msglines].substring(0,2) == "  ")
                {
                    msg += " " + lines[line_id+msglines].replace(/^s+|s+$/, "");
                    msglines++;
                }
                if (msg.lastIndexOf(leaderName) >= 0)
                    DebugInOOG("yc8found him :;"+msg);

                // checking if the msg is a friendly whisper
                if (msg.lastIndexOf(leaderName + ' (*' +leaderAccountName+')') > -1)
                {
                    var regGameNameWhispered=/^.*(game|partie|spiel|partita|partida).*(nomm[^s]*|called|chiamata)s*([ws-]*w)s*.s*$/gi;
                    if (msg.match(regGameNameWhispered))
                        game = msg.replace(regGameNameWhispered, "$3");

                    if (game != '')
                    {
                        found_leader = true;
                        break;
                    }
                }

                // checking if the msg is from the friend list
                if (msg.lastIndexOf(': '+leaderAccountName+',') > -1)
                {
                    found_leader = true;
                    var regOffline=/^.*(offline|desconectado).*$/gi;
                    var regInChat=/^.*(channel|canale?)s*([ws-]*w).?s*$/gi;
                    var regGameName=/^.*(game|partie|spiel|partita|partida)s*([ws-]*w)s*(priv[^)]*).s*$/gi;

                    if (msg.match(regOffline)
                        && (_leaderOfflineTick < 0 || (_leaderOfflineTick + LeaderOfflineDelay) < _tick))
                    {
                        DebugInOOG('Leader is offline, delay '+Math.round(LeaderOfflineDelay/1000)+' sec for next /f l.');
                        _leaderOfflineTick = GetTickCount();
                    }
                    else if (msg.match(regInChat)
                            && (_leaderInChatTick < 0 || (_leaderInChatTick + LeaderInChatDelay) < _tick))
                    {
                        DebugInOOG('Leader is in the chat "'+msg.replace(regInChat, "$2")+'", delay '+Math.round(LeaderInChatDelay/1000)+' sec for next /f l.');
                        _leaderInChatTick = GetTickCount();
                    }
                    else if (msg.match(regGameName)
                            && ((_leaderOfflineTick < 0 || (_leaderOfflineTick + LeaderOfflineDelay) < _tick)
                                && (_leaderInChatTick < 0 || (_leaderInChatTick + LeaderInChatDelay) < _tick)))
                    {
                        game = msg.replace(regGameName, "$2");
                    }
                    else if ((_leaderInChatTick < 0 || (_leaderInChatTick + LeaderInChatDelay) < _tick)
                            && (_leaderOfflineTick < 0 || (_leaderOfflineTick + LeaderOfflineDelay) < _tick))
                    {
                        // unhandled line, supposelly "In Realm"
                        DebugInOOG('The leader was in the the lobby but not in chat, delay '+Math.round(LeaderInChatDelay/1000)+' sec for next /f l.');
                        _leaderInChatTick = GetTickCount();
                    }

                    break;
                }
            }

            if (found_leader == false)
                DebugInOOG('I couldn\'t find the leader in my friend list!');

            if (game!="")
            {
                DebugInOOG('Leader is in the game "' + game + '"');
                //controlData.click(controlData.controls.lobby.button.join);
                //Delay(100);
                                if(!JoinGameAgain)
                                {
                                    if (game != samegame)
                                    {
                                      if (UseCDKeyChangeTrick)
                                        {
                                            // increasing the number of runs in the OOG (for CDKey switch)
                                            // Problem : the gamename/gamepassword set in your OOG will be typed in the lobbyChat
                                            // this may output a red message in the lobby chat if you have a password set (not a real problem)
                                            // I recommend to set a gamename like "Run" and no gamepassword in your OOG. -> this will output "Run-01", "Run-02", etc in lobby chat before joining games
                                            sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
                                            Delay(1000);
                                        }

                                        controlData.click(controlData.controls.lobby.button.join);
                                        Delay (200);
                                        
                                    }
                                    else
                                        Delay(30000);
                                }
                                else
                                {
                                  if (UseCDKeyChangeTrick)
                                    {
                                        // increasing the number of runs in the OOG (for CDKey switch)
                                        // Problem : the gamename/gamepassword set in your OOG will be typed in the lobbyChat
                                        // this may output a red message in the lobby chat if you have a password set (not a real problem)
                                        // I recommend to set a gamename like "Run" and no gamepassword in your OOG. -> this will output "Run-01", "Run-02", etc in lobby chat before joining games
                                        sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
                                        Delay(1000);
                                    }

                                    controlData.click(controlData.controls.lobby.button.join);
                                    Delay (200);
                                }
        
                            }

        }
        else
        {
            DebugInOOG('I can\'t read the chat!');
            //DebugInOOG('You probably haven\'t added the lobby chat controlinfo coordinates!');
            Delay(30000);
        }
        
        if(game != '')
                    samegame = game;

        break;

    case 1:    // Lobby
        if(location.id == 1 && joinChatAfterGame)
        {
            Delay(Random(waitBeforeEnterChatMin, waitBeforeEnterChatMax));
            controlData.click(controlData.controls.lobby.button.enterChat);
            break;
        }
        break;

    case 2: // Waiting In Line
        if(GetTickCount()-lastGameMade > waitInLineTimeout)
            controlData.click(controlData.controls.lobby.inLine.button.cancel);
        break;

    case 4: // Create Game
        if(!controlData.get(controlData.controls.lobby.create.editBox.gameName))
        {
            controlData.click(controlData.controls.lobby.button.join);
            Delay (500);
            controlData.click(controlData.controls.lobby.button.create);
            Delay (500);
            break;
        }

        sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);

        locationTimeout(5000, location);

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

  case 5: // Join Game
    if (game)
    {
        controlData.setText( controlData.controls.lobby.join.editBox.gameName, game);
        Delay (100);
        controlData.setText( controlData.controls.lobby.join.editBox.password, gamepassword);
        Delay (100);
        controlData.click(controlData.controls.lobby.join.button.joinGame);
        RunGC(); // run garbage collector between each game
        locationTimeout(5000, location);
        lastGameStatus = 1; // pending join
    }
    else
    {
        DebugInOOG('No game to join : cancelling');
        me.Cancel(1);
        Delay(1000);
    }
    break;

    case 6: // Ladder
        break;

    case 7: // Channel List
        break;

    case 8: // Main Menu
        if(controlData.getCurrentRealmIndex() == me.gatewayid)
        {
            outputGameLength();
            controlData.click(controlData.gameTypes[me.playtype]);
        }
        else
            controlData.click(controlData.controls.mainMenu.button.gateway);
        break;

    case 9: // Login
        sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
        Delay(loginDelay);

        controlData.setText(controlData.controls.login.editBox.accountName, me.account);

        sendEventToOOG(D2NT_MGR_LOGIN, location.name, 0);

        locationTimeout(5000, location);
        break;

    case 10: // Login Error (this is a fatal error, so stop)
        sendEventToOOG(D2NT_MGR_RESTART, location.name, 10);
        Delay(3500);
        break;

    case 11: // Unable To Connect
        timeoutDelay(unableToConnectRetry*60*1000, location)
        controlData.click(controlData.controls.login.unableToConnect.button.ok);
        break;

    case 12: // Character Select
        var _time, _control;

        sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);

        for(_time = 0 ; _time < characterScreenTimeout ; _time += 500)
        {
            _control = controlData.get(controlData.controls.characterSelect.textBox.characterInfo[me.charloc]);
            if(_control && _control.GetText() != undefined)
                break;

            Delay(500);
        }

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

            controlData.click(controlData.controls.characterSelect.textBox.characters[me.charloc], 0, 0, 1);
            controlData.click(controlData.controls.characterSelect.textBox.characterInfo[me.charloc], 0, 0, 1);

            // reset last game made, so it doesnt make a game immediately
            inGameAt = 0;
            setNextGameMake();
        }
        else
        {
            controlData.click(controlData.controls.characterSelect.button.exit);
            timeoutDelay(realmDownRetry*60*1000, location);
        }
        break;

    case 13: // Realm Down - Character Select screen
        controlData.click(controlData.controls.characterSelect.button.exit);
        timeoutDelay(realmDownRetry*60*1000, location);
        break;

    case 14: // Character Select - Disconnected
        timeoutDelay(disconnectedRetry*60*1000, location);
        controlData.click(controlData.controls.characterSelect.disconnected.button.ok);
        break;

    case 15: // New Character
        break;    

    case 16: // Character Select - Please Wait popup
        if(!locationTimeout(pleaseWaitTimeout, location))
            controlData.click(controlData.controls.characterSelect.pleaseWait.button.cancel);
        break;

    case 17: // Lobby - Lost Connection - just click okay, since we're toast anyway
        controlData.click(controlData.controls.lobby.lostConnection.button.ok);
        break;

    case 18: // D2 Splash
        controlData.click(controlData.controls.d2Splash.textBox.copyright);
        break;

    case 19: // Login - Cdkey In Use
        timeoutDelay(cdkeyInUseRetry*60*1000, location);
        controlData.click(controlData.controls.login.cdkeyInUse.button.ok);
        break;

    case 20: // Single Player - Select Difficulty
        controlData.click(controlData.singlePlayerDifficulties[me.diff]);
        break;

    case 21: // Main Menu - Connecting
        if(!locationTimeout(connectingToBnetTimeout, location))
            controlData.click(controlData.controls.mainMenu.connecting.button.cancel);
        break;

    case 22: // Login - Invalid Cdkey (classic or xpac)
        sendEventToOOG(D2NT_MGR_RESTART, location.name, 3600);
        Delay(3500);
        break;    

    case 23: // Character Select - Connecting
        if(!locationTimeout(characterScreenTimeout, location))
            controlData.click(controlData.controls.characterSelect.button.exit);
        break;

    case 24: // Server Down - not much to do but wait..
        break;

    case 25: // Lobby - Please Wait
        if(!locationTimeout(pleaseWaitTimeout, location))
            controlData.click(controlData.controls.lobby.pleaseWait.button.cancel);
        break;

    case 26: // Lobby - Game Name Exists
        sendEventToOOG(D2NT_MGR_PRINT_LOG, "yE00000Game already exists", 0);

        inGameAt = 0;
        lastGameStatus = 0;
        setNextGameMake();

        locationTimeout(15000, location);
        break;

    case 27: // Gateway Select
        controlData.clickRealmEntry(me.gatewayid);
        controlData.click(controlData.controls.gateway.button.ok);
        break;

    case 28: // Lobby - Game Does Not Exist
        inGameAt = Random(gameDoesNotExistDelayMin, gameDoesNotExistDelayMax);
        lastGameStatus = 0;
        setNextGameMake();

        locationTimeout(gameDoesNotExistTimeout, location);
        break;
    default:
        DebugInOOG("Unhandled location : "+location.id);
        break;
    }
    DebugInOOG("Location : "+location.id);
}

function sendEventToOOG(locationId, statusString, pendingTime)
{
    return SendCopyData("D2NT Manager", null, (locationId<<16)|pendingTime, statusString);
}

function setNextGameMake()
{
    lastGameMade = GetTickCount();
    nextGameMake = lastGameMade + createGameThreshold + Random(0-createGameThresholdRandom, createGameThresholdRandom) + inGameAt;
    inGameAt = 0;
    chatActionsDone = false;
}

function outputGameLength()
{
    if(inGameAt)
    {
        duration = GetTickCount() - inGameAt;

        inGameAt = (duration < gameMinLength ? gameMinLength - duration : 0);
    }
}

function locationTimeout(time, location)
{
    endtime = GetTickCount() + time;

    while(controlData.getLocation().id == location.id && endtime > GetTickCount())
    {
        sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " (" + parseInt((endtime-GetTickCount())/1000) + "s)", 0);
        Delay(500);
    }

    return (controlData.getLocation().id != location.id);
}

function timeoutDelay(time, location)
{
    endtime = GetTickCount() + time;

    while(endtime > GetTickCount())
    {
        sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " (" + parseInt((endtime-GetTickCount())/1000) + "s)", 0);
        Delay(1000);
    }
}

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

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

    return _retString;
}
function DebugInOOG(logString)
{
    if (Debug)
        return SendCopyData("D2NT Manager", null, 9<<16, "-- Debug : " + logString);
    else
        return false;
}

kann mir da mal einer helfen pls

lg

Matze
xdoddestroyer is offline  
Old 03/23/2011, 22:20   #44

 
lanara's Avatar
 
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,256
Wenn du den Leader in der Config eingetragen hast, brauchst du bei den Followern nichtmehr .follow schreiben, es reicht wenn du mit dem Leader einmal follow schreibst, dann folgen dir alle. Und sonst einfach .follow <LeaderName> eingeben.
lanara is offline  
Old 03/23/2011, 22:30   #45
 
xdoddestroyer's Avatar
 
elite*gold: 20
Join Date: Feb 2009
Posts: 3,100
Received Thanks: 922
Quote:
Originally Posted by lanara View Post
Wenn du den Leader in der Config eingetragen hast, brauchst du bei den Followern nichtmehr .follow schreiben, es reicht wenn du mit dem Leader einmal follow schreibst, dann folgen dir alle. Und sonst einfach .follow <LeaderName> eingeben.
jo habe ich auch schon versucht da kommt leider der fehler



bezug auf den namen des leaders ich habe das .follow als leader ingame geschrieben dan kamm halt das!

muss ich vieleicht bei den nt auch noch mal eine ini für den leader erstellen?? weil würde mal sagen ist überflüssig da ich das über loeader laufen lasse

zudem habe ich beide diablo auf eng gestellt!

oder muss ich in der automation noch eine ini für den leader erstellen???
xdoddestroyer is offline  
Reply

Tags
diablo ii, follow bot


Similar Threads Similar Threads
Suche plugin für RedVex
12/02/2009 - Diablo 2 - 2 Replies
JO hab hc angefangen... da ich mich vor pk schützen will such ich nen plugi das bei Hostile sofort das game quittet !!! bei condom is nur AutoTown drin bei Hostile... Hat einer was anderes da ??
Marko plugin für redvex
11/08/2009 - Diablo 2 - 5 Replies
RedVex &bull; View topic - Macro v1.3 Make Hotkeys Kan mir mal einer erklaeren wie das funzt also mit den seelensteinen dupen da und Den gold droppen und so ?? checke das nich oO^^ und nen richtigen link dahin etc.....
REDVEX plugin frage
10/27/2009 - Diablo 2 - 5 Replies
Guten Abend ich habe mal eine frage und zwar gibt es ein plugin das man ident sachen wieder unident machen kann???
Redvex Plugin?
06/25/2009 - Diablo 2 - 3 Replies
Moin, ich suche ein bestimmtes Plugin, wo man einen anderen Spieler laggen kann. Da wurde der Bildschirm immer Schwarz und normal usw. Den hatte ich mal, nun weiß ich nicht mehr wie der heißt. ;S
Frage zu einem redvex plugin
04/15/2009 - Diablo 2 - 5 Replies
RedVex &bull; View topic - FastMod v2.1 jo geht um dieses plugin, weiß jmd ob es atm safe ist bzw benutzt ihr es gerade und wollt mal eure settings posten?!?



All times are GMT +1. The time now is 14:16.


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.