Register for your free account! | Forgot your password?

You last visited: Today at 06:58

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

Advertisement



[Updated] D2NT Leechbot

Discussion on [Updated] D2NT Leechbot within the Diablo 2 Programming forum part of the Diablo 2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jul 2006
Posts: 469
Received Thanks: 235
[Updated] D2NT Leechbot

Ich bin mir nicht sicher, was der aktuelle Standard "Leechbot" ist, aber da ich den für Muddies ja eh grad geschrieben und veröffentlich hab, jetzt noch für alle die nicht Muddies verwenden.

Credits: An alle die was damit zu tun hatten, weiss leider nimmer wo die Scripte herkommen die ich als Vorlage genommen habe. Aber auf alle Fälle Danke!

Features:
- Automatische Erkennung ob 2 oder 3 Zeilen
- Kein /f l Spamm
- 1 EntryPoint deckt Leader und Leecher ab
- AutoMule[1], KeyChange etc. sollten damit funktionieren

[1] Muss natürlich im Bot enthalten sein

Einfach NTBot.ntj anpassen!

Variablen (zum selber definieren):
Code:
[COLOR="Green"]// Leech settings[/COLOR]
[B][I][COLOR="Navy"]var [/COLOR][/I][/B]LeaderAccountName = [COLOR="DimGray"]"DefaultAccount"[/COLOR];	[COLOR="Green"]// leader account name here[/COLOR]
[B][I][COLOR="Navy"]var [/COLOR][/I][/B]LeaderGamePW = [COLOR="DimGray"]"default"[/COLOR];			[COLOR="Green"]// The password used for the games you want to join[/COLOR]
[COLOR="Navy"][B][I]var [/I][/B][/COLOR]LeecherAccounts = [[COLOR="DimGray"]"DefaultAccount"[/COLOR]];	[COLOR="Green"]// List ALL accounts that use leechscript[/COLOR]
Der Teil gehört über das "// DONT EDIT ANYTHING BELOW THIS"

Variablen (vorgegeben)/Initialisierung:
Code:
[COLOR="Green"]// Set Leecher Settings[/COLOR]
[B][I][COLOR="Navy"]var [/COLOR][/I][/B]isLeecher = [I][B][COLOR="Navy"]false[/COLOR][/B][/I];
[B][I][COLOR="Navy"]for [/COLOR][/I][/B]([B][I][COLOR="Navy"]var [/COLOR][/I][/B]i = [COLOR="Red"]0[/COLOR]; i < LeecherAccounts.length; i++)
{
	[B][I][COLOR="Navy"]if [/COLOR][/I][/B](me.account == LeecherAccounts[i])
	{
		isLeecher = [B][I][COLOR="Navy"]true[/COLOR][/I][/B];
	}
}
[B][I][COLOR="Navy"]var [/COLOR][/I][/B]OldGame = [COLOR="DimGray"]''[/COLOR];
[I][COLOR="Navy"]var[/COLOR][/I] Check = [COLOR="Red"]1[/COLOR];
Der Teil gehört unter das "// DONT EDIT ANYTHING BELOW THIS" und vor die NTMain() Funktion

Und eine If .. else .. - Schleife (+ paar Variablen):
Code:
[B][I][COLOR="Navy"]case [/COLOR][/I][/B][COLOR="Red"]1[/COLOR]:  // Lobby
	[B][I][COLOR="Navy"]var [/COLOR][/I][/B]_Lines;
	[B][I][COLOR="Navy"]var [/COLOR][/I][/B]chat;
	[B][I][COLOR="Navy"]var [/COLOR][/I][/B]_Game = [COLOR="DimGray"]""[/COLOR];
	[B][I][COLOR="Navy"]var [/COLOR][/I][/B]_Errors = [COLOR="DimGray"]""[/COLOR];
	[B][I][COLOR="Navy"]var [/COLOR][/I][/B]_FoundLeader = [B][I][COLOR="Navy"]false[/COLOR][/I][/B];
	[B][I][COLOR="Navy"]var [/COLOR][/I][/B]_LineWithName = [COLOR="DimGray"]""[/COLOR];

	[B][I][COLOR="Navy"]if [/COLOR][/I][/B](isLeecher)
	{
		Delay([COLOR="Red"]1000[/COLOR]);
		[B][I][COLOR="Navy"]if [/COLOR][/I][/B](chat = controlData.get(controlData.controls.lobby.chat.textBox.channelText))
		{
			_Lines = chat.GetText();
			[B][I][COLOR="Navy"]if [/COLOR][/I][/B](_Lines.length > [COLOR="Red"]1[/COLOR])
			{
				[B][I][COLOR="Navy"]for [/COLOR][/I][/B]([B][I][COLOR="Navy"]var [/COLOR][/I][/B]_Friend = [COLOR="Red"]0[/COLOR]; _Friend < _Lines.length; _Friend++)
				{
					[B][I][COLOR="Navy"]if [/COLOR][/I][/B](_Lines[_Friend].indexOf(LeaderAccountName) > [COLOR="Red"]-1[/COLOR])
					{
						_Game = [COLOR="DimGray"]''[/COLOR];
						_FoundLeader = [B][I][COLOR="Navy"]true[/COLOR][/I][/B];
						[B][I][COLOR="Navy"]var [/COLOR][/I][/B]regOfflineEnglish=/^\d\s?:\s?(\w*)\s?,\s?offline\s*$/gi;

						[B][I][COLOR="Navy"]if [/COLOR][/I][/B](_Lines[_Friend].match(regOfflineEnglish))
						{
							_Errors += (_Errors == [COLOR="DimGray"]''[/COLOR] ? [COLOR="DimGray"]''[/COLOR] : [COLOR="DimGray"]' '[/COLOR]) + [COLOR="DimGray"]'leader is offline'[/COLOR];
							Delay([COLOR="Red"]5000[/COLOR]);
							[B][I][COLOR="Navy"]break[/COLOR][/I][/B];
						}

						_LineWithName = _Lines[_Friend + [COLOR="Red"]2[/COLOR]];
						[B][I][COLOR="Navy"]if [/COLOR][/I][/B](_LineWithName === undefined)
							_LineWithName = _Lines[_Friend + [COLOR="Red"]1[/COLOR]];

						[B][I][COLOR="Navy"]if [/COLOR][/I][/B](_LineWithName !== undefined)
							_LineWithName = _LineWithName.replace(/^\s+/,[COLOR="DimGray"]""[/COLOR]);
						[B][I][COLOR="Navy"]else[/COLOR][/I][/B]
							[B][I][COLOR="Navy"]break[/COLOR][/I][/B];

						[B][I][COLOR="Navy"]if [/COLOR][/I][/B](_LineWithName.indexOf([COLOR="DimGray"]'called'[/COLOR]) > [COLOR="Red"]-1[/COLOR])
							_Game = _LineWithName.substring(_LineWithName.indexOf([COLOR="DimGray"]'called'[/COLOR])+[COLOR="Red"]7[/COLOR],_LineWithName.indexOf([COLOR="DimGray"]'.'[/COLOR]));
						[B][I][COLOR="Navy"]else[/COLOR][/I][/B]
							_Game = _LineWithName.substring([COLOR="Red"]0[/COLOR],_LineWithName.indexOf([COLOR="DimGray"]'.'[/COLOR]));
							
						_LineWithName = [COLOR="DimGray"]''[/COLOR];

						[B][I][COLOR="Navy"]if [/COLOR][/I][/B](_Game != [COLOR="DimGray"]''[/COLOR] && _Game != OldGame)
						{
							controlData.click(controlData.controls.lobby.button.join);
							Delay([COLOR="Red"]200[/COLOR]);
							controlData.setText(controlData.controls.lobby.join.editBox.gameName, _Game);
							Delay ([COLOR="Red"]200[/COLOR]);
							controlData.setText(controlData.controls.lobby.join.editBox.password, LeaderGamePW);
							Delay ([COLOR="Red"]1234[/COLOR]);
							controlData.click(controlData.controls.lobby.join.button.joinGame);
							Check = [COLOR="Red"]1[/COLOR];
						}
						[B][I][COLOR="Navy"]else[/COLOR][/I][/B]
						{
							[B][I][COLOR="Navy"]if [/COLOR][/I][/B](!_Errors)
								_Errors = [COLOR="DimGray"]'leader is not in game.'[/COLOR];
						}
					}
				}
			}
			[B][I][COLOR="Navy"]if [/COLOR][/I][/B](!_FoundLeader && joinChannelInChat)
			{
				[B][I][COLOR="Navy"]if [/COLOR][/I][/B](_Errors)
					Say([COLOR="DimGray"]'Errors : '[/COLOR] + _Errors);
				[B][I][COLOR="Navy"]else[/COLOR][/I][/B]
					Delay([COLOR="Red"]15000[/COLOR]);
			}
		}
		[B][I][COLOR="Navy"]else[/COLOR][/I][/B]
		{
			Delay([COLOR="Red"]1500[/COLOR]);
		}
		_Errors = [COLOR="DimGray"]''[/COLOR];
		[B][I][COLOR="Navy"]if [/COLOR][/I][/B](_Game != [COLOR="DimGray"]''[/COLOR])
			OldGame = _Game;
		[B][I][COLOR="Navy"]break[/COLOR][/I][/B];
	}
	[B][I][COLOR="Navy"]else[/COLOR][/I][/B]
	{
	[COLOR="DarkGreen"]// der original Code kommt hier hin
	// das ist alles* zwischen "case 1: //Lobby" und dem "break;" am Ende[/COLOR]
	}
	[B][I][COLOR="Navy"]break[/COLOR][/I][/B];
Das ist der einzige etwas kompliziertere Teil, ihr müsst eure locationAction(location) oder wie die bei euch heisst finden und da den "case 1: // Lobby" finden und anpassen. Sprich den original Code ausschneiden und im "else" einfügen (da wo der Kommentar ist).

Wenn ihr wollt dass eure Leecher einen Channel betreten, dann müsst ihr nicht ganz alles ins "else" kopieren sondern einen kleinen Teil vor das "if".

*Den Teil hier (oder ähnlich je nach Version) könnt ihr direkt nach das "case 1: // Lobby" kopieren, wenn der Leecher den Channel auch joinen soll (ist aber nicht nötig).
Code:
	[B][I][COLOR="Navy"]if [/COLOR][/I][/B](location.id == [COLOR="Red"]1[/COLOR] && joinChatAfterLogin)
	{
		Delay(Random(waitBeforeEnterChatMin, waitBeforeEnterChatMax));
		controlData.click(controlData.controls.lobby.button.enterChat);
		[B][I][COLOR="Navy"]break[/COLOR][/I][/B];
	}
Hab das Mal für den standard D2NT gemacht, zwar nicht getestet aber ich bin zuversichtlich

Achtung!: Ihr müsst uU folgende 2 Variablen anpassen:
controlData
joinChatAfterLogin

Die sind z.B. bei Muddy anders geschrieben. Schaut also kurz wie die bei eurer Version heissen, sollte aber eigentlich meistens korrekt sein.


edit: (Sop nun sollte auch in belebten Chats alles klappen )
Das PW für die NTBot.ntj für Muddy V1.2 (ohne AutoMule!) ist muddy
Attached Files
File Type: rar Muddy_V2.1_NTBot.rar (6.6 KB, 98 views)
File Type: rar NTBot.rar (4.4 KB, 81 views)
File Type: rar MuddyLeechScripts_untested.rar (9.0 KB, 148 views)
ldevil is offline  
Thanks
8 Users
Old 04/30/2011, 16:22   #2
 
elite*gold: 0
Join Date: Jan 2011
Posts: 60
Received Thanks: 19
Beim Muddys Bot heißt der Code dann:
Code:
		if(location.id == 1 && JoinChatAfterLogin)
		{
			Delay(Random(WaitBeforeEnterChatMin, WaitBeforeEnterChatMax));
			ControlData.click(ControlData.controls.lobby.button.enterChat);
			break;
		}
und wie genau soll das funktionieren? Bei mir tut sich nichts! Der Leader macht seinen Run ganz normal und der Leecher loggt ein, joint channel (publich nicht den von mir angegebenen?), wartet ein wenig und dann restartet er (Location Loop Restart)

habe noch hinzugefügt:
Code:
				Delay(500);
				
				Say("/join " + (JoinRandomChannel ? _randomChannel : JoinChannelInChat));
				JoinedChannel = true;
damit er meinen benannten channel joint. aber wie geht es von hier aus weiter? warum joint er keine spiele vom leader char?
Eichenlaub is offline  
Old 04/30/2011, 17:46   #3
 
elite*gold: 0
Join Date: Jul 2006
Posts: 469
Received Thanks: 235
Bei Muddy musste noch etwas mehr anpassen



Da hab ich das erklärt. Und da ist auch der Code komplett auf Muddies angepast. Hast du den Leecher auch in die "ChannelUsers" eigetragen?

Code:
ChannelUsers.push("Acc oder Charname");
ldevil is offline  
Old 04/30/2011, 21:49   #4
 
elite*gold: 0
Join Date: Aug 2009
Posts: 435
Received Thanks: 159
hmm hab Muddy's und auch die Funktionen, etc, aus dem entsprechenden Forum, aber er macht bei mir gar nix, also der leecher
sind beide im selben Channel...

hab mir mal selber ein paar Statustext-Anzeigen eingebaut, um zu wissen, wo er jetzt ist, und er erkennt das er leecher ist und wartet auch brav auf die Frienmessage, aber irgendiwe erkennt er sie anscheinend, nicht, jedenfalls wartet er auch nachdem die entsprechende Message kam immernoch darauf
DeathFromHeaven is offline  
Thanks
1 User
Old 05/01/2011, 00:11   #5
 
elite*gold: 0
Join Date: Jul 2006
Posts: 469
Received Thanks: 235
Ich hab ne Idee an was es liegt, evtl. hab ich vom Auto Mule her ne Funktion schon drin die ihr auch braucht... ich muss das wohl Mal mit dem Original Muddies testen

omg, was ein bescheuerter Fehler...

Da hat's ein paar "else;" das muss natürlich nur "else" sein,... hab wohl das Replace für Syntaxhighlight vergeigt.


edit: Sop ist getestet, ohne die doofen "else;" geht's... da will man's schön anschaulich machen und dann baut man sowas ein -.-
ldevil is offline  
Old 05/01/2011, 00:17   #6
 
elite*gold: 0
Join Date: Aug 2009
Posts: 435
Received Thanks: 159
XD aber ich hab ja dein Automulee auch drin, wahrscheinlich nicht das, was du jetzt hast, aber die Version die du mir mal geschickt hast, falls es dir hilft :P
DeathFromHeaven is offline  
Old 05/01/2011, 00:50   #7
 
elite*gold: 0
Join Date: Jul 2006
Posts: 469
Received Thanks: 235
Quote:
Originally Posted by DeathFromHeaven View Post
XD aber ich hab ja dein Automulee auch drin, wahrscheinlich nicht das, was du jetzt hast, aber die Version die du mir mal geschickt hast, falls es dir hilft :P
Ok, hab deinen Post nicht gesehen, aber ist jetzt gefixt. Einfach nochmal den "case 1: // Lobby" kopieren.

Jetzt muss ich nur noch rausfinden wie ich den Gamename hinbekomm wenn er über 2 Zeilen geht aber solange du keinen Abstand im Namen verwendest geht's richtig gut.
ldevil is offline  
Old 05/01/2011, 10:08   #8
 
elite*gold: 0
Join Date: Jan 2011
Posts: 60
Received Thanks: 19
so script funktioniert nun richtig - danke

Jetzt noch einmal eine dumme Frage von mir: was genau kann ich nun damit anstellen? Lasse meinen Leader seinen Run ganz normal machen und der Leecher das NTFollow.ntj script. Aber TPs werden trotzdem nicht aufgemacht??
Eichenlaub is offline  
Old 05/01/2011, 12:23   #9
 
elite*gold: 0
Join Date: Mar 2008
Posts: 308
Received Thanks: 29
kannst du bitte das sofort da mit rein basteln ^^
"AutoMule mit Muddies D2NT "
Snake1972 is offline  
Old 05/01/2011, 12:59   #10
 
elite*gold: 0
Join Date: Dec 2010
Posts: 89
Received Thanks: 14
Quote:
Originally Posted by Eichenlaub View Post
so script funktioniert nun richtig - danke

Jetzt noch einmal eine dumme Frage von mir: was genau kann ich nun damit anstellen? Lasse meinen Leader seinen Run ganz normal machen und der Leecher das NTFollow.ntj script. Aber TPs werden trotzdem nicht aufgemacht??
Du musst in der Config vom leader auch public mode auf true setzen sonst macht er keine tps auf!
Jatu88 is offline  
Old 05/01/2011, 14:21   #11
 
elite*gold: 0
Join Date: Jul 2006
Posts: 469
Received Thanks: 235
Quote:
Originally Posted by Snake1972 View Post
kannst du bitte das sofort da mit rein basteln ^^
"AutoMule mit Muddies D2NT "
Ja das wird dann im nächsten Release dabei sein, muss nur Zeit finden... hat auch noch paar andere kleine Anpassungen, v.a. hab ich versucht alles unnötige raus zu löschen damit's übersichtlich wird.

Quote:
Originally Posted by Jatu88 View Post
Du musst in der Config vom leader auch public mode auf true setzen sonst macht er keine tps auf!
Genau. Halt einfach dafür, dass du nur noch einen Entry Point hast und der unterstützt nun auch Leecher. Solls einfach schöner und einfacher machen
ldevil is offline  
Thanks
1 User
Old 05/01/2011, 17:24   #12
 
elite*gold: 0
Join Date: Jan 2011
Posts: 60
Received Thanks: 19
Quote:
Originally Posted by Jatu88 View Post
Du musst in der Config vom leader auch public mode auf true setzen sonst macht er keine tps auf!
PublicMode auf true habe ich schon probiert - trotzdem tut sich nichts...

Leader macht seine Runs (Sorc mit Tele) und mein Leecher (Paladin) kommt ihr eh nicht hinterher. Einzig die Chance auf NoDrop wird dadurch verringert...

Eventuell muss ich warten bis ich ne Enigma fertig habe??
Eichenlaub is offline  
Old 05/01/2011, 18:25   #13
 
elite*gold: 0
Join Date: Jul 2006
Posts: 469
Received Thanks: 235
Quote:
Originally Posted by Eichenlaub View Post
PublicMode auf true habe ich schon probiert - trotzdem tut sich nichts...

Leader macht seine Runs (Sorc mit Tele) und mein Leecher (Paladin) kommt ihr eh nicht hinterher. Einzig die Chance auf NoDrop wird dadurch verringert...

Eventuell muss ich warten bis ich ne Enigma fertig habe??
Du musst natürlich schon Scripte machen, die für das ausgelegt sind was glaub ich ohne Modifikation nur Dia und Baal sind. Den Leecher solltest du dann mit Dia / Baal Leech-Fight Script laufen lassen. Ansonsten musst du "von Hand" jeweils vor dem Boss ein TP machen. Dazu diese Zeilen in die Bot Scripte einfügen:
Code:
NTM_MakeTP();
Say("COMMAND FÜR FOLLOW BOT");
Wobei du natürlich das passende Kommando für den Follow Bot brauchst. Und wohl jeweils noch am Anfang von jedem Script ein Say("wait") oder was das command bei dir ist, damit der Followbot nicht versucht mit zu laufen

Das was du willst, hat allerdings mehr mit den Scripts an sich zu tun als mit dem EntryPoint. (Evtl. verwirrt da der Titel etwas )
ldevil is offline  
Old 05/02/2011, 12:45   #14
 
elite*gold: 0
Join Date: Jan 2011
Posts: 60
Received Thanks: 19
Achso, ja das klingt einleuchtend

Dann werde ich noch ein wenig die scripte aufpeppeln. Wird denn auch mein Leader auf den Leecher warten?
Eichenlaub is offline  
Old 05/02/2011, 15:06   #15
 
elite*gold: 0
Join Date: Jul 2006
Posts: 469
Received Thanks: 235
Quote:
Originally Posted by Eichenlaub View Post
Achso, ja das klingt einleuchtend

Dann werde ich noch ein wenig die scripte aufpeppeln. Wird denn auch mein Leader auf den Leecher warten?
Du könntest es natürlich so schrieben, dass er das macht, nur wäre das extrem kompliziert und wohl kaum den Aufwand wert. Oder du baust einfach ein kurzes Delay nach dem Portal-Cast ein (müsstest halt testen wie lange das in etwa sein muss).
ldevil is offline  
Reply


Similar Threads Similar Threads
d2nt bot v3.1 leechbot help
07/29/2010 - Diablo 2 - 6 Replies
kann mir jmd eine genaue Anleitung geben irwie bleibt mein leecher immer im channel sitzen und postet sooft die f list bis ich realm down hab ^^. ...ja ich sollte in den bot topic posten aber bitte... bei 314 Seiten durchlesen ne? :D also pls
D2NT Leechbot Frage
06/13/2010 - Diablo 2 - 2 Replies
Moin alle zusammen. Da ich kein Topic auf anhieb gefunden habe schreibe ich mal hier, ansonsten bitte ich um Entschuldigung. Ich versuche den Leechbot beim D2NT zu konfigurieren, allerdings fliegt alle Nase lang immer ein Char raus aufgrund von Timeout. Das nächste Problem welches sich manchmal stellt ist das, das er mir schreibt Error: Cant find Enemy oder sowas in der Art.
Problem mit dem D2NT Leechbot
06/10/2010 - Diablo 2 - 2 Replies
der funktioniert ja einwandfrei und ich weiß nich ob das so geplant is aber bei baal und sein waves macht er immer wieder town geht tron dann wieder town und immer so weiter!
leechbot bb v1.1 d2nt
06/09/2010 - Diablo 2 - 2 Replies
hi ich habe das problem er nimmt bei mir das tp net und wenn er es nimmt dann geht er runter und leave dann das game! oda er wartet nur 20 sek auf tp dann leavt er-.- kA hilfe bitte =) ihr seit klasse
D2NT-Bot + leechbot ?
05/31/2010 - Diablo 2 - 12 Replies
Hey! Gibt es eine Möglichkeit D2NT-Bot und leechbot gleichzeitig zu benutzen? Leechbot läuft unter redvex, D2NT nicht. Wenn jmd. weiß wie, wäre ich über eine schnelle Antwort sehr dankbar. MfG



All times are GMT +2. The time now is 06:58.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.