|
You last visited: Today at 14:29
Advertisement
[D2NT] Public Botten for Dummies
Discussion on [D2NT] Public Botten for Dummies within the Diablo 2 forum part of the Other Online Games category.
05/31/2011, 23:44
|
#1771
|
elite*gold: 0
Join Date: Apr 2011
Posts: 19
Received Thanks: 0
|
ich hatte das jetzt auch schön öfters, aber nachdem ich fastpick auf false gestelt hab, gehts wunderbar
|
|
|
06/01/2011, 07:07
|
#1772
|
elite*gold: 0
Join Date: May 2011
Posts: 9
Received Thanks: 0
|
Quote:
Originally Posted by joshiii
kanns sein dass du iwie 1st und 2cond slot vertauscht hat also das hoto aufm 1st slot ist ?! ._.
|
Wusste nicht das es ne Rolle spielt, hatte Hoto und Zaka in Slot 1 und CTA sowie Spirit in Slot zwei.
Habe es jetzt mal umgetauscht aber auch dann mag er das nicht machen, und wenn ich von vorneherein beim ausloggen auf Waffenslot mit CTA einstelle Bo´t er zwar, wechsel aber nicht aufs Hoto^^
|
|
|
06/01/2011, 10:20
|
#1773
|
elite*gold: 0
Join Date: Apr 2011
Posts: 19
Received Thanks: 0
|
Neue Frage:
Eigentlich sollte mein bot bei dolls einfach das baal script skippen und dafür bei diablo weitermachen..
aber er leavt immer... was hab ich falsch eingestellt^^
|
|
|
06/01/2011, 11:22
|
#1774
|
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
|
Quote:
Originally Posted by muechl
Neue Frage:
Eigentlich sollte mein bot bei dolls einfach das baal script skippen und dafür bei diablo weitermachen..
aber er leavt immer... was hab ich falsch eingestellt^^
|
Oh, dann passt da wohl was nicht.
Leavt er immer oder nur wenn Dolls sind?
Poste mal das Baalscript und die Charconfig des Leaders.
|
|
|
06/01/2011, 12:21
|
#1775
|
elite*gold: 0
Join Date: May 2011
Posts: 39
Received Thanks: 1
|
Quote:
Originally Posted by muechl
ich hatte das jetzt auch schön öfters, aber nachdem ich fastpick auf false gestelt hab, gehts wunderbar 
|
mh jo funzt^^
gibt ne möglichkeit, wie da ganze auch mit fast-pickit geht ohne, dass man dauernd dropt?^^
|
|
|
06/01/2011, 16:48
|
#1776
|
elite*gold: 0
Join Date: May 2009
Posts: 667
Received Thanks: 27
|
eine frage, kann ich dem leader auch beibringen das er bei jeder weave msg ansagt?
|
|
|
06/01/2011, 17:24
|
#1777
|
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
|
Quote:
Originally Posted by style-
eine frage, kann ich dem leader auch beibringen das er bei jeder weave msg ansagt?
|
3 Seiten davor steht die Lösung deines Problems...
-->
|
|
|
06/01/2011, 21:51
|
#1778
|
elite*gold: 0
Join Date: Jan 2009
Posts: 3,170
Received Thanks: 1,191
|
So habe heute mal den Bot getestet; läuft soweit gut, aber:
im DiabloLeechfight-Script hängt der Pala sich beim letzen Siegel auf; Pala öffnet letzetes Siegel, schaltet Rücknahme an, bleibt hängen und bricht dann ab; habe heute erst die Version von Seite 1 geladen. Der Fehler tritt nur beim Pala auf; sehr merkwürdig. Jemand ne Idee?
Ich vermute, dass der Fehler hier irgendwo liegt:
Code:
function NT_OpenVenomSealInt(type)
{
var i, n;
var _monstername = GetLocaleString(2853);
var _attackpos = [7835, 5280, 7835, 5300, 7855, 5300, 7855, 5280];
for(i = 0 ; i < _attackpos.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);
NTA_ClearPosition(25, true, 2);
}
NTM_MoveTo(me.areaid, 7843, 5292);
NTA_ClearPosition(40, true, 2);
for(i = 0 ; i < 3 ; i++)
{
if(type == 1)
{
NTM_MoveTo(me.areaid, 7871, 5293);
NTA_ClearPosition(25, true, 2);
NTM_MoveTo(me.areaid, 7893, 5307);
NTA_ClearPosition(25, true, 2);
NTM_MoveTo(me.areaid, 7912, 5280);
NTA_ClearPosition(25, true, 2);
NTM_MoveTo(me.areaid, 7931, 5293);
NTA_ClearPosition(25, true, 2);
NTM_MoveTo(me.areaid, 7908, 5293);
NTA_ClearPosition(60, true, 2);
NT_OpenSealInt(392, 7895, 5318);
[COLOR="Red"]if(me.classid == NTC_CHAR_CLASS_PALADIN)
NTM_MoveTo(me.areaid, 7892, 5298);[/COLOR]
}
else
{
NTM_MoveTo(me.areaid, 7893, 5274);
NTA_ClearPosition(25, true, 2);
NTM_MoveTo(me.areaid, 7927, 5280);
NTA_ClearPosition(25, true, 2);
NTM_MoveTo(me.areaid, 7930, 5308);
NTA_ClearPosition(25, true, 2);
NTM_MoveTo(me.areaid, 7929, 5294);
NTA_ClearPosition(60, true, 2);
NT_OpenSealInt(392, 7916, 5310);
[COLOR="Red"]if(me.classid == NTC_CHAR_CLASS_PALADIN)
NTM_MoveTo(me.areaid, 7927, 5275);[/COLOR]
Vielleicht stimmt ne Zahl nicht?
|
|
|
06/01/2011, 22:09
|
#1779
|
Administrator
elite*gold: 41624
Join Date: Jan 2010
Posts: 22,728
Received Thanks: 12,655
|
Quote:
Originally Posted by Amakra
Wusste nicht das es ne Rolle spielt, hatte Hoto und Zaka in Slot 1 und CTA sowie Spirit in Slot zwei.
Habe es jetzt mal umgetauscht aber auch dann mag er das nicht machen, und wenn ich von vorneherein beim ausloggen auf Waffenslot mit CTA einstelle Bo´t er zwar, wechsel aber nicht aufs Hoto^^
|
Normal sollte das tatsächlich automatisch gehen. Könntest du mal ein anderes CTA versuchen? Ich hatte bisher schon einmal den Fall, dass ein CTA aus irgendeinem Grund ein zerschossenes Präfix hat, sodass es nicht als CTA erkannt werden konnte - das ist aber extrem selten.
Wie gesagt, normal sollte das so gehen.
P.S.: Das Pushen von Beiträgen ist streng genommen nur im Black Market erlaubt. Wir sehen das hier zwar etwas lockerer, aber Beiträge in unter 24h zu Pushen ist dennoch übertrieben und folglich nicht gerne gesehen.
Quote:
Originally Posted by mirkoregge
So habe heute mal den Bot getestet; läuft soweit gut, aber:
im DiabloLeechfight-Script hängt der Pala sich beim letzen Siegel auf; Pala öffnet letzetes Siegel, schaltet Rücknahme an, bleibt hängen und bricht dann ab; habe heute erst die Version von Seite 1 geladen. Der Fehler tritt nur beim Pala auf; sehr merkwürdig. Jemand ne Idee?
Ich vermute, dass der Fehler hier irgendwo liegt:
Code:
function NT_OpenVenomSealInt(type)
{
var i, n;
var _monstername = GetLocaleString(2853);
var _attackpos = [7835, 5280, 7835, 5300, 7855, 5300, 7855, 5280];
for(i = 0 ; i < _attackpos.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);
NTA_ClearPosition(25, true, 2);
}
NTM_MoveTo(me.areaid, 7843, 5292);
NTA_ClearPosition(40, true, 2);
for(i = 0 ; i < 3 ; i++)
{
if(type == 1)
{
NTM_MoveTo(me.areaid, 7871, 5293);
NTA_ClearPosition(25, true, 2);
NTM_MoveTo(me.areaid, 7893, 5307);
NTA_ClearPosition(25, true, 2);
NTM_MoveTo(me.areaid, 7912, 5280);
NTA_ClearPosition(25, true, 2);
NTM_MoveTo(me.areaid, 7931, 5293);
NTA_ClearPosition(25, true, 2);
NTM_MoveTo(me.areaid, 7908, 5293);
NTA_ClearPosition(60, true, 2);
NT_OpenSealInt(392, 7895, 5318);
[COLOR="Red"]if(me.classid == NTC_CHAR_CLASS_PALADIN)
NTM_MoveTo(me.areaid, 7892, 5298);[/COLOR]
}
else
{
NTM_MoveTo(me.areaid, 7893, 5274);
NTA_ClearPosition(25, true, 2);
NTM_MoveTo(me.areaid, 7927, 5280);
NTA_ClearPosition(25, true, 2);
NTM_MoveTo(me.areaid, 7930, 5308);
NTA_ClearPosition(25, true, 2);
NTM_MoveTo(me.areaid, 7929, 5294);
NTA_ClearPosition(60, true, 2);
NT_OpenSealInt(392, 7916, 5310);
[COLOR="Red"]if(me.classid == NTC_CHAR_CLASS_PALADIN)
NTM_MoveTo(me.areaid, 7927, 5275);[/COLOR]
Vielleicht stimmt ne Zahl nicht?
|
Ich kann dir zwar nicht direkt sagen, was die Ursache deines Problems ist, aber die von dir markierten Aufrufe halte ich für unwahrscheinlich, da der Rückgabewert von NTM_MoveTo() nicht weiter ausgewertet wird.
Selbst wenn die Funktion hier fehlschlägt, hätte dies keine erkennbaren Folgen im Aufrufkontext.
LG
Muddy
|
|
|
06/01/2011, 22:28
|
#1780
|
elite*gold: 0
Join Date: May 2009
Posts: 667
Received Thanks: 27
|
Ich habe ein problem, mir is auf gefallen das mien leader wenn er game leavt bevor baal/dia um ist immer absturtz hat oder "bitte warten" bekomm und game dann abstürtz wodurch er nicht weiter macht.
bei "bitte warten" passiert garnichts mehr. das war jetzt 2h der fall.
wenn er game leavt sofort wenn er drin war bekomt er absturtz und game is frozen ( somit restartet er nicht)
wie kann ich das problem beheben?
|
|
|
06/02/2011, 08:06
|
#1781
|
elite*gold: 0
Join Date: Apr 2011
Posts: 39
Received Thanks: 2
|
Hi !
mein Bot ist nur im channel und refreshed seine fl.
eigentlich habe ich alles richtig eingestellt und die bots haben sich auch in der fl.
wäre sehr nett, wenn mir jemand helfen kann
|
|
|
06/02/2011, 08:11
|
#1782
|
elite*gold: 0
Join Date: Aug 2010
Posts: 435
Received Thanks: 117
|
Quote:
Originally Posted by Jack_Falcone
Hi !
mein Bot ist nur im channel und refreshed seine fl.
eigentlich habe ich alles richtig eingestellt und die bots haben sich auch in der fl.
wäre sehr nett, wenn mir jemand helfen kann
|
hm.. hast den leader-acc exakt so geschrieben wie in der f-list angezeigt?
|
|
|
06/02/2011, 08:12
|
#1783
|
elite*gold: 0
Join Date: Apr 2011
Posts: 39
Received Thanks: 2
|
Quote:
Originally Posted by flow-jow
hm.. hast den leader-acc exakt so geschrieben wie in der f-list angezeigt?
|
name vom acc ist st-jesu,
und char name St-Jesu .
// Leader Account settings
// ================================================== ===========================
var leaderAccountName = "st-jesu";
var leaderName = "St-Jesu";
|
|
|
06/02/2011, 09:36
|
#1784
|
elite*gold: 0
Join Date: May 2009
Posts: 788
Received Thanks: 50
|
[QUOTE=Jack_Falcone;10964227]name vom acc ist st-jesu,
und char name St-Jesu .
ja so probleme kenne ich
wenn der accname und charname gleich sind fuehrt das manchmal zu fehlern
sowas ist mir frueher auch mal passiert ^^ als ich dann nen neuen leader mit anderem namen gemacht habe war alles wieder prima ^^
|
|
|
06/02/2011, 10:08
|
#1785
|
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,258
|
Quote:
Originally Posted by style-
Ich habe ein problem, mir is auf gefallen das mien leader wenn er game leavt bevor baal/dia um ist immer absturtz hat oder "bitte warten" bekomm und game dann abstürtz wodurch er nicht weiter macht.
bei "bitte warten" passiert garnichts mehr. das war jetzt 2h der fall.
wenn er game leavt sofort wenn er drin war bekomt er absturtz und game is frozen ( somit restartet er nicht)
wie kann ich das problem beheben? 
|
Mal mit dieser NTBot probieren:
Code:
var channelUsers = new Array();
//###################################################################
//###########################Einstellungen###########################
//###################################################################
// Wenn ihr nur einen Key benutzt, dann diesen Wert mindestens auf 180000 setzen, damit ihr keine realmdowns bekommt
var gameMinLength = 190000;
var joinChatAfterLogin = false; // true = Bot geht in den Chat, um .login/Announces zu machen
var joinChannelInChat = "OP MyBaal"; // Wenn der Bot in keinen bestimmten Channel soll, dann nichts eintragen
var channelLogin = true; // true = Bot schreibt .login nachdem er eingeloggt ist
channelUsers.push("Account Name"); // Hier deinen Account Name eintragen
channelUsers.push("Char Name"); // Hier deinen Char Name eintragen
// %game --> "gamename-"
// %counter --> number of the next game
// %time --> time in seconds till game creation
// %password --> game password
var gameAnnouncement = "Next Game: %game%counter in %time seconds."; // Wenn keine NG message im Chat geposted werden soll, dann nichts eintragen
//----------------------------------------------------------------------------------------------------------------------------------------------------------
//###################################################################
//##############################Delays###############################
//###################################################################
// realm delays (minutes)
var unableToConnectRetry = 2;
var realmDownRetry = 60;
var disconnectedRetry = 2;
var cdkeyInUseRetry = 2;
// interface delays (milliseconds)
var connectingToBnetTimeout = 20000;
var characterScreenTimeout = 10000;
var pleaseWaitTimeout = 10000;
var createGameThreshold = 15000;
var createGameThresholdRandom = 1000;
var createGameTimeout = 15000;
var waitInLineTimeout = 60000;
var characterSelectDelay = 1000;
var loginDelay = 1000;
var clickDelay = 1000;
var textDelay = 1000;
var clickDelayRandom = 500;
var textDelayRandom = 500;
var gameDoesNotExistDelayMin = 600000;
var gameDoesNotExistDelayMax = 900000;
var gameDoesNotExistTimeout = 30000;
var gameAnnouncementDelay = 5000;
var gameAnnouncementDelayRandom = 500;
var waitBeforeEnterChatMin = 1000;
var waitBeforeEnterChatMax = 2000;
var waitInChatBeforeActionsMin = 2000;
var waitInChatBeforeActionsMax = 3000;
//###################################################################
//###################################################################
//###############DO NOT CHANGE ANYTHING BELOW THIS###################
//###################################################################
//###################################################################
// D2NT Manager Command
const D2NT_MGR_LOADING = 1;
const D2NT_MGR_READY = 2;
const D2NT_MGR_LOGIN = 3;
const D2NT_MGR_CREATE_GAME = 4;
const D2NT_MGR_INGAME = 5;
const D2NT_MGR_RESTART = 6;
const D2NT_MGR_CHICKEN = 7;
const D2NT_MGR_PRINT_STATUS = 8;
const D2NT_MGR_PRINT_LOG = 9;
var lastGameMade = GetTickCount();
var lastGameStatus = 0;
var nextGameMake = 0;
var inGameAt = 0;
var chatActionsDone = false;
var lastGameFailed = false;
var joinedChannel = false;
var justJoined = true;
var joinRandomChannel = false;
Include("libs/controlInfo.ntl");
var controlData = new controlInfo();
function NTMain()
{
Delay(1000);
var _ingame = false;
controlData.clickDelay = clickDelay;
controlData.textDelay = textDelay;
controlData.clickDelayRandom = clickDelayRandom;
controlData.textDelayRandom = textDelayRandom;
while(1)
{
if(me.ingame)
{
if(!inGameAt)
inGameAt = GetTickCount();
if(!_ingame)
{
RunGC(); // run garbage collector between each game
if(Load("NTBot/NTBotGame.ntj"))
{
_ingame = true;
if(me.playtype > 0)
sendEventToOOG(D2NT_MGR_INGAME, "In Game [IP:" + me.gameserverip.split(".")[3] + "]", 0);
else
sendEventToOOG(D2NT_MGR_INGAME, "In Game", 0);
lastGameStatus = 2; // in game successful
}
}
Delay(1000);
}
else
{
if(_ingame)
{
_ingame = false;
sendEventToOOG(D2NT_MGR_READY, "", 0);
}
locationAction(controlData.getLocation());
Delay(500);
}
}
}
function locationAction(location)
{
switch(location.id)
{
case 3: // Lobby Chat
if(justJoined)
{
justJoined = false;
if(isChannelUser(me.account, me.charname))
{
for(var i = 0; i < 3; i++)
{
SetStatusText("ÿc2Chat actions enabled!");
Delay(150);
SetStatusText("");
Delay(150);
}
}
else
{
for(var i = 0; i < 3; i++)
{
SetStatusText("ÿc1Chat actions disabled!");
Delay(150);
SetStatusText("");
Delay(150);
}
}
}
if(!chatActionsDone && isChannelUser(me.account, me.charname))
{
chatActionsDone = true;
Delay(Random(waitInChatBeforeActionsMin, waitInChatBeforeActionsMax));
if(!joinedChannel && (joinRandomChannel || joinChannelInChat != ""))
{
var rndChannel = getRandomString(Random(3,10));
SetStatusText("ÿc8Joining Channel " + (joinRandomChannel ? rndChannel : joinChannelInChat) );
Delay(1000);
Say("/join " + (joinRandomChannel ? rndChannel : joinChannelInChat));
joinedChannel = true;
Delay(1000);
if(channelLogin)
{
SetStatusText("ÿc8Channel Login...");
Say(".login");
Delay(1000);
}
}
}
case 1: // Lobby
if(location.id == 1 && joinChatAfterLogin)
{
Delay(Random(waitBeforeEnterChatMin, waitBeforeEnterChatMax));
controlData.click(controlData.controls.lobby.button.enterChat);
break;
}
if(GetTickCount() > nextGameMake)
{
var _control;
lastGameFailed = false;
switch(lastGameStatus)
{
case 0:
_control = controlData.get(controlData.controls.lobby.button.create);
if(_control && _control.pressed)
{
controlData.click(controlData.controls.lobby.button.join);
Delay(500);
}
controlData.click(controlData.controls.lobby.button.create);
nextGameMake = GetTickCount() + createGameTimeout; // set our timeout
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
break;
case 1: // game failed, rollover to reset timer
inGameAt = GetTickCount();
lastGameFailed = true;
Delay(5000);
case 2:
outputGameLength();
lastGameStatus = 0;
setNextGameMake();
if(lastGameFailed)
{
SetStatusText("ÿc1Failed to join!");
sendEventToOOG(D2NT_MGR_PRINT_LOG, "ÿE00000Game " + ((getGameCounter(me.gamename, true)) ? ("(" + getGameCounter(me.gamename, true) + ")") : "") + " creation failed!", 0)
Delay(2500);
}
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
break;
}
}
else
{
if(joinChannelInChat && gameAnnouncement && me.gamename && isChannelUser(me.account, me.charname))
{
var tempDelay = (gameAnnouncementDelay > 5000) ? gameAnnouncementDelay : 5000 +
(gameAnnouncementDelayRandom > 500) ? Random(0, gameAnnouncementDelayRandom) : 500;
var gameText = gameAnnouncement;
gameText = gameText.replace("%password", me.gamepassword);
gameText = gameText.replace("%game", getGameName(me.gamename));
gameText = gameText.replace("%counter", getGameCounter(me.gamename, false));
gameText = gameText.replace("%time", parseInt((nextGameMake - GetTickCount() - tempDelay)/1000+3.0));
if(parseInt((nextGameMake - GetTickCount() - tempDelay)/1000+3.0) > 5)
{
Delay(tempDelay);
Say(gameText);
}
}
timeoutDelay(nextGameMake-GetTickCount(), location, true);
}
break;
case 2: // Waiting In Line
if(GetTickCount()-lastGameMade > waitInLineTimeout)
controlData.click(controlData.controls.lobby.inLine.button.cancel);
break;
case 4: // Create Game
if(!controlData.get(controlData.controls.lobby.create.editBox.gameName))
{
controlData.click(controlData.controls.lobby.button.join);
Delay (500);
controlData.click(controlData.controls.lobby.button.create);
Delay (500);
}
sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
locationTimeout(5000, location);
lastGameMade = GetTickCount();
lastGameStatus = 1; // pending creation
break;
case 5: // Join Game
break;
case 6: // Ladder
break;
case 7: // Channel List
break;
case 8: // Main Menu
if(controlData.getCurrentRealmIndex() == me.gatewayid)
{
outputGameLength();
controlData.click(controlData.gameTypes[me.playtype]);
}
else
controlData.click(controlData.controls.mainMenu.button.gateway);
break;
case 9: // Login
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
Delay(loginDelay);
controlData.setText(controlData.controls.login.editBox.accountName, me.account);
sendEventToOOG(D2NT_MGR_LOGIN, location.name, 0);
locationTimeout(5000, location);
break;
case 10: // Login Error (this is a fatal error, so stop)
sendEventToOOG(D2NT_MGR_RESTART, location.name, 10);
Delay(3500);
break;
case 11: // Unable To Connect
timeoutDelay(unableToConnectRetry*60*1000, location)
controlData.click(controlData.controls.login.unableToConnect.button.ok);
break;
case 12: // Character Select
var _time, _control;
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
for(_time = 0 ; _time < characterScreenTimeout ; _time += 500)
{
_control = controlData.get(controlData.controls.characterSelect.textBox.characterInfo[me.charloc]);
if(_control && _control.GetText() != undefined)
break;
Delay(500);
}
if(_time < characterScreenTimeout)
{
Delay(characterSelectDelay);
controlData.click(controlData.controls.characterSelect.textBox.characters[me.charloc], 0, 0, 1);
controlData.click(controlData.controls.characterSelect.textBox.characterInfo[me.charloc], 0, 0, 1);
// reset last game made, so it doesnt make a game immediately
inGameAt = 0;
setNextGameMake();
}
else
{
controlData.click(controlData.controls.characterSelect.button.exit);
timeoutDelay(realmDownRetry*60*1000, location);
}
break;
case 13: // Realm Down - Character Select screen
controlData.click(controlData.controls.characterSelect.button.exit);
timeoutDelay(realmDownRetry*60*1000, location);
break;
case 14: // Character Select - Disconnected
timeoutDelay(disconnectedRetry*60*1000, location);
controlData.click(controlData.controls.characterSelect.disconnected.button.ok);
break;
case 15: // New Character
break;
case 16: // Character Select - Please Wait popup
if(!locationTimeout(pleaseWaitTimeout, location))
controlData.click(controlData.controls.characterSelect.pleaseWait.button.cancel);
break;
case 17: // Lobby - Lost Connection - just click okay, since we're toast anyway
controlData.click(controlData.controls.lobby.lostConnection.button.ok);
break;
case 18: // D2 Splash
controlData.click(controlData.controls.d2Splash.textBox.copyright);
break;
case 19: // Login - Cdkey In Use
timeoutDelay(cdkeyInUseRetry*60*1000, location);
controlData.click(controlData.controls.login.cdkeyInUse.button.ok);
break;
case 20: // Single Player - Select Difficulty
controlData.click(controlData.singlePlayerDifficulties[me.diff]);
break;
case 21: // Main Menu - Connecting
if(!locationTimeout(connectingToBnetTimeout, location))
controlData.click(controlData.controls.mainMenu.connecting.button.cancel);
break;
case 22: // Login - Invalid Cdkey (classic or xpac)
sendEventToOOG(D2NT_MGR_RESTART, location.name, 3600);
Delay(3500);
break;
case 23: // Character Select - Connecting
if(!locationTimeout(characterScreenTimeout, location))
controlData.click(controlData.controls.characterSelect.button.exit);
break;
case 24: // Server Down - not much to do but wait..
break;
case 25: // Lobby - Please Wait
if(!locationTimeout(pleaseWaitTimeout, location))
controlData.click(controlData.controls.lobby.pleaseWait.button.cancel);
if(!locationTimeout(pleaseWaitTimeout, location))
sendEventToOOG(D2NT_MGR_RESTART, location.name, 60);
break;
case 26: // Lobby - Game Name Exists
sendEventToOOG(D2NT_MGR_PRINT_LOG, "ÿE00000Game already exists", 0);
SetStatusText("ÿc1Game akready exists!");
inGameAt = 0;
lastGameStatus = 0;
setNextGameMake();
locationTimeout(15000, location);
break;
case 27: // Gateway Select
controlData.clickRealmEntry(me.gatewayid);
controlData.click(controlData.controls.gateway.button.ok);
break;
case 28: // Lobby - Game Does Not Exist
inGameAt = Random(gameDoesNotExistDelayMin, gameDoesNotExistDelayMax);
lastGameStatus = 0;
setNextGameMake();
locationTimeout(gameDoesNotExistTimeout, location);
break;
}
}
function sendEventToOOG(locationId, statusString, pendingTime)
{
return SendCopyData("D2NT Manager", null, (locationId<<16)|pendingTime, statusString);
}
function setNextGameMake()
{
lastGameMade = GetTickCount();
nextGameMake = lastGameMade + createGameThreshold + Random(0-createGameThresholdRandom, createGameThresholdRandom) + inGameAt;
inGameAt = 0;
chatActionsDone = false;
}
function outputGameLength()
{
if(inGameAt)
{
duration = GetTickCount() - inGameAt;
inGameAt = (duration < gameMinLength ? gameMinLength - duration : 0);
}
}
function locationTimeout(time, location)
{
endtime = GetTickCount() + time;
while(controlData.getLocation().id == location.id && endtime > GetTickCount())
{
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " (" + parseInt((endtime-GetTickCount())/1000) + "s)", 0);
Delay(500);
}
return (controlData.getLocation().id != location.id);
}
function timeoutDelay(time, location, showNextGameStatus)
{
if(arguments.length < 3)
showNextGameStatus = false;
endtime = GetTickCount() + time;
while(endtime > GetTickCount())
{
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " (" + parseInt((endtime-GetTickCount())/1000) + "s)", 0);
if(showNextGameStatus)
{
if(lastGameFailed && parseInt((endtime-GetTickCount())/1000) > 30)
{
if(parseInt((endtime-GetTickCount())/1000) % 30 == 0)
{
SetStatusText("ÿc1Last game failed!");
Delay(5000);
}
if(me.gamename && getGameCounter(me.gamename, false))
SetStatusText("ÿc8Next game: " + getGameName(me.gamename) + getGameCounter(me.gamename, false) + " (" + parseInt((endtime-GetTickCount())/1000) + "s)");
else
SetStatusText("ÿc8Game creation pending... (" + parseInt((endtime-GetTickCount())/1000) + "s)");
}
else if(parseInt((endtime-GetTickCount())/1000) >= 0)
{
if(me.gamename && getGameCounter(me.gamename, false))
SetStatusText("ÿc8Next game: " + getGameName(me.gamename) + getGameCounter(me.gamename, false) + " (" + parseInt((endtime-GetTickCount())/1000) + "s)");
else
SetStatusText("ÿc8Game creation pending... (" + parseInt((endtime-GetTickCount())/1000) + "s)");
}
if(me.ingame)
endtime = GetTickCount();
}
Delay(1000);
}
if(showNextGameStatus)
SetStatusText("ÿc8Creating game...");
}
function getRandomString(_length)
{
_retString = "";
_charSet = "0123456789abcdefghijklmnopqrstuvwxyz";
while(_length--)
{
_retString += _charSet.charAt(Random(0, _charSet.length-1));
Delay(1);
}
return _retString;
}
function getGameName(lastGameString)
{
if(!lastGameString)
return "";
else
return (lastGameString.substr(0, lastGameString.lastIndexOf('-')+1));
}
function getGameCounter(lastGameString, simple)
{
var myCount, countString;
if(!lastGameString)
return "-1";
else
{
countString = lastGameString.slice(lastGameString.lastIndexOf('-')+1);
switch(countString)
{
case "08":
myCount = 9;
break;
case "09":
myCount = 10;
break;
default:
myCount = parseInt(countString) + 1;
break;
}
if(!simple)
{
if(myCount <= 9)
return ('0' + myCount);
}
return myCount;
}
}
function isChannelUser(accountname, charname)
{
for(var i = 0; i < channelUsers.length; i++)
{
if(accountname.toLowerCase() == channelUsers[i].toLowerCase() || charname.toLowerCase() == channelUsers[i].toLowerCase())
return true;
}
return false;
}
|
|
|
 |
|
Similar Threads
|
[D2NT] How to do Public
07/04/2011 - Diablo 2 - 51 Replies
Also da ich gefragt wurde ob ich das nicht machen könnte, habe ich mir gedacht da ich grade nichts zu tuen habe, wieso den eigentlich nicht.
Falls jemand Maphack im Fullwindow spielen will:
http://img824.imageshack.us/img824/1725/66387846. png
Hacken Raus nehmen.
CREADITS TO:
Sternlooper
TheBluebird
Muddy_Waters
|
D2Nt Public Pickit
10/18/2010 - Diablo 2 - 4 Replies
Der Bot ist super aber er pickt einfach sachen viel zu langsame zb small charms. Da sind normale Spieler schneller. Kann man das einstellen das er sachen sofort beim droppen pickt??
|
Classic botten mit D2nt
07/09/2010 - Diablo 2 Programming - 2 Replies
Huhu :) ich möchte classic anfangen und wollte mal fragen ob es tolle d2nt classic scripts gibt, bzw. was ich ändern muss oder ob es auch non enigma scripts gibt für paladin oder so^^
Gibt aufjeden ein THX :)
Und eine Pickit für Classic wäre auch nice^^
Oder gibs andere Classic bots ?
|
Public Baal mit D2NT
04/13/2009 - Diablo 2 - 3 Replies
könnt ihr mir vll sagen was ich machen muss um mit den bot public baals runs zu machen wäre echt cool in dern config auf true stellen ist mir klar aber wie stell ich game name und sowas alles ein und brauch ich dafür nicht wieder eine config datei wäre echt cool wenn ihr mir helfen könntet ;)
|
All times are GMT +1. The time now is 14:29.
|
|