|
You last visited: Today at 16:17
Advertisement
[B] Neues Dia-Leech-Script (ab lvl 1)
Discussion on [B] Neues Dia-Leech-Script (ab lvl 1) within the Diablo 2 forum part of the Other Online Games category.
05/26/2010, 08:52
|
#31
|
elite*gold: 0
Join Date: Apr 2010
Posts: 17
Received Thanks: 11
|
habs auch ma getestet - funzt 1a 
sehr sehr n1
|
|
|
05/26/2010, 10:12
|
#32
|
elite*gold: 0
Join Date: Apr 2009
Posts: 108
Received Thanks: 44
|
Quote:
Originally Posted by LuZ1F3R
habs auch ma getestet - funzt 1a 
sehr sehr n1 
|
Freut mich, wenns auch mal ohne Probs funzt
|
|
|
05/26/2010, 12:02
|
#33
|
elite*gold: 0
Join Date: Apr 2008
Posts: 586
Received Thanks: 74
|
mein char bekommt immer timeout, ka warum. bei jedem script funktionierts ohne timeout nur bei dem script hier bekommt mein char immer timeout.
aus meiner sicht leider nicht zu empfehlen -.-
|
|
|
06/03/2010, 17:02
|
#34
|
elite*gold: 0
Join Date: Mar 2010
Posts: 197
Received Thanks: 14
|
so hab auch was zu mekkern hoffe das ist hier noch aktuell ^^........
manchmal passiert nix wenn er tot ist
manchmal steht er nur rum
samegame problem gibts da noch
|
|
|
06/03/2010, 17:10
|
#35
|
elite*gold: 0
Join Date: Mar 2006
Posts: 978
Received Thanks: 250
|
mal so nebenbei vll ne blöde frage.. lohnt sich das überhaupt mit nem lvl 1 char?
ich meine.. geht trist-tomb-cow-baal - alptraum rush - baal - hölle rush - dia/baal nicht schneller zu leveln?
|
|
|
06/03/2010, 17:18
|
#36
|
elite*gold: 117
Join Date: Apr 2008
Posts: 1,586
Received Thanks: 140
|
hast du nen bot der trist/tomb/cow/baal macht und selbstständig ab nem best. lvl die skripte ändern etc. ?
Nein ?
Zusätzlich ist nen lvl 1 char in hölle cs runs wesentlich schneller als andre andren lvl methoden in 1.13
|
|
|
06/03/2010, 17:21
|
#37
|
elite*gold: 0
Join Date: Mar 2006
Posts: 978
Received Thanks: 250
|
Quote:
Originally Posted by nibbelr
hast du nen bot der trist/tomb/cow/baal macht und selbstständig ab nem best. lvl die skripte ändern etc. ?
Nein ?
Zusätzlich ist nen lvl 1 char in hölle cs runs wesentlich schneller als andre andren lvl methoden in 1.13
|
selber scripten ftw allerdings muss ich bei lvl 40 und 60 selber die schwierigkeit wechseln das is ja wohl das geringste problem
|
|
|
06/04/2010, 08:52
|
#38
|
elite*gold: 0
Join Date: Mar 2010
Posts: 197
Received Thanks: 14
|
mit nem cl rush ~30min 7chars in hell
3xdia runs ~10min und du bist lvl 20
wenns nen script geben würde das richtig gut läuft, hättest du in einer Nacht 7chars min. auf 70
ohne das du was machst^^
bei deiner methode würde das lvln bis 14-15 schon viel länger brauchen^^
|
|
|
06/22/2010, 17:28
|
#39
|
elite*gold: 0
Join Date: May 2010
Posts: 26
Received Thanks: 0
|
Hallo,
sorry das ich so alte Threads reaktiviere 
aber eine Frage hätte ich.
Leader macht game auf, Leecher joint chat, macht /f l und sagt dann:
"Can't read the chat!"
Was hab ich falsch gemacht?
Leader und Leecher haben Diablo auf englisch.
Danke für jede Hilfe!
//EDIT
Habs gefunden.
einfach
if(chat = controlData.get(controlData.controls.lobby.chat.te xtBox.channelText))
in
if(chat = controlData.get(controlData.controls.lobby.textBox .chat))
ändern, und schon läuft der Hase
|
|
|
06/22/2010, 23:14
|
#40
|
elite*gold: 0
Join Date: Sep 2009
Posts: 636
Received Thanks: 43
|
habs heute auch mal ausgegraben....der 1. run läuft super, dann meint der leechbot immer "leader still in the same game" obwohl die nummer am ende scho lang ne andre is -.-
/edit : und wo kann man denn ausstellen, dass der leechbot leavt, wenn Diablo da is?
|
|
|
06/23/2010, 13:20
|
#41
|
elite*gold: 0
Join Date: Apr 2009
Posts: 108
Received Thanks: 44
|
Quote:
Originally Posted by Metal God
habs heute auch mal ausgegraben....der 1. run läuft super, dann meint der leechbot immer "leader still in the same game" obwohl die nummer am ende scho lang ne andre is -.-
/edit : und wo kann man denn ausstellen, dass der leechbot leavt, wenn Diablo da is?
|
Teil 2 is einfach:
In der Dialeechseals aus
Code:
while(NTC_InMyParty(_leader.name))
{
_diablo = NTC_FindUnit(NTC_UNIT_MONSTER, 243);
Delay(300);
if(_diablo) //diablo is too close
{
Say("Diablo found - leaving game");
ExitGame(); //leave game and wait for leader to open a new one
}
else Delay(1000);
}
dieses machen:
Code:
/*while(NTC_InMyParty(_leader.name))
{
_diablo = NTC_FindUnit(NTC_UNIT_MONSTER, 243);
Delay(300);
if(_diablo) //diablo is too close
{
Say("Diablo found - leaving game");
ExitGame(); //leave game and wait for leader to open a new one
}
else Delay(1000);
}*/
Zum ersten Teil:
Hab grad wenig Zeit und deshalb nur meine NTBotLeech.ntj hochgeladen - hab darin was in der Richtung geändert, ich hoff es hilft Dir weiter..
->
|
|
|
06/28/2010, 18:42
|
#42
|
elite*gold: 0
Join Date: Dec 2008
Posts: 628
Received Thanks: 108
|
moin
grad mal getestet und die folgenden probleme
1. hin und wieder wenn der leecher stirbt bleibt er tot liegen und idled rum
2. hin und wieder bleibt er im nach einem spiel im chat und sagt immerwieder "leader is still in game"
3. einmal is er nachdem der leader geleavt is im spiel geblieben (lebendig im sanktuarium) und is da rumgeidled
ansonsten super script ^^ muss nur alle 5 min mal esc drücken damit er weitermacht
|
|
|
07/05/2010, 14:57
|
#43
|
elite*gold: 0
Join Date: Jul 2009
Posts: 234
Received Thanks: 15
|
alles richtig eingetragen, der leader auch richtig geschrieben und trotzdem "I can't read the chat!" oO
wenn mal einer helfen könnte
|
|
|
01/20/2011, 17:42
|
#44
|
elite*gold: 0
Join Date: Mar 2010
Posts: 559
Received Thanks: 71
|
Hi leute ,
hab das problem,
der leecher joint 3-4 runs die laufen gut dannach ist er die ganze zeit im chat und schreibt /f l dannach joint der ab und zu ins neue game obwohl mein leader neue games macht ..
kann mir einer helfen?
Meine
NTDiabloLeech.ntj
function NTMain()
{
Include("libs/common/NTCommon.ntl");
Include("libs/common/NTMove.ntl");
NTC_IncludeLibs();
NTC_IncludeConfig("NTBot/char_configs");
NT_LoadConfig();
NTSI_LoadNIPFiles("NTBot/item_configs");
NTA_Initialize(); // 10
if(!NTTM_CheckAct())
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
return;
}
if(me.areaid != 103)
{
if(!NTTM_TownMove("waypoint"))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
return;
}
if(!NTM_TakeWaypoint(103))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
return;
}
}
_leader = NT_GetLeader(NTConfig_Leader); //Save Leader
if(!_leader)
{
Say("Leader not in game - leaving now...");
Delay(5000);
ExitGame();
}
//else Say(_leader.name + " is the leader!");
Delay(200);
NTTMGR_TownManager();
Delay(200);
NTTM_TownMove("portalspot"); //move near TP
Delay(200);
while(!NTC_InMyParty(_leader.name)) //if leader is not in party yet
{
if(NTC_InMyParty(_leader.name)) //leader is in party
break;
NT_Party(); // invite leader or accept invitation from leader
Delay(1000);
}
if(NTC_InMyParty(_leader.name))
NT_EnterCS(); //TP near vizier
while(NTC_InMyParty(_leader.name))
{
if(_leader.areaid != 108)
{
//Say("Leader in town (1)");
Delay(200);
break;
}
else NT_CheckAlive();
Delay(400);
}
if(NTC_InMyParty(_leader.name))
{
NT_LeaveCS(); //back in town
NT_EnterCS(); //TP near deseis
}
while(NTC_InMyParty(_leader.name))
{
if(_leader.areaid != 108)
{
//Say("Leader in town (2)");
Delay(200);
break;
}
else NT_CheckAlive();
Delay(400);
}
if(NTC_InMyParty(_leader.name))
{
NT_LeaveCS(); //back in town
NT_EnterCS(); //TP near infector
}
while(NTC_InMyParty(_leader.name))
{
_diablo = NTC_FindUnit(NTC_UNIT_MONSTER, 243);
Delay(300);
if(_diablo) //diablo is too close
{
Say("Diablo found - leaving game");
ExitGame(); //leave game and wait for leader to open a new one
}
else Delay(1000);
}
NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}
function NT_Party() //copied
{
_player = GetPlayerUnit();
if(_player)
{
_mypartyid = _player.partyid;
while(_player.GetNext())
{
if(_player.partyid == 65535 || _player.partyid != _mypartyid)
{
if(_player.partyflag == 2)
{
me.ClickParty(_player, 2);
break;
}
if(_player.partyid == 65535)
{
if(_player.partyflag == 4)
break;
me.ClickParty(_player, 2);
NTC_Delay(NTC_DELAY_FRAME);
if(_player.partyflag == 4 || (_player.partyid != 65535 && _player.partyid == _mypartyid))
break;
}
}
}
}
}
function NT_GetLeader(_name)
{
_player = GetPlayerUnit();
if(_player)
{
while(_player.GetNext())
{
if(_player.name == _name)
{ return _player; }
}
}
}
function NT_CheckAlive()
{
Delay(100);
if(me.hp < 1 || me.mode == 0 || me.mode == 17) // = dead
{
//Say("I died");
Delay(200);
me.Cancel(0);
Delay(3000); //dont take tp immediately
while(me.areaid == 103 && NTC_InMyParty(_leader.name))
{
//NTTM_TownMove("portalspot");
//Delay(500);
NTM_UsePortal("BluePortal", 108, _leader.name);
Delay(300);
if(me.areaid == 108) NT_GetCorpse();
}
}
}
function NT_EnterCS()
{
//Say("Ready for CS...");
if(me.areaid != 103) Say("I should be in town - WTF?");
while(me.areaid == 103 && NTC_InMyParty(_leader.name))
{
//Say("Waiting for " + _leader.name + "´s TP");
NTM_UsePortal("BluePortal", 108, _leader.name);
Delay(3000);
}
if(me.areaid == 103 && !NTC_InMyParty(_leader.name)) Say("Leader not in party - WTF?");
}
function NT_LeaveCS()
{
//Say("Leaving CS");
while(me.areaid != 103)
{
NTM_MakeTP(103);
Delay(1000);
}
NTTMGR_TownManager();
Delay(1000);
NTTM_TownMove("portalspot");
if(!NTC_InMyParty(_leader.name)) return;
Delay(3000); //wait in town to avoid entering wrong tp
}
function NT_GetCorpse() //copied
{
var _corpse;
for(var i = 0 ; i < 4 ; i++)
{
_corpse = NTC_FindUnit(NTC_UNIT_PLAYER);
if(_corpse)
{
do
{
if(_corpse.name == me.name && _corpse.hpmax == 0)
{
NTC_SwapWeapons(0);
NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _corpse);
Delay(300);
break;
}
} while(_corpse.GetNext());
}
}
}
Meine
NTBotLeech.ntj
var gameMinLength = 90000; // time in milliseconds, minimum game length, 180 seconds default (1 game/3 minutes)
var unableToConnectRetry = 5; // time in minutes to retry connecting on connection fail (real value is +/- 1 min)
var realmDownRetry = 260; // time in minutes to retry connecting on a realm down (default is 120 minutes)
var disconnectedRetry = 5; // time in minutes to retry on a disconnection (usually ip ban related)
var cdkeyInUseRetry = 5; // time in minutes to retry on a cdkey in use error message (set to 0 to stop)
var connectingToBnetTimeout = 20000; // time in milliseconds to wait for a login to time out and click cancel and retry
var characterScreenTimeout = 10000; // time in milliseconds to wait for character screen to appear
var pleaseWaitTimeout = 10000; // time in milliseconds to wait for a please wait popup
var createGameThreshold = 5000; // time in milliseconds to wait between making games
var createGameThresholdRandom = 1000; // time in milliseconds to randomly add +/- to the game create time
var createGameTimeout = 15000; // time in milliseconds to register a failed to create game
var waitInLineTimeout = 60000; // time in milliseconds to wait in lines for a create game (60 second default)
var characterSelectDelay = 1000; // time in milliseconds to wait before selecting a character on the char screen
var loginDelay = 1000; // time in milliseconds to wait before submitting login information
var clickDelay = 500; // wait X milliseconds before next action after a click event
var textDelay = 500; // wait X milliseconds before next action after inserting text into a textbox
var clickDelayRandom = 500; // random amount of time to add to a click
var textDelayRandom = 500; // random amount of time to add to a text set
var gameDoesNotExistDelayMin = 1000; // how long to wait when a Game Does Not Exist occurs - minimum - default 10 minutes
var gameDoesNotExistDelayMax = 1000; // how long to wait when a Game Does Not Exist occurs - maximum - default 15 minutes
var gameDoesNotExistTimeout = 30000; // how long to wait for the dialog to disappear (default 30 seconds, don't change this)
var joinChatAfterGame = true; // join chat after leaving a game
var joinRandomChannel = false; // if this is true, will join a random channel, otherwise it will use the channel below..
var joinChannelInChat = "xxxx"; // leave blank to not join a private channel
var waitBeforeEnterChatMin = 10000; // min how long to wait before entering chat
var waitBeforeEnterChatMax = 15000; // max how long to wait before entering chat
var waitInChatBeforeActionsMin = 10000; // min how long to wait before joining channel
var waitInChatBeforeActionsMax = 15000; // max how long to wait before joining channel
var JoinFromChat = true;
var leaderAccountName = "xxxx"; // Hier den ACCOUNTNAMEN des Leaders anzeigen. Der Name muss so geschrieben werden, wie er in der Freundesliste angezeigt wird!!!
var gamepassword = '1234'; // Wenn du ein Passwort für deine Baalruns verwendest, schreibe es hier zwischen die zwei ''
var samegame = '';
var oldgame = '';
var check = 1;
// DONT EDIT 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;
Include("libs/controlInfo.ntl");
//Include("joinBotSettings.ntl");
var controlData = new controlInfo();
var game = '';
var _rejoincount = 0;
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)
{
if(Load("NTBot/NTBotGame.ntj"))
{
_ingame = true;
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(!chatActionsDone)
{
chatActionsDone = true;
Delay(Random(waitInChatBeforeActionsMin, waitInChatBeforeActionsMax));
if(joinRandomChannel || joinChannelInChat != "")
{
Say("/join " + (joinRandomChannel ? getRandomString(Random(3,10)) : joinChannelInChat));
Delay(1000);
if(check == 0)
{
sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
outputGameLength();
lastGameStatus = 0;
setNextGameMake();
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
check++;
}
}
}
if(JoinFromChat){
game = '';
if(joinChannelInChat) Delay (1200);
Say('/f l');
Delay(1000);
if(chat = controlData.get(controlData.controls.lobby.chat.te xtBox.channelText))
{
var errors = '';
var found_leader = false;
lines = chat.GetText();
for (var friend = 0; friend < lines.length; friend++)
{
if (lines[friend].lastIndexOf(': '+leaderAccountName+',') > -1)
{
game = '';
found_leader = true;
//var _test = lines[friend + 1];
var regOfflineEnglish=/^\d\s?:\s?(\w*)\s?,\s?offline\s*$/gi;
var regGameNameEnglish=/^\s*(the\s)?(game\s)?([\w\s-]*\w)\s\(private\)\.\s*$/gi;
var regGameNameFrench=/^\s*(la\s)?(partie\s)?([\w\s-]*\w)\s\(priv[^\)]*\)\.\s*$/gi;
var regGameNameGerman=/^\s*(Destruction\s)?(in\s)?(das\s)?(Spiel\s)?\'([\w\s-]*\w)\'\s\(privat[^\)]*\)\.\s*$/gi;
if (lines[friend].match(regOfflineEnglish))
{
errors += (errors == '' ? '' : ' ') + 'leader is offline';
//Hdin84 fix >>>>>
// Leader is offline -> rejoin channel to join new games by leader
// dont do this too often or you will get tempbanned
if(_rejoincount < 3)
{
_rejoincount++;
chatActionsDone = false;
Say("Rejoining in 10 sec..");
Delay(10000);
controlData.click(controlData.controls.lobby.butto n.quit);
Delay(500);
break;
}
//<<<<< Hdin84 fix
}
if (lines[friend + 1].match(regGameNameEnglish) && lines[friend+1].substr(1, 1) != ':')
{
game = lines[friend + 1].replace(regGameNameEnglish, "$3");
}
if (!game && lines[friend + 1].match(regGameNameFrench) && lines[friend+1].substr(1, 1) != ':')
{
game = lines[friend + 1].replace(regGameNameFrench, "$3");
}
if (!game && lines[friend + 1].match(regGameNameGerman) && lines[friend+1].substr(1, 1) != ':')
{
game = lines[friend + 1].replace(regGameNameGerman, "$5");
}
if (!game && lines[friend + 1].match(regGameNameFrench) && lines[friend+1].substr(1, 1) != ':')
{
game = lines[friend + 1].replace(regGameNameFrench, "$3");
}
//Say("Game: " + game + " Samegame: " + samegame);
if (game != '' && game != samegame)
{
if (joinChannelInChat)
Delay(1000);
controlData.click(controlData.controls.lobby.butto n.join);
Delay (500);
}
else
{
if (game == samegame) {
Delay(5000);
//Say("Leader still in the same game... -> " + game);
break;
}
}
}
}
if (!found_leader && joinChannelInChat)
{
if (errors)
Say('Errors : ' + errors);
else
Say('I couldn\'t find the leader in my friend list.');
Delay(1500);
}
}
else
{
if (joinChannelInChat)
Say('I can\'t read the chat!');
Delay(1500);
}
}
errors = '';
if(game != '')
{samegame = game;}
else Delay(5000); //leader not in game - wait 10 secs
break;
case 1: // Lobby
if(location.id == 1 && joinChatAfterGame)
{
Delay(Random(waitBeforeEnterChatMin, waitBeforeEnterChatMax));
controlData.click(controlData.controls.lobby.butto n.enterChat);
break;
}
if(GetTickCount() > nextGameMake)
{
lastGameFailed = false;
switch(lastGameStatus)
{
case 0:
controlData.click(controlData.controls.lobby.butto n.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(); // reset inGameAt, to wait how long we should have waited..
lastGameFailed = true;
case 2:
outputGameLength();
lastGameStatus = 0;
setNextGameMake();
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
break;
}
}
//else
// timeoutDelay(nextGameMake-GetTickCount(), location);
break;
case 2: // Waiting In Line
if(GetTickCount()-lastGameMade > waitInLineTimeout)
controlData.click(controlData.controls.lobby.inLin e.button.cancel);
break;
case 4: // Create Game
if(!controlData.get(controlData.controls.lobby.cre ate.editBox.gameName))
{
controlData.click(controlData.controls.lobby.butto n.join);
Delay (500);
controlData.click(controlData.controls.lobby.butto n.create);
Delay (500);
}
sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
RunGC(); // run garbage collector between each game
locationTimeout(5000, location);
lastGameMade = GetTickCount();
lastGameStatus = 1; // pending creation
break;
case 5: // Join Game
if(!controlData.get(controlData.controls.lobby.joi n.editBox.gameName))
{
controlData.click(controlData.controls.lobby.butto n.create);
Delay (1000);
controlData.click(controlData.controls.lobby.butto n.join);
Delay (1000);
}
if (game != '')
{
_rejoincount = 0;
controlData.setText( controlData.controls.lobby.join.editBox.gameName, game);
Delay (200);
controlData.setText( controlData.controls.lobby.join.editBox.password, gamepassword);
Delay (200);
controlData.click(controlData.controls.lobby.join. button.joinGame);
RunGC(); // run garbage collector between each game
//locationTimeout(1000, location);
lastGameStatus = 1; // pending join
check = 1;
}
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.bu tton.gateway);
break;
case 9: // Login
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
Delay(loginDelay);
controlData.setText(controlData.controls.login.edi tBox.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.unabl eToConnect.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.characterSele ct.textBox.characterInfo[me.charloc]);
if(_control && _control.GetText() != undefined)
break;
Delay(500);
}
if(_time < characterScreenTimeout)
{
Delay(characterSelectDelay);
controlData.click(controlData.controls.characterSe lect.textBox.characters[me.charloc], 0, 0, 1);
controlData.click(controlData.controls.characterSe lect.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.characterSe lect.button.exit);
timeoutDelay(realmDownRetry*60*1000, location);
}
break;
case 13: // Realm Down - Character Select screen
controlData.click(controlData.controls.characterSe lect.button.exit);
timeoutDelay(realmDownRetry*60*1000, location);
break;
case 14: // Character Select - Disconnected
timeoutDelay(disconnectedRetry*60*1000, location);
controlData.click(controlData.controls.characterSe lect.disconnected.button.ok);
break;
case 15: // New Character
break;
case 16: // Character Select - Please Wait popup
if(!locationTimeout(pleaseWaitTimeout, location))
controlData.click(controlData.controls.characterSe lect.pleaseWait.button.cancel);
break;
case 17: // Lobby - Lost Connection - just click okay, since we're toast anyway
controlData.click(controlData.controls.lobby.lostC onnection.button.ok);
break;
case 18: // D2 Splash
controlData.click(controlData.controls.d2Splash.te xtBox.copyright);
break;
case 19: // Login - Cdkey In Use
timeoutDelay(cdkeyInUseRetry*60*1000, location);
controlData.click(controlData.controls.login.cdkey InUse.button.ok);
break;
case 20: // Single Player - Select Difficulty
RunGC(); // run garbage collector between each game
controlData.click(controlData.singlePlayerDifficul ties[me.diff]);
break;
case 21: // Main Menu - Connecting
if(!locationTimeout(connectingToBnetTimeout, location))
controlData.click(controlData.controls.mainMenu.co nnecting.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.characterSe lect.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.pleas eWait.button.cancel);
break;
case 26: // Lobby - Game Name Exists
sendEventToOOG(D2NT_MGR_PRINT_LOG, "Game already exists", 0);
inGameAt = 0;
lastGameStatus = 0;
setNextGameMake();
locationTimeout(15000, location);
break;
case 27: // Gateway Select
controlData.clickRealmEntry(me.gatewayid);
controlData.click(controlData.controls.gateway.but ton.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)
{
endtime = GetTickCount() + time;
while(endtime > GetTickCount())
{
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " (" + parseInt((endtime-GetTickCount())/1000) + "s)", 0);
Delay(1000);
}
}
function getRandomString(_length)
{
_retString = "";
_charSet = "0123456789abcdefghijklmnopqrstuvwxyz";
while(_length--)
{
_retString += _charSet.charAt(Random(0, _charSet.length-1));
Delay(1);
}
return _retString;
}
mir kahm da auch eine idee beim rush script macht der bot ein tp und wartet bis der der leecher durchs tp geht dannach killt der diablo ich habe das mal mit trist gemacht aber mit diablo nicht hin bekommen
könne mir jemand das vll machen ? :P
also der soll am sten das tp machen und dannach alle monster töten wirklich alle !!
Meine
NTDiablo.ntj
function NTMain()
{
Include("libs/common/NTCommon.ntl");
NTC_IncludeLibs();
NTC_IncludeConfig("NTBot/char_configs");
NT_LoadConfig();
NTSI_LoadNIPFiles("NTBot/item_configs");
NTA_Initialize();
if(!NTTM_CheckAct())
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
return;
}
NTTMGR_TownManager();
if(!NTTM_TownMove("waypoint"))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
return;
}
if(!NTM_TakeWaypoint(107))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
return;
}
NTP_DoPrecast(true);
if(!NTM_MoveTo(108, 7715, 5270, 5))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
return;
}
if(NTConfig_PublicMode)
{
Delay(100);
NTA_ClearPosition(40, true, 2);
NTM_MoveTo(108, 7715, 5270);
NTC_PingDelay(1000);
NTM_MakeTP();
Delay(200); //wait for leecher before precasting (dont wait too long - Leader does nothing while waiting!)
NTP_DoPrecast(false);
for(i=0; i<=40; i+=5) // clear TP-spot
{
NTA_ClearPosition(10+i, true, 2);
Delay(100);
NTM_MoveTo(108, 7715, 5270);
Delay(100);
}
}
if(!NT_OpenSealsInt())
{
NTC_SendMsgToScript("NTBotGame.ntj", "NT_OpenSealsInt()");
return;
}
NTP_DoPrecast(true);
NTM_MoveTo(me.areaid, 7814, 5302,6);
Delay(200);
NTC_FindUnit(NTC_UNIT_MONSTER, 243, 100);
if(!NTA_KillMonster(243))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_KillMonster()");
return;
}
NTSI_PickItems();
//if(NTConfig_PublicMode)
// Say("Next game");
NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}
// Internal function
function NT_OpenSealsInt()
{
var i, _unit;
var _result;
_unit = GetPresetUnits(me.areaid, NTC_UNIT_OBJECT);
if(!_unit)
return false;
_result = false;
for(i = 0 ; i < _unit.length ; i++)
{
if(_unit[i].id == 396)
{
if(_unit[i].roomy*5 + _unit[i].y == 5275)
_result = NT_OpenVizierSealInt(1);
else
_result = NT_OpenVizierSealInt(2);
break;
}
}
if(!_result)
return false;
if(NTConfig_PublicMode)
{
//NTM_MoveTo(108, 7715, 5270);
NTM_MakeTP(103);
Delay(500);
if(me.areaid == 103)
{
NTTMGR_TownManager();
Delay(300);
NTTM_TownMove("portalspot");
Delay(300);
}
while(me.areaid == 103)
{
NTM_UsePortal("BluePortal", 108, me.name);
Delay(300);
}
NTP_DoPrecast(true);
NTM_MoveTo(108, 7815, 5230);
for(i=0; i<=20; i+=5) // clear TP-spot
{
NTA_ClearPosition(10+i, true, 2);
Delay(100);
NTM_MoveTo(108, 7815, 5230);
Delay(100);
}
NTM_MakeTP();
Delay(500);
for(i=0; i<=40; i+=5) // clear TP-spot
{
NTA_ClearPosition(10+i, true, 2);
Delay(100);
NTM_MoveTo(108, 7810, 5235);
Delay(100);
}
}
NTP_DoPrecast(true);
_result = false;
for(i = 0 ; i < _unit.length ; i++)
{
if(_unit[i].id == 394)
{
if(_unit[i].roomx*5 + _unit[i].x == 7773)
_result = NT_OpenDeSeisSealInt(1);
else
_result = NT_OpenDeSeisSealInt(2);
break;
}
}
if(!_result)
return false;
if(NTConfig_PublicMode)
{
//NTM_MoveTo(108, 7815, 5230);
NTM_MakeTP(103);
Delay(500);
if(me.areaid == 103)
{
NTTMGR_TownManager();
Delay(300);
NTTM_TownMove("portalspot");
Delay(300);
}
while(me.areaid == 103)
{
NTM_UsePortal("BluePortal", 108, me.name);
Delay(300);
}
NTP_DoPrecast(true);
NTM_MoveTo(108, 7860, 5315);
for(i=0; i<=20; i+=5) // clear TP-spot
{
NTA_ClearPosition(10+i, true, 2);
Delay(100);
NTM_MoveTo(108, 7860, 5315);
Delay(100);
}
NTM_MakeTP();
Delay(1000);
for(i=0; i<=40; i+=5) // clear TP-spot
{
NTA_ClearPosition(10+i, true, 2);
Delay(100);
NTM_MoveTo(108, 7860, 5315);
Delay(100);
}
}
NTP_DoPrecast(true);
_result = false;
for(i = 0 ; i < _unit.length ; i++)
{
if(_unit[i].id == 392)
{
if(_unit[i].roomx*5 + _unit[i].x == 7893)
_result = NT_OpenVenomSealInt(1);
else
_result = NT_OpenVenomSealInt(2);
break;
}
}
return _result;
}
function NT_OpenVizierSealInt(type)
{
var i, n;
var _attackpos = [7710, 5280, 7705, 5290, 7695, 5295, 7685, 5290, 7665, 5290];
var _monstername = GetLocaleString(2851);
for(i = 0 ; i < _attackpos.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1],1);
NTA_ClearPosition(30, true, 2);
Delay(200);
}
for(i = 0 ; i < 3 ; i++)
{
if(type == 1)
{
NT_OpenSealInt(395, 7654, 5310);
NT_OpenSealInt(396, 7659, 5277);
NTM_MoveTo(me.areaid, 7665, 5277);
}
else
{
NT_OpenSealInt(395, 7650, 5276);
NT_OpenSealInt(396, 7651, 5310);
}
for(n = 0 ; n < 10 ; n++)
{
NTC_Delay(200);
if(NTA_KillMonster(_monstername))
{
NTA_ClearPosition(35, true, 2);
NTSI_PickItems();
return NTM_MoveTo(me.areaid, 7750, 5280);
}
}
}
return false;
}
function NT_OpenDeSeisSealInt(type)
{
var i, n;
var _attackpos = [7800, 5220, 7790, 5215, 7780, 5205];
var _monstername = GetLocaleString(2852);
for(i = 0 ; i < _attackpos.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1],1);
NTA_ClearPosition(35);
Delay(200);
}
for(i = 0 ; i < 3 ; i++)
{
if(type == 1)
{
NT_OpenSealInt(394, 7778, 5157);
NTC_Delay(500);
NTM_MoveTo(me.areaid, 7796, 5226);
}
else
{
NT_OpenSealInt(394, 7810, 5156);
NTC_Delay(500);
NTM_MoveTo(me.areaid, 7800, 5189);
}
for(n = 0 ; n < 10 ; n++)
{
NTC_Delay(200);
if(NTA_KillMonster(_monstername))
{
NTA_ClearPosition(35);
NTSI_PickItems();
return NTM_MoveTo(me.areaid, 7800, 5255);
}
}
}
return false;
}
function NT_OpenVenomSealInt(type)
{
var i, n;
var _attackpos = [7865, 5310];
var _monstername = GetLocaleString(2853);
for(i = 0 ; i < _attackpos.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1],1);
NTA_ClearPosition(30, true, 2);
Delay(200);
}
for(i = 0 ; i < 3 ; i++)
{
if(type == 1)
{
NT_OpenSealInt(393, 7915, 5280);
NT_OpenSealInt(392, 7895, 5318);
NTM_MoveTo(me.areaid, 7892, 5298);
}
else
{
NT_OpenSealInt(393, 7905, 5277);
NT_OpenSealInt(392, 7916, 5310);
NTM_MoveTo(me.areaid, 7937, 5305);
}
for(n = 0 ; n < 10 ; n++)
{
NTC_Delay(200);
if(NTA_KillMonster(_monstername))
{
NTSI_PickItems();
if(NTC_PutSkill(124, NTC_HAND_RIGHT))
NTC_PingDelay(1000);
return true;
}
}
}
return false;
}
function NT_OpenSealInt(classid, x, y)
{
var _seal;
NTM_MoveTo(me.areaid, x, y);
NTA_ClearPosition(30, true, 2);
_seal = NTC_FindUnit(NTC_UNIT_OBJECT, classid, 5);
if(!_seal)
return false;
if(_seal.mode > 0)
return true;
for(var i = 0 ; i < 4 ; i++)
{
if((i % 2) == 0)
{
if(GetDistance(me, _seal) > 2)
NTM_MoveTo(_seal.areaid, _seal.x+1, _seal.y);
NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _seal);
}
NTC_Delay(500);
if(_seal.mode > 0)
return true;
}
return false;
}
|
|
|
03/04/2011, 11:01
|
#45
|
elite*gold: 0
Join Date: Sep 2009
Posts: 208
Received Thanks: 3
|
wo muss die tränke datei hin?^^
EDIT:
wieso joint der das game verreckt dort 23423 ma^^ *grins*
ne ehrlich immer wenn diablo kommt leavt er .. kann man das austellen weil er sont im channel hockt und ca. 20 ma /F l macht bis der andere bot im neuen game is
und da bekomm ich heftigen disconnect!!^^
und mancha is der leecher auch zu faul ins game zu join.. :O..
|
|
|
 |
|
Similar Threads
|
waypoint leech script?
07/21/2010 - Diablo 2 - 7 Replies
moin ^^
erstmal sorry, ich glaube ich hatte sowas in der richtung hier schonmal gesehen - aber finds irgendwie nimmer ^^
gibts irgendwo ein waypoint leech script dass beide chars steuert?
also einen zum wps geben und den anderen zum annehmen^^
danke schonmal im voraus ^^
|
Brauch jemand ein Leech Rush script??
05/27/2010 - Diablo 2 - 28 Replies
Hi Leute
so ich hate mir mal überlegt ein leechrush script zu machen
vorweg
Leecher = der der gerusht wird
Rusher = der der rusht (eigentlich kla) :p
heist das der Leecher auch nix mehr machen muss
|
Dia-Leech-Script
05/12/2010 - Diablo 2 Programming - 9 Replies
Hab mir heute vorgenommen, ein eigenes Script zu schreiben (mit den üblichen c&p Passagen) und hab ne erste Version fertig.
Was es kann:
-join/leave Games die der Leader erstellt/verlässt via f-list
-invite/accept Party
-geht durchs Portal ins CS und folgt dem Leader mit einstellbarem Abstand
-kämpft nich mit, sondern schlappt nur hinterher
Was es (bisher zumindest) nicht kann bzw noch nicht besonders gut:
|
Baal Leech Script
05/10/2010 - Diablo 2 - 3 Replies
GHabe ne Frage zu Bluebirds Baal Leexh Sxript und zwar nutze ich denn, funktioniert auch so einwandfrei, möchte jedoch das dei Charaktere mitkämpen, was muss ich da einstellen?
LG rené
|
All times are GMT +1. The time now is 16:18.
|
|