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:
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"
Packet 0x30 blockieren:
Jerhyn ansprechen:
Check ob der Dialog offen ist:
Mit Wegpunkt interagieren:
Spieler anhandeln (beim Duper):
Handel akzeptieren (beim Trader):
Allgemeine Tradeflags zum checken:
Mit dem Duper aus dem Tradescreen gehen (0x77):
Act 2 Town Layout herausfinden (ob Ausgang links oder rechts):
Items aus Inventar/Stash droppen:
Trade schließen (beim Trader):
- 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();