|
You last visited: Today at 23:30
Advertisement
spambot frage
Discussion on spambot frage within the Diablo 2 forum part of the Other Online Games category.
08/13/2010, 21:18
|
#1
|
elite*gold: 0
Join Date: Dec 2008
Posts: 628
Received Thanks: 108
|
spambot frage
hi ^^
mal ne kurze frage, hat jemand ne ahnung was die ganzen spambots benutzen? ^^ sind das scripts fürn d2nt oder irgendwas anderes?
falls es fürn d2nt ist würden mich die scripts mal interessieren ^^
(nein, ich will keine spambots laufen lassen ^^ geht mir mehr darum wie die sich in spiele einklinken)
lg ^^
|
|
|
08/13/2010, 21:42
|
#2
|
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,258
|
Quote:
Originally Posted by sataan1337
hi ^^
mal ne kurze frage, hat jemand ne ahnung was die ganzen spambots benutzen? ^^ sind das scripts fürn d2nt oder irgendwas anderes?
falls es fürn d2nt ist würden mich die scripts mal interessieren ^^
(nein, ich will keine spambots laufen lassen ^^ geht mir mehr darum wie die sich in spiele einklinken)
lg ^^
|
Ich vermute mal, dass sie einfach irgendn random game aus der Liste joinen. :P
|
|
|
08/13/2010, 21:48
|
#3
|
elite*gold: 0
Join Date: Dec 2008
Posts: 628
Received Thanks: 108
|
Quote:
Originally Posted by lanara
Ich vermute mal, dass sie einfach irgendn random game aus der Liste joinen. :P
|
genau das ist ja der punkt der mich interessiert ^^ - also wie man im d2nt die liste offener spiele abfragt ^^
bin mit der d2nt api leider nicht so bewandert
|
|
|
08/13/2010, 23:22
|
#4
|
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,258
|
Quote:
Originally Posted by sataan1337
genau das ist ja der punkt der mich interessiert ^^ - also wie man im d2nt die liste offener spiele abfragt ^^
bin mit der d2nt api leider nicht so bewandert 
|
Code:
var gameMinLength = 180000; // time in milliseconds, minimum game length, 180 seconds default (1 game/3 minutes)
var unableToConnectRetry = 15; // time in minutes to retry connecting on connection fail (real value is +/- 1 min)
var realmDownRetry = 30; // time in minutes to retry connecting on a realm down (default is 300 minutes)
var disconnectedRetry = 5; // time in minutes to retry on a disconnection (usually ip ban related)
var cdkeyInUseRetry = 2; // 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 = 10000; // time in milliseconds to wait between making games
var createGameThresholdRandom = 2500; // 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 = 600000; // how long to wait when a Game Does Not Exist occurs - minimum - default 10 minutes
var gameDoesNotExistDelayMax = 900000; // 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 = false; // join chat after leaving a game
var joinRandomChannel = true; // if this is true, will join a random channel, otherwise it will use the channel below..
var joinChannelInChat = ""; // leave blank to not join a private channel
var waitBeforeEnterChatMin = 1000; // min how long to wait before entering chat
var waitBeforeEnterChatMax = 2000; // max how long to wait before entering chat
var waitInChatBeforeActionsMin = 2000; // min how long to wait before joining channel
var waitInChatBeforeActionsMax = 3000; // max how long to wait before joining channel
// 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");
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(!chatActionsDone)
{
chatActionsDone = true;
Delay(Random(waitInChatBeforeActionsMin, waitInChatBeforeActionsMax));
if(joinRandomChannel || joinChannelInChat != "")
{
Say("/join " + (joinRandomChannel ? getRandomString(Random(3,10)) : joinChannelInChat));
Delay(1000);
}
}
case 1: // Lobby
if(location.id == 1 && joinChatAfterGame)
{
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.join);
if(_control && _control.pressed)
{
controlData.click(controlData.controls.lobby.button.create);
Delay(500);
}
controlData.click(controlData.controls.lobby.button.join);
Delay(4000);
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.inLine.button.cancel);
break;
case 4: // Create Game
sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
locationTimeout(5000, location);
lastGameMade = GetTickCount();
lastGameStatus = 1; // pending creation
break;
case 5: // Join Game
var bla = controlData.get(controlData.controls.lobby.join.textBox.gameList);
var lines;
var game;
while(1)
{
lines = bla.GetText();
if(!lines)
{
sendEventToOOG(D2NT_MGR_PRINT_LOG, "ÿFF7E00" + "Debug - 'lines' was null");
controlData.click(controlData.controls.lobby.button.create);
Delay(500);
controlData.click(controlData.controls.lobby.button.join);
Delay(4000);
}
else
{
for (i = 0; i < lines.length; i++)
{
//if(lines[i].indexOf("dia") != -1 || lines[i].indexOf("baal") != -1)
{
game = lines[i];
break;
}
}
}
if(game && lines)
break;
}
Delay(250);
controlData.setText(controlData.controls.lobby.join.editBox.gameName, game);
Delay(250);
sendEventToOOG(D2NT_MGR_PRINT_LOG, "ÿ4D86B0Joining: " + game);
Delay(250);
controlData.click(controlData.controls.lobby.join.button.joinGame);
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);
break;
case 26: // Lobby - Game Name Exists
sendEventToOOG(D2NT_MGR_PRINT_LOG, "ÿE00000Game 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.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)
{
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;
}
Hatte das glaub von EON, bin mir aber nicht mehr sicher. Hab mir das damals geladen, als das mit den Joinbugs so extrem war, um in public runs zu botten. So wie es jetzt ist, joined es immer das erste Spiel in der Liste. Wenn du willst, dass er bestimmte Spiele joined, zB nur Dia oder Baal runs, kannste das hier einstellen:
Code:
//if(lines[i].indexOf("dia") != -1 || lines[i].indexOf("baal") != -1)
Einfach neue Datei z.B NTJoin.ntj im scripts Ordner erstellen und als Entry Point nehmen.
|
|
|
 |
Similar Threads
|
Spambot
06/19/2010 - AutoIt - 0 Replies
Hallo liebe epvp User. Wollt da ma nen Spambot machen. Hab die GUI schon fertig. Jz aber weiß ich nicht wie ich es mache des es in metin funzt und des es angeht, wenn ich den Button an drücke "An" drücke bzw. ausgeht wenn ich den Button "Aus" drücke.Pls helfen THX im vorraus :mofo:
hier steht wie weit ich bin.
#include <GUIConstantsEx.au3>
;------------------------------------------------ ---------------------------------
GUICreate("Spambot v1.3 By xEr0r", 600, 300)...
|
Spambot v0.4
06/15/2010 - Metin2 Hacks, Bots, Cheats, Exploits & Macros - 4 Replies
Halli Hallo,
Ich hatte mal wider Langeweile mit VB2008 und das ist Dabei Rausgekommen:
http://img268.imageshack.us/img268/2519/sowo.png
Virentest: Virustotal. MD5: 8bb24937466f84305f278ca0514662e2
Download im anhang!
Für nächste Version geplant: Speichern der einstellungen.
1000Millisekunden = 1Sekunde
|
[Frage] AutoIt Spambot
04/19/2010 - AutoIt - 4 Replies
Hallöle,
soooo, das hab ich schonmal:
Ich will aber noch einen "Stop" Button einsetzten:
|
frage zu spambot
03/10/2010 - AutoIt - 3 Replies
thx habe eine antwort bekommen
|
Spambot Frage
03/01/2009 - GW Bots - 9 Replies
Hey ich bin grad einen Spambot am Schreiben. Hier der bisherige Code
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
HotKeySet("{F8}", "_end")
#Region ### START Koda GUI section ### Form=
|
All times are GMT +1. The time now is 23:31.
|
|