Jump to content

Universal ScreenMate 4 + Editor


madflame991
 Share

Recommended Posts

  • Replies 76
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

This was the best reply to my little screenmate project, thx!

Glad to help...glad you were looking for this type of input; many aren't :)

I know the bugs exist, but I got carried away and wanted to launch the program faster, I just got tired of debugging. Later updates will fix them.

I can't blame you, with a script this impressive! It's sure amazing what you managed to do "pushing it out the door". I'm with most people in here- this is one of the best example scripts provided to this community, based on sheer jaw-dropping effect. Especially when I opened your script and found so few lines of code!

Mario can be dragged, if you click on him once he will hang on to your mouse.

Ahh...I see this. Great. Could you just add $GUI_WS_EX_PARENTDRAG to the EX_STYLE field of the Mario picture control? Then you can DRAG him, rather than have to deal with him not wanting to let go the first time I click again...it's a bit more like users expect it to work, IMO.

The reminder/alarm function was removed because it was incomplete and I want to make something a bit more complex. I am hoping that I can make mario do certain stuff when an event happends. This too, will be added later.

I am now working on an editor for the screenmate so anyone can make themes.

I am waiting with baited breath for this stuff! I made a Bowser character skin on my computer, but it was...let's just say...quite bad. Too small, and he moved too fast. Not to mention that his flames tended to move backwards. So I'll wait for your 'official' versions or your theme maker before trying again.

I've already used the concepts I learned from your script to make my own ripoff script; an F-15 that flies across my screen at random intervals, targeting my mouse in realtime, launching a guided missile and causing a small explosion when the missile detonates. If it hits the mouse, the cursor disappears for the duration of the explosion. I like it, so THANKS for leading the way! ;)

"There are 10 types of people in this world - those who can read binary, and those who can't.""We've heard that a million monkeys at a million keyboards could produce the complete works of Shakespeare; now, thanks to the Internet, we know that is not true." ~Robert Wilensky0101101 1001010 1100001 1101101 1100101 1110011 0110011 1001101 10001110000101 0000111 0001000 0001110 0001101 0010010 1010110 0100001 1101110
Link to comment
Share on other sites

  • 3 weeks later...

I like the old version better, where it had all the options and everything.

And don't really like the installer part.

ahm... what options are missing besides "Show capture button" ???

The "installer part" is basically the same! What you failed to see is that instead of having an executable for installing the software and one for uninstalling it I managed to merge them together, thus making the archive with ~200kb smaller.

Link to comment
Share on other sites

ahm... what options are missing besides "Show capture button" ???

The "installer part" is basically the same! What you failed to see is that instead of having an executable for installing the software and one for uninstalling it I managed to merge them together, thus making the archive with ~200kb smaller.

It doesn't have the little mushroom, and everything now... :)
Link to comment
Share on other sites

  • 2 weeks later...

very Nice!

Why not add some 'Tamagotchi' feature ?

- Life

- eat from your Trash

- mini game (hide in one on your folders, until you find him )

- some interactions with him (mouse, drawn lines, joy/hate colors, etc.)

thank you for attention, nice job.

m.

Link to comment
Share on other sites

Why not add some 'Tamagotchi' feature ?

Interactions with the screenmate will be added in the future... and even between two or more screenmates, but that evidetly will nedd a lot of work... thx for your suggestion!

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

For all: version 3.7 is out of beta. If you like this software please consider making it popular or create a character using the character editor. The official website is: www.madflame991.blogspot.com

Thx for your replies so far!

Edited by madflame991
Link to comment
Share on other sites

Nice job-glad to see this project is still going! This is still one of the best examples of AutoIt's potential for the imaginative!

Good (well, actually GREAT) stuff:

-I see you fixed the screenshot directory issues- THANKS! :D Everything I tried to throw at it passed with flying colors.

-I like not having to have the mushroom and question block windows on my desktop, but maybe if you've still got those functions, you could just give the user the option of using the tray icon OR the floating window buttons like before (hide the tray icon if they choose to have the buttons on the desktop)...just to address complaints like Swift's. But then maybe it's tougher than I realize to do either/or.

-woohoo! I made the 'thanks to' field!

-I like being able to turn the quotes off, but see below for a small comment.

Some suggestions (or observations submitted for your consideration):

-I think that your option "Disable quotes" should actually be labeled "Enable quotes". It's checked by default, and he says stuff. But if I uncheck it (theoretically 'enabling' the quotes), he doesn't talk anymore.

-Did you try adding $GUI_WS_EX_PARENTDRAG to the extended style of the Mario GUI? I still think that's a better way to manually move Mario around the screen than clicking to move, double-clicking to drop. If you tried and it didn't work, let me know and I'll see if I can help (I got it working on some of my scripts I made based on your work here).

-Could you disable the fireball GUI, please? (That is, set its state to 'GUI_DISABLE'...I still like it and want to see it- I'm not asking for the function to be disabled/removed from the script). The problem is it steals window focus when Mario shoots at my mouse. For instance, I'm scrolling through this topic in my browser using my mouse wheel, but if mario decides to shoot at me, the focus is stolen from my browser window, so scrolling doesn't work until I re-activate the window. Since sometimes Mario shoots at me 8+ times in 10 seconds, it gets annoying. I think if the fireball GUI is disabled, it won't steal focus. If it still does, maybe you could just manually re-activate the previously active window once the fireball window is shown?

-The 'configure' window is hard to find now- maybe if it could be activated with a single left-click instead of a double-click of the tray icon?

-'Hide Me' as a button is unclear as to what it does by reading the label- maybe it should be "OK" or "Close"?

Still, all in all a great script! Everything I say is always just for your consideration- I don't forget that you've got to do the work to implement what may seem an easy feature, so ultimately it always comes down to what you want to do :D Check back in a few days and I'll let you know how a first-timer's experience with your Editor went.

"There are 10 types of people in this world - those who can read binary, and those who can't.""We've heard that a million monkeys at a million keyboards could produce the complete works of Shakespeare; now, thanks to the Internet, we know that is not true." ~Robert Wilensky0101101 1001010 1100001 1101101 1100101 1110011 0110011 1001101 10001110000101 0000111 0001000 0001110 0001101 0010010 1010110 0100001 1101110
Link to comment
Share on other sites

@james3mg

You made it to the 'thanks to' section because you earn it...

$GUI_WS_EX_PARENTDRAG wont help me because I can't find a way to get the coordinates of the window after the image is released... one solution would be to use directly WinGetPos as the mate's coordinates instelad of local variables, but that will eat more CPU... I will further research on this matter and find a siutable solution

As for the bugs you found... I fixed them :D and uploaded the new version (3.7.1) to the official website... link for download

Thx again for your constructive critics... Through this project I learned that programming needs a lot of patience and from you I learned that good criticism sometimes leads to good results.

Edited by madflame991
Link to comment
Share on other sites

$GUI_WS_EX_PARENTDRAG wont help me because I can't find a way to get the coordinates of the window after the image is released... one solution would be to use directly WinGetPos as the mate's coordinates instelad of local variables, but that will eat more CPU... I will further research on this matter and find a siutable solution

Are you doing event checking on the mate window? I assume that's how you're checking for a single- and double-click (to move the mate). You could replace that check by checking for event -8 or $GUI_EVENT_PRIMARYUP and only run WinGetPos and replace the data in your vars when that message is seen...

[edit] sorry for the delay in responding and being absent for a while- there was a death in my family, so I've been away

Edited by james3mg
"There are 10 types of people in this world - those who can read binary, and those who can't.""We've heard that a million monkeys at a million keyboards could produce the complete works of Shakespeare; now, thanks to the Internet, we know that is not true." ~Robert Wilensky0101101 1001010 1100001 1101101 1100101 1110011 0110011 1001101 10001110000101 0000111 0001000 0001110 0001101 0010010 1010110 0100001 1101110
Link to comment
Share on other sites

I'm sorry to hear that.

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

This was the first time I used the OnEvent mode so I presume there's a better way of implementing it...

Here's the code:

$mario_img=GUICtrlCreatePic($adr_img&$opt_marioimgadr&'\26.bmp',0,0,$mario_size[0],$mario_size[1])
Opt('GUIOnEventMode',1)
GUICtrlSetOnEvent($mario_img,'DragHim')

Func DragHim()
    If $grab = 0 Then
        Opt('GUIOnEventMode',0)
        $dll = DllOpen('user32.dll')
        $grab = 1
        $mpos = MouseGetPos()
        $dragdistx = $mpos[0] - $mario_x
        $dragdisty = $mpos[1] - $mario_y
        Sleep(100)
        While 1
            If _IsPressed('01', $dll) Then ExitLoop
            WinMove($win_mario,'',MouseGetPos(0)-$dragdistx,MouseGetPos(1)-$dragdisty)
        WEnd
        $mario_x = MouseGetPos(0)-$dragdistx
        $mario_y = MouseGetPos(1)-$dragdisty
        DllClose($dll)
        Opt('GUIOnEventMode',1)
    EndIf
    $grab = 0
EndFunc

Edit: I don't think I can get events from the main window since it's not visible...

Edited by madflame991
Link to comment
Share on other sites

Are you using OnEvent because you don't think that GUIGetMsg() will work, or because this is how you want to do it?

"There are 10 types of people in this world - those who can read binary, and those who can't.""We've heard that a million monkeys at a million keyboards could produce the complete works of Shakespeare; now, thanks to the Internet, we know that is not true." ~Robert Wilensky0101101 1001010 1100001 1101101 1100101 1110011 0110011 1001101 10001110000101 0000111 0001000 0001110 0001101 0010010 1010110 0100001 1101110
Link to comment
Share on other sites

Are you using OnEvent because you don't think that GUIGetMsg() will work, or because this is how you want to do it?

GUIGetMsg doesn't work on images... I tried that before.

Link to comment
Share on other sites

GUIGetMsg doesn't work on images... I tried that before.

No, but it works on the GUI that the Mario images are created IN. If I remember from your older version, you created a GUI the same size as the pictures, then created a picture control that actually displays the bitmaps. The GUIGetMsg() will return the data from the actual GUI window that you're moving around the screen. Your $win_mario GUI is what GUIGetMsg() is retrieving the data from, not from $mario_img. So in your While 1 loop (at the top of your If $marhi=0 Then condition), you should be able to do something like:

If GUIGetMsg()=-8 Then
            $tmpMarioWin=WinGetPos($win_mario)
            $mario_x=$tmpMarioWin[0]
            $mario_y=$tmpMarioWin[1]
        EndIf

That way, WinGetPos() only runs when the mouse button is released over mario. The $GUI_WS_EX_PARENTDRAG would take care of the dragging by itself, so you wouldn't need DragHim() anymore.

Note you'd need to set OnEventMode back to 0 with this code (which is, I believe, where you leave it for your other GUIs anyway).

Edited by james3mg
"There are 10 types of people in this world - those who can read binary, and those who can't.""We've heard that a million monkeys at a million keyboards could produce the complete works of Shakespeare; now, thanks to the Internet, we know that is not true." ~Robert Wilensky0101101 1001010 1100001 1101101 1100101 1110011 0110011 1001101 10001110000101 0000111 0001000 0001110 0001101 0010010 1010110 0100001 1101110
Link to comment
Share on other sites

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...