Jump to content

Diablo2 Pixel Colors


Recommended Posts

please check Page 2, Post #16 for most recent question

Edited by Aces

~~ AutoIt v3 Minion ~~Name: Kevin "Aces-X" MorrisOrganization: A C DevelopmentE-Mail: AcesX91@acecoding.netOS: XP Professional; Vista package~~ Released Software ~~CPU-Mach: Topic at acecoding.net ForumsProxyzBuddy: Beta testing at the moment, private onlyWHSTool: Not released to the public

Link to comment
Share on other sites

i want it to search monsters pixels as well... but not working out too well, maybe i need to use a data folder

~~ AutoIt v3 Minion ~~Name: Kevin "Aces-X" MorrisOrganization: A C DevelopmentE-Mail: AcesX91@acecoding.netOS: XP Professional; Vista package~~ Released Software ~~CPU-Mach: Topic at acecoding.net ForumsProxyzBuddy: Beta testing at the moment, private onlyWHSTool: Not released to the public

Link to comment
Share on other sites

Hi aces,

I have made bots for diablo II

But the problem to find it.

if you want the color of the pixel mousepos(0) mousepos(1) you get ALWAYS the mouse color.

The mouse is pathed by mousepos(0)-3 mousepos(1) -3. So au3info dont work, of yes it works but you found only 0x1C1C1C

-jaenster

Link to comment
Share on other sites

thank you jaenster, having a small bit of trouble understanding. may i talk to you on another type of chat? maybe IRC? AIM?

~~ AutoIt v3 Minion ~~Name: Kevin "Aces-X" MorrisOrganization: A C DevelopmentE-Mail: AcesX91@acecoding.netOS: XP Professional; Vista package~~ Released Software ~~CPU-Mach: Topic at acecoding.net ForumsProxyzBuddy: Beta testing at the moment, private onlyWHSTool: Not released to the public

Link to comment
Share on other sites

Nevermind, doesn't work.

Main Script

;;;;;; Presets
;; Set AutoIt Options
opt("WinWaitDelay", 500)
opt ][ÝÓ[ÝÙPÛXÚÑ[^I][ÝË
BÜ
    ][ÝÐÛÛÜ[ÙI][ÝË
BÜ
    ][ÝÔVäW'&÷'4fFÂgV÷C²Â¦÷BgV÷Cµ6VæD¶WFVÆgV÷C²Â#£³²&V&æG6æP ¢bÀÌØíIÕ¹1½½ÀôÀ(ìì%¹±ÕÌ(¥¹±Õ±Ðí%¹¥I¹ÔÌÐì(¥¹±Õ±Ðí
¡­ums.au3>

;; Script Initiation (Main)
If WinExists($D2WinTitle) TheSÙÐÞ
    ÌÍÐÝ]][ÝÔXÙHÛÜÙH[ÝÝXXÈRHÚ[ÝÜ&Vf÷&R'VææærgV÷C²fײb33c´&÷EFFÆR W@¤VæD` ¥FööÅFgV÷C´6̵`
¡½ÌØÀ¸ÈèMÑÉÑ¥¹É1½È¸¸¸A±Í]¥ÐÅÕ½Ðì°À°À¤)%1Õ¹¡È ¤= 0 Then
    MsgBox(0, $BotTitle, "Please check config\config.iHÜZÜ]Ù][ÜÈYÜH[[È   ][ÝÈ  [È ÌÍÐÝ]JBQ^][` ¤bvô67BÒFVà ×6t&÷Âb33c´&÷EFFÆRÂgV÷CµÆV6R6V6²÷W"Éͽ±ÕÑ¥½¸¹½¹¥ÀäÈí½¹¥¹¥¹¤½Èµ¥ÍÁÕÐÍÑÑ¥¹Ì½ÉÉÕ¹¹¥¹Åot; & $BotTitle)
    Exit
EndIf
ToolTip("Aces-X Chaos v0.2: Logg[È[XÙHØZ]    ][ÝË
BYÙÚ[
HH[SÙÐÞ
    ÌÍÐÝFFÆRÂgV÷C´6÷VÆFâb33·BÆörâb333²ÆV6R6V6²÷W"66÷VçB÷77v÷&B6WÑ¥¹Ì¥¸½¹¥ÀäÈí½¹¥¹¥¹¤½ÉÉÕ¹¹¥¹ÅÕ½ÐìµÀìÀÌØí ½ÑQ¥Ñ±¤   Exit
EndIf
ToolTip("Aces-X Chaos v0.2: Selecting Character... Please ØZ]  ][ÝË
BÎÈÜXÚYYY[Ý[ÛÂ[È][Ú
BRYÚ[^XÝ]J    33c´C$WRÂb33c´C%&ÖWFW'2Âb33c´C%FÒFVà ×6t&÷Âb33c´&÷Q¥Ñ±°ÅÕ½ÐíA±Í¡¬½¹¥ÀäÈí½¹¥¹¥¹¤½Èµ¥ÍÁÕÐÍÑÑ¥¹Ì½Érunning " & $BotTitle)
        Exit
    EndIf
    WinWaitActive($D2W[]JBUÚ[Ù]Ý]J   ÌÍÑÚ[]K ][ÝÉ][ÝËÕ×ÔÒÕÊBUÚ[[ÝJ   Ì3c´C%våFFÆRÂgV÷C²gV÷C²Â &WGW&â¤VæDgVæ0 ¤gVæ2vô67B Ö÷W6T6¥¬ ÅÕ½Ðí±ÐÅÕ½Ðì°ÄÀÀ°ÄÀÀ°Ä°ÀÌØí5½ÕÍ
±¥­MÁ¤(%M±À ÀÌØí±Mouse)
    Sleep($DelayLogin)
    If PixelSearch($AcctChecksum[1], &#03ÐXØÝÚXÚÜÝ[VÌK  ÌÍÐXØÝÚXÚÜÝ[VÌ×K ÌÍÐXØÝÚXÚÜÝ[VÍK   ÌÍÐXØÝV6·7VÕ³ÒÒFVà ×6t&÷Âb33c´&÷EFFÆRÂgV÷CµÆV6R6V6²÷W"&W½±ÕÑ¥½¸¹½¹¥ÀäÈí½¹¥¹¥¹¤½Èµ¥ÍÁÕÐÍÑÑ¥¹Ì½ÉÉÕ¹¹¥¹ÅսР& $BotTitle)
        Exit
    Else
        MouseMove($AcctChecksum[1], &#03ÐXØÝÚXÚÜÝ[VÌK   ÌÍÓ[ÝÙPÛXÚÔÜYY
BBTÛY
    ÌÍÑ[^S[ÝÙJBBS[ÝÙQ÷vâgV÷C´ÆVgBgV÷C² 6ÆVWb33c´FVÆÖ÷W6R Ö÷W6TÖ÷fR33Ã3SRÂb33c´½ÕÍ
±¥­MÁ¤($%M±À ÀÌØí±å5½Õͤ($%5½ÕÍUÀ ÅÕ½Ðí1ÐÅÕ½Ðì¤($%M±p($DelayMouse)
        Return 1
    EndIf
EndFunc

Func Login()
    Send($AccÝ[[YJBTÛY
    ÌÍÑ[^^ÊBTÙ[
    ][ÝÞÕPI][ÝÊBTÛY
    ÌÍÑ[¶W2 6VæBb33c´66÷VçE72 6ÆVWb33c´FVƶW2 6VæBgV÷C·´TåDU'ÒÅÕ½Ðì¤(%M±À ÀÌØí±å1½¥¸¤(%%A¥á±MÉ  ÀÌØí1½¥¹
¡­ÍÕµlÅt°À6;LoginChecksum[2], $LoginChecksum[3], $LoginChecksum[4], $LÙÚ[ÚXÚÜÝ[VÌJH[BSÙÐÞ
    ÌÍÐÝ]K  ][ÝÐÛÝ[ÌÎNÝÙÈ[333²ÆV6R6V6²÷W"66÷VçB÷77v÷&B6WGFæw2â6öæfrb3#¶6öæfrææ½ÉÉÕ¹¹¥¹ÅÕ½ÐìµÀìÀÌØí    ½ÑQ¥Ñ±¤($%á¥Ð(%±Í($%IÑÕɸÄ(%¹%)dFunc
oÝ÷ ØâEæjíÚºÚ"µÍÎÈÙ][ÜÂÌÍÑ]H[TXY
    ][ÝØÛÛYÉÌLØÛÛYË[I][ÝË   ][õ6WGFæw2gV÷C²ÂgV÷C´C%FgV÷C²ÂgV÷C²gV÷C²¢b33c´C$WRÒæ&VBg½Ðí½¹¥ÀäÈí½¹¥¹¥¹¤ÅÕ½Ðì°ÅÕ½ÐíMÑÑ¥¹ÌÅÕ½Ðì°ÅÕ½ÐíÉáÅÕ½Ðì°±uot;")
$D2Parameters = IniRead("config\config.ini&quot ][ÝÔÙ][ÜÉ][ÝË    ][ÝÑ[Y]É][ÝË   ][ÝÉ][ÝÊBÌÍÐXØÛÝgDæÖRÒæ&VBgV÷C¶6öæfrb3#¶6öæfræægV÷C²ÂgV÷Cµ6WGFæw2gV÷C²ÂEÕ½Ðí½Õ¹Ñ9µÅÕ½Ðì°ÅÕ½ÐìÅÕ½Ðì¤(ÀÌØí½Õ¹ÑAÍÌô%¹¥I ÅÕ½Ðí½¹©g\config.ini", "Settings", "AccountPass", &q[ÝÉ][ÝÊBÌÍÐÚXÝÛÝH[TXY
    ][ÝØÛÛYÉÌLØÛÛYË[I][ÝÂgV÷Cµ6WGFæw2gV÷C²ÂgV÷C´6&7FW%6Æ÷BgV÷C²ÂgV÷C²gV÷C²¢b33c´C$vÕ9µô%¹¥I ÅÕ½Ðí½¹¥ÀäÈí½¹¥¹¥¹¤ÅÕ½Ðì°ÅÕ½ÐíMÑÑ¥¹ÌÅÕ½Ðì°õot;D2GameName", "")
$D2GamePass = IniRead("configÌLØÛÛYË[I][ÝË   ][ÝÔÙ][ÜÉ][ÝË    ][ÝÑØ[YTÜÉ][ÝË   ][ÝçV÷C²¢b33c´6÷4WRÒæ&VBgV÷C¶6öæfrb3#¶6öæfræægV÷C²ÂgV÷C´!½ÌÅÕ½Ðì°ÅÕ½ÐíáÅÕ½Ðì°ÅÕ½ÐìÅÕ½Ðì¤((ììQ¥Ñ±Ì(ÀÌØíÉ]¥¹Q¥Ñ±ô%¹ead("config\config.ini", "Titles", "D2WinTitYI][ÝË   ][ÝÉ][ÝÊBÌÍÐÝ]HH[TXY
    ][ÝØÛÛYÉÌLØÛÛYË[gV÷C²ÂgV÷CµFFÆW2gV÷C²ÂgV÷C´&÷EFFÆRgV÷C²ÂgV÷C²gV÷C² £³²FVÆ0ÀÌØí±å5½ÕÍô%¹¥I ÅÕ½Ðí½¹¥ÀäÈí½¹¥¹¥¹¤ÅÕ½Ðì°ÅÕ½Ðí±å̱uot;, "DelayMouse", "")
$DelayKeys = IniRead(&quoNØÛÛYÉÌLØÛÛYË[I][ÝË ][ÝÑ[^É][ÝË    ][ÝÑ[^RÙ^É][ÝË    V÷C²gV÷C²¢b33c´FVÆÆövâÒæ&VBgV÷C¶6öæfrb3#¶6öæfræægV÷C²ÂÅÕ½Ðí±åÌÅÕ½Ðì°ÅÕ½Ðí±å1½¥¸ÅÕ½Ðì°ÅÕ½ÐìÅÕ½Ðì¤(ÀÌØí±å
¡Éår = IniRead("config\config.ini", "Delays", "Y[^PÚXÝ][ÝË   ][ÝÉ][ÝÊBÌÍÑ[^PÜX]QØ[YHH[TXY
    ][ÝØÛæfrb3#¶6öæfræægV÷C²ÂgV÷C´FVÆ2gV÷C²ÂgV÷C´FVÆ7&VFTvÖRgV÷C²ÀÅÕ½ÐìÅÕ½Ðì¤(ÀÌØí±å)½¥¹µô%¹¥I ÅÕ½Ðí½¹¥ÀäÈí½¹¥¹¥¹¤Åït;, "Delays", "DelayJoinGame", "")
$Del^Q^]Ø[YHH[TXY
    ][ÝØÛÛYÉÌLØÛÛYË[I][ÝË   ][ÝÑ[^É][ÝËgV÷C´FVÆWDvÖRgV÷C²ÂgV÷C²gV÷C²¢b33c´Ö÷W6T6Æ6µ7VVBÒæ&VBg½Ðí½¹¥ÀäÈí½¹¥¹¥¹¤ÅÕ½Ðì°ÅÕ½Ðí±åÌÅÕ½Ðì°ÅÕ½Ðí5½ÕÍ
±¥­MÁ±uot;, "")oÝ÷ Ø(^rK.Æ®¶­sc³²6V6·7V×0 £³²66÷VçB&÷VÇ0¤vÆö&Âb33c´67D6V6·7VÕ³UТb33c´67M¡­ÍÕµlÁtôÁàÀÐÀÐÀÐ(ÀÌØíÑ
¡­ÍÕµlÅtôÐÌÔ(ÀÌØíÑ
¡­ÍÕµlÉtôÆ0
$AcctChecksum[3] = 440
$AcctChecksum[4] = 365
$AcctHex = Z^[ÙXÚ
ÍKÍ
ÍKÍ


BÎÈÙÚ[]Û^[ÂÛØ[  Ìc´Æövä6V6·7VÕ³UТb33c´Æövä6V6·7VÕ³ÒÒC¢b33c´Æövä6V6·7VÕ³ÐôÌÈÌ(ÀÌØí1½¥¹
¡­ÍÕµlÉtôÈÈÔ(ÀÌØí1½¥¹
¡­ÍÕµlÍtôÌÈÌ(ÀÌØí1½¥³hecksum[4] = 225
$LoginHex = PixelSearch(323, 225, 323, 225, 0x141010"

in Login(), it resorts to the MsgBox in the If - Else - EndIf section, no matter what.

How do I apply "If PixelSearch($LoginChecksum[1], $LoginChecksum[2], $LoginChecksum[3], $LoginChecksum[4], $LoginChecksum[0]) Then" ONLY if these conditions apply?

Edited by Aces

~~ AutoIt v3 Minion ~~Name: Kevin "Aces-X" MorrisOrganization: A C DevelopmentE-Mail: AcesX91@acecoding.netOS: XP Professional; Vista package~~ Released Software ~~CPU-Mach: Topic at acecoding.net ForumsProxyzBuddy: Beta testing at the moment, private onlyWHSTool: Not released to the public

Link to comment
Share on other sites

Ok, The D2 Cursor is overlapping the X and Y, use maginfy and it will show, the way we do it for mmbot is we use something like were you hit NUMPAD7 and it grabs your mouses x,y moves then gets the color.

Little example b4 I read the post below.

Posted Image

Edited by Chip
Link to comment
Share on other sites

Chip, thanks but i got a program now that works to get d2 colors.

what i need help on is post #7. shouldnt be too hard for ya guys :rolleyes:

~~ AutoIt v3 Minion ~~Name: Kevin "Aces-X" MorrisOrganization: A C DevelopmentE-Mail: AcesX91@acecoding.netOS: XP Professional; Vista package~~ Released Software ~~CPU-Mach: Topic at acecoding.net ForumsProxyzBuddy: Beta testing at the moment, private onlyWHSTool: Not released to the public

Link to comment
Share on other sites

If PixelSearch($LoginChecksum[1], $LoginChecksum[2], $LoginChecksum[3], $LoginChecksum[4]) = $LoginChecksum[0] Then

MsgBox(0, $BotTitle, "Couldn't Log In! Please check your account/password settings in config\config.ini before running " & $BotTitle)

Exit

Else

BTW I would reccomend Checksums, much more secure.

If you need anymore help, drop me a PM Im good with D2 Botting.

Edited by Chip
Link to comment
Share on other sites

And as for the pixels within the game (for monsters, or anything), there are two ways of approaching this..

1. Use the MM.Bot data file so NPCs and Monsters are clearly seen with a constant colour, this is the easiest way of doing things and the most fail-safe.

2. Take a screenshot of your target pixels, use Au3Info, grab the pixels hex, and add it to your PixelSearch, but use the shade-variation parameter for better results:

PixelSearch ( left, top, right, bottom, color [, shade-variation] [, step]]

shade-variation [optional] A number between 0 and 255 to indicate the allowed number of shades of variation of the red, green, and blue components of the colour. Default is 0 (exact match).

Play around with that until it meets your expectations.

Good luck with your project :rolleyes:

Kurt

PS: Also, for the beginning screen, Login Screen, Char Select Screen, and Lobby Screen, what you could do is WinMove the window to (0,0) and use MouseClicks that will always have the same coords. (This will force the user to run D2 in windowed mode if they use your program).

Awaiting Diablo III..

Link to comment
Share on other sites

And as for the pixels within the game (for monsters, or anything), there are two ways of approaching this..

1. Use the MM.Bot data file so NPCs and Monsters are clearly seen with a constant colour, this is the easiest way of doing things and the most fail-safe.

2. Take a screenshot of your target pixels, use Au3Info, grab the pixels hex, and add it to your PixelSearch, but use the shade-variation parameter for better results:

PixelSearch ( left, top, right, bottom, color [, shade-variation] [, step]]

shade-variation [optional] A number between 0 and 255 to indicate the allowed number of shades of variation of the red, green, and blue components of the colour. Default is 0 (exact match).

Play around with that until it meets your expectations.

Good luck with your project :rolleyes:

Kurt

PS: Also, for the beginning screen, Login Screen, Char Select Screen, and Lobby Screen, what you could do is WinMove the window to (0,0) and use MouseClicks that will always have the same coords. (This will force the user to run D2 in windowed mode if they use your program).

They are static coords, but CD-key in use, Realm down, Unable to Connect, Bad Password/Banned, Bad Account, Bad Cd-key are things u need to watch out for.
Link to comment
Share on other sites

They are static coords, but CD-key in use, Realm down, Unable to Connect, Bad Password/Banned, Bad Account, Bad Cd-key are things u need to watch out for.

Absolutely. I was never involved in much D2 botting, all I know is that mm.bot is one of the best botting tools out there.

Kurt

Awaiting Diablo III..

Link to comment
Share on other sites

Func Login()
    Send($AccountName)
    Sleep($DelayKeys)
    Send("{PI][ÝÊBTÛY
    ÌÍÑ[^RÙ^ÊBTÙ[
    ÌÍÐXØÛÝ[ÜÊBTÛY
    ÌÍÑƶW2 6VæBgV÷C·´TåDU'ÒgV÷C² 6ÆVWb33c´FVÆÆövâ bVÄ6V6·Õ´ ÀÌØí1½¥¹
¡­ÍÕµlÅt°ÀÌØí1½¥¹
¡­ÍÕµlÉt°ÀÌØí1½¥¹
¡­ÍÕµlÍt°#036;LoginChecksum[4]) = $LoginChecksum[0] Then
        Return 1
    Else
        MsgÞ
    ÌÍÐÝ]K  ][ÝÐÛÝ[ÌÎNÝÙÈ[ÌÌÎÈXÙHÚXÚÈ[ÝXØÛVçB÷77v÷&B6WGFæw2â6öæfrb3#¶6öæfrææ&Vf÷&R'VææærgV÷C²fײÀÌØí    ½ÑQ¥Ñ±¤($%á¥Ð(%¹%)¹Õ¹

still popping up the msgbox reguardless of the If PixelChecksum($LoginChecksum[1], $LoginChecksum[2], $LoginChecksum[3], $LoginChecksum[4]) = $LoginChecksum[0] Then

line

~~ AutoIt v3 Minion ~~Name: Kevin "Aces-X" MorrisOrganization: A C DevelopmentE-Mail: AcesX91@acecoding.netOS: XP Professional; Vista package~~ Released Software ~~CPU-Mach: Topic at acecoding.net ForumsProxyzBuddy: Beta testing at the moment, private onlyWHSTool: Not released to the public

Link to comment
Share on other sites

Func Login()
    Send($AccountName)
    Send("{TAB}")
    Sleep(&#036Ñ[^^ÊBTÙ[
    ÌÍÐXØÛÝ[ÜÊBTÛY
    ÌÍÑ[^^ÊBTÙ[
    ][ÝÞÑSDU'ÒgV÷C² 6ÆVWb33c´FVÆÆövâ bVÄ6V6·7VÒb33c´Æövä6V6·7VÕ³t°ÀÌØí1½¥¹
¡­ÍÕµlÉt°ÀÌØí1½¥¹
¡­ÍÕµlÍt°ÀÌØí1½¥¹
¡­ÍÕµlÑt¤ $LoginChecksum[0] Then
        MsgBox(0, $BotTitle, "Couldn'tÙÈ[ÌÌÎÈXÙHÚXÚÈ[ÝXØÛÝ[ÜÜÝÛÜÙ][ÜÈ[ÛÛYÉÌLØÛÛrææ&Vf÷&R'VææærgV÷C²fײb33c´&÷EFFÆR W@ VÇ6P &WGW&â ¹%)¹Õ¹

The $LoginChecksum[] are all correct, but the "If PixelChecksum() = $LoginChecksum[0] Then " line does not execute if true

Can anybody see a flaw?

Edited by Aces

~~ AutoIt v3 Minion ~~Name: Kevin "Aces-X" MorrisOrganization: A C DevelopmentE-Mail: AcesX91@acecoding.netOS: XP Professional; Vista package~~ Released Software ~~CPU-Mach: Topic at acecoding.net ForumsProxyzBuddy: Beta testing at the moment, private onlyWHSTool: Not released to the public

Link to comment
Share on other sites

what are the coords of the checksum? I made a login thing for d2 and mine works fine but i think your trying to check to see if you logged in which i havnt tried but should be really easy

the coords to the checksum are all correct.

im using default Pixel and Mouse CoordMode

Checksums.au3

;; Account Box Pixels
Global $AcctChecksum[5]
$AcctChecksum[0] = 


ÌÍÐXØÝÚXÚÜÝ[VÌWHH
ÍBÌÍÐXØÝÚXÚÜÝ[VÌHHÍÌÍÐXØÝV6·7VÕ³5ÒÒCC¢b33c´67D6V6·7VÕ³EÒÒ3cP¢b33c´67DWÒVÅ6V&6C3°ÌØÀ°ÐÌÔ°ÌØÀ°ÁàÀÐÀÐÀФ((ìì1½¥¸   ÕÑѽ¸A¥á±Ì)±½°ÀÌØí1½¥¹
¡­Ím[5]
$LoginChecksum[0] = 0x8C7C50
$LoginChecksum[1] = 321
$LÙÚ[ÚXÚÜÝ[VÌHHBÌÍÓÙÚ[ÚXÚÜÝ[VÌ×HHÌBÌÍÓÙÚ[ÚXÚÜÝ[VÍHH##P¢b33c´ÆöväWÒVÅ6V&63#Â##RÂ3#Â##RÂ3t3S

everything works up until the If expression (The login details/login does work), but the If expression fails if true.

Edited by Aces

~~ AutoIt v3 Minion ~~Name: Kevin "Aces-X" MorrisOrganization: A C DevelopmentE-Mail: AcesX91@acecoding.netOS: XP Professional; Vista package~~ Released Software ~~CPU-Mach: Topic at acecoding.net ForumsProxyzBuddy: Beta testing at the moment, private onlyWHSTool: Not released to the public

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...