Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 23:44

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



What things you are missing in AutoIt?

Discussion on What things you are missing in AutoIt? within the AutoIt forum part of the Coders Den category.

Reply
 
Old 09/22/2015, 22:47   #16
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by fuso98 View Post
Also would be very very usefull to make more functions/method with the same name, but with diffents parameter. Based on the type of the param (string, int etc..) will be called a specific method/function.
This is nearly not possible in languages where you are not able to give variables a specific type like this:

int $var = 120

So I really dont know how we should implement this.
Quote:
Originally Posted by fuso98 View Post
Now I've a question: Did you implemented the Multithreading and also classes?
Neither multithreading nor classes are implemented yet.
But my code were written with multithreading support (which maybe also will be in alpha version) and classes support in mind.

So multithreading will for sure be available in one of the first versions.
Classes may take a while.

I am also nearly ready to release an alpha version.
At the moment I am implementing the "func ... endfunc" keyword and doing some speedoptimizing things.

Real Inline-ASM is nearly implemented, too. But it needs some other functions to work correctly. So this may take a while, too.

I am planning to release my first alpha version in around 2-3 weeks of "working at this project". But until 10.10.15 there are many private things I have to do. So Release-Date may be something around 30.10.15.

But dont worry you will see it when I managed to release it.
I will "spam" any forum here I am able to.
Shadow992 is offline  
Old 09/24/2015, 20:11   #17
 
[Beatrice]'s Avatar
 
elite*gold: LOCKED
Join Date: Oct 2014
Posts: 1,258
Received Thanks: 12,469
Well since i really got accustomed to the syntax i wonder how your custom syntax is atm. Would you mind writing an example code that shows basic function, variable declaring and some if/else and some other basic functions? Thanks a lot Looking forward to see your project! Keep it up!
[Beatrice] is offline  
Old 09/24/2015, 22:13   #18
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by [Beatrice] View Post
Well since i really got accustomed to the syntax i wonder how your custom syntax is atm. Would you mind writing an example code that shows basic function, variable declaring and some if/else and some other basic functions? Thanks a lot Looking forward to see your project! Keep it up!
There are no functions implemented yet. So you can "just" do the basic things like array-manipulation, function-calling, variabled-declaration, if/while/etc.

I also think there wont be that much function available in alpha version. Just the very basic functions to test if and especially what is working/not working.

But I am planning to implement all functions (maybe with different syntax/names) that are available in AutoIt.

But I do not want to develop this language because we need to "automate windows faster" (because usually you dont need to speed click on a button).
My main intention for this language is game manipulating/botting/hacking.
So my first focus will be on functions which helps you developing hacks and bots. I am thinking about things like Dll-Injection (and also the possibility to create some Dlls with this language), Hooking, Reading/Writing Memory, injecting assembler without any extern libaries and so on.

So the main syntax isnt that different from AutoIts one. It is just more consistency.
This means the following AutoIt-Code:

PHP Code:
Dim $var[1000][10]
$i=0
$i3
=0
for $i=0 To 1000
    
if $i>2 Then
        
while $i3<10
            $var
[$i][$i3] = 999
            $i3
+=2
        wend
    
EndIf
Next 
Would look like that now:

PHP Code:
Dim $var[1000][10]
$i=0
$i3
=0
for $i=0 To 1000
    
if $i>2
        
while $i3<10
            $var
[$i][$i3] = 999
            $i3
+=2
        
EndWhile
    EndIf
EndFor 
Especially the "then" after if annoyed me many many times. So I removed it.
It is useless as hell and I cant think about any situation where you need a then in multiline-ifs.
If you use a one-line if the then must be place to make clear what belongs to comparision and what not.

Also I changed things like "WEnd" and "Next" to "EndWhile" and "EndFor".
I always aked myself why the hell we need a "next" if we use a "for"-loop.
At the very beginning I always tended to use "EndFor" as you normally do in AutoIt.
Like "Select" and "EndSelect", "Switch" and "EndSwitch", "Func" and "EndFunc", etc.

So in my opinion not using EndWhile and EndFor makes it unnecesserary harder to get started.
So I removed/changed that.

There will be the same for future keywords like "Class" and "EndClass". I want to have got a high concistency.
Also things I always struggled with were something like that:

PHP Code:
Dim $var[5]
for 
$i=0 to 4
     $var
[$i] = _StringBetween(...) 
next 
Why isnt this possible but this works like a Charm:

PHP Code:
$var _StringBetween(...) 
I really think there are many things that can be done much better. Not just regarding to speed but also to Syntax and Semantic.
While developing the Compiler/Interpreter, I really understood how fast AutoIt is.
The parsing/interpreting/executing is unbelievable fast.
There are still some very rare situations where my interpreter is just a few ms faster than the corresponding AutoIt-Code.

So to sum it up:
Hell yeah thats a hard competitor but Im sure we (I gonna release it as open source so everyone can help me) can do it better if we are all helping together.

Edit:
I also added things like "bit operators", because I guess its very handy to just write a "<<" instead of a "BitShift(...)".
Shadow992 is offline  
Old 09/24/2015, 22:38   #19
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
Ich bin zwar kein autoit entwickler, finde die autoit syntax aber grässlich unübersichtlich

Vielleicht solltest du auch mal die ada syntax in betracht ziehen also:
Code:
procedure Test is
begin
  if Foo then
    :BarLoop
    While Bar loop
      FooBar;
    end loop BarLoop; // Blockname muss nicht unbedingt gesetzt werden
  end if
end Test;
also zu jedem Block wird der Block mit end + blocktyp (+Blockname) beendet, ich finde 2 wörter (oder 3 jeh nach dem) alá end while übersichtlicher als EndWhile

Grade bei großen Codes finde ich macht dieses leerzeichen schon was aus

PS:
Solche blöcke wie in C oder Pascal (Also {} oder begin end) haben ja einfach den zweck unabhängig von der Kontrollstruktur zu sein, dass heißt mit solchen blöcken musst du deinen Interpreter nicht auf jede Kontrollstruktur einstellen.
Das ist mit etwas weniger aufwand verbunden (auf kosten der übersichtlichkeit)
warfley is offline  
Thanks
1 User
Old 09/24/2015, 22:51   #20
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by warfley View Post
Ich bin zwar kein autoit entwickler, finde die autoit syntax aber grässlich unübersichtlich

Vielleicht solltest du auch mal die ada syntax in betracht ziehen also:
Code:
procedure Test is
begin
  if Foo then
    :BarLoop
    While Bar loop
      FooBar;
    end loop BarLoop; // Blockname muss nicht unbedingt gesetzt werden
  end if
end Test;
also zu jedem Block wird der Block mit end + blocktyp (+Blockname) beendet, ich finde 2 wörter (oder 3 jeh nach dem) alá end while übersichtlicher als EndWhile

Grade bei großen Codes finde ich macht dieses leerzeichen schon was aus
Das scheint echt sehr abhängig von den jeweiligen Vorlieben zu sein. Ich finde die ada "stückelt" mir den Code zu sehr auseinander.

Ich benutze in C/C++ für Funktionsname auch lieber "myOwnFunc" als "my_own_func". Ich mag es einfach kompakter.

Weswegen ich mich aber nicht für eine komplett andere Syntax entschieden habe, ist hauptsächlich der Grund, dass ich als höchstes erreichbares Ziel AutoIt mit meiner Sprache weitestgehend ersetzen möchte.

Und das will ich versuchen, indem sich die Leute möglichst wenig umgewöhnen müssen. Trotzdem will ich ein paar Sachen anfängerfreundlicher und konsistenter machen.
Ich bin also im Moment dabei irgendwo einen Mittelweg zu finden, von daher habe ich auch die PHP/C-Syntax mittlerweile komplett ausgeschlossen. Diese Art fände ich persönlich nämlich am besten.

Ich habe hier nur noch einmal danach gefragt, um mir sicher sein zu können, dass die Leute sich nicht zu 100% alle eine C-Syntax wünschen und so wie es aussieht ist die "Bevorzugung" der Syntax relativ ausgeglichen.
Shadow992 is offline  
Old 09/25/2015, 11:08   #21
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
i have worked a bit with python and i like the indentation syntax. instead of brackets you have indented text.

something like
PHP Code:
if true then
  
if $b then
    Msgbox
("true")
  else
    
Msgbox("false"
it saves some characters and forces you to have a readable code.


one thing im missing in autoit is structs like in c, with easy access like person.name
butter123 is offline  
Thanks
1 User
Old 09/25/2015, 12:01   #22
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by butter123 View Post
i have worked a bit with python and i like the indentation syntax. instead of brackets you have indented text.

something like
PHP Code:
if true then
  
if $b then
    Msgbox
("true")
  else
    
Msgbox("false"
it saves some characters and forces you to have a readable code.
Good idea maybe I should implement an automatic-indention whenever you compile code. Yeah I think this would be great even for beginners.
Is on the ToDo-List

Forcing people to indent (this means removing keywords) is not really the way I wanted to go. Especially because I really hate this Python syntax.
Quote:
Originally Posted by butter123 View Post
one thing im missing in autoit is structs like in c, with easy access like person.name
Structs and Classes will be equivalent in my interpreter (just similiar to C#) so this will be for sure added (not directly as struct but as kind a light-weight class).
Shadow992 is offline  
Old 09/27/2015, 08:24   #23
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Quote:
Originally Posted by Shadow992 View Post
Good idea maybe I should implement an automatic-indention whenever you compile code. Yeah I think this would be great even for beginners.
Is on the ToDo-List

Forcing people to indent (this means removing keywords) is not really the way I wanted to go. Especially because I really hate this Python syntax.

Structs and Classes will be equivalent in my interpreter (just similiar to C#) so this will be for sure added (not directly as struct but as kind a light-weight class).
You don't have to force the user to type like this. Providing several ways to write if structures surely will look great to many people since they will be able to use their favorite one.
alpines is offline  
Thanks
1 User
Old 11/22/2015, 11:56   #24
 
[Beatrice]'s Avatar
 
elite*gold: LOCKED
Join Date: Oct 2014
Posts: 1,258
Received Thanks: 12,469
Any info about the release date?
I'm still excited about this
[Beatrice] is offline  
Thanks
1 User
Old 11/22/2015, 15:03   #25
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by [Beatrice] View Post
Any info about the release date?
I'm still excited about this
I wanted to release an alpha version just 2 weeks ago.
But then I decided to first create something like a "Universal Test-Unit" so you can change the C++ Code and still test if all is working correctly.

When I started developing this Test-Unit I found so many bugs.
I could already release the alpha version (and many bugs got fixed) but there are still some small left. I want to fix these bugs, too. So if someone finds a bug, I do not have to say: "Yeah I know I already noted this bug."

There at the moment also only a few standard functions available.
To be precise there are only 4 implemented yet:
2 functions that are useful for development:
ConsoleWrite, ConsoleRead

and 2 for debugging (you do not have to understand their names):
_Debug_Dump, _Debug_ShowArrayInfo

I am at the moment also working (and nearly finished it) at some other functions which will be available in alpha version, too:
PixelSearch, ImageSearch, ScreenCapture, WindowCapture, MouseClick, PixelSearchNextToPosition

There will not be much more standard functions for the alpha version because in alpha version I am only planning to find and erase bugs, esepcially in using arrays/functions/includes/etc.
So the alpha version is more a kind of call for help and not a useable software.

But to sum up:
If you ignore the 2-3 missing bugs, the software is ready for an alpha release and for heavy testing.

I guess I will release an alpha version (including C++ source code) in around 2 weeks.
Shadow992 is offline  
Thanks
3 Users
Old 11/24/2015, 12:18   #26
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
An additional idea:
One big advantage of autoit is, that there are so many udfs. Is it maybe possible to use them? Maybe create a connection to the autoit interpreter, so you could use autoit sourcecode in your language?
butter123 is offline  
Thanks
1 User
Old 11/24/2015, 20:10   #27
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by butter123 View Post
An additional idea:
One big advantage of autoit is, that there are so many udfs. Is it maybe possible to use them? Maybe create a connection to the autoit interpreter, so you could use autoit sourcecode in your language?
I want to implement 90% of autoit standard UDFs directly in my interpreter (to speed up their performance).

It may be possible to use some UDFs created for AutoIt with no modifications in AAL, too.
But as stated before, my goal is not to create a copy of Autoit but to be similar to AutoIt, so many UDFs just wont work by copying them 1:1 but most of them should be fixable with just a few changes.

Maybe when some time went over I will create an "AutoIt-Code to AAL-Code"-Converter (or someone else ).
But at first we have to get the AAL-Compiler + Interpreter work correctly (and yeah as you noticed my language will be called AAL ).
Shadow992 is offline  
Old 11/24/2015, 23:09   #28
 
[Beatrice]'s Avatar
 
elite*gold: LOCKED
Join Date: Oct 2014
Posts: 1,258
Received Thanks: 12,469
Quote:
Originally Posted by Shadow992 View Post
I want to implement 90% of autoit standard UDFs directly in my interpreter (to speed up their performance).

It may be possible to use some UDFs created for AutoIt with no modifications in AAL, too.
But as stated before, my goal is not to create a copy of Autoit but to be similar to AutoIt, so many UDFs just wont work by copying them 1:1 but most of them should be fixable with just a few changes.

Maybe when some time went over I will create an "AutoIt-Code to AAL-Code"-Converter (or someone else ).
But at first we have to get the AAL-Compiler + Interpreter work correctly (and yeah as you noticed my language will be called AAL ).
AAL
What does it stand for?
[Beatrice] is offline  
Thanks
1 User
Old 11/24/2015, 23:20   #29
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Quote:
Originally Posted by Shadow992 View Post
I want to implement 90% of autoit standard UDFs directly in my interpreter (to speed up their performance).

It may be possible to use some UDFs created for AutoIt with no modifications in AAL, too.
But as stated before, my goal is not to create a copy of Autoit but to be similar to AutoIt, so many UDFs just wont work by copying them 1:1 but most of them should be fixable with just a few changes.

Maybe when some time went over I will create an "AutoIt-Code to AAL-Code"-Converter (or someone else ).
But at first we have to get the AAL-Compiler + Interpreter work correctly (and yeah as you noticed my language will be called AAL ).
Bitte bitte bitte nimm einen Aal als Icon!
alpines is offline  
Thanks
1 User
Old 11/25/2015, 10:28   #30
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by [Beatrice] View Post
AAL
What does it stand for?
AAL = Advanced Automation Language
Quote:
Originally Posted by alpines View Post
Bitte bitte bitte nimm einen Aal als Icon!
Vielleicht mach ich mir einen Aal als Icon, der aber irgendwie "nicht zu Greenpeace"-mäßig ausschaut. Ansonsten wäre die Idee echt cool.
Shadow992 is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
Autoit blocked? or missing something? - Archlord2
08/09/2014 - AutoIt - 2 Replies
Dear all, I'm exploring the possibilities of autoit, but i want to try it on Archlord2. The easy part is activating the gamescreen. But then nothing happens E.g, scrolling between enemies is made possible by TAB key, so my script is like: Sleep (1000) Send ("{tab}") Sleep (2000)
WTT THINGS ON DERI FOR THINGS ON GRACIA AND WTB GOLDTICKET/CRIT GAUDIUS !!!!!!!!!!!!!
07/08/2011 - Archlord Trading - 3 Replies
I HAVE SORCREALMS ON DERI POISON ARMOR 4 SLOTS 3/4 WITH LVL 5 STONES ZWAN BRACELTS DOUBLE CAST WITH 2 ashtals LIGHTNING SORCC CAP SPIRAL RING SHUTA RING 2 SLOT BIGLOS WITH CLOAK ELE LVL 5 AND LVL 4 ANGEL WINGS CLOAK LVL 6 IN NOOB NEC ^^ CAST RINGS ; LENS; TOAS ; CRIT RING WITH lvl 4 RING SPIRIT STONE AND MANY OTHER STUFF
WTT metin2 german things or account for your last chaos usa auzura things
05/20/2011 - Last Chaos Trading - 0 Replies
hello i want to trade my metin2 account or things on metin2 german ( server sobo ) for your last chaos usa auzura-eu things . who is intrested at this offer send me a personal message , there you can ask question abaout things , money or account ( can send screenshots too) =)
Autoit quellcode Hilfe--funcktion error..missing separator character after keywords
02/27/2009 - Rappelz - 9 Replies
Hey Leute Habe nen Problem Also mein bot sollte eignt laufen tut er aber nich ..keine ahnung wieso nach mouseclick schliest er automatisch .. hier mal der quellcode MouseClick ("left",536, 367)



All times are GMT +1. The time now is 23:44.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.