[D2NT] Public Botten for Dummies

08/29/2011 15:39 lanara#2266
Ich kann mir zwar nicht wirklich vorstellen, was du vor hast, aber wenn du wissen willst wo das Inviten geregelt wird, das ist in der Datei NTToolsThread.ntj, im Ordner scripts\NTBot\tools.
08/29/2011 17:51 BadCharly#2267
Meiner solln lechfighter werden, aber sobald er in das game kommt verlässt er es wieder... Woran könnte es liegen?

(er steht in a5)
08/29/2011 20:13 DKOj#2268
kann man den bo ancast also wie lange der char bo machen soll erhöhen?
08/29/2011 21:26 pti123#2269
Quote:
Originally Posted by DKOj View Post
kann man den bo ancast also wie lange der char bo machen soll erhöhen?
du kannst es verzögern.. oder öfters machen, das geht

Quote:
Originally Posted by BadCharly View Post
Meiner solln lechfighter werden, aber sobald er in das game kommt verlässt er es wieder... Woran könnte es liegen?

(er steht in a5)
Name vom leader falsch eingetragen?
// vor der Leechfight config weg gemacht?
08/29/2011 21:35 DKOj#2270
Quote:
du kannst es verzögern.. oder öfters machen, das geht
wie kann man es verzögern oder öfter machen ???
also unter welcher datei??
08/29/2011 21:39 pti123#2271
libs\common NTPrecast.ntl kannst du aber nur machen wenn du weißt wie man das programmiert...
08/29/2011 22:28 DKOj#2272
Quote:
libs\common NTPrecast.ntl kannst du aber nur machen wenn du weißt wie man das programmiert...
ne weiß ich leider nich habs mir angesehn, dachte man müsste paar zahlen verändern aber is doch anders. also ich will es bei nem baba verändern wär nett wenn es mal einer irgendwie posten könnte was ich da verändern muss
08/29/2011 22:43 pti123#2273
kann ich einstellen das der bot nicht am anfang vom game zum shop geht und items verkauft, sondern am ende?

Code:
var _NTP_HaveCTA = -1;

function NTP_DoPrecastCTA(refresh)
{
	if(me.classid == NTC_CHAR_CLASS_BARBARIAN || NTC_InTown())
		return false;
	if(me.classid == NTC_CHAR_CLASS_AMAZON)
	{
		if(refresh || !me.GetState(32) || !me.GetState(51))
		{
			if(NTP_BOSwitch())
			{
				NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command
				NTC_SwapWeapons();
				NTC_CastSkill(32, NTC_HAND_RIGHT); // Valkyrie
				NTC_SwapWeapons();
				NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command
				NTC_CastSkill(149, NTC_HAND_RIGHT); // Battle Orders
				NTC_SwapWeapons();
				return true;
			}
		}
	}

	if(me.classid == NTC_CHAR_CLASS_DRUID)
	{
		if(refresh || !me.GetState(32) || !me.GetState(51))
		{
			if(NTP_BOSwitch())
			{
				NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command
				NTC_SwapWeapons();
			       if (refresh) {
          var _p_units = GetPresetUnits(me.areaid);
          var _swolves = 0;
          var _dwolves = 0;
          var _bear = 0;
          var _vine = 0; var _vines = [425, 426, 427];
          if (_p_units.length && _p_units.length > 0 ) {
             for(var i = 0; i < _p_units.length; i++) {
                if (_p_units[i].id == 421)
                   _dwolves++;
                if (_p_units[i].id == 428)   
                   _bear++;
                if (_p_units[i].id == 420)   
                   _swolves++;
                if (_vines.indexOf(_p_units[i].id) != -1)   
                   _vine++;
             }
          }
//
//          Uncomment which you will use
//
          if (_bear != 1)
             NTC_CastSkill(247, NTC_HAND_RIGHT);
//          for(var i = 1 ; i <= 3 - _dwolves ; i++)
//             NTC_CastSkill(237, NTC_HAND_RIGHT);
//          for(var i = 1 ; i <= 5 - _swolves ; i++)
//             NTC_CastSkill(227, NTC_HAND_RIGHT);
            if(_vine == 0) {
//               NTC_CastSkill(222, NTC_HAND_RIGHT); //poison
               NTC_CastSkill(231, NTC_HAND_RIGHT); //hp
//               NTC_CastSkill(241, NTC_HAND_RIGHT); //mana
            }
      }
			if(refresh || !me.GetState(149))
			NTC_CastSkill(226, NTC_HAND_RIGHT); // Oak Sage
			if(refresh || !me.GetState(32) || !me.GetState(51))
				NTC_SwapWeapons();
				NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command
				NTC_CastSkill(149, NTC_HAND_RIGHT); // Battle Orders
				NTC_SwapWeapons();
				return true;
			}
		}
	}

	if(me.classid == NTC_CHAR_CLASS_NECROMANCER)
	{
		if(refresh || !me.GetState(32) || !me.GetState(51))
		{
			if(NTP_BOSwitch())
			{
				NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command
				NTC_SwapWeapons();
				if(!NTC_CastSkill(94, NTC_HAND_RIGHT)) // Fire Golem
					if(!NTC_CastSkill(85, NTC_HAND_RIGHT)) // Blood Golem
						NTC_CastSkill(75, NTC_HAND_RIGHT); // Clay Golem
				NTC_SwapWeapons();
				NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command
				NTC_CastSkill(149, NTC_HAND_RIGHT); // Battle Orders
				NTC_SwapWeapons();
				return true;
			}
		}
	}
	
	if(me.classid == NTC_CHAR_CLASS_ASSASSIN)
	{
		if(refresh || !me.GetState(32) || !me.GetState(51))
		{
			if(NTP_BOSwitch())
			{
				NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command
				NTC_SwapWeapons();
				if(!NTC_CastSkill(279, NTC_HAND_RIGHT)) // Shadow Master
					NTC_CastSkill(268, NTC_HAND_RIGHT); // Shadow Warrior
				NTC_SwapWeapons();
				NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command
				NTC_CastSkill(149, NTC_HAND_RIGHT); // Battle Orders
				NTC_SwapWeapons();
				return true;
			}
		}
	}
	
	if(refresh || !me.GetState(32) || !me.GetState(51))
	{
		if(NTP_BOSwitch())
		{
			NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command
			NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command
			NTC_CastSkill(149, NTC_HAND_RIGHT); // Battle Orders

			NTC_SwapWeapons();

			return true;
		}
	}

	return false;
}

function NTP_DoPrecast(refresh)
{
	NTP_DoPrecastCTA(refresh);

	switch(me.classid)
	{
	case NTC_CHAR_CLASS_AMAZON:
		
		if(refresh)
		{
			NTC_CastSkill(32, NTC_HAND_RIGHT); // Valkyrie
			return true;
		}
		break;
				
	case NTC_CHAR_CLASS_SORCERESS:
		if(refresh || !me.GetState(38))
			NTC_CastSkill(57, NTC_HAND_RIGHT); // Thunder Storm

		if(refresh || !me.GetState(30))
			NTC_CastSkill(58, NTC_HAND_RIGHT); // Energy Shield

		if(refresh || (!me.GetState(10) && !me.GetState(88) && !me.GetState(20)))
		{
			if(!NTC_CastSkill(50, NTC_HAND_RIGHT)) // Shiver Armor
				if(!NTC_CastSkill(60, NTC_HAND_RIGHT)) // Chilling Armor
					NTC_CastSkill(40, NTC_HAND_RIGHT); // Frozen Armor
		}
		if (refresh)
		{
			if(NTConfig_ChantMerc == 1) 
			{
				DoEnchant()
			}
		else 
		{ 
		break;
		}
		}
		break; 

	case NTC_CHAR_CLASS_NECROMANCER:
		if(refresh || !me.GetState(14))
			NTC_CastSkill(68, NTC_HAND_RIGHT); // Bone Armor

		break;

	case NTC_CHAR_CLASS_PALADIN:
		if(refresh || !me.GetState(101))
			NTC_CastSkill(117, NTC_HAND_RIGHT); // Holy Shield
		break;

	case NTC_CHAR_CLASS_BARBARIAN:
		NTConfig_Boswap
		if(NTConfig_Boswap)
		{
		NTC_SwapWeapons(1)
		}
		if(refresh || !me.GetState(51))
			NTC_Delay(2000);
			NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command
			NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command
		if(refresh || !me.GetState(32))
			NTC_CastSkill(149, NTC_HAND_RIGHT); // Battle Orders

		if(refresh || !me.GetState(26))
			NTC_CastSkill(138, NTC_HAND_RIGHT); // Shout
		NTConfig_Boswap
		if(NTConfig_Boswap)
		{
		NTC_SwapWeapons(0)
		}
		break;

	case NTC_CHAR_CLASS_DRUID:
      if(refresh || !me.GetState(151))
         NTC_CastSkill(235, NTC_HAND_RIGHT); // Cyclone Armor

      if(refresh || !me.GetState(144))
         NTC_CastSkill(250, NTC_HAND_RIGHT); // Hurricane
		break;

	case NTC_CHAR_CLASS_ASSASSIN:
		// Can't use both Fade and BoS
		//if(refresh || !me.GetState(157))
		//	NTC_CastSkill(258, NTC_HAND_RIGHT); // Burst of Speed
		if(refresh || !me.GetState(159))
			NTC_CastSkill(267, NTC_HAND_RIGHT); // Fade

		if(refresh || !me.GetState(158))
			NTC_CastSkill(277, NTC_HAND_RIGHT); // Blade Shield

		if(refresh || !me.GetState(153))
			NTC_CastSkill(264, NTC_HAND_RIGHT); // Cloak of Shadows

		if(refresh)
		{
			if(!NTC_CastSkill(279, NTC_HAND_RIGHT)) // Shadow Master
				NTC_CastSkill(268, NTC_HAND_RIGHT); // Shadow Warrior
		}
		break;
	}
}

function NTP_BOSwitch()
{
	if(_NTP_HaveCTA < 0)
	{
		var _weapon;

		_NTP_HaveCTA = 0;

		_weapon = me.GetItems();

		if(_weapon)
		{
			for(var i = 0 ; i < _weapon.length ; i++)
			{
				if(_weapon[i].mode == 1 && (_weapon[i].itemflag&0x4000000) && _weapon[i].itemprefix == 0x5027)
				{
					if(_weapon[i].itemloc == 4 || _weapon[i].itemloc == 5)
						_NTP_HaveCTA = 1;
					else
						_NTP_HaveCTA = 2;

					break;
				}
			}
		}
	}

	if(_NTP_HaveCTA > 0)
		return NTC_SwapWeapons(_NTP_HaveCTA-1);

	return false;
}
function DoEnchant()
{
var _unit;
_unit = NTC_FindUnit(NTC_UNIT_MERC);
if (_unit)
{
do
{
if (GetDistance(me, _unit) < 25) 
{
NTC_CastSkill(52, NTC_HAND_RIGHT, _unit);
}
} while (_unit.GetNext());
}
}
bin mir aber nicht sicher ob das so stimmt... entweder abwarten bis es jemand bestätigt oder Sicherheitskopie machen und testen.
08/30/2011 08:25 BadCharly#2274
Quote:
Originally Posted by pti123 View Post
Name vom leader falsch eingetragen?
// vor der Leechfight config weg gemacht?
Ich habe mir den bot gerade runtergeladen und nur in der ntbotlech accname,charname und pw geändert. In der Amabotdatei habe ich nur inventar, Charnamen und Tp "" gewechselt. Starte ich den Bot, verlässt er das Spiel nach 1-2 Sekunden. Name ist aber richtig...

Vlt. könnte einer von euch mal drüberschauen, wäre sehr nett...

edit: hab antürlich bot auch auf 2 gesetzt und Namen meines Chars beim Amabot angehangen
08/30/2011 08:38 pti123#2275
Code:
if(NTConfig_BotType == 2)
	{
		NTConfig_Leader = "BoA_Misery" // Name vom Leader-Char, Groß- und Kleinschreibung beachten!
		
		//##############################Diablo##############################
		[COLOR="red"]//[/COLOR]NTConfig_Script.push("NTDiabloLeechFight.ntj");
		
		//###############################Baal###############################
		[COLOR="Red"]//[/COLOR]NTConfig_Script.push("NTBaalLeechFight.ntj"); NTConfig_KillBaal = true;
		NTConfig_CoLeechTPMsg = ""; // Bei dieser Message vom Leader geht der Bot ins TP. Wenn er jederzeit rein gehen soll, leer lassen.
		
		//###############################Rest###############################
		NTConfig_NIPFilePath.push("leecher.nip"); // Leader hat seine eigene Pickit
		NTConfig_Leech = false; // Wenn der LeechFighter keine Enigma hat, aber trotzdem mitkämpfen soll, dann auf true stellen.
		NTConfig_JoinOnly = true; // Leecher joined nur Partys, macht aber selber keine auf
	}
wie ich schon geschrieben habe die // müssen weg... siehe oben im Quellcode rot makiert..
08/30/2011 10:44 BadCharly#2276
ohne das ich an weiteren Einstlelungen was ändere, hebt der bot automatisch Zauber und gute Items auf und legt sie auch wirklich in die Kiste? Muss die Kiste dann immer leer sein?

-> sollte ich vlt. die pickup von thebluebird benutzen, die soll glaube ganz gut sein, oder ist die von public bot for... schons ehr gut? (allgemein großes Lob an den Macher)

Der Bot leavt sehr schnell anchdem baal tot ist und hat manchmal zu wenig Zeit auch nur irgendwas aufzuheben, da der Leader so schnell leavt. Kann ich da noch nen Delay einstellen, dass er erst nach 20sec nachdem der leade rgegangen ist, auch das spiel verlässt?

Ist mein erster Bot :S

Danke sehr
08/30/2011 11:01 pti123#2277
Quote:
Originally Posted by BadCharly View Post
ohne das ich an weiteren Einstlelungen was ändere, hebt der bot automatisch Zauber und gute Items auf und legt sie auch wirklich in die Kiste? Muss die Kiste dann immer leer sein?
nein, Leer muss die truhe nicht sein, er füllt sie dann auf, bis sie voll ist.

Quote:
Originally Posted by BadCharly View Post
-> sollte ich vlt. die pickup von thebluebird benutzen, die soll glaube ganz gut sein, oder ist die von public bot for... schons ehr gut? (allgemein großes Lob an den Macher)
Die pickit von dem bot hebt nur wirklich das beste auf. Bei der Bluebird wird standardmäßig mehr aufgehoben, ist also deine Entscheidung was er aufhebt.

Quote:
Originally Posted by BadCharly View Post
Der Bot leavt sehr schnell anchdem baal tot ist und hat manchmal zu wenig Zeit auch nur irgendwas aufzuheben, da der Leader so schnell leavt. Kann ich da noch nen Delay einstellen, dass er erst nach 20sec nachdem der leade rgegangen ist, auch das spiel verlässt?
Lass doch einfach deinen Leader aufheben, dann ist das egal mit dem Delay
08/30/2011 11:21 BadCharly#2278
drei Fragen noch:

1. der bot versucht manchmal den raum zu clearen, geht ziemlich weit nach hinten und stößt im Thronsaal danna uf Gegner die er solo nicht schafft -> tod, kann man da was fixen?

2. [Only registered and activated users can see links. Click Here To Register...] -> bild ist verlinkt

3. wenn der bot wegen zu wenig life das Spiel verlässt, dann geht er nicht mehr automatisch in das gleiche bzw. in ein Folgespiel sondern gammelt in der lobby rum.
08/30/2011 12:03 pti123#2279
Quote:
Originally Posted by BadCharly View Post
drei Fragen noch:

1. der bot versucht manchmal den raum zu clearen, geht ziemlich weit nach hinten und stößt im Thronsaal danna uf Gegner die er solo nicht schafft -> tod, kann man da was fixen?
kann ich dir auch nicht sagen, denke das das schlecht hand zu haben ist, weil er ja den thronsaal clearen muss damit die waves kommen.

Quote:
Originally Posted by BadCharly View Post
2. [Only registered and activated users can see links. Click Here To Register...] -> bild ist verlinkt
hat deine ama ein eni an?

Quote:
Originally Posted by BadCharly View Post
3. wenn der bot wegen zu wenig life das Spiel verlässt, dann geht er nicht mehr automatisch in das gleiche bzw. in ein Folgespiel sondern gammelt in der lobby rum.
kannst du umstellen, das er selbes game wieder joined

in NTBotLeech.ntj

var JoinGameAgain = true; setzen.
08/30/2011 13:27 BadCharly#2280
Nein bisher keine Eni und Eni ist auch im Bot ausgeschaltet. Derzeit bleibt er sogar oft vor dem Weltseinportal stehen und geht nicht rein (da wo Baal immer drauf steht), man sieht zwar Worldstone Cammer aufblinken (den Namen), aber rein gehen tut er oft nicht.