acez Posted December 10, 2006 Share Posted December 10, 2006 Hey, Im new to this forums and scripting, my friend gave me a script that searches for a specific color in a game, and when the program is running it laggs the game, anyway to prevent the lag? Link to comment Share on other sites More sharing options...
Bert Posted December 10, 2006 Share Posted December 10, 2006 post your code The Vollatran project My blog: http://www.vollysinterestingshit.com/ Link to comment Share on other sites More sharing options...
NELyon Posted December 10, 2006 Share Posted December 10, 2006 (edited) We can help more if you show us the script. EDIT: Volly, you're too fast. Edit Edit: Lol, this is cool Edited December 10, 2006 by D-Generation X Link to comment Share on other sites More sharing options...
acez Posted December 10, 2006 Author Share Posted December 10, 2006 #Include <Misc.au3> HotKeySet("!{ESC}", "Terminate") $Color = "0xEB00A7"; pink this is just for testing....it will only target cts with the mdls i made $Colo1 = "0xB1007E"; $Colo2 = "0xAD007B" $Colo3 = "0x65004A" $left = 460 $top = 380 $right = 540 $bottem = 430 $dll = DllOpen("user32.dll") While 1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;hotkeys________________________ _________________ if _IsPressed("39",$dll) Then ; 9 $Color = "0xD60000"; SoundPlay(@MyDocumentsDir & "\t.wav",0) sleep(500) Else if _IsPressed("30",$dll) Then; 0 $Color = "0xD60000" SoundPlay(@MyDocumentsDir & "\ct.wav",0) sleep(500) Else If _IsPressed("26",$dll) Then;up $left = 460 $top = 380 $right = 540 $bottem = 430 Else If _IsPressed("28",$dll) Then;down $left = 490 $top = 380 $right = 510 $bottem = 430 Else if WinActive("Counter-Strike") Then If _IsPressed("01", $dll) Then $Pos = PixelSearch($left,$top,$right,$bottem, $Color, 10,2) If IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo1, 10,2) if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo2, 10,2) if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo3, 10,2) if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf WEnd Func Terminate() Exit 0 EndFunc DllClose($dll) Link to comment Share on other sites More sharing options...
_Kurt Posted December 10, 2006 Share Posted December 10, 2006 Hmm, I experienced something similar when creating a bot for Diablo 2. The lag remains constant as the While-WEnd loop is looping (that's what i believe anyway). Not sure how to fix it, perhaps slowing down the loop (add sleep(x)) so it does not lag as much since it wouldn't need to do as much work. Hopefully that helped, Kurt Awaiting Diablo III.. Link to comment Share on other sites More sharing options...
acez Posted December 10, 2006 Author Share Posted December 10, 2006 (edited) Its for Counter Strike, and can you tell me where do i put the sleep(x) at or what ever you said that may fix it Edited December 10, 2006 by acez Link to comment Share on other sites More sharing options...
Bert Posted December 10, 2006 Share Posted December 10, 2006 (edited) I cleaned it up a bit. You will need to test to see if the CPU hunger problem is fixed. I suspect it isn't. The winactive may be the cause. You may need to setup a sub loop to fix it. expandcollapse popup#Include <Misc.au3> HotKeySet("!{ESC}", "Terminate") $Color = "0xEB00A7"; pink this is just for testing....it will only target cts with the mdls i made $Colo1 = "0xB1007E"; $Colo2 = "0xAD007B" $Colo3 = "0x65004A" $left = 460 $top = 380 $right = 540 $bottem = 430 $dll = DllOpen("user32.dll") While 1 Select case _IsPressed("39",$dll) $Color = "0xD60000"; SoundPlay(@MyDocumentsDir & "\t.wav",0) sleep(500) case _IsPressed("30",$dll) $Color = "0xD60000" SoundPlay(@MyDocumentsDir & "\ct.wav",0) sleep(500) case _IsPressed("26",$dll) $left = 460 $top = 380 $right = 540 $bottem = 430 case _IsPressed("28",$dll) $left = 490 $top = 380 $right = 510 $bottem = 430 EndSelect if WinActive("Counter-Strike") Then If _IsPressed("01", $dll) Then $Pos = PixelSearch($left,$top,$right,$bottem, $Color, 10,2) EndIf endif If IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo1, 10,2) endif if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo2, 10,2) endif if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo3, 10,2) endif if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else EndIf WEnd Func Terminate() Exit 0 EndFunc DllClose($dll) Edited December 10, 2006 by Volly The Vollatran project My blog: http://www.vollysinterestingshit.com/ Link to comment Share on other sites More sharing options...
acez Posted December 10, 2006 Author Share Posted December 10, 2006 I cleaned it up a bit expandcollapse popup#Include <Misc.au3> HotKeySet("!{ESC}", "Terminate") $Color = "0xEB00A7"; pink this is just for testing....it will only target cts with the mdls i made $Colo1 = "0xB1007E"; $Colo2 = "0xAD007B" $Colo3 = "0x65004A" $left = 460 $top = 380 $right = 540 $bottem = 430 $dll = DllOpen("user32.dll") While 1 Select case _IsPressed("39",$dll) $Color = "0xD60000"; SoundPlay(@MyDocumentsDir & "\t.wav",0) sleep(500) case _IsPressed("30",$dll) $Color = "0xD60000" SoundPlay(@MyDocumentsDir & "\ct.wav",0) sleep(500) case _IsPressed("26",$dll) $left = 460 $top = 380 $right = 540 $bottem = 430 case _IsPressed("28",$dll) $left = 490 $top = 380 $right = 510 $bottem = 430 EndSelect if WinActive("Counter-Strike") Then If _IsPressed("01", $dll) Then $Pos = PixelSearch($left,$top,$right,$bottem, $Color, 10,2) EndIf endif If IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo1, 10,2) endif if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo2, 10,2) endif if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo3, 10,2) endif if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else EndIf WEnd Func Terminate() Exit 0 EndFunc DllClose($dll)This script gives me this error: If IsArray($Pos) Then If IsArray(^ ERROR Link to comment Share on other sites More sharing options...
acez Posted December 10, 2006 Author Share Posted December 10, 2006 it mostly laggs me when i press mouse1(left click on the mouse) any help? Link to comment Share on other sites More sharing options...
AzKay Posted December 10, 2006 Share Posted December 10, 2006 Wouldnt using If Not @Error Then... Be faster than having those IsArray()'s? # MY LOVE FOR YOU... IS LIKE A TRUCK- # Link to comment Share on other sites More sharing options...
Bert Posted December 10, 2006 Share Posted December 10, 2006 This script gives me this error:If IsArray($Pos) ThenIf IsArray(^ ERRORYou may need to declare $pos The Vollatran project My blog: http://www.vollysinterestingshit.com/ Link to comment Share on other sites More sharing options...
acez Posted December 10, 2006 Author Share Posted December 10, 2006 what do you mean declare? im new to scripting Link to comment Share on other sites More sharing options...
onedayillpay Posted December 10, 2006 Share Posted December 10, 2006 i gave him this code...i was going to poist a question but never had time... this program runs perfict on my labtop but when i run it on my desktop my fps drops to like 10 Lagg like crazzy expandcollapse popup#Include <Misc.au3> HotKeySet("!{ESC}", "Terminate") $Color = "0xEB00A7"; pink this is just for testing....it will only target cts with the mdls i made $Colo1 = "0xB1007E"; $Colo2 = "0xAD007B" $Colo3 = "0x65004A" $Colo4 = "0x7B0056" $Colo5 = "0xE300A2" $colo6 = "0x3C0029" $colo7 = "0x36002F" $Colo8 = "0xC300BB" $colo9 = "0x53006C" $key = "01" $left = 460 $top = 375 $right = 540 $bottem = 430 $dll = DllOpen("user32.dll") While 1 if _IsPressed("39",$dll) Then ; 9 $Color = "0xEB00A7"; pink this is just for testing....it will only target cts with the mdls i made $Colo1 = "0xB1007E"; $Colo2 = "0xAD007B" $Colo3 = "0x65004A" $Colo4 = "0x7B0056" $Colo5 = "0xE300A2" $colo6 = "0x1B001B" $colo7 = "0x36002F" $Colo8 = "0xC300BB" $colo9 = "0x53006C" SoundPlay(@MyDocumentsDir & "\t.wav",0) sleep(500) Else if _IsPressed("30",$dll) Then; 0 $Color = "0x00CC87";teal this is just for testing....it will only target cts with the mdls i made $Colo1 = "0x007D53"; $Colo2 = "0x001F22" $Colo3 = "0x001B1C" $Colo4 = "0x00B377" $Colo5 = "0x009F69" $colo6 = "0x00A6A6" $colo7 = "0x006D67" $Colo8 = "0x00A6A6" $colo9 = "0x009F69" SoundPlay(@MyDocumentsDir & "\ct.wav",0) sleep(500) Else If _IsPressed("26",$dll) Then;up $left = 460 $top = 375 $right = 540 $bottem = 430 $key = "01" Else If _IsPressed("28",$dll) Then;down $left = 490 $top = 370 $right = 510 $bottem = 430 $key = "10" Else if WinActive("Counter-Strike") Then If _IsPressed($key, $dll) Then $Pos = PixelSearch($left,$top,$right,$bottem, $Color, 10,2) If IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo1, 10,2) if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo2, 10,2) if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo3, 10,2) if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo4, 10,2) if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo5, 10,2) if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo6, 10,2) if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo7, 10,2) if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo8, 10,2) if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) Else $Pos = PixelSearch($left,$top,$right,$bottem, $Colo9, 10,2) if IsArray($Pos) Then MouseMove($Pos[0],$Pos[1],0) EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf WEnd Func Terminate() DllClose($dll) ;ProcessSetPriority("autoit3.exe",2) ;ProcessSetPriority("steam.exe",2) ;ProcessSetPriority("hl.exe",2) Exit 0 EndFunc Link to comment Share on other sites More sharing options...
Richard Robertson Posted December 10, 2006 Share Posted December 10, 2006 Just a tidbit, you should learn the language before you go asking about the code. As several have said, we are not your scripting slaves. Link to comment Share on other sites More sharing options...
Bert Posted December 10, 2006 Share Posted December 10, 2006 Just a tidbit, you should learn the language before you go asking about the code. As several have said, we are not your scripting slaves.I second that. You need to read the help file, and use the training materials that others have provided. The Vollatran project My blog: http://www.vollysinterestingshit.com/ Link to comment Share on other sites More sharing options...
_Kurt Posted December 10, 2006 Share Posted December 10, 2006 We are not your scripting slaves.Well personnally I don't mind fixing problems or doing small tasks. I dislike the requests for large projects. Awaiting Diablo III.. Link to comment Share on other sites More sharing options...
onedayillpay Posted December 10, 2006 Share Posted December 10, 2006 i built this script on my labtop... it runs Like a dream and when i turn around and run it on my desktop... it laggs like crazy...fps drops like carazzy this is realy driving me crazzy Link to comment Share on other sites More sharing options...
_Kurt Posted December 10, 2006 Share Posted December 10, 2006 I really have no idea. Perhaps adding a small sleep inside the While-WEnd loop. So, at the END of your While loop (before Wend) add: Sleep(100) so it sleeps 100 milliseconds so maybe the computer won't need to work so hard. Kurt Awaiting Diablo III.. Link to comment Share on other sites More sharing options...
onedayillpay Posted December 12, 2006 Share Posted December 12, 2006 i found that the first time i run the program, it runs perfict... thin after i press alt-esc (terminate) thin when i run the program agn my fps is at 20... could this be DllClose($dll) not taking effect or something...? i tryd adding sleep all threw the script.. doesnt help i lowerd the FOV (feald of view) it help a little... Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now