Aller au contenu


Photo

[D2Nt] Baalruns Plus Sûrs - 2 Bot Inside


  • Veuillez vous connecter pour répondre
5 réponses à ce sujet

#1 darkness-stone

darkness-stone

    Fragger Pro

  • Membres
  • 1215 messages
  • Location :Dans un coin sombre, attendant sagement la mort.
  • Hobbies :Rien foutre, tout critiquer et me plaindre ensuite.

Posté 01 December 2010 - 00:42

Avé bande de moule,


Je vais être assez simple :). Pour une rapide présentation, voilà ce que je vais vous faire installer (ou pas) :
- un système de leechbot
- un leechbot qui aide le bot principal
- le tout avec un leech bot qui sait parler
- et qui tele avec le bot principal pour l'aider à nettoyer.
- Activation ou non des TPs
- Activation ou non du BO avant Baal

Pour plus de confort, je vous invite à vous procurer ces différents logiciels si vous ne les avez pas déjà :
- Un éditeur de texte. Je vous recommande le notepad++
- Un logiciel de décompression comme Winrar ou encore 7zip
- Le bot en question D2NT 3.1 et NTBot 4.2 (vous trouverez comment installer ce bot, sur un de mes thread [Tuto]Followbot Pour D2Nt 3.0/1)
I. Installation du système du leechbot.

Je ne vais pas redétailler son installation. Vous trouverez comme vous y prendre sur un de mes anciens thread :) :
- [Tuto]FollowBot pour D2Nt 3.0/1
A ceci près, c'est que vous ne fais rien en ce qui concerne les scripts de leechfight de Diablo et Baal, vous faites uniquement ce qui vient après ;) !

Bref, une fois ceci fait, on passe à la suite.

II. Multi-bot
Une fois le système de leechbot installé, rendez-vous dans le dossier suivant :
"...D2NT\scripts\NTBot\bots"
Et on copies/colles le fichier "NTBaal.ntj" dans le même dossier. =)

Selon les OS, le renommage du fichier se fera différement, mais on le renomme de la manière suivante (ou autre, il faut juste un nom différent, et le nom du fichier n'influe en rien sur la suite, vous n'êtes pas obligé de prendre le même que le mien) :
"NTFollowBaal.ntj" (<= n'oubliez surtout pas le .ntj à la fin, c'est impératif et obligatoire (redondance powaa))



N'oubliez pas, bien sûr d'ajouter la ligne de ce nouveau script dans la liste des boss possibles :

NTConfig_Script.push("NTFollowBaal.ntj"); NTConfig_KillBaal = true;

Voilà voilà, ça se met en place petit à petit.

III. Configuration du script NTFollowBaal.ntj


Je vais copier l'intégralité du script ORIGINAL de baal et mettre après des "(==" les endroits où des modifications sont possibles. Vous les verrez facilement car elles seront rouge/rouge bordeaux.

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

	var i;
	var _wave;
	var _starttick;

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

	NTA_Initialize();

   //NTC_PingDelay(3000); //(== Permet à votre leecher d'attendre un certain temps avant de 
   //démarrer et de ce rendre au WP pour tele. La valeur est en millisecondes. 1000ms = 1sec. Keep-it in mind. Cette astuce peut vous permettre 
   //de régler le temps de décalage subit par le main bot lors de l'achat de popo par exemple. //

	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(129))
	{
		NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
		return;
	}

	NTP_DoPrecast(true);

	for(i = 0 ; i < 2 ; i++)
	{
		if(!NTM_MoveToStair(me.areaid, 130+i))
		{
			NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveToStair()");
			return;
		}

		if(!NTM_TakeStair(130+i))
		{
			NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeStair()");
			return;
		}
	}

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

	NTA_ClearPosition(20, true, 2);

	if(NTConfig_PublicMode)
	{
		NTM_MoveTo(me.areaid, 15116, 5068);

		NTC_PingDelay(1000); //(== Mettre un "//" devant permet d'annuler le temps que met le bot pour 
    	//"examiner" la zone, directement en relation avec la requête qui suit

		NTA_ClearPosition(20, true, 2); // (== Mettre un "//" devant permet d'ignorer le nettoyage de la zone qui 
   	//entoure le premier TP, et donc, de parler plus vite. Ces deux astuces sont valables pour le main bot 
   	//et le leecher. Notez qu'annuler le nettoyage sur le leecher  permet d'être plus efficace, pendant qu'un parle, l'autre nettoie =) //

		NTM_MoveTo(me.areaid, 15116, 5068);

		NTM_MakeTP(); //(== Mettre un "//" devant permet de désactiver la création d'un TP, à faire sur votre leechbot (je vous le conseille en tout cas) //
		Say("TP up, Be careful!"); // (== Changez la phrase entre parenthèse change l'annonce du bot. Attention, si vous 
    	//souhaitez citez quelque chose, ou le mettre en valeur, utilisez la simple quote -'- et non la double quote -"-, car cette 
   	//dernière referme la phrase, attention donc ! //
	}

	NT_ClearThroneInt();

	if(NTConfig_PublicMode)
	{
		NTM_MoveTo(me.areaid, 15112, 5004, 1, true); //(== changer les coordonnées pour faire le TP ou se mettre à un 
   	//spot et dire un truc est possible. Pour que le leech bot se mette par exemple au milieu de la salle après le cleanage 
   	//au lieu d'aller dans le coin =)//
   	// les coordonées du milieu du trône sont les suivantes : 15092, 5028. Mettez-les à la place des autres. Ne touchez pas le "1, true". //
		NTM_MakeTP(); //(== Annule ou non la pose d'un TP //
		Say("TP is safe!"); //(== même chose. //
	}

	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, 15092, 5040);

		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, 1);
			NTP_DoPrecast(true);
			break;
		case 3:
			NTA_ClearPosition(40, true, 2);
			NT_CheckHydraInt();
			break;
		case 4:
			NTA_ClearPosition(40, true, 2);
			break;
		case 5:
			NTA_ClearPosition(40, true);
			break;
		default:
			NTA_ClearPosition(40, true, 1);
			break;
		}

		if(_wave == 5)
			break;
	}

	if(NTConfig_KillBaal)
	{
		var _portal;

		if(NTConfig_PublicMode)
			Say("Killing Baal"); //(== Idem

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

		NTM_MoveTo(me.areaid, 15092, 5010);

		NTP_DoPrecast(true); //(== Mettre un "//" annule le BO avant Baal. Ca peut-être utile de le faire dans le cas ou 
    	//le main bot le fait déjà =) //

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

		_portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 1);

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

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

		NTM_MoveTo(me.areaid, 15138, 5916);

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

		NTSI_PickItems();
	}

	if(NTConfig_PublicMode)
		Say("Next game"); //(== can be changed //

	NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}
// ON NE TOUCHE PAS A CE QU'IL Y A EN DESSOUS !

// Internal function
function NT_ClearThroneInt()
{
	var _attackpos = [15112, 5068, 15075, 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(25, 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], 2, 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, 15112, 5004);

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

		NTC_PingDelay(3000);
	}
}


  • Euclide_, faramir, lithium et 3 autres aiment ceci


Nous ne sommes que rêves et souvenirs, Hors de la trame des Songes,Hérauts fétides de la morbidité qui nous ronge,Nous sommes les Prophètes d'un sombre avenir,Quand les Abysses se soulèveront, Viendra alors le sifflement des Serpents,Nul ne mettra en doute notre avènement,Votre foi deviendra votre malédiction.Quand chanteront les Grands Vers, l'Hymne de la Destruction, alors nous serons.Mes guides :FAQ : %5BFaq%5D D2Nt 3.0 Et 3.1Template : Paladin Avenger 1.12 | Sorcière pure Foudre 1.12Tuto bot :Tuto - D2NT 1.7.2 : 1.0x-1.12 | Tuto D2NT 3.0/1: 1.13 | LeechBot pour D2NT 3.0/1 | D2NT - Baalruns plus sûrs | D2NT - Leech no fightExtension D2NT : D2NT - Extension Map Scripts | D2NT - Extension Classes ScriptsTravaux en cours : D2NT 3.0/1 - Pick-list tutoriel ; D2NT 3.0/1 - Traduction d'installation de nouveaux scripts

#2 Euclide_

Euclide_

    YOOOOOOOOOOO

  • Admin Gms
  • 8923 messages
  • Location :France
  • Trade : Mediator

Posté 01 December 2010 - 12:19

Merci pour le guide. Je le déplace dans assistance bot.
  • faramir aime ceci

#3 darkness-stone

darkness-stone

    Fragger Pro

  • Membres
  • 1215 messages
  • Location :Dans un coin sombre, attendant sagement la mort.
  • Hobbies :Rien foutre, tout critiquer et me plaindre ensuite.

Posté 28 January 2011 - 10:20

bump



Nous ne sommes que rêves et souvenirs, Hors de la trame des Songes,Hérauts fétides de la morbidité qui nous ronge,Nous sommes les Prophètes d'un sombre avenir,Quand les Abysses se soulèveront, Viendra alors le sifflement des Serpents,Nul ne mettra en doute notre avènement,Votre foi deviendra votre malédiction.Quand chanteront les Grands Vers, l'Hymne de la Destruction, alors nous serons.Mes guides :FAQ : %5BFaq%5D D2Nt 3.0 Et 3.1Template : Paladin Avenger 1.12 | Sorcière pure Foudre 1.12Tuto bot :Tuto - D2NT 1.7.2 : 1.0x-1.12 | Tuto D2NT 3.0/1: 1.13 | LeechBot pour D2NT 3.0/1 | D2NT - Baalruns plus sûrs | D2NT - Leech no fightExtension D2NT : D2NT - Extension Map Scripts | D2NT - Extension Classes ScriptsTravaux en cours : D2NT 3.0/1 - Pick-list tutoriel ; D2NT 3.0/1 - Traduction d'installation de nouveaux scripts

#4 trabz

trabz

    Newbie lvl 3

  • Membres
  • 22 messages

Posté 08 March 2011 - 00:07

Merci pour ce topic encore très intéressant mais je rencontre encore et toujours des problèmes au niveau du followbot/leechbot (D2NT normal marche niquel pour mes 2 persos séparément)

En gros voici mon problème: mon perso leecher se met dans un canal mais ne suit pas le leader lorsqu'il cree une partie...

Note:- j'ai respecté a la majuscule pres les noms de compte/perso du leader parfaitement
- mes deux persos sont sur des comptes differents et chacun dans leur friend list respective

Voila j'ai beau chercher je suis a sec...

#5 ezzia

ezzia

    Newbie lvl 2

  • Membres
  • 8 messages

Posté 30 June 2011 - 16:20

Je suis pas familiarisé avec notepad++, y a-t-il une façon de copier coller sur notepad++ sans que tout aille sur la première ligne?

#6 Snayke

Snayke

    Débutant lvl 2

  • Bannis
  • 52 messages

Posté 16 August 2011 - 16:59

Bonjour, alors moi ça fonctionne boff boff.. Le leach suit pas.. attendez je vais essayé un truc.. Enfaite car moi je suis sur deux pc different. et deux compte aussi
mais bon..


Re bonsoir, je vient de réussir enfin presque, mais je me suis mis sur Etal. Mais le bot fonctionne
Mais mon Leech me suit juste a la partie et ensuite il fait plus rien.. il continue pas a suivre mon bot.
Comment faire s'il vous plait.??

Merci de me répondre et bonne soirée.. commence a se faire tard
Image IPB