Jump to content

MSAgent Library


A. Percy
 Share

Recommended Posts

Hello everyone.

This is my first post and my first public script since I had became using AutoIt (august 2005).

I think that is an necessary action to stimulate more knowledge sharing.

Well, what I made:

An more simple as possible UDF that helps any person to play animations using MSAgent Control in their applications. Or simply to have fun itself :whistle:

I tried to organize in the same formatting used by Dale Hohm, to be of easy consultation.

---------------------------------------------

now Updated to 1.1.1 - 11/01/06

---------------------------------------------

MsAgentLib.zip

More information of MSAgent and resources can be obtained at: Microsoft Agent Home Page

I sugest to download:

MSagent.exe (for ones that uses Win9x)

Peedy.exe

spchapi.exe

tv_enua.exe

I desire that this library can be usefull.

Bye!

Edited by A. Percy

Só o que posso lhe dizer, bom é quando faz mal!My work:Au3Irrlicht - Irrlicht for AutoItMsAgentLib - An UDF for MSAgentAu3GlPlugin T2 - A 3D plugin for AutoIt...OpenGl Plugin - The old version of Au3GlPlugin.MAC Address Changer - Changes the MAC AddressItCopter - A dragonfly R/C helicopter simulator

VW Bug user

Pinheiral (Pinewood) city:

http://pt.wikipedia.org/wiki/Pinheiral

Link to comment
Share on other sites

This is getting long, but nice script.

i will use it at the time

Edited by Pakku
Link to comment
Share on other sites

I made another example script. I believe that it helps.

Bye!

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.2.1.8 (beta)
 Author:         Alexsandro Percy

 Script Function:
    Template MsAgentLib.au3 usage.
    Trying to use 2 characters

#ce ----------------------------------------------------------------------------

#include <msagentlib.au3>
#include <inet.au3>

AutoItSetOption( "WinTitleMatchMode", 4 )

$Agent1Name = "Peedy"
$Agent1FileName = "Peedy.acs"
$Agent2Name = "Merlin"
$Agent2FileName = "Merlin.acs"

;loads characters
$o_Char1 = _MALoadCharacter( $Agent1FileName, $Agent1Name )
$o_Char2 = _MALoadCharacter( $Agent2FileName, $Agent2Name )

If IsObj( $o_Char1 ) and IsObj( $o_Char2 ) Then
    
    ;Get Chars positions
    $BarTitle = "classname=Shell_TrayWnd"
    $StartPos = WinGetPos( $BarTitle )
    $Char1Size = _MAGetCharSize( $o_Char1 )
    $Char1XStartPos = $StartPos[2] - 200
    $Char2XStartPos = $StartPos[2] - 200 - $Char1Size[0] - 60
    
    ;move and show
    _MAMoveCharToWindowBorder( $o_Char1, $BarTitle, $Char1XStartPos )
    _MAMoveCharToWindowBorder( $o_Char2, $BarTitle, $Char2XStartPos )
    _MAShowChar( $o_Char1 )
    $Request = _MAShowChar( $o_Char2 )
    
    ;now wait chars appears
    _MAWaitAction( $Request )
    
    ;Please Mr. Peedy, say hello to Mr. Merlin
    $Request = _MAScriptPlay( $o_Char1, "play;LookRightBlink|speak;Hello " & $Agent2Name & "!" )
    
    ;Mr. Merlin, wait Peedy say hello to you.
    _MAWaitAction( $Request )
    
    ;Now say hello to Mr. Peedy
    $Request = _MAScriptPlay( $o_Char2, "play;LookLeft|speak;Hello " & $Agent1Name & "! How are you?" )
    
    ;Wait Mr. Peedy!
    _MAWaitAction( $Request )
    
    ;Answer now Peedy
    $Request = _MACharSpeak( $o_Char1, "I'm fine! And you?" )

    ;Wait and answer after.
    _MAWaitAction( $Request )
    $Request = _MACharSpeak( $o_Char2, "I'm too. What's the news?" )
    
    ;Your act Peedy
    _MAWaitAction( $Request )
    _MACharSpeak( $o_Char1, "Wait a minute!" )
    _MAHideChar( $o_Char1 )
    
    $News = GetNews( )  
    
    ;Merlin now still confused and search for Mr. Peedy
    Sleep( 1000 )
    _MAScriptPlay( $o_Char2, "play;Confused|speak;Where is " & $Agent1Name & "?" )
    $Request = _MACharPlayAnim( $o_Char2, "Searching" )
    $InitTime = TimerStart()
    While TimerDiff( $InitTime ) < 5000
        Sleep( 100 )
    WEnd
    _MAStop( $o_Char2, $Request )
    $Request = _MAScriptPlay( $o_Char2, "play;Surprised|speak;I don't believe in my eyes!" )
    
    ;And now are you Mr. Peedy
    _MAWaitAction( $Request )
    _MAShowChar( $o_Char1 )
    $Request = _MAScriptPlay( $o_Char1, "speak;" & $News & "|play;Pleased" )
    
    ;Merlin
    _MAWaitAction( $Request )
    _MACharPlayAnim( $o_Char2, "Decline" )
    
    ;end now
    _MAQuitChar( $o_Char2 )
    _MAQuitChar( $o_Char1 )
    
EndIf

Exit

;---------------------------------------------------------------------------------------------
Func GetNews( )
    Local $RetVal = "From Google News! "
    Local $Url = "http://news.google.com/news?ned=tus&rec=0"
    Local $Source = _INetGetSource( $Url )
    Local $FirstNew = StringMid( $Source, StringInStr( $Source, "</table><a href=" ) )
    $FirstNew = StringLeft( $FirstNew, StringInStr( $FirstNew, "</a>" ) - 5 )
    $FirstNew = StringMid( $FirstNew, StringInStr( $FirstNew, "<b>" ) + 3 )
    $RetVal = $RetVal & $FirstNew & "."
    Return $RetVal
EndFunc
;---------------------------------------------------------------------------------------------

Só o que posso lhe dizer, bom é quando faz mal!My work:Au3Irrlicht - Irrlicht for AutoItMsAgentLib - An UDF for MSAgentAu3GlPlugin T2 - A 3D plugin for AutoIt...OpenGl Plugin - The old version of Au3GlPlugin.MAC Address Changer - Changes the MAC AddressItCopter - A dragonfly R/C helicopter simulator

VW Bug user

Pinheiral (Pinewood) city:

http://pt.wikipedia.org/wiki/Pinheiral

Link to comment
Share on other sites

I released version 1.1 of library (edited in first post) and it have 2 new functions now:

_MACommandAdd( )

_MACommandRemove( )

Please, update your version and try the example below about use of them:

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.2.1.8 (beta)
 Author:         Alexsandro Percy

 Requeriments: msagentlib.au3 v 1.1

 Script Function:
    Template MsAgentLib.au3 usage.
    Using commands and handlig event
    - Try to drag Peedy or active any command

#ce ----------------------------------------------------------------------------

#include <msagentlib.au3>

AutoItSetOption( "WinTitleMatchMode", 4 )

Global $AgentName = "Peedy"
Global $AgentFileName = "Peedy.acs"

;load character
Global $o_Char = _MALoadCharacter( $AgentFileName, $AgentName )

If IsObj( $o_Char ) Then
    ;add some commands
    _MACommandAdd( $o_Char, "SayHello", "Say Hello" )
    _MACommandAdd( $o_Char, "SayGoodBye", "Say Good Bye" )
    _MACommandAdd( $o_Char, "SayWhoIam", "Say I am " & $AgentName )
    _MACommandAdd( $o_Char, "Quit", "Quit" )
    
    ;remove a command
    _MACommandRemove( $o_Char, "SayGoodBye" )
    
    ;Get Char position
    $BarTitle = "classname=Shell_TrayWnd"
    $StartPos = WinGetPos( $BarTitle )
    $CharSize = _MAGetCharSize( $o_Char )
    $CharXStartPos = $StartPos[2] - 200
    
    ;move and show
    _MAMoveCharToWindowBorder( $o_Char, $BarTitle, $CharXStartPos )
    _MAShowChar( $o_Char )
    
    While 1
        Sleep( 200 )
    Wend
EndIf

Exit

;----------------------------------------------------
;Handling created commands
Func MsAgent_Command( $UserInput )
    If IsObj( $UserInput ) Then
        Select
            Case $UserInput.Name = "SayHello"
                _MACharSpeak( $o_Char, "Hello!" )
            Case $UserInput.Name = "SayGoodBye"
                _MACharSpeak( $o_Char, "Good bye!" )
            Case $UserInput.Name = "SayWhoIam"
                _MACharSpeak( $o_Char, "I am " & $AgentName )
            Case $UserInput.Name = "Quit"
                _MAQuitChar( $o_Char )
                Exit
            Case Else
                ;;;;;
        EndSelect
    EndIf
EndFunc

;----------------------------------------------------
;Handling an event
Func Agent_DragComplete ( $CharacterID, $Button, $Shift, $X, $Y )
    _MAStopAll( $o_Char )
    _MACharPlayAnim( $o_Char, "Blink" )
    _MACharSpeak( $o_Char, "Well, \emp\this gives me a new perspective!|I like it much better over here.|Now why did you move me?|Hey, be careful!" )
    _MACharPlayAnim( $o_Char, "Blink" )
EndFunc

Thanks for your attention :whistle:

Edited by A. Percy

Só o que posso lhe dizer, bom é quando faz mal!My work:Au3Irrlicht - Irrlicht for AutoItMsAgentLib - An UDF for MSAgentAu3GlPlugin T2 - A 3D plugin for AutoIt...OpenGl Plugin - The old version of Au3GlPlugin.MAC Address Changer - Changes the MAC AddressItCopter - A dragonfly R/C helicopter simulator

VW Bug user

Pinheiral (Pinewood) city:

http://pt.wikipedia.org/wiki/Pinheiral

Link to comment
Share on other sites

A little correction forced me to release a new version of lib, now 1.1.1, edited in first post.

:">

Só o que posso lhe dizer, bom é quando faz mal!My work:Au3Irrlicht - Irrlicht for AutoItMsAgentLib - An UDF for MSAgentAu3GlPlugin T2 - A 3D plugin for AutoIt...OpenGl Plugin - The old version of Au3GlPlugin.MAC Address Changer - Changes the MAC AddressItCopter - A dragonfly R/C helicopter simulator

VW Bug user

Pinheiral (Pinewood) city:

http://pt.wikipedia.org/wiki/Pinheiral

Link to comment
Share on other sites

Very good, It works ok.

Is there a way to change to a different speech language? e.g. German, Britsh English

I already download the different speech engines.

grCor

Yes! When loading character. Like this:

$g_oChar = _MALoadCharacter( "Peedy.acs", "Peedy", "0416" )

:whistle:

A. Percy

Só o que posso lhe dizer, bom é quando faz mal!My work:Au3Irrlicht - Irrlicht for AutoItMsAgentLib - An UDF for MSAgentAu3GlPlugin T2 - A 3D plugin for AutoIt...OpenGl Plugin - The old version of Au3GlPlugin.MAC Address Changer - Changes the MAC AddressItCopter - A dragonfly R/C helicopter simulator

VW Bug user

Pinheiral (Pinewood) city:

http://pt.wikipedia.org/wiki/Pinheiral

Link to comment
Share on other sites

I had moved the first example to here

#cs ----------------------------------------------------------------------------

AutoIt Version: 3.2.1.8 (beta)
Author:         Alexsandro Percy

Script Function:
    Template MsAgentLib.au3 usage.

#ce ----------------------------------------------------------------------------
#include <msagentlib.au3>

AutoItSetOption( "WinTitleMatchMode", 4 )

$AgentName = "Peedy"
$AgentFileName = "Peedy.acs"
$CalcWin = "classname=SciCalc"

;loads character
$o_Char = _MALoadCharacter( $AgentFileName, $AgentName )

If IsObj( $o_Char ) Then
;==============================================
;Run calc
;==============================================
    $CalcPid = Run( "calc.exe", "" )
    WinWait( $CalcWin )
    WinSetState( $CalcWin, "", @SW_HIDE )
    WinMove( $CalcWin, "", 400, 300 )
    WinSetState( $CalcWin, "", @SW_SHOW )
    
;==============================================
;go to window and do some actions
;==============================================
    _MAMoveCharToWindowBorder( $o_Char, $CalcWin, 50 )
    _MAShowChar( $o_Char )
    _MACharSpeak( $o_Char, "Hello! I'm " & $AgentName & "!" )
    _MACharPlayAnim( $o_Char, "Pleased" )
    
;==============================================
;wait character ends speak
;==============================================
    $Request = _MACharSpeak( $o_Char, "Lets use the calc now!" )
    _MAWaitAction( $Request )
    
;==============================================
;character is now thinking
;==============================================
    $Request = _MACharPlayAnim( $o_Char, "Thinking" )
    _MACharThink( $o_Char, "2 + 2 = 4?" )
    $InitTime = TimerInit( )
    While TimerDiff( $InitTime ) < 4000
        Sleep( 100 )
    WEnd
    _MAStop( $o_Char, $Request )
    
;==============================================
;click on buttons my little "fantoche"
;==============================================
    $Button2 = ControlGetHandle( $CalcWin, "", "Button49" )
    $ButtonPlus = ControlGetHandle( $CalcWin, "", "Button60" )
    $ButtonEqual = ControlGetHandle( $CalcWin, "", "Button65" )
    
;click button 2
    _MAMoveCharToWindowBorder( $o_Char, $Button2 )
    $Request = _MACharPlayAnim( $o_Char, "GetAttentionContinued" )
    _MAWaitAction( $Request )
    ControlClick( $CalcWin, "", $Button2 )
    
;click button +
    _MAMoveCharToWindowBorder( $o_Char, $ButtonPlus )
    $Request = _MACharPlayAnim( $o_Char, "GetAttentionContinued" )
    _MAWaitAction( $Request )
    ControlClick( $CalcWin, "", $ButtonPlus )
    
;click button 2
    _MAMoveCharToWindowBorder( $o_Char, $Button2 )
    $Request = _MACharPlayAnim( $o_Char, "GetAttentionContinued" )
    _MAWaitAction( $Request )
    ControlClick( $CalcWin, "", $Button2 )
    
;click button =
    _MAMoveCharToWindowBorder( $o_Char, $ButtonEqual )
    $Request = _MACharPlayAnim( $o_Char, "GetAttentionContinued" )
    _MAWaitAction( $Request )
    ControlClick( $CalcWin, "", $ButtonEqual )
    
;back to window border
    $Request = _MAMoveCharToWindowBorder( $o_Char, $CalcWin, 300 )
    _MAWaitAction( $Request )

;==============================================
;now plays a simple script;)
;==============================================
    $Script = "play;LookDown|play;LookDownReturn|sleep;1000|play;Pleased|speak;Well! I'm not so bad in maths!|play;RestPose|speak;bye!"
    _MAScriptPlay( $o_Char, $Script )

;==============================================
;bye bye
;==============================================
    _MAQuitChar( $o_Char )
    ProcessClose( $CalcPid )
EndIf

Exit

Só o que posso lhe dizer, bom é quando faz mal!My work:Au3Irrlicht - Irrlicht for AutoItMsAgentLib - An UDF for MSAgentAu3GlPlugin T2 - A 3D plugin for AutoIt...OpenGl Plugin - The old version of Au3GlPlugin.MAC Address Changer - Changes the MAC AddressItCopter - A dragonfly R/C helicopter simulator

VW Bug user

Pinheiral (Pinewood) city:

http://pt.wikipedia.org/wiki/Pinheiral

Link to comment
Share on other sites

  • 1 month later...

I had moved the first example to here

#cs ----------------------------------------------------------------------------

AutoIt Version: 3.2.1.8 (beta)
Author:         Alexsandro Percy

Script Function:
    Template MsAgentLib.au3 usage.

#ce ----------------------------------------------------------------------------
#include <msagentlib.au3>

AutoItSetOption( "WinTitleMatchMode", 4 )

$AgentName = "Peedy"
$AgentFileName = "Peedy.acs"
$CalcWin = "classname=SciCalc"

;loads character
$o_Char = _MALoadCharacter( $AgentFileName, $AgentName )

If IsObj( $o_Char ) Then
;==============================================
;Run calc
;==============================================
    $CalcPid = Run( "calc.exe", "" )
    WinWait( $CalcWin )
    WinSetState( $CalcWin, "", @SW_HIDE )
    WinMove( $CalcWin, "", 400, 300 )
    WinSetState( $CalcWin, "", @SW_SHOW )
    
;==============================================
;go to window and do some actions
;==============================================
    _MAMoveCharToWindowBorder( $o_Char, $CalcWin, 50 )
    _MAShowChar( $o_Char )
    _MACharSpeak( $o_Char, "Hello! I'm " & $AgentName & "!" )
    _MACharPlayAnim( $o_Char, "Pleased" )
    
;==============================================
;wait character ends speak
;==============================================
    $Request = _MACharSpeak( $o_Char, "Lets use the calc now!" )
    _MAWaitAction( $Request )
    
;==============================================
;character is now thinking
;==============================================
    $Request = _MACharPlayAnim( $o_Char, "Thinking" )
    _MACharThink( $o_Char, "2 + 2 = 4?" )
    $InitTime = TimerInit( )
    While TimerDiff( $InitTime ) < 4000
        Sleep( 100 )
    WEnd
    _MAStop( $o_Char, $Request )
    
;==============================================
;click on buttons my little "fantoche"
;==============================================
    $Button2 = ControlGetHandle( $CalcWin, "", "Button49" )
    $ButtonPlus = ControlGetHandle( $CalcWin, "", "Button60" )
    $ButtonEqual = ControlGetHandle( $CalcWin, "", "Button65" )
    
;click button 2
    _MAMoveCharToWindowBorder( $o_Char, $Button2 )
    $Request = _MACharPlayAnim( $o_Char, "GetAttentionContinued" )
    _MAWaitAction( $Request )
    ControlClick( $CalcWin, "", $Button2 )
    
;click button +
    _MAMoveCharToWindowBorder( $o_Char, $ButtonPlus )
    $Request = _MACharPlayAnim( $o_Char, "GetAttentionContinued" )
    _MAWaitAction( $Request )
    ControlClick( $CalcWin, "", $ButtonPlus )
    
;click button 2
    _MAMoveCharToWindowBorder( $o_Char, $Button2 )
    $Request = _MACharPlayAnim( $o_Char, "GetAttentionContinued" )
    _MAWaitAction( $Request )
    ControlClick( $CalcWin, "", $Button2 )
    
;click button =
    _MAMoveCharToWindowBorder( $o_Char, $ButtonEqual )
    $Request = _MACharPlayAnim( $o_Char, "GetAttentionContinued" )
    _MAWaitAction( $Request )
    ControlClick( $CalcWin, "", $ButtonEqual )
    
;back to window border
    $Request = _MAMoveCharToWindowBorder( $o_Char, $CalcWin, 300 )
    _MAWaitAction( $Request )

;==============================================
;now plays a simple script;)
;==============================================
    $Script = "play;LookDown|play;LookDownReturn|sleep;1000|play;Pleased|speak;Well! I'm not so bad in maths!|play;RestPose|speak;bye!"
    _MAScriptPlay( $o_Char, $Script )

;==============================================
;bye bye
;==============================================
    _MAQuitChar( $o_Char )
    ProcessClose( $CalcPid )
EndIf

Exit
Great script but Ihave a suggestion

Plop this puppy into a zip for download instead of just posting the script in the forum.

I for 1 have a problem when you do it this way

I have 2 computers in a network that is used strictly for development and two more computers in a separate network. The dev network is not and never will be connected to the internet or the second network. Network 2 is connected to the internet but does not have any development software including Autoit. So in the case of long scripts I have to open them in a text editor, and then save them as *.* files (au3) and then zip them, copy to CD and move to network 1. It's a pain in the arse but It keeps the development system clean and tidy.

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Link to comment
Share on other sites

Great script but Ihave a suggestion

Plop this puppy into a zip for download instead of just posting the script in the forum.

I for 1 have a problem when you do it this way

I have 2 computers in a network that is used strictly for development and two more computers in a separate network. The dev network is not and never will be connected to the internet or the second network. Network 2 is connected to the internet but does not have any development software including Autoit. So in the case of long scripts I have to open them in a text editor, and then save them as *.* files (au3) and then zip them, copy to CD and move to network 1. It's a pain in the arse but It keeps the development system clean and tidy.

Ok!!!! I did! :P

Thanks!

Só o que posso lhe dizer, bom é quando faz mal!My work:Au3Irrlicht - Irrlicht for AutoItMsAgentLib - An UDF for MSAgentAu3GlPlugin T2 - A 3D plugin for AutoIt...OpenGl Plugin - The old version of Au3GlPlugin.MAC Address Changer - Changes the MAC AddressItCopter - A dragonfly R/C helicopter simulator

VW Bug user

Pinheiral (Pinewood) city:

http://pt.wikipedia.org/wiki/Pinheiral

Link to comment
Share on other sites

Ok!!!! I did! :P

Thanks!

No. Thank YOU.

BTW its also much easier to download a file and read it than it is to read long scripts on the forums.

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Link to comment
Share on other sites

  • 1 month later...

Can different text-to-speech voices be used? How?

Thanks.

Dave

Reading the Platform SDK:

"To enable text-to-speech output, use the Speak method. Agent will automatically attempt to load an engine that matches the character's LanguageID. If the character's definition includes a specific TTS engine mode ID and that engine is available and matches the character's LanguageID, Agent loads that engine for the character. If it is not, it loads the first TTS engine that SAPI returns as matching the character's language setting. You can also use the TTSModeID to load a specific engine."

TTSModeID Property

Description

Returns or sets the TTS engine mode used for the character.

Syntax

agent.Characters ("CharacterID").TTSModeID [ = ModeID]

So, if you get your "$Character" variable, you can call the property TTSModeID directly! :whistle:

Alexsandro Percy

Só o que posso lhe dizer, bom é quando faz mal!My work:Au3Irrlicht - Irrlicht for AutoItMsAgentLib - An UDF for MSAgentAu3GlPlugin T2 - A 3D plugin for AutoIt...OpenGl Plugin - The old version of Au3GlPlugin.MAC Address Changer - Changes the MAC AddressItCopter - A dragonfly R/C helicopter simulator

VW Bug user

Pinheiral (Pinewood) city:

http://pt.wikipedia.org/wiki/Pinheiral

Link to comment
Share on other sites

Try commenting and uncommenting the line

$o_Char.TTSModeID = "{C5C35D60-DA44-11D1-B1F1-0000F803E456}"

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.2.1.8 (beta)
 Author:         Alexsandro Percy

 Script Function:
    Template MsAgentLib.au3 usage.

#ce ----------------------------------------------------------------------------
#include <msagentlib.au3>

AutoItSetOption( "WinTitleMatchMode", 4 )

$AgentName = "Peedy"
$AgentFileName = "Peedy.acs"
$CalcWin = "classname=SciCalc"

;loads character
$o_Char = _MALoadCharacter( $AgentFileName, $AgentName )

If IsObj( $o_Char ) Then
    $o_Char.TTSModeID = "{C5C35D60-DA44-11D1-B1F1-0000F803E456}"
    
    _MAShowChar( $o_Char )
    _MACharSpeak( $o_Char, "Hello! I'm " & $AgentName & "!" )
    $Request = _MACharPlayAnim( $o_Char, "Pleased" )
    _MAWaitAction( $Request )
    
;==============================================
;bye bye
;==============================================
    _MAQuitChar( $o_Char )
EndIf

Exit

:whistle:

Só o que posso lhe dizer, bom é quando faz mal!My work:Au3Irrlicht - Irrlicht for AutoItMsAgentLib - An UDF for MSAgentAu3GlPlugin T2 - A 3D plugin for AutoIt...OpenGl Plugin - The old version of Au3GlPlugin.MAC Address Changer - Changes the MAC AddressItCopter - A dragonfly R/C helicopter simulator

VW Bug user

Pinheiral (Pinewood) city:

http://pt.wikipedia.org/wiki/Pinheiral

Link to comment
Share on other sites

  • 4 months later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...