|
You last visited: Today at 14:52
Advertisement
Code-Sammlung für automatisierten Dupe mit Kolbot
Discussion on Code-Sammlung für automatisierten Dupe mit Kolbot within the Diablo 2 forum part of the Other Online Games category.
06/30/2014, 16:35
|
#16
|
elite*gold: 420
Join Date: Aug 2013
Posts: 436
Received Thanks: 67
|
Ich bedanke mich schon mal bei dir für den Release, aber eine Frage hätte ich noch
Code:
Usage:
this.DropItems(3); // droppt alles aus dem Inventar
this.DropItems(7); // droppt alles aus dem Stash
Wo muss man diesen Teil einfügen? In das Duper Script oder in eine Char config? Würde mich über eine Antwort freuen.
|
|
|
06/30/2014, 17:45
|
#17
|
elite*gold: 0
Join Date: Feb 2009
Posts: 254
Received Thanks: 84
|
Quote:
Originally Posted by Gonra
Ich bedanke mich schon mal bei dir für den Release, aber eine Frage hätte ich noch
Code:
Usage:
this.DropItems(3); // droppt alles aus dem Inventar
this.DropItems(7); // droppt alles aus dem Stash
Wo muss man diesen Teil einfügen? In das Duper Script oder in eine Char config? Würde mich über eine Antwort freuen.
|
Duper-Skript
|
|
|
06/30/2014, 17:46
|
#18
|
elite*gold: 0
Join Date: Nov 2011
Posts: 95
Received Thanks: 30
|
die funktion musst du deinem script definieren und ebenfalls dort dann zu dem zeitpunkt mit this.DropItems(x) ausführen, bei dem du dein zeug droppen willst (normalerweise nachdem du aus der stadt gelaufen warst).
|
|
|
06/30/2014, 23:42
|
#19
|
elite*gold: 0
Join Date: Jul 2010
Posts: 262
Received Thanks: 30
|
Bei mir sieht das drop Items so aus
Quote:
// Drop items
items = this.getItems();
for (i = 0; i < items.length; i += 1) {
items[i].drop();
}
delay(200);
say("closetrade");
|
wie bekomm ich da nun hin dass er auch das stash dropped und nicht nur inventar?
|
|
|
07/01/2014, 01:00
|
#20
|
elite*gold: 0
Join Date: Nov 2011
Posts: 95
Received Thanks: 30
|
kommt auf deine this.getItems() funktion an. du kannst aber auch die bereits eingebauten verwenden:
z.b.:
Code:
// inventar
while(me.findItem(-1, 0, 3))
Packet.dropItem(me.findItem(-1, 0, 3));
// stash
while(me.findItem(-1, 0, 7))
Packet.dropItem(me.findItem(-1, 0, 7));
|
|
|
07/01/2014, 01:22
|
#21
|
elite*gold: 0
Join Date: Jul 2010
Posts: 262
Received Thanks: 30
|
sind nur die ersten oberen zeilen
/*
* @filename Dupe.js
* @author Walla
*/
function Dupe() {
var helper = Config.Dupe.Helper;
var i, items, npc, tick, trader, wp;
var blockStatus = false, dropInventory = false, tradeAccepted = false;
this.getItems = function() {
var items = [],
item = me.getItem(-1, 0);
if (item) {
do {
if (item.location === 3
&& item.classid !== 549
&& [76, 77, 78].indexOf(item.itemType) === -1) {
items.push(copyUnit(item));
}
} while (item.getNext());
}
return items;
};
this.PacketReceived = function(bytes) {
switch(bytes[0]) {
case 0x78:
tradeAccepted = true;
break;
}
}
this.PacketSent = function(bytes) {
switch (bytes[0]) {
case 0x30:
if (blockStatus) {
print("[Blocked] 0x30");
return true;
}
break;
}
return false;
}
addEventListener("gamepacket", this.PacketReceived);
addEventListener("gamepacketsent", this.PacketSent);
// Check act
if (me.area !== 40) {
print("Not in act 2. Changing acts.");
if (me.area !== 1) {
Pather.useWaypoint(1);
}
Town.move("warriv");
npc = getUnit(1, "warriv");
if (!npc || !npc.openMenu()) {
showConsole();
throw new Error("Act change failed.");
return false;
}
Misc.useMenu(0x0D36);
delay(1000 + me.ping * 2);
while (!me.area) {
delay(250);
}
if (me.area !== 40) {
showConsole();
throw new Error("Act change failed.");
return false;
}
print("Act change done.");
}
// Start blocking 0x30
blockStatus = true;
// Wait to begin
delay(5000);
Town.move("jerhyn");
npc = getUnit(1, "jerhyn");
if (!npc || !npc.openMenu()) {
showConsole();
throw new Error("Couldn't access Jerhyn.");
return false;
}
delay(200);
me.cancel();
delay(50);
// Stop blocking 0x30
blockStatus = false;
Town.move("waypoint");
delay(200);
wp = getUnit(2, "waypoint");
if (!wp) {
showConsole();
throw new Error("Couldn't reach waypoint.");
return false;
}
sendPacket(1, 0x49, 4, wp.gid, 1, 0, 1, 0, 1, 0, 1, 0);
delay(200);
tick = getTickCount();
do {
trader = getUnit(0, helper);
// If Helper can't be found in 15s, leave.
if (getTickCount() - tick >= 15000) {
showConsole();
throw new Error("Couldn't find Helper.");
return false;
}
delay(100);
} while (!trader);
while (!getUIFlag(0x17)) {
trader.interact();
delay(250);
}
while (!(getUIFlag(0x17) && tradeAccepted)) {
delay(100);
}
tradeAccepted = false;
delay(100);
// Close trade window
getPacket(1, 0x77, 1, 0x0C);
delay(100);
// Move out of town.
Pather.journeyTo(41);
delay(50);
// Move back to town.
Pather.journeyTo(40);
delay(50);
Town.move("waypoint");
Pather.useWaypoint(1);
Town.move("stash");
delay(200);
// Drop items
items = this.getItems();
for (i = 0; i < items.length; i += 1) {
items[i].drop();
}
delay(200);
say("closetrade");
// Go back to act 2 for a perm.
Town.move("waypoint");
delay(200);
Pather.useWaypoint(40);
say("permout");
delay(200);
trader = getUnit(0, helper);
while (!getUIFlag(0x17)) {
trader.interact();
delay(250);
}
while (!(getUIFlag(0x17) && tradeAccepted)) {
delay(100);
}
tradeAccepted = false;
me.cancel();
delay(50);
quit();
return true;
}
|
|
|
07/01/2014, 11:19
|
#22
|
elite*gold: 0
Join Date: Mar 2012
Posts: 152
Received Thanks: 37
|
Dupe.js
Code:
/*
* @filename Dupe.js
* @author Walla
*/
function Dupe() {
var helper = Config.Dupe.Helper;
var i, items, npc, tick, trader, wp;
var blockStatus = false, dropInventory = false, tradeAccepted = false;
this.getItems = function() {
var items = [],
item = me.getItem(-1, 0);
if (item) {
do {
if (item.location === 3
&& item.classid !== 549
&& [76, 77, 78].indexOf(item.itemType) === -1) {
items.push(copyUnit(item));
}
} while (item.getNext());
}
return items;
};
this.PacketReceived = function(bytes) {
switch(bytes[0]) {
case 0x78:
tradeAccepted = true;
break;
}
}
this.PacketSent = function(bytes) {
switch (bytes[0]) {
case 0x30:
if (blockStatus) {
print("[Blocked] 0x30");
return true;
}
break;
}
return false;
}
addEventListener("gamepacket", this.PacketReceived);
addEventListener("gamepacketsent", this.PacketSent);
// Check act
if (me.area !== 40) {
print("Not in act 2. Changing acts.");
if (me.area !== 1) {
Pather.useWaypoint(1);
}
Town.move("warriv");
npc = getUnit(1, "warriv");
if (!npc || !npc.openMenu()) {
showConsole();
throw new Error("Act change failed.");
return false;
}
Misc.useMenu(0x0D36);
delay(1000 + me.ping * 2);
while (!me.area) {
delay(250);
}
if (me.area !== 40) {
showConsole();
throw new Error("Act change failed.");
return false;
}
print("Act change done.");
}
// Start blocking 0x30
blockStatus = true;
// Wait to begin
delay(2000);
Town.move("jerhyn");
npc = getUnit(1, "jerhyn");
if (!npc || !npc.openMenu()) {
showConsole();
throw new Error("Couldn't access Jerhyn.");
return false;
}
delay(200);
me.cancel();
delay(50);
// Stop blocking 0x30
blockStatus = false;
Town.move("waypoint");
delay(200);
wp = getUnit(2, "waypoint");
if (!wp) {
showConsole();
throw new Error("Couldn't reach waypoint.");
return false;
}
sendPacket(1, 0x49, 4, wp.gid, 1, 0, 1, 0, 1, 0, 1, 0);
delay(200);
tick = getTickCount();
do {
trader = getUnit(0, helper);
// If Helper can't be found in 15s, leave.
if (getTickCount() - tick >= 15000) {
showConsole();
throw new Error("Couldn't find Helper.");
return false;
}
delay(100);
} while (!trader);
while (!getUIFlag(0x17)) {
trader.interact();
delay(250);
}
while (!(getUIFlag(0x17) && tradeAccepted)) {
delay(100);
}
tradeAccepted = false;
delay(100);
// Close trade window
getPacket(1, 0x77, 1, 0x0C);
delay(100);
// Move out of town.
Pather.journeyTo(41);
delay(50);
// Move back to town.
Pather.journeyTo(40);
delay(50);
Town.move("waypoint");
Pather.useWaypoint(1);
Town.move("stash");
delay(200);
// Drop items
items = this.getItems();
for (i = 0; i < items.length; i += 1) {
items[i].drop();
}
delay(200);
say("closetrade");
// Go back to act 2 for a perm.
Town.move("waypoint");
delay(200);
Pather.useWaypoint(40);
say("permout");
delay(200);
trader = getUnit(0, helper);
while (!getUIFlag(0x17)) {
trader.interact();
delay(250);
}
while (!(getUIFlag(0x17) && tradeAccepted)) {
delay(100);
}
tradeAccepted = false;
me.cancel();
delay(50);
quit();
return true;
}
DupeHelper.js
Code:
/*
* @filename DupeHelper.js
* @author Walla
*/
function DupeHelper() {
var duper = Config.DupeHelper.Duper;
var exitTrade = false, inTrade = false, lastTrade = false;
this.ChatHandler = function(user, msg) {
if (user === duper) {
if (msg === "closetrade") {
exitTrade = true;
} else if (msg === "permout") {
lastTrade = true;
}
}
};
this.tradeWait = function(last) {
while (true) {
if (getUIFlag(0x17)) {
tradeOk();
do {
delay(200);
} while (!exitTrade && getUIFlag(0x17));
if (exitTrade) {
me.cancel();
exitTrade = false;
delay(200);
}
if (lastTrade) {
lastTrade = false;
break;
}
if (last) {
break;
}
}
delay(100);
}
};
addEventListener("chatmsg", this.ChatHandler);
// Check act
if (me.area !== 40) {
print("Not in act 2. Changing acts.");
Pather.useWaypoint(40);
delay(1000 + me.ping * 2);
while (!me.area) {
delay(250);
}
if (me.area !== 40) {
showConsole();
throw new Error("Act change failed.");
return false;
}
print("Act change done.");
} else if (me.area === 40) {
print("Moving to waypoint.");
Town.move("waypoint");
}
this.tradeWait(false);
Pather.useWaypoint(1);
Town.move("stash");
this.tradeWait(true);
// Give perming char 5s to leave.
delay(5000);
return true;
}
Quelle:
|
|
|
07/01/2014, 14:32
|
#23
|
elite*gold: 0
Join Date: Jul 2010
Posts: 262
Received Thanks: 30
|
Und was magste damit nun sagen Panamera? 
Bin mir zu 80% sicher dass die Leute hier auf epvp ( Die botten ) auch Blizzhackers mit im Auge haben
|
|
|
07/01/2014, 15:39
|
#24
|
elite*gold: 0
Join Date: Mar 2012
Posts: 152
Received Thanks: 37
|
Hier wird doch Code gesammelt für den Dupe, verstehe nicht, was daran jetzt falsch sein soll.
|
|
|
07/03/2014, 23:12
|
#25
|
elite*gold: 0
Join Date: Apr 2008
Posts: 193
Received Thanks: 19
|
Quote:
Originally Posted by Aramox
@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:

|
Bestimmt mit lvl 1 chars cuben lol
|
|
|
07/05/2014, 17:52
|
#26
|
elite*gold: 11
Join Date: Jul 2013
Posts: 723
Received Thanks: 83
|
kann mir jemand zeigen wie das geht mit den automatischen dupen ? würde auch per psc bezahlen  einfach eine pm an mich senden wenn intersse besteht sein wissen weiter zu geben
|
|
|
07/06/2014, 23:13
|
#27
|
elite*gold: 0
Join Date: Oct 2011
Posts: 688
Received Thanks: 130
|
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
delay(200);
say("closetrade");
bekomme da immer so ein bild in bild freeze, dann kann der helper nicht mehr mit dem duper traden und den auspermen....
soweit ich sehen kann liegt es daran, dass mein "duper" den stash noch offen hat wenn er zu dem "helper" sagt er soll den trade schließen.
wäre es möglich einen befehl einzubauen das der "duper" nach dem droppen den stash und das inventar schließt?
|
|
|
07/07/2014, 01:09
|
#28
|
elite*gold: 0
Join Date: Feb 2009
Posts: 254
Received Thanks: 84
|
Quote:
Originally Posted by Northern Light
bekomme da immer so ein bild in bild freeze, dann kann der helper nicht mehr mit dem duper traden und den auspermen....
soweit ich sehen kann liegt es daran, dass mein "duper" den stash noch offen hat wenn er zu dem "helper" sagt er soll den trade schließen.
wäre es möglich einen befehl einzubauen das der "duper" nach dem droppen den stash und das inventar schließt?
|
Hm, sowas hatte ich noch nicht. Es liegt mMn aber nicht am geöffneten Stash, bei mir klappt's, egal was auf ist. Aber du kannst es mal probieren, der Befehl dafür ist:
|
|
|
07/07/2014, 02:18
|
#29
|
elite*gold: 0
Join Date: Nov 2011
Posts: 95
Received Thanks: 30
|
hier nochmal die dropfunktion etwas überarbeitet:
Code:
this.DropItems = function (container) {
if(container != 3 && container != 7)
return false;
if(container == 7 && !getUIFlag(0x19) && !Town.openStash())
return false;
while(me.findItem(-1, 0, container)) {
Packet.dropItem(me.findItem(-1, 0, container));
//delay(10); // wer auf nummer sicher gehen will...
}
return true;
};
//Usage:
this.DropItems(3); // dropt alles aus dem inventar
this.DropItems(7); // öffnet stash und dropt alles aus dem stash
|
|
|
07/07/2014, 12:01
|
#30
|
elite*gold: 0
Join Date: Oct 2011
Posts: 688
Received Thanks: 130
|
Quote:
Originally Posted by wessi86
Hm, sowas hatte ich noch nicht. Es liegt mMn aber nicht am geöffneten Stash, bei mir klappt's, egal was auf ist. Aber du kannst es mal probieren, der Befehl dafür ist:
|
hab jetzt ein work around gefunden  aber danke trotzdem
hat einer von euch evtl die function fürs cuben?
|
|
|
 |
|
Similar Threads
|
[Release] Kolbot Chestscripts
06/02/2020 - Diablo 2 - 17 Replies
Info:
I wrote Scripts for farming most, if not all, Golden Chests in the Game. Chestbotting is a very fast and compared to a normal Bot a very Cheap way to get good loot.
High Runes for example got a very high Chance to drop from chests:
Act 1 Everything till Vex
Act 2 Everything till Lo
Act 3 Everything till Ber
Act 4 Everything till Cham
Act 5 Everything till Zod
|
wie lautet der genau picked code für d2bs kolbot
01/19/2014 - Diablo 2 - 4 Replies
für diese items:
Death's Web
-40-50% zu Gift-Widerstand des Gegners
+12 Leben nach jedem Volltreffer
+12 zu Mana nach jedem Volltreffer
+2 zu "Gift- und Knochenzauber"
Eschuta's Temper
+3 zu Fertigkeiten-Level der Zauberin
|
Is there a way to configure Kolbot to level 1-99?
05/05/2013 - Diablo 2 - 1 Replies
Is this possible? Ladder reset is coming and I would like to simply bot myself to the 70's or 80's.
If not, is there a bot that will allow me to do so?
|
[PHP] Code Sammlung
04/13/2011 - WoW Private Server - 5 Replies
Ich wollte euch hier mal ein paar Scripte preis geben die ich erstellt habe.
Ihr könnt diese für eure Website verwenden, bearbeiten oder sonstiges.
Wenn ihr diese aber weiter verbreitet bitte mich als Ersteller vermerken.
Config
<?php
$host = "127.0.0.1"; //MySQL Ip
$user = "root";//MYSQL Benutzer
|
All times are GMT +1. The time now is 15:00.
|
|