Register for your free account! | Forgot your password?

You last visited: Today at 08:50

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

Advertisement



[Release] Muddy's D2NT

Discussion on [Release] Muddy's D2NT within the Diablo 2 Programming forum part of the Diablo 2 category.

Reply
 
Old 05/25/2011, 10:18   #2071
 
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
Quote:
Originally Posted by DeathFromHeaven View Post
mir ist gerade was sehr seltsames passiert:

wollte wie von Gruener Apfel beschrieben mir mal die Leechscripte mit einbauen.

Hab mir also 2 Bot-scripte im "bots" Ordner erstellt und den von Gruener apfel genannten Inhalt eingefügt. ebenso mit dem Entrypoint und in der Charconfig. Nach einem Manager-Restart, kommt D2 aber nicht mal mehr über den Loading screen hinaus -.-
Passiert mir nicht zum ersten Mal. Also hab ich nur die beiden Bot-Scripte im "bots" Ordner wieder gelöscht und nach nem Manager-Restart funzte alles wie gehabt

Kann mir wer jetzt bitte erklären wieso das so ist? Ich kann mir absolut keine eigenen Scripte einfügen egal was drin steht, D2 bleibt beim Loading-screen stehen, "klickt" sich also nicht durch den Splash-Screen oder versucht überhaupt sich einzuloggen oder irgendwas
Quote:
Originally Posted by GruenerApfel View Post
war das nur bei den von mir geposteten scripten so, oder is das generell der fall ?

weil n fehler beim copy pasten habe ich eigentlich nicht gemacht und was vergessen habe ich, denke ich, auch net
Das kann vorkommen, wenn die Scripte nicht in [code]-Tags gepackt sind, dann verarbeitet PHP bzw. die Datenbanksprache (z.B. SQL, Perl) teilweise Formatierungen.
Besonders der Teil, wo der Gamename rausgelesen wird, ist sehr anfällig dafür.
Vergleiche folgende Variablen: regOffline, regInChat und regGameName

Um das zu vermeiden entweder in [code]-Tags posten oder die Dateien an den Post anhängen!


Quote:
Originally Posted by DeathFromHeaven View Post
Nein, das ist Allgemein so, wenn ich eine neue Datei im "bots"-Ordner anlege, egal mit welchem Namen, und auch egal mit welchem Inhalt
Das kommt mir komisch vor, die Scripte im Ordner bots werden erst aufgerufen, wenn der Char in einem Spiel ist, da scheint bei deinen Entrypoints was nicht zu stimmen.
Lösche mal alle deine Entrypoints und lade dir die aktuellen vom 1. Post.
Eventuell auch die Dateien direkt im Ordner NTBot wie MWBotGame.ntj und eventuell NTMule.ntj oder andere.


Quote:
Originally Posted by letsid View Post
Ich habe die Snagit ersetzt und dann kam ein fehler:
Zeile 88 in der NTBotGame.ntl
Hast du schon die aktuellste Version von Muddy's?!?
Die NTBotGame.ntl hat Muddy nämlich komplett durch MWBotGame.ntl ersetzt, die NTBotGame.ntl gehört deshalb nicht zu Muddy's Bot!
Wird nicht benötigt und ist auch nicht kompatibel zu Muddy's Bot.
TheCrazy11 is offline  
Thanks
4 Users
Old 05/25/2011, 10:53   #2072
 
elite*gold: 0
Join Date: Mar 2009
Posts: 382
Received Thanks: 45
Quote:
Originally Posted by TheCrazy11 View Post
Das kann vorkommen, wenn die Scripte nicht in [code]-Tags gepackt sind, dann verarbeitet PHP bzw. die Datenbanksprache (z.B. SQL, Perl) teilweise Formatierungen.
Besonders der Teil, wo der Gamename rausgelesen wird, ist sehr anfällig dafür.
Vergleiche folgende Variablen: regOffline, regInChat und regGameName

Um das zu vermeiden entweder in [code]-Tags posten oder die Dateien an den Post anhängen!
ah okay danke , dann gleich nochmal richtig...

also der entrypoint wäre:

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

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

var joinRandomChannel          = false;
var joinChannelInChat          = "";
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("NTBot/MWBotGame.ntj"))
                {
                    _ingame = true;

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

                    lastGameStatus = 2; // in game successful

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

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

                sendEventToOOG(D2NT_MGR_READY, "", 0);
            }

            locationAction(controlData.getLocation());

            Delay(500);
        }
    }
}

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

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

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

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

            chatActionsDone = true;
        }

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

        game = '';

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

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

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

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

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

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

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

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

                    break;
                }
            }

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

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

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

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

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

        break;

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

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

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

        sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);

        locationTimeout(5000, location);

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

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

    case 6: // Ladder
        break;

    case 7: // Channel List
        break;

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

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

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

        sendEventToOOG(D2NT_MGR_LOGIN, location.name, 0);

        locationTimeout(5000, location);
        break;

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

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

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

        sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);

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

            Delay(500);
        }

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

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

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

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

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

    case 15: // New Character
        break;    

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

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

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

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

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

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

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

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

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

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

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

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

        locationTimeout(15000, location);
        break;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Code:
function NTMain()
{
	Include("libs/common/NTCommon.ntl");
	NTC_IncludeLibs();
	NTC_IncludeConfig("NTBot/char_configs");
	
	NT_LoadConfig();
	NTSI_LoadNIPFiles("NTBot/item_configs");

	NTA_Initialize();

	RegisterEvent(EVENT_GAMEMSG, NT_GameMsgEvents);

	if(!NTTM_CheckAct())
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_CheckAct()");
		return;
	}

	if(me.areaid != 109)
	{
		if(!NTTM_TownMove("waypoint"))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_TownMove()");
			return;
		}

		if(!NTM_TakeWaypoint(109))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTM_TakeWaypoint()");
			return;
		}
	}

	NTTMGR_TownManager();

	NTTM_TownMove("portalspot");

	for(i = 0; i <= 200; i++)
	{
		if(NTC_InMyParty(NTConfig_Leader))
			break;

		Delay(200);
	}   

	while(me.areaid == 109 && NTC_InMyParty(NTConfig_Leader))
	{
		if(NTConfig_LeechTPMsg == "")
			NTM_UsePortal("BluePortal", 131, NTConfig_Leader); // 50

		Delay(2000);
	}
	
	NTM_MoveTo(me.areaid, 15118, 5002);
	NTP_DoPrecast(true);

	while(NTC_InMyParty(NTConfig_Leader) && NTC_FindUnit(NTC_UNIT_MONSTER, 543))
		Delay(500);

	var _portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 2);

	if(!_portal)
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTC_FindUnit()");
			return;
	}
	
	NTM_MoveTo(me.areaid, 15095, 5028);
	NTM_MoveTo(me.areaid, 15092, 5010);
		
	if(!NTM_UsePortal("Portal", 132, null, _portal))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTM_UsePortal()");
		return;
	}

	var _baal = NTC_FindUnit(NTC_UNIT_MONSTER, 544);

	while(NTC_InMyParty(NTConfig_Leader) && NTA_IsValidMonster(_baal))
		Delay(2500);

	Delay(2000);

	NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}

function NT_GameMsgEvents(msg, type)
{
	if(type == 0 && msg.indexOf(NTConfig_Leader) != -1 && msg.indexOf(NTConfig_LeechTPMsg) != -1 && NTConfig_LeechTPMsg != "")
	{
		while(me.areaid == 109)
		{
			NTM_UsePortal("BluePortal", 131, NTConfig_Leader);	
		}
	}
}
das baalleechfightscript

Code:
function NTMain()
{
   
   Include("libs/common/NTCommon.ntl");
   NTC_IncludeLibs();
   NTC_IncludeConfig("NTBot/char_configs");

   NT_LoadConfig();
   NTSI_LoadNIPFiles("NTBot/item_configs");

   NTA_Initialize(); 
   
   RegisterEvent(EVENT_GAMEMSG, NT_GameMsgEvents);

   if(!NTTM_CheckAct())
   {
      NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_CheckAct()");
      return;
   }

   if(me.areaid != 109)
   {
   if(!NTTM_TownMove("waypoint"))
   {
      NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_TownMove()");
      return;
   }

   if(!NTM_TakeWaypoint(109))
   {
      NTC_SendMsgToScript("MWBotGame.ntj", "NTM_TakeWaypoint()");
      return;
   }
   }
       
   NTTMGR_TownManager();

if(NTConfig_precast)
{
   NTM_TakeWaypoint(129)
   NTP_DoPrecast(true);
   Delay(500)
   NTM_TakeWaypoint(109)
}   

   
   NTTM_TownMove("portalspot");

   for(i = 0; i <= 100; i++)
   {
      if(NTC_InMyParty(NTConfig_Leader))
         break;

      Delay(200);
   }

   while(me.areaid == 109 && NTC_InMyParty(NTConfig_Leader))
   {
			if(NTConfig_CoLeechTPMsg == "")
				NTM_UsePortal("BluePortal", 131, NTConfig_Leader); // 50
      Delay(1000);
       
   }
if(!NTConfig_precast)
	NTM_MakeTP();
	NTP_DoPrecast(true);
	NTA_ClearPosition(20, true, 2);
if(NTConfig_precast)
	NTA_ClearPosition(20, true, 2);
	NTM_MakeTP();


   while(NTC_InMyParty(NTConfig_Leader))
   {
   
   NT_ClearThroneInt();

   while(1)
   {
      if(me.classid == NTC_CHAR_CLASS_PALADIN || me.classid == NTC_CHAR_CLASS_BARBARIAN)
         NTM_MoveTo(me.areaid, 15092, 5028);
      else
         NTM_MoveTo(me.areaid, 15089, 5010);

      if(me.GetState(2))
         NTC_PutSkill(109, NTC_HAND_RIGHT);

      for(i = 0 ; i < 6 ; i++)
      {
         _wave = NT_ThroneCheckInt();
         if(_wave > 0)
            break;

         NTC_Delay(500);
      }

      _starttick = GetTickCount();

      while(_wave == 0)
      {
         if(!NT_ThronePreAttackInt())
            NTC_Delay(200);

         if(GetTickCount()-_starttick > 15000)
         {
            NT_ClearThroneInt();

            _starttick = GetTickCount();
         }

         _wave = NT_ThroneCheckInt();
      }

      switch(_wave)
      {
      case 1: 
         NTA_ClearPosition(40, true, 2); 
         NTP_DoPrecast(true); 
         break; 
      case 2: 
         NTM_MoveTo(me.areaid, me.x, me.y-1); 
         NTA_ClearPosition(40, true); 
         NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe); 
         break; 
      case 3: 
         NTM_MoveTo(me.areaid, me.x, me.y-1); 
         NTA_ClearPosition(40, true, 2); 
         NTSI_PickItems();
         NT_CheckHydraInt(); 
         break; 
      case 4: 
         NTM_MoveTo(me.areaid, me.x, me.y-1); 
         NTA_ClearPosition(40, true, 2); 
         break; 
      case 5: 
         NTM_MoveTo(me.areaid, me.x, me.y-1); 
         NTA_ClearPosition(40, true, 2); 
         break;
      default:
         NTA_ClearPosition(40, true, 1);
         break;
      }

      if(_wave == 5)
         break;
   }

   if(NTConfig_KillBaal)
   {
      var _portal;

      if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
      {
         NTC_SendMsgToScript("MWBotGame.ntj", "NTTMGR_CheckSafe()");
         return;
      }

      NTM_MoveTo(me.areaid, 15092, 5010);

      NTP_DoPrecast(true);

      while(NTC_FindUnit(NTC_UNIT_MONSTER, 543))
         NTC_Delay(500);

      _portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 1);

      if(!_portal)
      {
         NTC_SendMsgToScript("MWBotGame.ntj", "NTC_FindUnit()");
         return;
      }

      if(!NTM_UsePortal("Portal", 132, null, _portal))
      {
         NTC_SendMsgToScript("MWBotGame.ntj", "NTM_UsePortal()");
         return;
      }

      NTM_MoveTo(me.areaid, 15138, 5916);
			NTA_Initialize()
			
      if(!NTA_KillMonster(544))
      {
         NTC_SendMsgToScript("MWBotGame.ntj", "NTA_KillMonster()");
         return;
      }

      NTSI_PickItems();
   }

   }

   NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");

}


// Internal function
function NT_ClearThroneInt()
{
	var _attackpos = [15112, 5068, 15085, 5065, 15114, 5045, 15114, 5012, 15095, 5024, 15078, 5013, 15092, 5040];

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

		NTA_ClearPosition(30, true, 2);
	}
	NTM_MoveTo(me.areaid, 15093, 5041);
	NTA_ClearPosition(50, true, 2);
}

function NT_ThroneCheckInt()
{
	var _monster;

	if(!NTC_FindUnit(NTC_UNIT_MONSTER, 543))
		return 5;

	_monster = NTC_FindUnit(NTC_UNIT_MONSTER);

	if(_monster)
	{
		do
		{
			if(NTA_IsValidMonster(_monster))
			{
				if(_monster.classid == 23 || _monster.classid == 62)
					return 1;

				if(_monster.classid == 105 || _monster.classid == 381)
					return 2;

				if(_monster.classid == 557)
					return 3;

				if(_monster.classid == 558)
					return 4;

				if(_monster.classid == 571)
					return 5;
			}
		} while(_monster.GetNext());
	}

	return 0;
}

function NT_ThronePreAttackInt()
{
	if(me.classid == NTC_CHAR_CLASS_SORCERESS)
	{
		if(NTConfig_AttackSkill[3] == 56 || NTConfig_AttackSkill[3] == 59)
			return NTC_CastSkill(NTConfig_AttackSkill[3], 0, 15092, 5028);
	}
	else if(me.classid == NTC_CHAR_CLASS_PALADIN)
	{
		if(NTConfig_AttackSkill[3] == 112)
		{
			if(NTConfig_AttackSkill[4] > 0)
				NTC_PutSkill(NTConfig_AttackSkill[4], NTC_HAND_RIGHT);

			return NTC_CastSkill(NTConfig_AttackSkill[3], 2);
		}
	}
	return false;
}

function NT_CheckHydraInt()
{
	var _hydra1, _hydra2, _hydra3;

	_hydra1 = NTC_FindUnit(NTC_UNIT_MONSTER, 351);
	_hydra2 = NTC_FindUnit(NTC_UNIT_MONSTER, 352);
	_hydra3 = NTC_FindUnit(NTC_UNIT_MONSTER, 353);

	if((_hydra1 && _hydra1.GetStat(172) != 2 && _hydra1.GetState(105))
		|| (_hydra2 && _hydra2.GetStat(172) != 2 && _hydra2.GetState(105))
		|| (_hydra3 && _hydra3.GetStat(172) != 2 && _hydra3.GetState(105)))
	{
		NTM_MoveTo(me.areaid, 15118, 5002);

		if(me.GetState(2))
			NTC_PutSkill(109, NTC_HAND_RIGHT);

		NTC_PingDelay(5000);
	}
}

function NT_GameMsgEvents(msg, type)
{
	if(type == 0 && msg.indexOf(NTConfig_Leader) != -1 && msg.indexOf(NTConfig_CoLeechTPMsg) != -1 && NTConfig_CoLeechTPMsg != "")
	{
		while(me.areaid == 109)
		{
			NTM_UsePortal("BluePortal", 131, NTConfig_Leader);	
		}
	}
}
das dialeechfightscript
- hier is zu beachten das die leecher syncron zum run mitlaufen müssen, vorher andy killen und dann den run joinen is also net... da sobald die leechfighter net in der nähe der siegel sind wenn diese geöffnet werden sich mehr oder weniger aufhängen(zu ~90%), müsste man bei gelegenheit mal ne bedingung reinschreiben das nach 5 versuchen oder so zum nächsten siegel gegangen wird .... demnächst

Code:
function NTMain()
{
	Include("libs/common/NTCommon.ntl");
	NTC_IncludeLibs();
	NTC_IncludeConfig("NTBot/char_configs");

	NT_LoadConfig();
	NTSI_LoadNIPFiles("NTBot/item_configs");

	NTA_Initialize();

	if(!NTTM_CheckAct())
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_CheckAct()");
		return;
	}
	
	if(me.areaid != 103)
	{
		if(!NTTM_TownMove("waypoint"))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_TownMove()");
			return;
		}

		if(!NTM_TakeWaypoint(103))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTM_TakeWaypoint()");
			return;
		}
	}


	NTTMGR_TownManager();

   NTTM_TownMove("portalspot");

   for(i = 0; i <= 100; i++)
   {
      if(NTC_InMyParty(NTConfig_Leader))
         break;

      Delay(200);
   }   

   while(me.areaid == 103 && NTC_InMyParty(NTConfig_Leader))
   {
		if(NT_GetLeader(NTConfig_Leader).areaid >= 129)
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
			return;
		}
		NTM_UsePortal("BluePortal", 108, NTConfig_Leader); // 50
		Delay(1000);
       
   }
		
		NTP_DoPrecast(true);
		NTA_ClearPosition(10, true);
		NTM_MoveTo(me.areaid, 7792, 5291);
		NTA_ClearPosition(20, true);
		NTM_MoveTo(me.areaid, 7792, 5291);
		NTA_ClearPosition(30, true);

		
		if(!NT_OpenSealsInt())
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NT_OpenSealsInt()");
			return;
		}
	
		if(NTConfig_PublicMode)
			Say(NTConfig_KillDiaMsg);

		NTM_MoveTo(me.areaid, 7792, 5292);
		NTP_DoPrecast(true);
		NTC_FindUnit(NTC_UNIT_MONSTER, 243, 100);


		NTA_KillMonster(243);
		NTSI_PickItems();
		Say(NTConfig_DiaNxtGame);
		NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");


// Internal function
function NT_OpenSealsInt()
{
	var i, _unit;
	var _result;

	_unit = GetPresetUnits(me.areaid, NTC_UNIT_OBJECT);

	if(!_unit)
		return false;

	_result = false;

	for(i = 0 ; i < _unit.length ; i++)
	{
		if(_unit[i].id == 396)
		{
			if(_unit[i].roomy*5 + _unit[i].y == 5275)
				_result = NT_OpenVizierSealInt(1);
			else
				_result = NT_OpenVizierSealInt(2);

			break;
		}
	}

	if(!_result)
		return false;
		
	NTA_ClearPosition(30, true, 2);
	NTP_DoPrecast(false);

	_result = false;

	for(i = 0 ; i < _unit.length ; i++)
	{
		if(_unit[i].id == 394)
		{
			if(_unit[i].roomx*5 + _unit[i].x == 7773)
				_result = NT_OpenDeSeisSealInt(1);
			else
				_result = NT_OpenDeSeisSealInt(2);

			break;
		}
	}

	if(!_result)
		return false;

	NTA_ClearPosition(30, true, 2);
	NTP_DoPrecast(true);

	_result = false;

	for(i = 0 ; i < _unit.length ; i++)
	{
		if(_unit[i].id == 392)
		{
			if(_unit[i].roomx*5 + _unit[i].x == 7893)
				_result = NT_OpenVenomSealInt(1);
			else
				_result = NT_OpenVenomSealInt(2);

			break;
		}
	}

	return _result;
}

function NT_OpenVizierSealInt(type)
{

var _monstername = GetLocaleString(2851);
var i, n;

	var i, n;
	var _attackpos = [7740, 5300, 7792, 5291, 7740, 5280, 7720, 5280, 7720, 5300];
	

	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, 7735, 5291);
	NTA_ClearPosition(40, true, 2);

	for(i = 0 ; i < 3 ; i++)
	{
		if(type == 1)
		{
			NTM_MoveTo(me.areaid, 7695, 5293);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7664, 5314);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7673, 5293);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7662, 5276);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7676, 5294);
			NTA_ClearPosition(60, true, 2);	
			
			if(me.classid == NTC_CHAR_CLASS_PALADIN)
				NTM_MoveTo(me.areaid, 7678, 5292);
		}
		else
		{
			NTM_MoveTo(me.areaid, 7695, 5316);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7664, 5314);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7654, 5281);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7695, 5316);
			NTA_ClearPosition(60, true, 2);
			
			if(me.classid == NTC_CHAR_CLASS_PALADIN)
				NTM_MoveTo(me.areaid, 7676, 5320);
		}

		for(n = 0 ; n < 10 ; n++)
		{
			NTC_Delay(200);

			if(NTA_KillMonster(_monstername))
			{
				NTA_ClearPosition(40);
				NTSI_PickItems();

				return NTM_MoveTo(me.areaid, 7792, 5291);
			}
		}
	}
	return false;
}

function NT_OpenDeSeisSealInt(type)
{
	var i, n;
	var _monstername = GetLocaleString(2852);

	var _attackpos = [7780, 5255, 7800, 5255, 7800, 5235, 7780, 5235, 7774, 5214];
	var _monstername = GetLocaleString(2852);

	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, 7790, 5244);
	NTA_ClearPosition(40, true, 2);


	for(i = 0 ; i < 3 ; i++)
	{
		if(type == 1)
		{
			NTM_MoveTo(me.areaid, 7773, 5194);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7813, 5188);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7809, 5155);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7777, 5155);
			NTA_ClearPosition(60, true, 2);			
			
			if(me.classid == NTC_CHAR_CLASS_PALADIN)
				NTM_MoveTo(me.areaid, 7768, 5206);
			else
				NTM_MoveTo(me.areaid, 7774, 5220);
		}
		else
		{
			NTM_MoveTo(me.areaid, 7810, 5202);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7774, 5180);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7785, 5153);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7809, 5154);
			NTA_ClearPosition(60, true, 2);			
			
			if(me.classid == NTC_CHAR_CLASS_PALADIN)
				NTM_MoveTo(me.areaid, 7773, 5178);
			else
				NTM_MoveTo(me.areaid, 7788, 5192);
		}

		for(n = 0 ; n < 10 ; n++)
		{
			NTC_Delay(200);

			if(NTA_KillMonster(_monstername))
			{
				NTA_ClearPosition(40);
				NTSI_PickItems();

		NTP_DoPrecast(false);
		return NTM_MoveTo(me.areaid, 7792, 5291);
			}
		}
	}
	return false;
}

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);
			
			if(me.classid == NTC_CHAR_CLASS_PALADIN)
				NTM_MoveTo(me.areaid, 7892, 5298);
		}
		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);
			
			if(me.classid == NTC_CHAR_CLASS_PALADIN)
				NTM_MoveTo(me.areaid, 7927, 5275);
		}

		for(n = 0 ; n < 10 ; n++)
		{
			NTC_Delay(200);

			if(NTA_KillMonster(_monstername))
			{
				NTSI_PickItems();
				NTA_ClearPosition(40, true, 2);
			}


			
			if(NTC_PutSkill(124, NTC_HAND_RIGHT))
				NTC_PingDelay(1000);
		}
		return true;
	}
	return false;
}

function NT_GetLeader(_name)  
{
				_player = GetPlayerUnit();

				if(_player)
				{
					while(_player.GetNext())
					{
					if(_player.name == _name) 
						{ return _player; }
					}
				}
}
}

und dann noch für die charconfig

Code:
NTConfig_Leader = "" // Name vom Leader-Char, Groß- und Kleinschreibung beachten!
MWConfig_Script.push(["name der datei", 5]); 
NTConfig_KillBaal = true; NTConfig_precast = true;
NTConfig_CoLeechTPMsg = ""; // Bei dieser Message vom Leader geht der Bot ins TP. Wenn er jederzeit rein gehen soll, leer lassen.
NTConfig_KillDiaMsg = "Dia" ; NTConfig_DiaNxtGame = "Ng" ;
sry nochmal für die unannehmlichkeiten letzte nacht, war schon spät
jetzt sollte es aber, sofern richtig eingebunden, funzen
GruenerApfel is offline  
Thanks
2 Users
Old 05/25/2011, 11:32   #2073
 
elite*gold: 0
Join Date: Aug 2004
Posts: 233
Received Thanks: 39
Quote:
Quote:
Zitat von letsid Beitrag anzeigen
Ich habe die Snagit ersetzt und dann kam ein fehler:
Zeile 88 in der NTBotGame.ntl
Hast du schon die aktuellste Version von Muddy's?!?
Die NTBotGame.ntl hat Muddy nämlich komplett durch MWBotGame.ntl ersetzt, die NTBotGame.ntl gehört deshalb nicht zu Muddy's Bot!
Wird nicht benötigt und ist auch nicht kompatibel zu Muddy's Bot.
sorry ich meine natürlich die MWBOTGAME.ntj
letsid is offline  
Old 05/25/2011, 11:41   #2074
 
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
Quote:
Originally Posted by letsid View Post
sorry ich meine natürlich die MWBOTGAME.ntj
Steht da folgendes?
Code:
NTSI_LoadNIPFiles("NTBot/item_configs");
Dann hast du einen Syntaxfehler in deinen Nip-Files.
Um den zu finden, benütze das Nip-Check-Addon von Muddy, das beim 1. Post angehängt ist.

Wenn in der Zeile was anderes steht, dann poste die Zeile bitte ([code]-Tags!).
TheCrazy11 is offline  
Thanks
2 Users
Old 05/25/2011, 11:44   #2075
 
elite*gold: 0
Join Date: Mar 2009
Posts: 382
Received Thanks: 45
Quote:
Originally Posted by TheCrazy11 View Post
Steht da folgendes?
Code:
NTSI_LoadNIPFiles("NTBot/item_configs");
Dann hast du einen Syntaxfehler in deinen Nip-Files.
Um den zu finden, benütze das Nip-Check-Addon von Muddy, das beim 1. Post angehängt ist.

Wenn in der Zeile was anderes steht, dann poste die Zeile bitte ([code]-Tags!).
enterder das ... oder es handelt sich um
GruenerApfel is offline  
Thanks
2 Users
Old 05/25/2011, 12:08   #2076
 
elite*gold: 0
Join Date: Aug 2004
Posts: 233
Received Thanks: 39
Hmpf.
Sorry und danke habe einen Typo drin gehabt.
letsid is offline  
Old 05/25/2011, 14:15   #2077
 
elite*gold: 0
Join Date: Aug 2004
Posts: 233
Received Thanks: 39
Ich habe die AKT3 Visit Asheara funktion leicht abgeändert, da es öfters dazu kam , dass Asheara zwar besucht hat, der Merc aber nicht gerezzt wurde und der bot danach gleich wieder in die stadt ist um es nochmals zu versuchen (ist mir auch schon 3 mal hintereinander passiert):

Quote:
Originally Posted by letsid View Post
ORGINAL:
Hier wird zuerst Trash verkauft und dann der merc gerezzt
Code:
function NTTMGR_VisitAsheara()
{
	var _npc;

	if(MWConfig_ShowOverheadStatus)
		MWC_PrintOverheadStatus("Visiting Asheara...");
	
	NTTM_TownMove("asheara");

	_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ASHEARA, 5);

	if(_npc)
	{
		if(NTT_DoInteract(_npc))
		{
			if(_MWTMGR_SellTrash)
			{
				if(NTT_DoTrade(_npc))
				{
					MWTMGR_SellTrashItems(_npc);
					me.Cancel(1);
				}
			}
			
[COLOR="Red"]			NTT_ReviveMerc();
			me.Cancel(1);[/COLOR]
		}
	}
}

Verändert:
Hier wird erst der merc gerezzt und dann trash verkauft, Vorteil, Trash verkaufen funkt vll nicht aber er rezzt den Merc auf jedenfall.
Da der bot eh in der TOWN ist, verkauft er davor schon bei ormus

Code:
NTTMGR_VisitAsheara()
{
	var _npc;

	if(MWConfig_ShowOverheadStatus)
		MWC_PrintOverheadStatus("Visiting Asheara...");
	
	NTTM_TownMove("asheara");

	_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ASHEARA, 5);

	if(_npc)
	{
		if(NTT_DoInteract(_npc))
		{
[COLOR="Red"]			NTT_ReviveMerc();
			me.Cancel(1);[/COLOR]
			if(_MWTMGR_SellTrash)
			{
				if(NTT_DoTrade(_npc))
				{
					MWTMGR_SellTrashItems(_npc);
					me.Cancel(1);
				}
			}
			

		}
	}
}


Jeden ~20igsten (+- 10) run zeigt mein Baba ein komisches verhalten:
NTTravincal.ntj: NTM_MoveTo() failed (Travinval)

Habe den Waypoint, und eigentlich ist alles okay. nur ab und an kommt das halt.
letsid is offline  
Old 05/25/2011, 14:29   #2078
 
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
Benützt du Fastmod?
Durch zu hohe frw-Werte kann es zu einem Desync kommen, das heißt, dass dein Spielbildschirm und das Game auf dem Server nicht mehr synchron sind. So steht dein Char bei dir z.B. beim WP, auf dem Server aber noch auf dem Weg dahin, somit kann er aber den WP nicht benützen, da er nicht in der Reichweite steht.
Kommt bei meinen Bots auch hin und wieder vor, vor allem bei längeren Geh- bzw. Rennstrecken.

Beim Fastmod einfach den frw-Wert verringern oder einfach auf 0 stellen, ein Barb hat meist eh genug frw durch seinen Skill.
TheCrazy11 is offline  
Thanks
1 User
Old 05/25/2011, 14:37   #2079
 
elite*gold: 0
Join Date: Aug 2004
Posts: 233
Received Thanks: 39
frw steht auf 0
letsid is offline  
Old 05/25/2011, 14:47   #2080
 
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
Dann ist das ein normales Desync, da kann man nicht viel dagegen tun, eventuell ein paar Delays erhöhen.
TheCrazy11 is offline  
Old 05/25/2011, 18:43   #2081
 
elite*gold: 0
Join Date: Apr 2011
Posts: 10
Received Thanks: 0
Quote:
Originally Posted by GruenerApfel View Post
ah okay danke , dann gleich nochmal richtig...

also der entrypoint wäre:

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

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

var joinRandomChannel          = false;
var joinChannelInChat          = "";
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("NTBot/MWBotGame.ntj"))
                {
                    _ingame = true;

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

                    lastGameStatus = 2; // in game successful

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

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

                sendEventToOOG(D2NT_MGR_READY, "", 0);
            }

            locationAction(controlData.getLocation());

            Delay(500);
        }
    }
}

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

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

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

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

            chatActionsDone = true;
        }

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

        game = '';

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

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

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

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

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

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

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

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

                    break;
                }
            }

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

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

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

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

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

        break;

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

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

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

        sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);

        locationTimeout(5000, location);

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

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

    case 6: // Ladder
        break;

    case 7: // Channel List
        break;

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

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

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

        sendEventToOOG(D2NT_MGR_LOGIN, location.name, 0);

        locationTimeout(5000, location);
        break;

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

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

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

        sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);

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

            Delay(500);
        }

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

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

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

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

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

    case 15: // New Character
        break;    

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

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

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

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

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

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

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

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

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

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

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

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

        locationTimeout(15000, location);
        break;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Code:
function NTMain()
{
	Include("libs/common/NTCommon.ntl");
	NTC_IncludeLibs();
	NTC_IncludeConfig("NTBot/char_configs");
	
	NT_LoadConfig();
	NTSI_LoadNIPFiles("NTBot/item_configs");

	NTA_Initialize();

	RegisterEvent(EVENT_GAMEMSG, NT_GameMsgEvents);

	if(!NTTM_CheckAct())
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_CheckAct()");
		return;
	}

	if(me.areaid != 109)
	{
		if(!NTTM_TownMove("waypoint"))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_TownMove()");
			return;
		}

		if(!NTM_TakeWaypoint(109))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTM_TakeWaypoint()");
			return;
		}
	}

	NTTMGR_TownManager();

	NTTM_TownMove("portalspot");

	for(i = 0; i <= 200; i++)
	{
		if(NTC_InMyParty(NTConfig_Leader))
			break;

		Delay(200);
	}   

	while(me.areaid == 109 && NTC_InMyParty(NTConfig_Leader))
	{
		if(NTConfig_LeechTPMsg == "")
			NTM_UsePortal("BluePortal", 131, NTConfig_Leader); // 50

		Delay(2000);
	}
	
	NTM_MoveTo(me.areaid, 15118, 5002);
	NTP_DoPrecast(true);

	while(NTC_InMyParty(NTConfig_Leader) && NTC_FindUnit(NTC_UNIT_MONSTER, 543))
		Delay(500);

	var _portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 2);

	if(!_portal)
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTC_FindUnit()");
			return;
	}
	
	NTM_MoveTo(me.areaid, 15095, 5028);
	NTM_MoveTo(me.areaid, 15092, 5010);
		
	if(!NTM_UsePortal("Portal", 132, null, _portal))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTM_UsePortal()");
		return;
	}

	var _baal = NTC_FindUnit(NTC_UNIT_MONSTER, 544);

	while(NTC_InMyParty(NTConfig_Leader) && NTA_IsValidMonster(_baal))
		Delay(2500);

	Delay(2000);

	NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}

function NT_GameMsgEvents(msg, type)
{
	if(type == 0 && msg.indexOf(NTConfig_Leader) != -1 && msg.indexOf(NTConfig_LeechTPMsg) != -1 && NTConfig_LeechTPMsg != "")
	{
		while(me.areaid == 109)
		{
			NTM_UsePortal("BluePortal", 131, NTConfig_Leader);	
		}
	}
}
das baalleechfightscript

Code:
function NTMain()
{
   
   Include("libs/common/NTCommon.ntl");
   NTC_IncludeLibs();
   NTC_IncludeConfig("NTBot/char_configs");

   NT_LoadConfig();
   NTSI_LoadNIPFiles("NTBot/item_configs");

   NTA_Initialize(); 
   
   RegisterEvent(EVENT_GAMEMSG, NT_GameMsgEvents);

   if(!NTTM_CheckAct())
   {
      NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_CheckAct()");
      return;
   }

   if(me.areaid != 109)
   {
   if(!NTTM_TownMove("waypoint"))
   {
      NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_TownMove()");
      return;
   }

   if(!NTM_TakeWaypoint(109))
   {
      NTC_SendMsgToScript("MWBotGame.ntj", "NTM_TakeWaypoint()");
      return;
   }
   }
       
   NTTMGR_TownManager();

if(NTConfig_precast)
{
   NTM_TakeWaypoint(129)
   NTP_DoPrecast(true);
   Delay(500)
   NTM_TakeWaypoint(109)
}   

   
   NTTM_TownMove("portalspot");

   for(i = 0; i <= 100; i++)
   {
      if(NTC_InMyParty(NTConfig_Leader))
         break;

      Delay(200);
   }

   while(me.areaid == 109 && NTC_InMyParty(NTConfig_Leader))
   {
			if(NTConfig_CoLeechTPMsg == "")
				NTM_UsePortal("BluePortal", 131, NTConfig_Leader); // 50
      Delay(1000);
       
   }
if(!NTConfig_precast)
	NTM_MakeTP();
	NTP_DoPrecast(true);
	NTA_ClearPosition(20, true, 2);
if(NTConfig_precast)
	NTA_ClearPosition(20, true, 2);
	NTM_MakeTP();


   while(NTC_InMyParty(NTConfig_Leader))
   {
   
   NT_ClearThroneInt();

   while(1)
   {
      if(me.classid == NTC_CHAR_CLASS_PALADIN || me.classid == NTC_CHAR_CLASS_BARBARIAN)
         NTM_MoveTo(me.areaid, 15092, 5028);
      else
         NTM_MoveTo(me.areaid, 15089, 5010);

      if(me.GetState(2))
         NTC_PutSkill(109, NTC_HAND_RIGHT);

      for(i = 0 ; i < 6 ; i++)
      {
         _wave = NT_ThroneCheckInt();
         if(_wave > 0)
            break;

         NTC_Delay(500);
      }

      _starttick = GetTickCount();

      while(_wave == 0)
      {
         if(!NT_ThronePreAttackInt())
            NTC_Delay(200);

         if(GetTickCount()-_starttick > 15000)
         {
            NT_ClearThroneInt();

            _starttick = GetTickCount();
         }

         _wave = NT_ThroneCheckInt();
      }

      switch(_wave)
      {
      case 1: 
         NTA_ClearPosition(40, true, 2); 
         NTP_DoPrecast(true); 
         break; 
      case 2: 
         NTM_MoveTo(me.areaid, me.x, me.y-1); 
         NTA_ClearPosition(40, true); 
         NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe); 
         break; 
      case 3: 
         NTM_MoveTo(me.areaid, me.x, me.y-1); 
         NTA_ClearPosition(40, true, 2); 
         NTSI_PickItems();
         NT_CheckHydraInt(); 
         break; 
      case 4: 
         NTM_MoveTo(me.areaid, me.x, me.y-1); 
         NTA_ClearPosition(40, true, 2); 
         break; 
      case 5: 
         NTM_MoveTo(me.areaid, me.x, me.y-1); 
         NTA_ClearPosition(40, true, 2); 
         break;
      default:
         NTA_ClearPosition(40, true, 1);
         break;
      }

      if(_wave == 5)
         break;
   }

   if(NTConfig_KillBaal)
   {
      var _portal;

      if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
      {
         NTC_SendMsgToScript("MWBotGame.ntj", "NTTMGR_CheckSafe()");
         return;
      }

      NTM_MoveTo(me.areaid, 15092, 5010);

      NTP_DoPrecast(true);

      while(NTC_FindUnit(NTC_UNIT_MONSTER, 543))
         NTC_Delay(500);

      _portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 1);

      if(!_portal)
      {
         NTC_SendMsgToScript("MWBotGame.ntj", "NTC_FindUnit()");
         return;
      }

      if(!NTM_UsePortal("Portal", 132, null, _portal))
      {
         NTC_SendMsgToScript("MWBotGame.ntj", "NTM_UsePortal()");
         return;
      }

      NTM_MoveTo(me.areaid, 15138, 5916);
			NTA_Initialize()
			
      if(!NTA_KillMonster(544))
      {
         NTC_SendMsgToScript("MWBotGame.ntj", "NTA_KillMonster()");
         return;
      }

      NTSI_PickItems();
   }

   }

   NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");

}


// Internal function
function NT_ClearThroneInt()
{
	var _attackpos = [15112, 5068, 15085, 5065, 15114, 5045, 15114, 5012, 15095, 5024, 15078, 5013, 15092, 5040];

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

		NTA_ClearPosition(30, true, 2);
	}
	NTM_MoveTo(me.areaid, 15093, 5041);
	NTA_ClearPosition(50, true, 2);
}

function NT_ThroneCheckInt()
{
	var _monster;

	if(!NTC_FindUnit(NTC_UNIT_MONSTER, 543))
		return 5;

	_monster = NTC_FindUnit(NTC_UNIT_MONSTER);

	if(_monster)
	{
		do
		{
			if(NTA_IsValidMonster(_monster))
			{
				if(_monster.classid == 23 || _monster.classid == 62)
					return 1;

				if(_monster.classid == 105 || _monster.classid == 381)
					return 2;

				if(_monster.classid == 557)
					return 3;

				if(_monster.classid == 558)
					return 4;

				if(_monster.classid == 571)
					return 5;
			}
		} while(_monster.GetNext());
	}

	return 0;
}

function NT_ThronePreAttackInt()
{
	if(me.classid == NTC_CHAR_CLASS_SORCERESS)
	{
		if(NTConfig_AttackSkill[3] == 56 || NTConfig_AttackSkill[3] == 59)
			return NTC_CastSkill(NTConfig_AttackSkill[3], 0, 15092, 5028);
	}
	else if(me.classid == NTC_CHAR_CLASS_PALADIN)
	{
		if(NTConfig_AttackSkill[3] == 112)
		{
			if(NTConfig_AttackSkill[4] > 0)
				NTC_PutSkill(NTConfig_AttackSkill[4], NTC_HAND_RIGHT);

			return NTC_CastSkill(NTConfig_AttackSkill[3], 2);
		}
	}
	return false;
}

function NT_CheckHydraInt()
{
	var _hydra1, _hydra2, _hydra3;

	_hydra1 = NTC_FindUnit(NTC_UNIT_MONSTER, 351);
	_hydra2 = NTC_FindUnit(NTC_UNIT_MONSTER, 352);
	_hydra3 = NTC_FindUnit(NTC_UNIT_MONSTER, 353);

	if((_hydra1 && _hydra1.GetStat(172) != 2 && _hydra1.GetState(105))
		|| (_hydra2 && _hydra2.GetStat(172) != 2 && _hydra2.GetState(105))
		|| (_hydra3 && _hydra3.GetStat(172) != 2 && _hydra3.GetState(105)))
	{
		NTM_MoveTo(me.areaid, 15118, 5002);

		if(me.GetState(2))
			NTC_PutSkill(109, NTC_HAND_RIGHT);

		NTC_PingDelay(5000);
	}
}

function NT_GameMsgEvents(msg, type)
{
	if(type == 0 && msg.indexOf(NTConfig_Leader) != -1 && msg.indexOf(NTConfig_CoLeechTPMsg) != -1 && NTConfig_CoLeechTPMsg != "")
	{
		while(me.areaid == 109)
		{
			NTM_UsePortal("BluePortal", 131, NTConfig_Leader);	
		}
	}
}
das dialeechfightscript
- hier is zu beachten das die leecher syncron zum run mitlaufen müssen, vorher andy killen und dann den run joinen is also net... da sobald die leechfighter net in der nähe der siegel sind wenn diese geöffnet werden sich mehr oder weniger aufhängen(zu ~90%), müsste man bei gelegenheit mal ne bedingung reinschreiben das nach 5 versuchen oder so zum nächsten siegel gegangen wird .... demnächst

Code:
function NTMain()
{
	Include("libs/common/NTCommon.ntl");
	NTC_IncludeLibs();
	NTC_IncludeConfig("NTBot/char_configs");

	NT_LoadConfig();
	NTSI_LoadNIPFiles("NTBot/item_configs");

	NTA_Initialize();

	if(!NTTM_CheckAct())
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_CheckAct()");
		return;
	}
	
	if(me.areaid != 103)
	{
		if(!NTTM_TownMove("waypoint"))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_TownMove()");
			return;
		}

		if(!NTM_TakeWaypoint(103))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTM_TakeWaypoint()");
			return;
		}
	}


	NTTMGR_TownManager();

   NTTM_TownMove("portalspot");

   for(i = 0; i <= 100; i++)
   {
      if(NTC_InMyParty(NTConfig_Leader))
         break;

      Delay(200);
   }   

   while(me.areaid == 103 && NTC_InMyParty(NTConfig_Leader))
   {
		if(NT_GetLeader(NTConfig_Leader).areaid >= 129)
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
			return;
		}
		NTM_UsePortal("BluePortal", 108, NTConfig_Leader); // 50
		Delay(1000);
       
   }
		
		NTP_DoPrecast(true);
		NTA_ClearPosition(10, true);
		NTM_MoveTo(me.areaid, 7792, 5291);
		NTA_ClearPosition(20, true);
		NTM_MoveTo(me.areaid, 7792, 5291);
		NTA_ClearPosition(30, true);

		
		if(!NT_OpenSealsInt())
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NT_OpenSealsInt()");
			return;
		}
	
		if(NTConfig_PublicMode)
			Say(NTConfig_KillDiaMsg);

		NTM_MoveTo(me.areaid, 7792, 5292);
		NTP_DoPrecast(true);
		NTC_FindUnit(NTC_UNIT_MONSTER, 243, 100);


		NTA_KillMonster(243);
		NTSI_PickItems();
		Say(NTConfig_DiaNxtGame);
		NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");


// Internal function
function NT_OpenSealsInt()
{
	var i, _unit;
	var _result;

	_unit = GetPresetUnits(me.areaid, NTC_UNIT_OBJECT);

	if(!_unit)
		return false;

	_result = false;

	for(i = 0 ; i < _unit.length ; i++)
	{
		if(_unit[i].id == 396)
		{
			if(_unit[i].roomy*5 + _unit[i].y == 5275)
				_result = NT_OpenVizierSealInt(1);
			else
				_result = NT_OpenVizierSealInt(2);

			break;
		}
	}

	if(!_result)
		return false;
		
	NTA_ClearPosition(30, true, 2);
	NTP_DoPrecast(false);

	_result = false;

	for(i = 0 ; i < _unit.length ; i++)
	{
		if(_unit[i].id == 394)
		{
			if(_unit[i].roomx*5 + _unit[i].x == 7773)
				_result = NT_OpenDeSeisSealInt(1);
			else
				_result = NT_OpenDeSeisSealInt(2);

			break;
		}
	}

	if(!_result)
		return false;

	NTA_ClearPosition(30, true, 2);
	NTP_DoPrecast(true);

	_result = false;

	for(i = 0 ; i < _unit.length ; i++)
	{
		if(_unit[i].id == 392)
		{
			if(_unit[i].roomx*5 + _unit[i].x == 7893)
				_result = NT_OpenVenomSealInt(1);
			else
				_result = NT_OpenVenomSealInt(2);

			break;
		}
	}

	return _result;
}

function NT_OpenVizierSealInt(type)
{

var _monstername = GetLocaleString(2851);
var i, n;

	var i, n;
	var _attackpos = [7740, 5300, 7792, 5291, 7740, 5280, 7720, 5280, 7720, 5300];
	

	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, 7735, 5291);
	NTA_ClearPosition(40, true, 2);

	for(i = 0 ; i < 3 ; i++)
	{
		if(type == 1)
		{
			NTM_MoveTo(me.areaid, 7695, 5293);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7664, 5314);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7673, 5293);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7662, 5276);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7676, 5294);
			NTA_ClearPosition(60, true, 2);	
			
			if(me.classid == NTC_CHAR_CLASS_PALADIN)
				NTM_MoveTo(me.areaid, 7678, 5292);
		}
		else
		{
			NTM_MoveTo(me.areaid, 7695, 5316);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7664, 5314);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7654, 5281);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7695, 5316);
			NTA_ClearPosition(60, true, 2);
			
			if(me.classid == NTC_CHAR_CLASS_PALADIN)
				NTM_MoveTo(me.areaid, 7676, 5320);
		}

		for(n = 0 ; n < 10 ; n++)
		{
			NTC_Delay(200);

			if(NTA_KillMonster(_monstername))
			{
				NTA_ClearPosition(40);
				NTSI_PickItems();

				return NTM_MoveTo(me.areaid, 7792, 5291);
			}
		}
	}
	return false;
}

function NT_OpenDeSeisSealInt(type)
{
	var i, n;
	var _monstername = GetLocaleString(2852);

	var _attackpos = [7780, 5255, 7800, 5255, 7800, 5235, 7780, 5235, 7774, 5214];
	var _monstername = GetLocaleString(2852);

	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, 7790, 5244);
	NTA_ClearPosition(40, true, 2);


	for(i = 0 ; i < 3 ; i++)
	{
		if(type == 1)
		{
			NTM_MoveTo(me.areaid, 7773, 5194);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7813, 5188);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7809, 5155);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7777, 5155);
			NTA_ClearPosition(60, true, 2);			
			
			if(me.classid == NTC_CHAR_CLASS_PALADIN)
				NTM_MoveTo(me.areaid, 7768, 5206);
			else
				NTM_MoveTo(me.areaid, 7774, 5220);
		}
		else
		{
			NTM_MoveTo(me.areaid, 7810, 5202);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7774, 5180);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7785, 5153);
			NTA_ClearPosition(25, true, 2);
			NTM_MoveTo(me.areaid, 7809, 5154);
			NTA_ClearPosition(60, true, 2);			
			
			if(me.classid == NTC_CHAR_CLASS_PALADIN)
				NTM_MoveTo(me.areaid, 7773, 5178);
			else
				NTM_MoveTo(me.areaid, 7788, 5192);
		}

		for(n = 0 ; n < 10 ; n++)
		{
			NTC_Delay(200);

			if(NTA_KillMonster(_monstername))
			{
				NTA_ClearPosition(40);
				NTSI_PickItems();

		NTP_DoPrecast(false);
		return NTM_MoveTo(me.areaid, 7792, 5291);
			}
		}
	}
	return false;
}

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);
			
			if(me.classid == NTC_CHAR_CLASS_PALADIN)
				NTM_MoveTo(me.areaid, 7892, 5298);
		}
		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);
			
			if(me.classid == NTC_CHAR_CLASS_PALADIN)
				NTM_MoveTo(me.areaid, 7927, 5275);
		}

		for(n = 0 ; n < 10 ; n++)
		{
			NTC_Delay(200);

			if(NTA_KillMonster(_monstername))
			{
				NTSI_PickItems();
				NTA_ClearPosition(40, true, 2);
			}


			
			if(NTC_PutSkill(124, NTC_HAND_RIGHT))
				NTC_PingDelay(1000);
		}
		return true;
	}
	return false;
}

function NT_GetLeader(_name)  
{
				_player = GetPlayerUnit();

				if(_player)
				{
					while(_player.GetNext())
					{
					if(_player.name == _name) 
						{ return _player; }
					}
				}
}
}

und dann noch für die charconfig

Code:
NTConfig_Leader = "" // Name vom Leader-Char, Groß- und Kleinschreibung beachten!
MWConfig_Script.push(["name der datei", 5]); 
NTConfig_KillBaal = true; NTConfig_precast = true;
NTConfig_CoLeechTPMsg = ""; // Bei dieser Message vom Leader geht der Bot ins TP. Wenn er jederzeit rein gehen soll, leer lassen.
NTConfig_KillDiaMsg = "Dia" ; NTConfig_DiaNxtGame = "Ng" ;
sry nochmal für die unannehmlichkeiten letzte nacht, war schon spät
jetzt sollte es aber, sofern richtig eingebunden, funzen
Danke dir, also Errors sind soweit keine mehr drin, nur hat meine Sorc jetzt das Problem das sie entweder viel zu spät oder gar nicht das Game joint. Wenn ich das mit dem D2NT aus Public Botten für Anfänger vergleiche, auf dem im Moment mein Leechfighter läuft, dann spammt dieser im Vergleich zu deinem Script permanent /f l um dann zu joinen, bei deinem Script macht er das nur ab und zu und somit joint er entweder gar nicht wenn es zu spät is oder halt ab und zu wenn der Leader gerade in dem Moment auch created.
Jetzt ist die Frage ob er das auch bei dir macht oder ob er bei dir ganz normal die ganze Zeit /f l macht um dann zu joinen, weil dann fehlt wohl noch nen teil
Rondo80 is offline  
Old 05/25/2011, 18:56   #2082
 
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
Er scheint den Leader nicht zu finden...
Hast du Account und Charnamen richtig geschrieben?
Haben sich Leader & Leecher auf der /f l?
Diablo ist auf Englisch?

Wenn beides ja, dann setz die Variable Debug mal auf true in der NTBotLeech.ntj und schreib dann die Meldungen hier rein.
TheCrazy11 is offline  
Old 05/25/2011, 22:39   #2083
 
elite*gold: 0
Join Date: Mar 2009
Posts: 382
Received Thanks: 45
Quote:
Originally Posted by Rondo80 View Post
Danke dir, also Errors sind soweit keine mehr drin, nur hat meine Sorc jetzt das Problem das sie entweder viel zu spät oder gar nicht das Game joint. Wenn ich das mit dem D2NT aus Public Botten für Anfänger vergleiche, auf dem im Moment mein Leechfighter läuft, dann spammt dieser im Vergleich zu deinem Script permanent /f l um dann zu joinen, bei deinem Script macht er das nur ab und zu und somit joint er entweder gar nicht wenn es zu spät is oder halt ab und zu wenn der Leader gerade in dem Moment auch created.
Jetzt ist die Frage ob er das auch bei dir macht oder ob er bei dir ganz normal die ganze Zeit /f l macht um dann zu joinen, weil dann fehlt wohl noch nen teil
dann sind dort die delay knapper gesetzt ... einfach die zeit für /f l knapper bemessen, aber vorsicht zu viel und vor allem zu schnell gespammtes verschafft dir ne 10 minuten auszeit!
weiß nich mit wievielen chars du joinst aber bedenke das was bei 2 chars vielleicht noch geht bei 3 oder 4 schon zum tempbann führen kann
GruenerApfel is offline  
Old 05/26/2011, 00:32   #2084
 
elite*gold: 0
Join Date: Apr 2011
Posts: 10
Received Thanks: 0
So also ohne was geändert zu haben macht er jetzt immer regelmäßig /f l um den Leader zu finden, keine Ahnung warum das vorher nicht geklappt hat. Nun hab ich aber andere nicht reproduzierbare Dinge die mir auffallen. Wenn der Leader created und der Leecher dabei is zu joinen dann kommt ne cryptische buchstaben abfolge im chat, diese wird aber nicht abgeschickt sonder abgebrochen dann kommt sowas wie /f lqw was er auch nicht abschickt, erst dann geht er ins dazu über das Game zu joinen. Klappt beim ersten mal auch aber beim zweiten run gabs nen Game does not exist als er joinen wollte obwohl der Leader schon länger im Game war und dann hat er die /f lqw abgeschickt und halt die Meldung bekommen das das kein zulässiger Befehlt is, logisch! Darauf den Run schafft er wieder das joinen aber dann gibts wieder nen Error und diesmal noch komischer, und zwar das er keine Hardcore Games joinen kann häääää???? und wieder die cryptische fl chatnachricht die nicht existiert. Hab die Quellcodes 1zu1 übernommen, somit ist das sehr komisch.
Ach ja in der baalleechfight gibts auch noch nen kleinen Error der aber nicht weiter stört da es passiert sobald Baal tot is, habs als Bild angehangen

Mal schauen ob einer von euch nen Plan hat was da los is
Attached Images
File Type: jpg error1.jpg (174.2 KB, 19 views)
Rondo80 is offline  
Old 05/26/2011, 10:41   #2085
 
elite*gold: 0
Join Date: Mar 2009
Posts: 382
Received Thanks: 45
Quote:
Originally Posted by Rondo80 View Post
So also ohne was geändert zu haben macht er jetzt immer regelmäßig /f l um den Leader zu finden, keine Ahnung warum das vorher nicht geklappt hat. Nun hab ich aber andere nicht reproduzierbare Dinge die mir auffallen. Wenn der Leader created und der Leecher dabei is zu joinen dann kommt ne cryptische buchstaben abfolge im chat, diese wird aber nicht abgeschickt sonder abgebrochen dann kommt sowas wie /f lqw was er auch nicht abschickt, erst dann geht er ins dazu über das Game zu joinen. Klappt beim ersten mal auch aber beim zweiten run gabs nen Game does not exist als er joinen wollte obwohl der Leader schon länger im Game war und dann hat er die /f lqw abgeschickt und halt die Meldung bekommen das das kein zulässiger Befehlt is, logisch! Darauf den Run schafft er wieder das joinen aber dann gibts wieder nen Error und diesmal noch komischer, und zwar das er keine Hardcore Games joinen kann häääää???? und wieder die cryptische fl chatnachricht die nicht existiert. Hab die Quellcodes 1zu1 übernommen, somit ist das sehr komisch.
Ach ja in der baalleechfight gibts auch noch nen kleinen Error der aber nicht weiter stört da es passiert sobald Baal tot is, habs als Bild angehangen

Mal schauen ob einer von euch nen Plan hat was da los is
hast du ggf bei den chars noch random games eingestellt ? ... also bei spielname und pw ? .... gib dort mal feste werte vor, auch wenns n leecher ist
und schalt eventuell joingameagain auf true
GruenerApfel is offline  
Reply


Similar Threads Similar Threads
[Release] D2NT 3.1 1.13c
07/17/2016 - Diablo 2 - 91 Replies
hi, hab eben den d2nt3.1 gefunden. ein neues baba script is dabei. release thread eon D2NT3.1
[Realease] Muddy's Waypoint Catcher
08/21/2013 - Diablo 2 Programming - 46 Replies
Moin zusammen, hier mal die erste Release Version eines kleinen Scripts genannt Waypoint Catcher. Das ganze ist jetzt nichtmal 24h alt, dementsprechend sind vermutlich noch einige Bugs vorhanden. Hinweise dazu nehme ich gerne entgegen. ;) Features: - Suchen sämtlicher Wegpunkte mit Ausnahme, wobei in Akt ein durch Probleme im Jail Bereich nach dem Wegpunkt Outer Cloister abgebrochen wird - Wahlweise auch mit TP an jedem gefundenen Wp, sodass man damit auch anderen (nicht-Bots) die...
[D2NT] Long Dia Release
05/10/2011 - Diablo 2 Programming - 28 Replies
Ein kleines Script für diablo, es startet beim eingang macht ein tp cleart den weg zum star macht am star noch ein tp dann läufts wie das normale nur cleart es schöner :) hoffe euch gefällts ich habs noch nicht wirklich getestet (2-3 runs) bugs können gerne hier gepostet werden verbesserungs vorschläge auch :D installation: 1.)Script in den Bot ordner kopieren 2.)Script im editor oder vergleichbaren öffnen 3.) Msg´s anpassen (ist nicht schwer) 4.) in der char config die zeile...
D2NT 3.0 Pickit release
10/22/2010 - Diablo 2 - 77 Replies
edit
Muddy's D2NT Help
07/29/2010 - Diablo 2 - 3 Replies
hi i just started to use the bot it work's great. how do i set up the skill's i use on my Sorc and pick up itme's? ..... if you reply to this post please use english



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


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.