Hello I want to start off by saying I have the greatest respect for AutoIt and its developer I've used it for many years and it's saved my ass countless times I've used it since the beginning infact and I have huge complex scripts to prove it such as Bots and all kinds of automation stuff (I can post if you want lol).

I love AutoIt but I always felt it was lacking certain features that I missed a lot from Perl/PHP/C#/C++ I tried using the AutoIt DLL to embed AutoIt into projects I was doing but I found the DLL deeply lacking and with a deep inability to customize the functions that DLL gives really upset me.

I decided to try make my own little script language to try bridge the gap between my favourite general programming language and AutoIt scripting a kind of glue if you will.

Evenutally it grew from being a simple glue to its own individual scripting language that handles every function internally and does not use anything from AutoIt.

It was not easy making such a complex language that would incorporate all the best stuff from AutoIt and all the best stuff from other languages I love such as classes/arrays from PHP, Regexes from Perl and so on.

The result of my work (the past 2 years of work infact) is Sputnik.

I have tried to make Sputnik as friendly for AutoIt users as possible (similar function names etc) so people can test stuff and see if they like/hate it.

Sputnik Scripting Language a simple easy to use beginner friendly language created to be have as much stuff from all my favourite languages as possible in one place.

This was made as a fun project to try produce a scripting language that did everything I need to do.

Sputnik is already proving to be a lot of fun and very easy to use and very powerful!
It is fully useable.

A list of some of the things Sputnik supports:
* Ability to make GUI programs that support infinite amounts of Windows running at once
* PHP Style syntax using curly braces {}
* Enums like C++
* Approx 700 functions, 50 or so operators and many casts
* Dynamically unload functions/classes from your running program and reload them back again from source code allowing full complete updates to the source of your program while it is still running
* Try/Catch/Finally with ability to create exceptions even extended ones using the internal class
* Can assign hotkeys to run scripts/functions anything they can be simple hotkeys or very complex hotkeys
* The $variable can be any of the following: char, bool, byte, sbyte, int16, int32, int64, uint16, uint32, uint64, float, double, string, array, ref
* Ability to make Macros to control Windows/Buttons/Objects/Mouse/Keyboard (Bascially like as AutoIt) can send text to applications etc etc
* Classes with ability to extend them and multiple inheritance every operator and cast can be overloaded in the Classes
* Multi-threading with ability to spawn/speed/kill threads and even define areas of code as Locked so stop two threads running it at once * Can place $variables inside strings like "hello $name how are you" * Can use all C++ escapes in the strings such as n and x etc etc * Can use all Perl escapes in strings such as "Hello {msgbox('test')} ok" to run code inside strings
* Can make GUI programs with buttons and all kinds of stuff even MDI interfaces
* Very easy to use Array system that works exactly like PHPs no need to redim etc etc
* Support for calling DLL functions and even pass arrays as individual arguments and even inline C code directly into your script
* Perl style regexes using same syntax as Perl $var =~ //; etc
* Support for complex Parsers using Rules and Terminals (Sputnik's parser function can even be used to parse Sputniks own code)
* Type checking like $var ~~ Int32
* Binary features to handle Binary data with Pack() Unpack() (similar to PHP/Perl) and over 40 binary functions
* Stream functions similar to binary but faster if you want to do loads of appending/inserting
* Many math functions
* Around 60 string functions
* DLLCall can call single functions but DLLImport can load thousands at a time and even save them as newly compiled DLL for faster loading speed
* Can capture console output of executed third party programs
* Many file creation/read/write frunction
* Many directory/path functions
* Ability to create UDP/TCP raw sockets for creating client/server programs
* Includes an additional easy to use beginner friendly powerful internal Client/Server series of functions making producing client/servers a breeze
* Many memory read/write functions for Trainer creation and game hacking
* Many memory function to alloc, free, modify in many ways
* Get/Set clipboard data
* MsgBox/InputBox
* Can hook messages to improve your macros like mousehooking/keyhooking
* All the familure Win___() functions from AutoIt you would expect WinActive, WinList its all there
* All the Control___() functions from AutoIt you would expect
* Pixel functions such as searching for pixels on screen for creating AimBots
* Call functions by name with params or arrays of params
* Dynamically create source code/functions while your program is running and execute that code
* Dynamically create a function on a $variable and execute it like: $Func =  Function( $a, $b ){ println("Value is: " . ($a + $ [ ] ); }; CallFunc($Func, array(10, 20));
* Ability to throw exceptions/die
* Ability to include/require and optionally once
* Opt() like AutoIt to set any options you desire like WinTitleMatchMode
* Comes with a small but growing library of functions/classes made in Sputnik that includes vector3 class, parses etc creating C dlls/exes etc

* Sputnik fully parses the scripts before it starts executing code so you dont *bump* into an error later you get it right in your face straight away.

* Supports global variables like: Global $value = "hello";

* Supports local variables like: my $value = "hello";

* Supports scoped variables inside braces if() { my $value = "hello"; }

* Supports Lists like:  List ($name, $id) = Split($str, '|');

and many many more.... see the wiki

I have created a wiki for Sputnik where I place all its functions and operators etc etc the link is:
http://uberfox.no-ip.org/Sputnik/wiki

The "Function Reference" page on the wiki contains every function found in Sputnik with example code you can copy and paste.

I would be happy if you could try it out and tell me if you like it or dont like it whatever I made it for myself and in the whole time it's existed only me and my friend have actually used it nobody else but I would like to see if anybody else is interested... Or not...

If you decide to take a look I would greatly appreciate bug reports and any advise/function requests you wish. Sputnik is also available as a DLL that can be used from any program.

You can e-mail me at
uberfox@hotmail.com   EDIT ---- READ Well I have received some PM's from the AutoIt staff and they have informed me that although I'm not breaking any rules by being here they do feel that I should rather have my own forum than to promote/track/update etc the status of Sputnik on this forum. Which is perfectly understandable considering many languages have their own forums such as PHP, QuickMacros, AutoHotKey and what not. I do wish to thank the staff at AutoIt for being kind and supportive of my project. If people wish to continue talking about Sputnik I'm afraid you will need to do it at my forum the link is here: http://uberfox.no-ip.org/forum It is an old forum I had years ago I used it for my mods and other projects however I recently just deleted everything on it and did a general reset to get rid of all spam and put Sputnik on it well it should still work despite how old it is. If you are having issues posting make sure to read the new member post: http://uberfox.no-ip.org/forum/showthread.php?31307-Welcome-new-Members! I will instantly promote anybody to full member who requests it.