Showing posts with label AutoIt. Show all posts
Showing posts with label AutoIt. Show all posts

News: Progress

Tuesday, October 11, 2011

The AstralWoW server is being crap, like it has a lot this past week. (The devs really suck in that they will restart the server mid day, randomly, to add minor fixes, and they just don't test fixes to well and keep breaking server stability more and more.) So, I've decided to post a short news update.

I'm still working on Profile Manager a bit each day. I haven't done much worth mentioning though. its about the same as in my last post. Just with tighter code. I do a lot of testing with it myself and find plenty of things to fix and optimize. Things worth mentioning are that I made an installer for it, got it managing its ini's better on vista/win7, and styled up the menu with color.

I don't plan on adding many more features. At least not right now. I'm keeping my mind open regarding other features and writing them down, but I've learned from Z-Net not to put to much work into new features before the current ones are thoroughly tested and fine tuned. For its next release I just want to polish up everything I have done so far, and work around issues regarding multi-boxing. It's quirks regarding multi-boxing will never be completely quashed, not without more invasive measures, but I hope to get them worked on as much as I can. At the moment I toss around a few ideas to myself, here and there. And think I know the direction I want to go now.

For its next release, I want it installing as intended, setup to be as easy as possible, profile creation to be as newb friendly as possible, and its main functions to be as smart as possible. I'm not sure how close it is to all that right now, but doubt it will take much longer.

And a heads up. I have taken down the links for the previous version of Profile Manager, for now. I've learned AutoIt scripted exe's can be decompiled into scripts resembling their true source script. Which I don't care for from my experience with mIRC scripting. I have no desire to have this, or any other project I can think of atm, be open source, or just plain stolen. Had I known there was such a community behind helping decompile AutoIt scripts, I likely would have done this project in c++, or not at all. There are ways to make it harder to decompile, but that I didn't know about with my last version. Since I don't have a copy of the script from it in that state, the links will just be gone until the next update. Not a huge deal really. My blog is only getting about 30 hits a day, and only a few people downloaded it so far. So not much interest yet.

News: More work on the Profile Manager

Friday, October 07, 2011

After some feedback from Nerocon in IRC, I have added the support for my Profile Manager to keep backups in different directories. Three types of completely optional locations are supported. The "Source" type keeps them in the same directory as the files source files. Same as before. The "Backup" type stores them in a sub directory in the Profile Managers root directory, named "Backups". The third option is just to store them in a specific directory. Each profile can store these backups in different locations. This is all done through the addition of a new ini key in the Profile.ini's profile sections. Continuing my example from my last post:

[Soandso]
BackupDirectory=Source

[Soandso2]
BackupDirectory=Backup

[Soandso3]
BackupDirectory=E:\Games\WoW Settings Backups\

The "Source" option functions the same as the "BackupDirectory" key not existing at all.

As suggested by Nerocon, this could be useful for keeping saves on a flash drive in which you transfer between computers. And probably more.

Next I added the last nifty little feature I hoped to add to this for my personal goals. The icons for the target programs will display next to the profile names in the menus. The menus look a lot better now with that. =)

Here's a screenshot of it:


I've decided to not release the next version for now. Learning from past experience with the Z-Net mIRC scripts, I know I can tend to jump the gun a bit when releasing. I have a bad habit of not always expecting errors to happen and having them handled correctly. I'm taking my time and making sure enough of that is taken into consideration. Also with my quick releases, I just plain don't test things enough sometimes. Honestly, I've mostly been done with these 2 additions since the day after the programs last release, but I've been cleaning up the code for things mentioned, redundancy and personal readability. The code is small for now, so now is a good time to do such a thing. I'd really like to wait on the next release until I can at least come up with a better name for the program, but I just don't seem to be coming up with much. Just the names I've accidentally called it here and there. Project Manager and Program Manager, lol. I'd like a name for it consisting of a single word. Heck, I might even be fine with "Profile Manager" being its subtitle, as long as its real name is something else.

For the next release I may have an installer for this, and a proper directory. I guess a readme too then. It will likely still be considered a beta, but I might as well get that stuff ready now.

Additionally, while tweaking more bits of my blog, I've learned blogspot allows 20 custom pages to be made. I swear it said 10 just even a few days ago, but it now says 20. Well, with that I'm probably going to give past projects more proper pages. And I've even setup a proper page for this latest project. I'm not sure when I added it, but I don't think I mentioned it. I setup an "About Me" page. I'm not one to talk much about myself, so its probably pretty dull. I tried to include only things relevant to projects I have or might post here, my hobbies in general, and things that help define and convey my background and personality. This page will probably be tweaked and refined much more in the future.

News: My Latest Program

Monday, October 03, 2011

I've continued work on the project I mentioned in my last update, and have ready now a Beta version of it. I'm calling it "Profile Manager" for now, until I can come up with a better name. I need to make an original icon for it as well. You can can even just consider this a prototype of a later project I guess, though it is fully useable as is.

It's a very simple program. But one that at least I myself will find very useful. It's a System Tray app that once clicked will pop up a menu of preset profiles, that once clicked themselves will run a program/game after preforming a few simple tasks. Tasks are generally copying and backing up copies of files. It's "intended" purpose is to copy and backup mostly text files containing things like game login info, game settings, server lists, etc. The "Profiles" you select using this are stored in a ini file, and contain paths, labels, and instructions for the files you want to be managed.

I'll supply an example using World of Warcraft.

[Soandso]
Group=World of Warcraft
ProgramPath=C:\Program Files\World of Warcraft\
Program=WoW.exe
File1=C:\Program Files\World of Warcraft\WTF\Config.wtf
File2=C:\Program Files\World of Warcraft\Data\enUS\realmlist.wtf

The first part, the ini section name, is also the text that will appear in the menu for that profile.

The "Group" key is a name used for grouping several profiles together under one sub menu.

The "ProgramPath" key is the path to the file you want to run.

The "Program" key is the program you want to run in the given directory.

The "File#" keys are the files you want backed up and copied prior to running the program. There can be any number of these lines, but the # part must be a increasing number for each.

Simple right?

Now I will explain what it does behind the scenes, and explain how it manages the files pointed to by "File#=". When a profile is selected, first this program checks what profile was run last, and backs up the files listed for that profile. Then this program checks if the files pointed to by "File#=" exist under backup copy names. Using the example above "Config.Soandso.wtf" would be a file it would look for. These are stored in the same directory as the source file. Then this program copies the backup files for the profile selected, under the default name, overwriting the previous files that were just backed up if needed. Once done with that, the target program will be run.

With my WoW example, what the benefit of this is, is having different game accounts set with different graphics/sound/etc settings (Config.wtf), or in the case of the realmlist.wtf you can easily play on a emu server out of the same install as your legit accounts. I particularly like not having to type in the account names every time I switch accounts as well, as blizzard account name stuff is also stored in Config.wtf.

For my personal use, I have 2 retail WoW accounts, 2 AstralWoW emu accounts, and like 8 or 9 ProjectEQ accounts that I have just begone setting up with this. There's really no limit to what I can setup with this, and I look forward to even just organizing files and games from my desktop and quicklaunch bars, into this simple right click menu.

Additionally I've added a few extra features. Command line parameters can be supplied with the profiles using "CommandLine=". There isn't much it can do yet other then deleting directories, but you can use "PreExecutionInsctruction#=" with "RemoveDir,C:\ExampleDir\" to delete directories. I'll hopefully add more options for that later.

Also there are options to group up Profiles into sub menus, or just one giant main menu. And use the icon of the last run program as the icon for this program in the systray. Both settings can be changed in the Settings.ini. Also a quick use option, to run the last used program, exists on the main menu. This option is quicker to access then looking through what could be big menus and sub menus, and quicker for reusing the same profile as no files are copied around. It just runs the exe right away. Instructions are still carried out though.

So. Setup is a bit crude right now, having to edit an ini and all. I may make some sort of GUI for setting up profiles and changing options, later. But for now, this should be fairly simple for most people to use.

This project will be open to fan feedback posted in the comments, as for now it's been designed for my personal needs, all of which seem to have been fulfilled. I hope people find this as useful as I do, and hope to see comments and blog traffic reflecting as much.

I also hope anyone using this will share profile setups for different games and programs they find this useful for. At the moment, I only have/need to setup WoW and PEQ profiles. Though my PEQ profiles could probably use some more work. The only difference between my WoW personal use profile and the example used above is that I use this line as well:

PreExecutionInsctruction1=RemoveDir,C:\Program Files\World of Warcraft\Cache\WDB\

Download:

Removed for now.

EDIT:

Multi boxing from the same install with this will likely cause errors with most games and programs, and lead to settings files getting overwritten. To help prevent that I added a workaround, as its the best I can do for this program with out making it invasive.

In the Settings.ini, you can now supply an option for each profile to lock those profiles. What this means is, after being locked, that profile wont be backed up anymore at all, so there will never be any chance of losing that profile. The profile will still be copied from the backup over the source name file of course, so it can still be used, but that's it. Needless to say, but only lock your profiles if they are managing settings files, and you have already set up those settings files the way you will want them permanently. If you ever want to change those settings, you should do it while single boxing and after having unlocked the profile. Generally with most games, changing the settings then logging out and closing the window completely will force an update to settings files. Just remember to lock it again once done.

To lock it enter this ini key for each profile, but in the Settings.ini, NOT the Profiles.ini.

[Soandso]
LockProfile=1

=1 enables the lock.
=0 or the key not being there at all will keep it disabled.

News: Moving On, Projects, Blog, etc.

Saturday, October 01, 2011

Moving on from recent events. Its time to talk some about what things I have been working on the past week or 2, and what I may be working on in the near future.

Well. First, as usual, I have made many blog tweaks here and there. Most minor like getting the pages looking more like "pages" and less like posts by removing the date of their creation from the top and some post footer residue from the bottom. Also adding status sections to the top of both pages. Yea. Pretty bland. I did at least figure out that posting comments probably wasn't working for anyone, and have since fixed that. Hopefully soon I'll be able to get enough traffic, and have enough content so people find something worth commenting about. Other then adding labels to posts so people can more easily search for posts referencing things they care about, that's it. Since this is partly a personal blog, soon I may make an about page. =/

Well. Lately I have been working on programs using the AutoIt scripting language. I know, I know c++ and can probably make any program I would make with AutoIt with c++, and more. But I find it fun and more familiar with its simplicity, to mIRC scripting which I really enjoyed and miss. Of course mIRC scripting is very limiting in what I can make, and it requires projects to be open source, so its rarely viable anymore for me to make anything with that. I forget if I have used AutoIt before recently doing so. I know I have used AutoHotKey to an extent. In fact I made a program with that that I may soon release. Though I may instead rewrite that with AutoIt. Their both similar programs and languages, though AutoIt is apparently better. In fact I think AutoHotKey scripts can be easily converted or just plain used with earlier versions of AutoIt.

What I have been working on lately with AutoIt is a personal use project for use with WoW. Something to help manage my rotations easier. Maybe its coming from EQ, maybe its having used MacroQuest2 on the PEQ server. Who knows. But I have always found managing rotations in WoW annoying. Some of the time I'm fine. Like when soloing and doing most grouping I guess. But other times like on raids I found I had to multitask and pay far more attention to multiple upon multiple things at a time, to the point where I started getting headaches doing 25m normal and heroics in ICC before the headaches and lack of fun forced me into retirement. My program takes enough of that burden away. So much I kind of wish I had it last year before I quit, cause if I did I probably wouldn't have. Obviously its a controversial program like MQ2, and something bli$$ would very much consider against their rules and terms. In my recently left community there would be a number of people that would hate the idea of my program. Considering all this, I will choose to keep the project for personal use for now. Though I do try to design it as if I were ever to release it. Who knows, I may share some copies with friends. Its a fairly safe program, and next to impossible for bli$$ to legally detect.

Parts of the program I have now begone separating out into its own program that's far less controversial. A new program I'm making with AutoIt is a launcher. Not like the recently deceased EQC Launchpad. This launcher is more generalized, and very basic. Its just a program that sits in the systray waiting to be right clicked. When done so, a menu pops up and lets you select a profile. Once selecting a profile, the program will copy around some files you have preselected, perhaps delete others, then run a exe you have preselected. Very simple, but very handy, at least for me. I do have a form of it done and in use now, and I find it very handy with multiple WoW accounts, and clients. It could easily be used with other games as well. In fact several can be setup and accessed at the same time from just this program, saving desktop space if you needed to. Just right click, and select the account of the game you want to play. I use WinEQ2 for my chars on PEQ, just for such a convenience, and will likely switch to this once its done. If anyone else would be interested in such a program, I'm open to suggestions placed in the comments of this post, since I'm still working on it.

Lets see. What else? ...

Well, as usual. My WoW emu guild is still open to anyone through my blog (Dark Empire link on the left side menu of my blog). Perhaps with my recent changes, I may make it less EQ player oriented then before. Haven't put much thought on it yet. Would probably make sense to do so at this point. We will see.

Oh. I recently helped set up a WoW guild website for a friend. I wish him the best of luck with that!

Think that's it for now. =)