
Drchubby
Members-
Posts
13 -
Joined
-
Last visited
Drchubby's Achievements

Seeker (1/7)
0
Reputation
-
Nothing serious really. I thought it might just be a nice challenge, only to find that i have absolutely no clue where to start due to the lack of (recent) papers on the protocol. If you're wondering wether or not ill use this script to move copyrighted material - I won't. There are programs which are far better at this than autoit could become. It's just for my own curiousity... That being said: Does anyone have any information which could help me?
-
I'm wondering if it's possible to use autoit to connect to the gnutella network. It seems to be hard to find a (recent) paper on the gnutella protocol and because it's not centralised it's constantly evolving as well. Moreover, is not being able to use multithreading too big of an impairment for autoit to actively use the gnutella network? Does anyone else have any experience in this and/or is willing to either push me in the right direction or perhaps even team up with me?
-
Hey, I'm making a closed greenhouse, and im planning to use autoit to control and measure all the variables and operate a camera to keep track of growth. One of the variables im trying to control is light. I want to be able to setup a script which will put the lights on and off at predefined times. The scripting itself is not the problem, im just a total loss as how to control the lights. Im thinking of using a serial port, or hack a usb cable to use the power lines. If anyone could comment on a way to do this I'd appreciate that. Cheers
-
thnx will do so
-
I can't wait to see the source of this thing, this is looks really developed, and im seriously interested in seeing how you translated the a* algorithm to autoit. I am definately going to follow this and learn something from your code
-
thnx this helped allot, I was thinking about drawing everything at the last step as well.
-
Hey, im trying to script a simple game engine, and it works so far. But you see constant flikkering of the images. Is there any way to do this using gdi which would prevent this? heres my code... srry its a mess, im only actively doing autoit for a month or so. Ive also attached a rar in which are all necessary files. ;gdi testing environment #include <GuiConstantsEx.au3> #include <GDIPlus.au3> #Include <Misc.au3> ; Create GUI $hGUI = GUICreate("Test", 800, 800) $hWnd = WinGetHandle("Test") GUISetState() _GDIPlus_Startup () $onGui = _GDIPlus_GraphicsCreateFromHWND($hWnd) dim const $mapFolder = "maps/" dim const $spriteFolder = "sprites/" dim const $maxDrawnPlayers = 5 dim $player[$maxDrawnPlayers][7] dim const $map = 0 dim const $sprite = 1 dim const $handle = 2 dim const $posX = 3 dim const $posY = 4 dim const $mapX = 5 dim const $mapY = 6 dim $playerSpriteFamily[$maxDrawnPlayers][6] dim const $family = 0 dim const $up = 1 dim const $down = 2 dim const $left = 3 dim const $right = 4 dim const $maxObjects = 100 dim $objects[$maxObjects][4] dim const $objectPath = 0 dim const $objectX = 1 dim const $objectY = 2 dim const $objectHandle = 3 global $objects global $player global $playerSpriteFamily dim $localPlayer = 1 func checkKeyPressed() if _IsPressed("1b") then exit elseif _IsPressed(26) then movePlayer(0, -1, 10, "up") elseif _IsPressed(27) then movePlayer(1, 0, 10, "right") elseif _IsPressed(28) then movePlayer(0, 1, 10, "down") elseif _IsPressed(25) then movePlayer(-1, 0, 10, "left") EndIf EndFunc ;starting variables $currentMap = "map1" $player[$localPlayer][$map] = _GDIPlus_ImageLoadFromFile($mapFolder & $currentMap & ".jpg") ; not needed anymore >>> $player[$localPlayer][$sprite] = _GDIPlus_ImageLoadFromFile("bird.png") $player[$localPlayer][$posX] = 395; fixed for local players $player[$localPlayer][$posY] = 395; fixed for local players $player[$localPlayer][$mapX] = 395 $player[$localPlayer][$mapY] = 395 $playerSpriteFamily[$localPlayer][$family] = "bird" $playerSpriteFamily[$localPlayer][$up] = _GDIPlus_ImageLoadFromFile($spriteFolder & $playerSpriteFamily[$localPlayer][$family] & "/up.png") $playerSpriteFamily[$localPlayer][$down] = _GDIPlus_ImageLoadFromFile($spriteFolder & $playerSpriteFamily[$localPlayer][$family] & "/down.png") $playerSpriteFamily[$localPlayer][$left] = _GDIPlus_ImageLoadFromFile($spriteFolder & $playerSpriteFamily[$localPlayer][$family] & "/left.png") $playerSpriteFamily[$localPlayer][$right] = _GDIPlus_ImageLoadFromFile($spriteFolder & $playerSpriteFamily[$localPlayer][$family] & "/right.png") ;create background dim $backgroundHandle = $player[$localPlayer][$map] updateBackground() parseObjects() updateObjects() ;draw player first time drawPlayer("down") while 1 checkKeyPressed() sleep(25) WEnd func parseObjects($map = $currentMap) for $obj = 1 to 100 $temp = Iniread($mapFolder & $currentMap & ".obj", "objects", $obj, "nothing") if $temp = "nothing" then $objects[0][0] = $obj exitloop EndIf $temp = stringsplit($temp, ":") $objects[$obj][$objectPath] = $temp[1] $objects[$obj][$objectX] = $temp[2] $objects[$obj][$objectY] = $temp[3] $objects[$obj][$objectHandle] = _GDIPlus_ImageLoadFromFile($mapFolder & $temp[1]) Next EndFunc #cs not needed anymore func updatePlayerLocationOnScreen($playerId, $newPosX, $newPosY) $player[$playerId][$posX] = $newPosX $player[$playerId][$posY] = $newPosY $player[$playerId][$handle] = _GDIPlus_GraphicsDrawImage($onGui, $player[$playerId][$sprite], $player[$playerId][$posX], $player[$playerId][$posY]) EndFunc #ce func drawPlayer($direction, $playerId = $localPlayer, $newPosX = 395, $newPosY = 395) switch $direction case "up" $player[$playerId][$handle] = _GDIPlus_GraphicsDrawImage($onGui, $playerSpriteFamily[$playerId][$up], $player[$playerId][$posX], $player[$playerId][$posY]) case "down" $player[$playerId][$handle] = _GDIPlus_GraphicsDrawImage($onGui, $playerSpriteFamily[$playerId][$down], $player[$playerId][$posX], $player[$playerId][$posY]) case "left" $player[$playerId][$handle] = _GDIPlus_GraphicsDrawImage($onGui, $playerSpriteFamily[$playerId][$left], $player[$playerId][$posX], $player[$playerId][$posY]) case "right" $player[$playerId][$handle] = _GDIPlus_GraphicsDrawImage($onGui, $playerSpriteFamily[$playerId][$right], $player[$playerId][$posX], $player[$playerId][$posY]) endswitch EndFunc func updateBackground() $background = _gdiplus_graphicsdrawimage($onGui, $backgroundHandle, (0 - $player[$localPlayer][$mapX]), (0 - $player[$localPlayer][$mapY])) EndFunc func updateObjects() for $obj = 1 to $objects[0][0] if ($player[$localPlayer][$mapX] - $objects[$obj][$objectX]) < 400 And ($player[$localPlayer][$mapX] - $objects[$obj][$objectX]) > -400 then if ($player[$localPlayer][$mapY] - $objects[$obj][$objectY]) < 400 And ($player[$localPlayer][$mapY] - $objects[$obj][$objectY]) > -400 then $differenceX = $player[$localPlayer][$mapX] - $objects[$obj][$objectX] $differenceY = $player[$localPlayer][$mapY] - $objects[$obj][$objectY] _GDIPlus_GraphicsDrawImage($onGui, $objects[$obj][$objectHandle], $player[$localPlayer][$posX] - $differenceX, $player[$localPlayer][$posY] - $differenceY) EndIf EndIf next EndFunc func movePlayer($shiftX, $shiftY, $speed = 1, $direction = "up") $player[$localPlayer][$mapX] = $player[$localPlayer][$mapX] + ($shiftX * $speed) $player[$localPlayer][$mapY] = $player[$localPlayer][$mapY] + ($shiftY * $speed) updateBackground() drawPlayer($direction) updateObjects() EndFuncgame.rar
-
Are multiple tcp connections possible to one port on the server? And can a server coded in autoit handle multiple connections? thanks
-
Logging keys after certain combinations...
Drchubby replied to Drchubby's topic in AutoIt General Help and Support
does it send the keystroke to the window by using send or doesnt it interfere in any way? edit: thnx, this works great -
Hi, im trying to make a program that will run completely in the background. It checks packets sent from a game to the server. Normal users shouldn't be allowed to see the output of the programme thus i want it to run in background. The only problem is getting this programme to maximize. I dont want to use normal hotkeys. I want the user ( me ) to press for example the dot button ( . ) and that the programme then starts to log keystrokes. Then u have to type a password. and press the dot again. This would then be verified to see whether or not it is the pass and the program will appear... however, im confused as what to do about logging. Because the keys still have to go to the game, i cant use hotkeys since it blocks the key inputs. Send also doesnt work ( the game blocks it ). Does anyone have an idea? Btw i know u guys hate loggers, if anyone could just give me an idea where to start, i wont involve this community any further in this project. And besides im not trying to make a mainstream logger, just a pass verifier. If anyone has any other ideas to bring up the program, tell me. Im up for any other alternatives....
-
thnx worked it out
-
Hi sorry, im making an autopathcer, it downloads files from the internet, puts them in a temp folder and then is supposed to move them to the correct ones. except it doesnt work ... this works. filemove("ClientVer.dat", "lol/ClientVer.dat", 9) this doesnt, filemove("ClientVer.dat", "lol/second/ClientVer.dat", 9) $dest = "lol/second/ClientVer.dat" $src = "ClientVer.dat" doesnt work... filemove($src, $dest, 9) could anyone explain to me why? ;updater #AutoIt3Wrapper_plugin_funcs = MD5Hash if NOT fileexists("updater\MD5Hash.dll") then msgbox(0, "Missing files", "Certain files have been removed, altered or are missing, please reinstall or repatch", 5) exit EndIf $md5plugin = PluginOpen("updater\MD5Hash.dll") $downloadUrl = "http://pyramids.hopto.org/updater/" $filelist = InetGet($downloadUrl & "file.list", "file.list" , 1, 0) if Not $filelist then msgbox(0, "Server Offline", "Update-server is offline") Exit EndIf $fileHandle = fileOpen("file.list", 0) if not $fileHandle then msgbox(0, "File error", "Update file couldn't be found") Exit EndIf $line = 1 $lineContent = FileReadLine($fileHandle, $line) while not @error $splitString = stringsplit($lineContent, ",", 1) $unsplitFile = $splitString[1] $splitFile = stringsplit($unsplitFile, "./", 1) $fullfile = $splitFile[2] $filedelimit = stringsplit($fullfile, "/", 1) $filename = $filedelimit[$filedelimit[0]] $md5 = $splitString[2] $fullfilepath = stringsplit($fullfile, $filename, 1) $filepath = $fullfilepath[1] if not fileexists($fullfile) then TrayTip("Downloading", $filename & " " & (inetgetsize($downloadUrl & $fullfile) / 8000) & " kb", 10, 16) inetget($downloadUrl & $fullfile, $filename, 1, 0) filemove("ClientVer.dat", "lol/second/ClientVer.dat", 9); <-------------------------------------------------------- same result, doesnt work ; through all the stringsplits, filename ends up with ClientVar.dat and fullfile containts the full dir + filename where it should be put ; so data/npc/....... filemove($filename, $fullfile, 9); <------------------------------------------------------------------------------------ same result, doesnt work EndIf $line = $line + 1 $lineContent = FileReadLine($fileHandle, $line) wend
-
Hi, Im a php programmer and recently encountered the autoit language, and I really like it. I often work together with colleagues of mine. Now we had some "synchronisation" problems before. We upload files to a ftp server, then work on them and upload - etc. Now sometimes I make changes and overwrite other sources, but at the same time, someone else does the same and overwrites my files. This results in a loss of time and effort. Now i wondered if there is any way for us to detect which files are opened at whose computer and show that in a gui or something... Help would be appreciated - sincerely, Drchubby