Code-Sammlung für automatisierten Dupe mit Kolbot

06/29/2014 13:11 Aramox#1
Voraussetzung:
- aktueller Kolbot: [Only registered and activated users can see links. Click Here To Register...]
- D2BS Core rev1840 (alten überschreiben!): [Only registered and activated users can see links. Click Here To Register...]
- ein anständiger Texteditor (Notepad++): [Only registered and activated users can see links. Click Here To Register...]
- in /d2bs/kolbot/tools/ eine datei names PacketBlocking.js erstellen mit diesem Inhalt:
Code:
function main() {
	print("PacketBlocking loaded."); 
	addEventListener("gamepacketsent", EventHandler);
	while(1)
		delay(100);
}

function EventHandler(packet) {
	if (packet[0] == 0x30) {
		print("Blocking: " + packet[0]); 
		return true; 
	} 
	else
		return false;
}

Allgemeine Tipps:
- Deaktiviert das automatische Inventar-Aufräumen (und das Picken bei Bedarf) in der default.dbj (Zeile 147), damit eure Sachen aus dem Inventar nicht gedroppt werden (der Bot behält sonst nur was in der Pickit ist)
- Alternativ einfach das ganze Inventar in der Charconfig "verschließen"
Code:
if (!Scripts.UserAddon && !Scripts.Test) {
	Town.getCorpse();
	Town.clearBelt();
	//Town.clearInventory();
	Pickit.pickItems();
}

Packet 0x30 blockieren:
Code:
load("tools/PacketBlocking.js");

Jerhyn ansprechen:
Code:
getUnit(1, 201).interact();

Check ob der Dialog offen ist:
Code:
getUIFlag(0x08)

Mit Wegpunkt interagieren:
Code:
var _waypoint = getUnit(2, "waypoint");
sendPacket(1, 0x49, 4, _waypoint.gid, 4, 0);

Spieler anhandeln (beim Duper):
Code:
getUnit(0, "spielername").interact();

Handel akzeptieren (beim Trader):
Code:
tradeOk();

Allgemeine Tradeflags zum checken:
Code:
acceptTrade(2) == 0   // kein Tradescreen, kein Dialog
acceptTrade(2) == 1   // ich habe Trade angefordert (Dialog "cancel")
acceptTrade(2) == 2   // der andere hat Trade angefordert (Dialog "ok/cancel")
acceptTrade(2) == 3   // im Tradescreen (kein Button grün)

Mit dem Duper aus dem Tradescreen gehen (0x77):
Code:
getPacket(1, 0x77, 1, 0x0C);

Act 2 Town Layout herausfinden (ob Ausgang links oder rechts):
Code:
this.Layout = function () {
	var _layout;
	if(me.area != 40)
		return false;
	if(getArea().exits[3].y == 5059)
		_layout = 1;   // exit left
	else
		if(getArea().exits[3].x == 5094)
			_layout = 2;   // exit right
	if(!_layout)
		return false;
	return _layout;
};

Items aus Inventar/Stash droppen:
Code:
this.DropItems = function (container) {
	if(!container || (container != 3 && container != 7))
		return false;
	if(container == 7 && !getUIFlag(0x19)) {
		Town.move("stash");
		var _stash = getUnit(2, 267)
		if(!_stash || getDistance(me, _stash) > 15)
			return false;
		if(me.getSkill(43, 0))
			Skill.cast(43, 0, _stash);
		else
			Misc.click(0, 0, _stash);
		var _tick = getTickCount();
		while(getTickCount() - _tick < 1000) {
			if(getUIFlag(0x19)) {
				delay(200 + me.ping);
				break;
			}
			delay(100);
		}
		if(!getUIFlag(0x19))
			return false;
	}
	var _dropitems = me.findItems(-1, 0, container);
	for(var i = 0; i < _dropitems.length; i += 1)
		Packet.dropItem(_dropitems[i]);
	_dropitems = me.findItems(-1, 0, container);   // check for failed drops
	if(_dropitems.length > 0) {
		for(var i = 0; i < _dropitems.length; i += 1)
			Packet.dropItem(_dropitems[i]);
	}
	return true;
};

Usage:
this.DropItems(3);   // droppt alles aus dem Inventar
this.DropItems(7);   // droppt alles aus dem Stash

Trade schließen (beim Trader):
Code:
me.cancel();
06/29/2014 19:01 ZoDIkarus#2
und wie soll das jetzt genau funktionieren mit den ganzen einzelnen codes ?

alle einfach in 1 packen oder was?
06/29/2014 19:22 Aramox#3
nein, das hier ist lediglich der baukasten mit den relevanten zusatzfunktionen. ein vollständiges script müsst ihr selbstverständlich selber erstellen.
06/29/2014 19:26 wessi86#4
Quote:
Originally Posted by ZoDIkarus View Post
und wie soll das jetzt genau funktionieren mit den ganzen einzelnen codes ?

alle einfach in 1 packen oder was?
Natürlich nicht. Du brauchst 3 verschiedene Skripte, einen für den Spieleröffner, einen für den Trader und einen für den Dupenden.
Prinzipiell musst du nur das umsetzen, was bei bot-area in der Anleitung steht. Ein bisschen programmieren solltest du aber schon können.
Ich hab's jedenfalls geschafft :)
06/29/2014 20:15 using11#5
Quote:
Originally Posted by wessi86 View Post
Natürlich nicht. Du brauchst 3 verschiedene Skripte, einen für den Spieleröffner, einen für den Trader und einen für den Dupenden.
Prinzipiell musst du nur das umsetzen, was bei bot-area in der Anleitung steht. Ein bisschen programmieren solltest du aber schon können.
Ich hab's jedenfalls geschafft :)
das geht auch in 1 script sowie meins :)

@ thread da fehlt aber noch zimlich viel :D
06/29/2014 20:19 wessi86#6
Quote:
Originally Posted by using11 View Post
das geht auch in 1 script sowie meins :)

@ thread da fehlt aber noch zimlich viel :D
Ja, kann man auch in einem machen, ist mir aber zu unübersichtlich. Und zum dupen ist alles Nötige im Thread erwähnt, da fehlt nichts.
06/29/2014 20:23 using11#7
Quote:
Originally Posted by wessi86 View Post
Ja, kann man auch in einem machen, ist mir aber zu unübersichtlich. Und zum dupen ist alles Nötige im Thread erwähnt, da fehlt nichts.
aber wieviele items dupt ihr damit?
btw nur immer char? und mulen selbst?
06/29/2014 21:04 Northern Light#8
Quote:
Originally Posted by using11 View Post
das geht auch in 1 script sowie meins :)

@ thread da fehlt aber noch zimlich viel :D
dann zeig uns doch mal dein script ;=)

von sowas lebt das forum ja schließlich ;)
06/29/2014 23:10 using11#9
Quote:
Originally Posted by Northern Light View Post
dann zeig uns doch mal dein script ;=)

von sowas lebt das forum ja schließlich ;)
da mach ich mir ja konkurenz weil ich kann soviele games wie ich will gleichzeitig starten :)

here mal screen
[Only registered and activated users can see links. Click Here To Register...]
06/30/2014 00:08 wessi86#10
Quote:
Originally Posted by using11 View Post
da mach ich mir ja konkurenz weil ich kann soviele games wie ich will gleichzeitig starten :)
Ich weiß jetzt nicht, wo die Schwierigkeit liegen sollte, Automule im Kolbot anzustellen... :confused:
06/30/2014 00:09 using11#11
Quote:
Originally Posted by wessi86 View Post
Ich weiß jetzt nicht, wo die Schwierigkeit liegen sollte, Automule im Kolbot anzustellen... :confused:
mein automule erstellt game und nimmt items auf, roll oder cubed ye nachdem was ich will und grad dupe ;)

man muss die ganze automule.js umschreiben dafür
06/30/2014 00:22 wessi86#12
Quote:
Originally Posted by using11 View Post
mein automule erstellt game und nimmt items auf, roll oder cubed ye nachdem was ich will und grad dupe ;)

man muss die ganze automule.js umschreiben dafür
Fürs Cuben/Mulen gibt tausend Ansätze und Möglichkeiten und keine davon ist "die Richtige". Das hier ist ein Baukasten und als solcher deklariert, keine Komplettlösung. Jeder kann sich daraus basteln was er möchte. Hier fehlt nichts.
06/30/2014 01:26 Aramox#13
@using11: ich weiß nicht, wo dein problem liegt. jeder nutzt den dupe anders, daher kann es keine lösung für alle geben. desweiteren wird auch so früh keiner sein script rausrücken, weil er sonst sich selbst konkurrenz schafft (wie du schon sagtest).
für den dupemechanismus an sich gibt es hier ALLE nötigen commands (zusätzlich zu den normalen commands, die man auch für MF bots nutzt).

ach ja, wo wir grade beim schwanzvergleichen sind, hier mal meine classic cubebots:

[Only registered and activated users can see links. Click Here To Register...]
06/30/2014 01:49 using11#14
Quote:
Originally Posted by Aramox View Post
@using11: ich weiß nicht, wo dein problem liegt. jeder nutzt den dupe anders, daher kann es keine lösung für alle geben. desweiteren wird auch so früh keiner sein script rausrücken, weil er sonst sich selbst konkurrenz schafft (wie du schon sagtest).
für den dupemechanismus an sich gibt es hier ALLE nötigen commands (zusätzlich zu den normalen commands, die man auch für MF bots nutzt).

ach ja, wo wir grade beim schwanzvergleichen sind, hier mal meine classic cubebots:

[Only registered and activated users can see links. Click Here To Register...]
wozu classic :D`?
spielt das noch einer letzte 2 ladder wo ich da was gebotet habe kaum leute gewesen^^
06/30/2014 02:00 Aramox#15
richtig gute classic rares haben vor einiger zeit noch bis zu 20k fg eingebracht. ist natürlich jetzt durch die ganze cuberei nicht mehr so.

aber 1-8k für gute items bekommt man schon noch.

könnte mein script sicher auch für crafting nutzen. mal sehen ;)