 |
AutoHotkey Community Let's help each other out
|
| View previous topic :: View next topic |
| Author |
Message |
IWillPay Guest
|
Posted: Wed Feb 20, 2008 9:15 pm Post subject: Looking to have Script Made - I will Pay! |
|
|
| I need a Simple Script made for EVE - Online.... The Script needs to be able to detect how many people are in "local"... if any one is intersted, let me know, and I will provide more details... |
|
| Back to top |
|
 |
tic
Joined: 22 Apr 2007 Posts: 1355
|
Posted: Wed Feb 20, 2008 9:27 pm Post subject: |
|
|
depends what it is and for how much and is it a cheat script?
either way you need an account anyway. no1 will trust you as "guest" |
|
| Back to top |
|
 |
Jero3nasGuest Guest
|
Posted: Wed Feb 20, 2008 9:28 pm Post subject: |
|
|
I think enough people will do this for free, IF you try to do it yourself first  |
|
| Back to top |
|
 |
tic
Joined: 22 Apr 2007 Posts: 1355
|
Posted: Wed Feb 20, 2008 9:30 pm Post subject: |
|
|
| Jero3nasGuest wrote: | I think enough people will do this for free, IF you try to do it yourself first  |
agreed, unless it is a cheat script then people will be reluctant |
|
| Back to top |
|
 |
Jero3n
Joined: 19 Jan 2007 Posts: 151
|
Posted: Wed Feb 20, 2008 9:32 pm Post subject: |
|
|
That's true, but counting how many people are in a server isn't cheating  _________________
Watch my css video! |
|
| Back to top |
|
 |
IWillPay Guest
|
Posted: Wed Feb 20, 2008 9:47 pm Post subject: |
|
|
Well, I have spent hours trying my self... and I just can't do it...
The script juat reads how many people are in a channel ( it says at the top of the window ) then it "says" ( I have writen a little text to speach thing that uses Microsofts voice thing ) "There are X number of neutral/hostile/friendly in the system." Each type ( neutral/hostile/friend ) have a different symbol next to there name... |
|
| Back to top |
|
 |
IWillPay Guest
|
Posted: Wed Feb 20, 2008 9:51 pm Post subject: |
|
|
I guess I will post my code....
All source code / images / lib can be found here: http://www.spamus.us/EVE_Door_Bell.zip
| Code: | #Persistent
SetBatchlines, -1
#Include GDIplusWrapper.ahk
fileNameDestJ = ResultImage.jpg
CoordMode, Mouse, Screen
CoordMode, Pixel, Screen
currentNumberOfPeople := 0
Speak("To start EVE Door Bell, Press 1 on your keypad when ready.")
HotKey,$Numpad1,testAndBegin,On
HotKey,$Numpad2,ExitMe,On
HotKey,$Numpad3,TestLocal,On
Return
TestLocal:
ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 *TransBlack local.bmp
if (ErrorLevel = 0) {
MouseMove, FoundX, FoundY ; found local
Sleep, 1000
ImageSearch, FoundX2, FoundY2, FoundX, FoundY, A_ScreenWidth, A_ScreenHeight, *20 *TransBlack upArrow.bmp
if (ErrorLevel = 0) {
MouseMove, FoundX2, FoundY2 ; found up arrow
Sleep, 1000
ImageSearch, FoundX3, FoundY3, FoundX2 - 2, FoundY2, FoundX2 + 20, A_ScreenHeight, *20 *TransBlack downArrow.bmp
if (ErrorLevel = 0) {
MouseMove, FoundX3, FoundY3 ; found down arrow
Sleep, 1000
MouseMove, FoundX, FoundY3
Sleep, 1000
MouseMove, FoundX, FoundY2
Sleep, 1000
MouseMove, FoundX2, FoundY2
Sleep, 1000
MouseMove, FoundX3 + 4, FoundY3
Sleep, 1000
}
}
}
Return
testAndBegin:
ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 *TransBlack local.bmp
if (ErrorLevel = 0) {
Speak("Local Channel Found, EVE Door bell now active! Press two on your Keypad to turn off EVE Door Bell")
SetTimer, CheckLocalCount, 500
} else {
Speak("Local Channel was not found, closing!")
ExitApp
}
Return
HelpAbout:
Gui, 2:+owner1 ; Make the main window (Gui #1) the owner of the "about box" (Gui #2).
Gui +Disabled ; Disable main window.
Gui, 2:Add, Text,, Text for about box.
Gui, 2:Add, Button, Default, OK
Gui, 2:Show
Return
2ButtonOK: ; This section is used by the "about box" above.
2GuiClose:
2GuiEscape:
Gui, 1:-Disabled ; Re-enable the main window (must be done prior to the next step).
Gui Destroy ; Destroy the about box.
Return
GuiSize:
if ErrorLevel = 1 ; The window has been minimized. No action needed.
Return
; Otherwise, the window has been resized or maximized. Resize the Edit control to match.
NewWidth := A_GuiWidth - 20
NewHeight := A_GuiHeight - 20
GuiControl, Move, MainEdit, W%NewWidth% H%NewHeight%
Return
FileExit: ; User chose "Exit" from the File menu.
GuiClose: ; User closed the window.
ExitApp
ButtonBrowse:
FileSelectFile, EVEFilePath,,C:\Program Files\CCP\EVE\eve.exe, Select the EVE.exe:, EXE (*.exe)
GuiControl,, EVEFilePath, %EVEFilePath%
Return
Speak(whatToSay) {
TEMPFILE = %TEMP%\TALK.vbs
IfExist, %TEMPFILE%
FileDelete, %TEMPFILE%
FileAppend, Dim Talk`nSet Talk = WScript.CreateObject("SAPI.SpVoice")`nTalk.Speak "%whatToSay%", %TEMPFILE%
RunWait, %TEMPFILE%
FileDelete, %TEMPFILE%
}
CheckLocalCount:
SetTimer, CheckLocalCount, Off
ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 *TransBlack local.bmp
if (ErrorLevel = 0) {
If (GDIplus_Start() != 0)
Goto GDIplusError
If (GDIplus_CaptureScreenRectangle(bitmap, FoundX + 32, FoundY - 2, 26, 12) != 0)
Goto GDIplusError
If (GDIplus_GetEncoderCLSID(jpgEncoder, #GDIplus_mimeType_JPG) != 0)
Goto GDIplusError
GDIplus_InitEncoderParameters(jpegEncoderParams, 1)
jpegQuality = 100
If (GDIplus_AddEncoderParameter(jpegEncoderParams, #EncoderQuality, jpegQuality) != 0)
Goto GDIplusError
If (GDIplus_SaveImage(bitmap, fileNameDestJ, jpgEncoder, jpegEncoderParams) != 0)
Goto GDIplusError
; Wait for jpg
Loop,
{
IfExist, %fileNameDestJ%
Break
}
CMDs =
(LTrim Join
djpeg.exe -pnm -grayscale %fileNameDestJ% in.pnm
,cmdstub.exe gocr045.exe -i in.pnm
)
Loop, parse, CMDs, `,
{
CMD = %A_LoopField%
NULL =
CMDin = ""
CMDout =
CMDerr =
Ret := RunWaitEx(CMD, NULL, CMDin, CMDout, CMDerr)
}
StringReplace, readResultText, cmdout, `r`n, ,A
StringReplace, readResultText, readResultText, I, ,A
StringReplace, readResultText, readResultText, |, ,A
if ( currentNumberOfPeople != readResultText ) {
Speak("Local Has Changed!")
currentNumberOfPeople := readResultText
}
; Cleanup
FileDelete, in.pnm
FileDelete, %fileNameDestJ%
}
SetTimer, CheckLocalCount, On
Return
RunWaitEx(CMD, CMDdir, CMDin, ByRef CMDout, ByRef CMDerr)
{
VarSetCapacity(CMDOut, 100000)
VarSetCapacity(CMDerr, 100000)
RetVal := DllCall("cmdret.dll\RunWEx", "str", CMD, "str", CMDdir, "str", CMDin, "str", CMDout, "str", CMDerr)
Return, %RetVal%
}
GDIplusError:
If (#GDIplus_lastError != "")
MsgBox 16, GDIplus Test, Error in %#GDIplus_lastError% (at %step%)
GDIplusEnd:
GDIplus_FreeImage(bitmap)
GDIplus_Stop()
Return
ExitMe:
Gosub, GDIplusEnd
ExitApp |
|
|
| Back to top |
|
 |
IWillPay Guest
|
Posted: Wed Feb 20, 2008 9:52 pm Post subject: |
|
|
| Note: "TestLocal" Was just some stuff I was testing... |
|
| Back to top |
|
 |
IWillPay Guest
|
Posted: Wed Feb 20, 2008 10:00 pm Post subject: |
|
|
Here, I cleaned it up a little bit...
| Code: | #Persistent
SetBatchlines, -1
#Include GDIplusWrapper.ahk
fileNameDestJ = ResultImage.jpg
CoordMode, Mouse, Screen
CoordMode, Pixel, Screen
currentNumberOfPeople := 0
Speak("To start EVE Door Bell, Press 1 on your keypad when ready.")
HotKey,$Numpad1,testAndBegin,On
HotKey,$Numpad2,ExitMe,On
Return
testAndBegin:
ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 *TransBlack local.bmp
if (ErrorLevel = 0) {
Speak("Local Channel Found, EVE Door bell now active! Press two on your Keypad to turn off EVE Door Bell")
SetTimer, CheckLocalCount, 500
} else {
Speak("Local Channel was not found, closing!")
ExitApp
}
Return
HelpAbout:
Gui, 2:+owner1 ; Make the main window (Gui #1) the owner of the "about box" (Gui #2).
Gui +Disabled ; Disable main window.
Gui, 2:Add, Text,, Text for about box.
Gui, 2:Add, Button, Default, OK
Gui, 2:Show
Return
Speak(whatToSay) {
TEMPFILE = %TEMP%\TALK.vbs
IfExist, %TEMPFILE%
FileDelete, %TEMPFILE%
FileAppend, Dim Talk`nSet Talk = WScript.CreateObject("SAPI.SpVoice")`nTalk.Speak "%whatToSay%", %TEMPFILE%
RunWait, %TEMPFILE%
FileDelete, %TEMPFILE%
}
CheckLocalCount:
SetTimer, CheckLocalCount, Off
ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 *TransBlack local.bmp
if (ErrorLevel = 0) {
If (GDIplus_Start() != 0)
Goto GDIplusError
If (GDIplus_CaptureScreenRectangle(bitmap, FoundX + 32, FoundY - 2, 26, 12) != 0)
Goto GDIplusError
If (GDIplus_GetEncoderCLSID(jpgEncoder, #GDIplus_mimeType_JPG) != 0)
Goto GDIplusError
GDIplus_InitEncoderParameters(jpegEncoderParams, 1)
jpegQuality = 100
If (GDIplus_AddEncoderParameter(jpegEncoderParams, #EncoderQuality, jpegQuality) != 0)
Goto GDIplusError
If (GDIplus_SaveImage(bitmap, fileNameDestJ, jpgEncoder, jpegEncoderParams) != 0)
Goto GDIplusError
; Wait for jpg
Loop,
{
IfExist, %fileNameDestJ%
Break
}
CMDs =
(LTrim Join
djpeg.exe -pnm -grayscale %fileNameDestJ% in.pnm
,cmdstub.exe gocr045.exe -i in.pnm
)
Loop, parse, CMDs, `,
{
CMD = %A_LoopField%
NULL =
CMDin = ""
CMDout =
CMDerr =
Ret := RunWaitEx(CMD, NULL, CMDin, CMDout, CMDerr)
}
StringReplace, readResultText, cmdout, `r`n, ,A
StringReplace, readResultText, readResultText, I, ,A
StringReplace, readResultText, readResultText, |, ,A
if ( currentNumberOfPeople != readResultText ) {
Speak("Local Has Changed!")
currentNumberOfPeople := readResultText
}
; Cleanup
FileDelete, in.pnm
FileDelete, %fileNameDestJ%
}
SetTimer, CheckLocalCount, On
Return
RunWaitEx(CMD, CMDdir, CMDin, ByRef CMDout, ByRef CMDerr)
{
VarSetCapacity(CMDOut, 100000)
VarSetCapacity(CMDerr, 100000)
RetVal := DllCall("cmdret.dll\RunWEx", "str", CMD, "str", CMDdir, "str", CMDin, "str", CMDout, "str", CMDerr)
Return, %RetVal%
}
GDIplusError:
If (#GDIplus_lastError != "")
MsgBox 16, GDIplus Test, Error in %#GDIplus_lastError% (at %step%)
GDIplusEnd:
GDIplus_FreeImage(bitmap)
GDIplus_Stop()
Return
ExitMe:
Gosub, GDIplusEnd
ExitApp |
|
|
| Back to top |
|
 |
tic
Joined: 22 Apr 2007 Posts: 1355
|
Posted: Wed Feb 20, 2008 10:07 pm Post subject: |
|
|
| so you need ocr to recognize the characters in the game? |
|
| Back to top |
|
 |
IWillPay Guest
|
Posted: Wed Feb 20, 2008 10:11 pm Post subject: |
|
|
| That is what I was using.... to read how many are in local... I will provde some screen shots in a sec... |
|
| Back to top |
|
 |
IWillPay Guest
|
Posted: Wed Feb 20, 2008 10:22 pm Post subject: |
|
|
IMG:
www.spamus.us/local1.bmp
www.spamus.us/local2.bmp
Notes: the top person in local is me... (with no green/blue next to my name) ... Green means in corp - dark blue / light blue means friend.. red means hostile... no sign means neutral .. ( I will try and get more images of each )... The large red areas are areas I removed for security reasons
[img]www.spamus.us/local1.bmp[/img]
[img]www.spamus.us/local2.bmp[/img] |
|
| Back to top |
|
 |
IWillPay Guest
|
|
| Back to top |
|
 |
IWillPay Guest
|
Posted: Thu Feb 21, 2008 4:15 am Post subject: |
|
|
| So is any one intersted in helping? |
|
| Back to top |
|
 |
tic
Joined: 22 Apr 2007 Posts: 1355
|
Posted: Thu Feb 21, 2008 4:48 am Post subject: |
|
|
| well its a big project and youre still "guest" |
|
| Back to top |
|
 |
|
|
You can post new topics in this forum You can reply to topics in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|