[Release] Muddy's D2NT

07/23/2010 22:59 fuuch#106
versuch meinen mod mit dem parameter clear from front auf 1 im jeweiligen char config
den mod findest du in diesem thread
07/24/2010 10:13 Muddy Waters#107
Quote:
Originally Posted by trancemonkey View Post
hi!
Bin vor 2 Tagen auf deinen Mod gestoßen und finde ihn echt sehr gelungen!! Bin sofort umgestiegen. vielen dank

Bin seit einiger zeit auf der suche nach einem "slow"-diablo script. Hab schon versucht selber was zu machen aber bei meinen Programmierkenntnissen wird das nix.
Hatte mir was vorgestellt wo der Bot zuerst die 3 "Arme" im CS cleart und dann das jeweilige Siegel öffnet.
Könnte es vielleicht selber machen indem ich bei "var _attackpos" vor dem Siegelöffnen noch die jeweiligen Positionen hinzufüge. Bin aber verwirrt wie das geht, da sich der Aufbau der Map ja immer etwas ändert.
wäre froh über ein wenig hilfe ;)
Lg jan
Danke für die Blumen. :)

Kann man machen, trotzdem wird es wahrscheinlich mit den Standardfunktionen nicht ganz sauber werden.
Dass die map sich ändert stimmt zwar, allerdings kann man die Variationen an einer Hand abzählen und zudem relativ leicht bestimmen, welcher Aufbau aktuell vorliegt. Darum kann man hier eigentlich von einer konstanten map sprechen.
Der Aufbau der Karte wird dabei über die Positionen der Siegel bestimmt. Diese werden ausgelesen und damit lässt sich dann auf den jeweiligen Aufbau schließen.
Es gibt pro Flügel zwei Variationen, sodass du für jeden Flügel zunächst die aktuelle Variante bestimmen musst. Je nachdem was dann vorliegt fallen auch die jeweiligen Positionen auf.
Wobei die Variable _attackpos, bei der es sich im übrigen um ein Array Objekt handelt, immer Koordinatenpaare enthält. So ist das erste Element (Index 0) die x-Koordinate eines Punktes und das nachfolgende Element (Index 1) die dazugehörige y-Koordinate.
Darum verfügen auch die Zählschleifen, in denen alle Punkte im Array angesteuert werden, über ein Inkrement von 2. ;)
Prinzipiell müsste man also für einen sehr simplen Ansatz nur die vorhandenen Positionen manipulieren oder neue hinzufügen.
Da du jetzt weisst, wie die Punkte im Array stehen, sollte es eigentlich kein Problem sein. Ansonsten einfach nochmal rückfragen. :)

Quote:
Originally Posted by fuuch View Post
versuch meinen mod mit dem parameter clear from front auf 1 im jeweiligen char config
den mod findest du in diesem thread
Du könntest mal ein eigenes topic aufmachen. Hätte den Vorteil, dass dein Teil hier nicht so untergeht und ich nicht zu Rückfragen bezüglich deines Mods verwirrt werde. ;)


Lg
Muddy
07/24/2010 10:49 fuuch#108
thx muddy - ich dachte ich packs hier rein, da die credits im grunde hauptsächlich bei dir liegen und da es keine wirkliche leistung ist scripts reinzupasten
07/24/2010 22:59 trancemonkey#109
So: Diablo Skript verändert
Habe mal bissl rumprobiert und hier und da ein paar Sachen reinkopiert. (wem da jetzt alles die Credits sind weis ich nicht)

- auf dem weg zu den Siegeln werden mehr Monster angegriffen
- geänderte Coordinaten bei de Seis Angriff
- bevor der Bot zu de Seis Siegel geht killt er noch ein paar Monster auf dem Flügel

so läuft es bei meiner Sorc ganz gut. Dauert eben entsprechend länger. Dafür cleart er mehr vom CS.

rotes sind änderungen an die ich mich noch erinnere
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("NTBotGame.ntj", "NTTM_CheckAct()");
		return;
	}

	NTTMGR_TownManager();

	if(!NTTM_TownMove("waypoint"))
	{
		NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
		return;
	}

	if(!NTM_TakeWaypoint(107))
	{
		NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
		return;
	}

	NTP_DoPrecast(true);

	if(!NTM_MoveTo(108, 7797, 5560))
	{
		NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
		return;
	}

	if(NTConfig_PublicMode)
	{
		var _attackpos = [7792, 5525, 7793, 5501, 7773, 5495, 7768, 5480, 7767, 5458, 7770, 5438, 7774, 5417, 7767, 5391, 7768, 5369, 7769, 5345, 

7770, 5320, 7780, 5308];

		if(!NTM_MoveTo(me.areaid, 7790, 5544))
		{
			NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
			return;
		}

		NTA_ClearPosition(20, false, 2);

		NTM_MoveTo(me.areaid, 7790, 5544);

		NTC_PingDelay(1000);

		NTA_ClearPosition(20, true, 2);

		NTM_MoveTo(me.areaid, 7790, 5544);

		NTM_MakeTP();
		Say("TP is safe!");

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

			NTA_ClearPosition(25, true, 2);
		}

		NTP_DoPrecast(true);
	}

	if(!NT_OpenSealsInt())
	{
		NTC_SendMsgToScript("NTBotGame.ntj", "NT_OpenSealsInt()");
		return;
	}

	if(NTConfig_PublicMode)
		Say("Killing Diablo");

	NTP_DoPrecast(true);

	//if(!NTM_MoveTo(me.areaid, 7792, 5292)) mitte stern
                 NTC_Delay(200);
             // NTM_WalkTo( 7814, 5302)bringt fehlermeldung,sollte von der mitte runter zu dem punkt gehn und merc dadurch stehn lassen in d. mitte
                 if(!NTM_MoveTo(me.areaid, 7814, 5302))
	{
		NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
		return;
	}

	if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe|0x01, NTConfig_CheckMercSafe))
	{
		NTC_SendMsgToScript("NTBotGame.ntj", "NTTMGR_CheckSafe()");
		return;
	}

	NTC_FindUnit(NTC_UNIT_MONSTER, 243, 100);

	if(!NTA_KillMonster(243))
	{
		NTC_SendMsgToScript("NTBotGame.ntj", "NTA_KillMonster()");
		return;
	}

	NTSI_PickItems();

	if(NTConfig_PublicMode)
		Say("Next game");

	NTC_SendMsgToScript("NTBotGame.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;

	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;

	NTP_DoPrecast(false);

	_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 i, n;
	var _attackpos = [7740, 5300, 7740, 5280, 7720, 5280, 7720, 5300];
	var _monstername = GetLocaleString(2851);

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

		NTA_ClearPosition(25, true, 2);
	}

	for(i = 0 ; i < 3 ; i++)
	{
		if(type == 1)
		{
			NT_OpenSealInt(395, 7654, 5310);
			NT_OpenSealInt(396, 7659, 5277);

			NTM_MoveTo(me.areaid, 7665, 5277);
		}
		else
		{
			NT_OpenSealInt(395, 7650, 5276);
			NT_OpenSealInt(396, 7651, 5310);
		}

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

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

				return NTM_MoveTo(me.areaid, 7750, 5280);
			}
		}
	}

	return false;
}

function NT_OpenDeSeisSealInt(type)
{
	var i, n;
	var _attackpos = [COLOR="red"][7780, 5255, 7800, 5255, 7800, 5235, 7780, 5235, 7800, 5189, 7771, 5196][/COLOR];
	var _monstername = GetLocaleString(2852);

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

		NTA_ClearPosition(30, true, 2);
	}

	for(i = 0 ; i < 3 ; i++)
	{
		if(type == 1)
		{
			NT_OpenSealInt(394, 7769, 5158);
                                             NTC_Delay(100);
                                               NT_OpenSealInt(394, 7778, 5157);
                                                  NTC_Delay(100);
                                                      NT_OpenSealInt(394, 7779, 5159);
                                                           NTC_Delay(100);
			NTM_MoveTo(me.areaid, 7771, 5196);
                                            NTC_Delay(100);
                                            NTM_MoveTo(me.areaid, 7796, 5226);
		}
		else
		{
			NT_OpenSealInt(394, 7810, 5156);
                                       NTC_Delay(200);
                                          NT_OpenSealInt(394, 7810, 5156);
                                                NTC_Delay(200);
			NTM_MoveTo(me.areaid, 7770, 5169);
                                               NTC_Delay(100);
                                            NTM_MoveTo(me.areaid, 7800, 5189);
		}

		for(n = 0 ; n < 10 ; n++)
		{
			NTC_Delay(200);
                                      //NTA_ClearPosition(35);
			if(NTA_KillMonster(_monstername))
			{
				NTA_ClearPosition(35);
				NTSI_PickItems();

				return NTM_MoveTo(me.areaid, 7800, 5255);
			}
		}
	}

	return false;
}

function NT_OpenVenomSealInt(type)
{
	var i, n;
	var _attackpos = [7835, 5280, 7835, 5300, 7855, 5300, 7855, 5280];
	var _monstername = GetLocaleString(2853);

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

		NTA_ClearPosition(25, true, 2);
	}

	for(i = 0 ; i < 3 ; i++)
	{
		if(type == 1)
		{
			NT_OpenSealInt(393, 7915, 5280);
			NT_OpenSealInt(392, 7895, 5318);

			NTM_MoveTo(me.areaid, 7892, 5298);
		}
		else
		{
			NT_OpenSealInt(393, 7905, 5277);
			NT_OpenSealInt(392, 7916, 5310);

			NTM_MoveTo(me.areaid, 7937, 5305);
		}

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

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

				if(NTC_PutSkill(124, NTC_HAND_RIGHT))
					NTC_PingDelay(1000);

				return true;
			}
		}
	}

	return false;
}

function NT_OpenSealInt(classid, x, y)
{
	var _seal;

	NTM_MoveTo(me.areaid, x, y);

	NTA_ClearPosition(25, true, 2);

	_seal = NTC_FindUnit(NTC_UNIT_OBJECT, classid, 5);

	if(!_seal)
		return false;

	if(_seal.mode > 0)
		return true;

	for(var i = 0 ; i < 4 ; i++)
	{
		if((i % 2) == 0)
		{
			if(GetDistance(me, _seal) > 2)
				NTM_MoveTo(_seal.areaid, _seal.x+1, _seal.y);

			NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _seal);
		}

		NTC_Delay(500);

		if(_seal.mode > 0)
			return true;
	}

	return false;
}
07/25/2010 12:32 Muddy Waters#110
Quote:
Originally Posted by trancemonkey View Post
So: Diablo Skript verändert
Habe mal bissl rumprobiert und hier und da ein paar Sachen reinkopiert. (wem da jetzt alles die Credits sind weis ich nicht)

- auf dem weg zu den Siegeln werden mehr Monster angegriffen
- geänderte Coordinaten bei de Seis Angriff
- bevor der Bot zu de Seis Siegel geht killt er noch ein paar Monster auf dem Flügel

so läuft es bei meiner Sorc ganz gut. Dauert eben entsprechend länger. Dafür cleart er mehr vom CS.

rotes sind änderungen an die ich mich noch erinnere
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("NTBotGame.ntj", "NTTM_CheckAct()");
        return;
    }

    NTTMGR_TownManager();

    if(!NTTM_TownMove("waypoint"))
    {
        NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
        return;
    }

    if(!NTM_TakeWaypoint(107))
    {
        NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
        return;
    }

    NTP_DoPrecast(true);

    if(!NTM_MoveTo(108, 7797, 5560))
    {
        NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
        return;
    }

    if(NTConfig_PublicMode)
    {
        var _attackpos = [7792, 5525, 7793, 5501, 7773, 5495, 7768, 5480, 7767, 5458, 7770, 5438, 7774, 5417, 7767, 5391, 7768, 5369, 7769, 5345, 

7770, 5320, 7780, 5308];

        if(!NTM_MoveTo(me.areaid, 7790, 5544))
        {
            NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
            return;
        }

        NTA_ClearPosition(20, false, 2);

        NTM_MoveTo(me.areaid, 7790, 5544);

        NTC_PingDelay(1000);

        NTA_ClearPosition(20, true, 2);

        NTM_MoveTo(me.areaid, 7790, 5544);

        NTM_MakeTP();
        Say("TP is safe!");

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

            NTA_ClearPosition(25, true, 2);
        }

        NTP_DoPrecast(true);
    }

    if(!NT_OpenSealsInt())
    {
        NTC_SendMsgToScript("NTBotGame.ntj", "NT_OpenSealsInt()");
        return;
    }

    if(NTConfig_PublicMode)
        Say("Killing Diablo");

    NTP_DoPrecast(true);

    //if(!NTM_MoveTo(me.areaid, 7792, 5292)) mitte stern
                 NTC_Delay(200);
             // NTM_WalkTo( 7814, 5302)bringt fehlermeldung,sollte von der mitte runter zu dem punkt gehn und merc dadurch stehn lassen in d. mitte
                 if(!NTM_MoveTo(me.areaid, 7814, 5302))
    {
        NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
        return;
    }

    if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe|0x01, NTConfig_CheckMercSafe))
    {
        NTC_SendMsgToScript("NTBotGame.ntj", "NTTMGR_CheckSafe()");
        return;
    }

    NTC_FindUnit(NTC_UNIT_MONSTER, 243, 100);

    if(!NTA_KillMonster(243))
    {
        NTC_SendMsgToScript("NTBotGame.ntj", "NTA_KillMonster()");
        return;
    }

    NTSI_PickItems();

    if(NTConfig_PublicMode)
        Say("Next game");

    NTC_SendMsgToScript("NTBotGame.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;

    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;

    NTP_DoPrecast(false);

    _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 i, n;
    var _attackpos = [7740, 5300, 7740, 5280, 7720, 5280, 7720, 5300];
    var _monstername = GetLocaleString(2851);

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

        NTA_ClearPosition(25, true, 2);
    }

    for(i = 0 ; i < 3 ; i++)
    {
        if(type == 1)
        {
            NT_OpenSealInt(395, 7654, 5310);
            NT_OpenSealInt(396, 7659, 5277);

            NTM_MoveTo(me.areaid, 7665, 5277);
        }
        else
        {
            NT_OpenSealInt(395, 7650, 5276);
            NT_OpenSealInt(396, 7651, 5310);
        }

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

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

                return NTM_MoveTo(me.areaid, 7750, 5280);
            }
        }
    }

    return false;
}

function NT_OpenDeSeisSealInt(type)
{
    var i, n;
    var _attackpos = [COLOR=red][7780, 5255, 7800, 5255, 7800, 5235, 7780, 5235, 7800, 5189, 7771, 5196][/COLOR];
    var _monstername = GetLocaleString(2852);

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

        NTA_ClearPosition(30, true, 2);
    }

    for(i = 0 ; i < 3 ; i++)
    {
        if(type == 1)
        {
            NT_OpenSealInt(394, 7769, 5158);
                                             NTC_Delay(100);
                                               NT_OpenSealInt(394, 7778, 5157);
                                                  NTC_Delay(100);
                                                      NT_OpenSealInt(394, 7779, 5159);
                                                           NTC_Delay(100);
            NTM_MoveTo(me.areaid, 7771, 5196);
                                            NTC_Delay(100);
                                            NTM_MoveTo(me.areaid, 7796, 5226);
        }
        else
        {
            NT_OpenSealInt(394, 7810, 5156);
                                       NTC_Delay(200);
                                          NT_OpenSealInt(394, 7810, 5156);
                                                NTC_Delay(200);
            NTM_MoveTo(me.areaid, 7770, 5169);
                                               NTC_Delay(100);
                                            NTM_MoveTo(me.areaid, 7800, 5189);
        }

        for(n = 0 ; n < 10 ; n++)
        {
            NTC_Delay(200);
                                      //NTA_ClearPosition(35);
            if(NTA_KillMonster(_monstername))
            {
                NTA_ClearPosition(35);
                NTSI_PickItems();

                return NTM_MoveTo(me.areaid, 7800, 5255);
            }
        }
    }

    return false;
}

function NT_OpenVenomSealInt(type)
{
    var i, n;
    var _attackpos = [7835, 5280, 7835, 5300, 7855, 5300, 7855, 5280];
    var _monstername = GetLocaleString(2853);

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

        NTA_ClearPosition(25, true, 2);
    }

    for(i = 0 ; i < 3 ; i++)
    {
        if(type == 1)
        {
            NT_OpenSealInt(393, 7915, 5280);
            NT_OpenSealInt(392, 7895, 5318);

            NTM_MoveTo(me.areaid, 7892, 5298);
        }
        else
        {
            NT_OpenSealInt(393, 7905, 5277);
            NT_OpenSealInt(392, 7916, 5310);

            NTM_MoveTo(me.areaid, 7937, 5305);
        }

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

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

                if(NTC_PutSkill(124, NTC_HAND_RIGHT))
                    NTC_PingDelay(1000);

                return true;
            }
        }
    }

    return false;
}

function NT_OpenSealInt(classid, x, y)
{
    var _seal;

    NTM_MoveTo(me.areaid, x, y);

    NTA_ClearPosition(25, true, 2);

    _seal = NTC_FindUnit(NTC_UNIT_OBJECT, classid, 5);

    if(!_seal)
        return false;

    if(_seal.mode > 0)
        return true;

    for(var i = 0 ; i < 4 ; i++)
    {
        if((i % 2) == 0)
        {
            if(GetDistance(me, _seal) > 2)
                NTM_MoveTo(_seal.areaid, _seal.x+1, _seal.y);

            NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _seal);
        }

        NTC_Delay(500);

        if(_seal.mode > 0)
            return true;
    }

    return false;
}
Na das sieht doch schonmal ganz schick aus, bis auf ein paar kleine Einrückungsfehler vielleicht.
Hat sich zwar nicht sooo viel verändert, gefällt mir trotzdem, dass du dir Gedanken gemacht hast. Aller Anfang ist schließlich schwer. :)

Ich kann mich noch gut an meinen Einstieg in die D2NT Programmierung erinnern. Hintergrund war auch, dass mir das Diablo Script in vielen Punkten missfiel, sodass ich selber ran musste. Und das ohne je in JavaScript programmiert zu haben, obwohl ich solide C++ Kenntnisse hatte, was die Sache natürlich deutlich leichter machte.
Trotzdem ist der Einstieg ziemlich schwer, weil man sich erst mit den Eigenarten von D2NT im speziellen vertraut machen und einen Überblick bekommen muss, sodass ich es immer sehr respektiere, wenn sich Leute hinsetzen und dasselbe versuchen. :handsdown:

Ich muss mal schauen, wann ich es endlich schaffe ein Update hochzuladen. Dort wird dann auch meine Abstandshalter Funktion für Sorcs enthalten sein, welche die Sache noch etwas sicherer machen sollte. :)

Lg
Muddy
07/29/2010 12:32 auch#111
Hi,
du hattest mal geschrieben, dass du eine Funktion für Itemid+Itemdrop integrierst.
Ist die mittlerweile enthalten?
07/29/2010 15:40 Muddy Waters#112
Quote:
Originally Posted by auch View Post
Hi,
du hattest mal geschrieben, dass du eine Funktion für Itemid+Itemdrop integrierst.
Ist die mittlerweile enthalten?
Leider nicht. :(

Obwohl ich auch ehrlich zugebe, dass ich das vergessen hatte, ich werds mal auf meine Todo Liste setzen und bei Zeiten angehen. :)

Lg
Muddy
07/29/2010 21:14 Gither79#113
//----------------------------------------------------------------------------------------------
// Type of potion used in each belt column
// Available types : "hp" = health | "mp" = mana | "rv" = rejuv. Can use other potion types too.
// Keep equal types at adjacent columns. First HP then MP and then HP again is a bad choice.
// Keep HP and MP at the beginning of the belt (in case you want to use rejuv and other types).
// Rejuvenations MUST, I REPEAT MUST be at the end of the belt (last x columns).
// To use rejuvenations only, put "rv" in all columns.
//----------------------------------------------------------------------------------------------
NTConfig_BeltColType[0] = "hp";
NTConfig_BeltColType[1] = "mp";
NTConfig_BeltColType[2] = "rv";
NTConfig_BeltColType[3] = "rv";
--------------------------------------------------------------------------


how do i set this up for my belt?

the bot buys 1 row for hp 2nd row for mp and picks others off row3 and 4 and drop them on the ground and only buys for row 1 and 2.
07/29/2010 21:20 Gither79#114
nvm i found out how.....
07/29/2010 21:37 Gither79#115
ok.

how do i set up the bot to where it kill's only baal?
07/29/2010 22:14 Muddy Waters#116
Quote:
Originally Posted by Gither79 View Post
ok.

how do i set up the bot to where it kill's only baal?
First of all: There is a button called Edit, I suggest you give it a try. :rolleyes:
This is not jsp, you can edit a post anytime. ;)

Regarding your question:
Just comment out every script in your char config except the baal script. Simple, isn't it?

Regards
Muddy
07/29/2010 22:21 Gither79#117
i'm useing a ice/lightning sorc

and the edit button only make's a profile.

i need a sorc config file for Baal killing only.
07/30/2010 14:31 Muddy Waters#118
Quote:
Originally Posted by Gither79 View Post
i'm useing a ice/lightning sorc

and the edit button only make's a profile.

i need a sorc config file for Baal killing only.
You better get down to work then and tweak your config file accordingly.

You also might wanna try google, as there are dozens of Guides on how to configure a D2NT bot. ;)

I am definately not going to serve a ready-to-use config file for your very char on a silver platter, just in case you had something like that in mind... :rolleyes:

Regards
Muddy
07/30/2010 16:29 Vlirtuallord#119
HI hallo am Allem
wiess jemand wie man eine Bot trap assa zu skillen ist ???
wäre Toll wenn es jemand mir verraten würde.

Lg

Virtuallord
07/30/2010 17:28 fuuch#120
lightningsentry, shock web, fireblast, mehr brauchst du nicht als main attacks