Jump to content

Universal ScreenMate 4 + Editor


madflame991
 Share

Recommended Posts

I hope u dont mind, I made Luigi Style ^^

I was thinking someone would figure out how to do that... I don't mind...

Future releases will give you the posibility of making new moods for mario and include new quotes. By doing this anyone can edit their mario and translate it in their preffered language.

Thx for the constribution. I'll try to update mario monthly.

Link to comment
Share on other sites

  • Replies 76
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Mayby u could add

1 mario

1 luigi

at the same time, so u will se 2 figures at the same time on ur screen :)

But im going to edit the colors again :)

I want my Mario the have red eyes >:3

Minesweeper

A minesweeper game created in autoit, source available.

_Mouse_UDF

An UDF for registering functions to mouse events, made in pure autoit.

2D Hitbox Editor

A 2D hitbox editor for quick creation of 2D sphere and rectangle hitboxes.

Link to comment
Share on other sites

Mayby u could add

1 mario

1 luigi

at the same time, so u will se 2 figures at the same time on ur screen :)

But im going to edit the colors again :)

I want my Mario the have red eyes >:3

this is kind of hard, as you would have to update one then the other unless you used timers which this is a PERFECT for this.

Check out timers mad flame

http://www.autoitscript.com/forum/index.php?showtopic=60888

Link to comment
Share on other sites

I didn't manage to run the script above because I can't find Timers.au3, anyway I've got a plan on animating more caracters (like mario and luigi, some goombas/koopas, bullets and other stuff) without timers and maybe till tomorrow things will get more clear to me...

Of course I don't want the user to be invaded when he's busy so the party will begin only if the computer is idle...

Link to comment
Share on other sites

This is ausom!!!!!!!!!!!! I love mario lol

When he is nervous, you should have him run away from the mouse when it gets neer him lol :)

Spoiler

 

"If a vegetarian eats vegetables,What the heck does a humanitarian eat?"

"I hear voices in my head, but I ignore them and continue on killing."

"You have forced me to raise the indifference warning to beige, it's a beige alert people. As with all beige alerts please prepare to think about the possibility of caring."

An optimist says that giving someone power DOESN'T immediately turn them into a sadist. A pessimist says that giving someone power doesn't IMMEDIATELY turn them into a sadist.

 

 
Link to comment
Share on other sites

  • 2 weeks later...

Fantastic!!!

[quote name='Valik' post='301213' date='Jan 31 2007, 10:36 PM']You seem to have a habit of putting things in the wrong place. I feel sorry for any female you attempt to have sex with.[/quote][font="Lucida Sans Unicode"][/font]

Link to comment
Share on other sites

Minor bug in the script:) Line 459.

EndIfu is spelled wrong and produces an error:)

Should stand EndIf unless it is in the beta files. :) :)

Other than that it looks bloody great!<3

Even though the "block" says he is sleeping at 802,96 but cant find him :D

Maybe add something in the block like "teleport Mario to middle screen" so it is easy to track him?:)

Edit: You have to download the .rar file and .au3 file to be able to actually see him, forgot that the image files is in the .rar file:)

Edited by Roofel

Never argue with an idiot, he will just bring you down to his own level and beat you with experience! :D

Link to comment
Share on other sites

He started to run around the bottom of my screen? Maybe if you make sure it can't leave the program area (see the snippet below)?

$screen = _GetWorkingArea()
Global $width = $screen[2]
Global $height = $screen[3]

;===============================================================================
;
; Function Name:    _GetWorkingArea()
; Description:    Returns the coordinates of desktop working area rectangle
; Parameter(s):  None
; Return Value(s):  On Success - Array containing coordinates:
;                       $a[0] = left
;                       $a[1] = top
;                       $a[2] = right
;                       $a[3] = bottom
;                  On Failure - 0
;
;===============================================================================
Func _GetWorkingArea()
    Local $dRECT = DllStructCreate("long; long; long; long")
    Local $spiRet = DllCall("User32.dll", "int", "SystemParametersInfo", "uint", 48, "uint", 0, "ptr", DllStructGetPtr($dRECT), "uint", 0)
    If @error Then Return 0
    If $spiRet[0] = 0 Then Return 0
    Local $aRet[4] = [DllStructGetData($dRECT, 1), DllStructGetData($dRECT, 2), DllStructGetData($dRECT, 3), DllStructGetData($dRECT, 4) ]
    Return $aRet
EndFunc  ;==>_GetWorkingArea
Link to comment
Share on other sites

@draygoes

version 5 of this screenmate will include other caracters and baddies from the mushroom kingdom in the same time on the screen only if the user asks for that or the computer is idle (that can count as a screensaver)

the next release of mario will let you modify his behaviour so you can choose what he does when you click on him/point the mouse at him or other stuff...

thx for the suggestion

@Bert

the following code (in the source) was meant to bring mario back on the desktop if he got carried away...

If (($px < 64) or ($px > @DesktopHeight)) Then
            p_jump(Random(1,2)*5,Random(-4,-1)*10,Random(64,@DesktopHeight-96,1))
            mario_walk(Random(0,992,1),$mario_run_delay)
        ElseIf (($px > @DesktopWidth - 64) or ($px > @DesktopHeight)) Then
            p_jump(Random(-2,-1)*5,Random(-4,-1)*10,Random(64,@DesktopHeight-96,1))
            mario_walk(Random(0,992,1),$mario_run_delay)
        EndIf

where $px and $py are the coordinates of mario, but as you can see $px is compared to @DesktopHeight instead of @DesktopWidth and that causes the problem...

thx for telling me about the bug

Edited by madflame991
Link to comment
Share on other sites

@JellyFish

I am currently working on the next version of Mario that will give the user the posibility to make skins for mario and modify his moods. Alot of other useful features will be added when I get it done.

I thought that combining Portal (from Valve) with MSM (Mario Screen Mate) should be a good ideea but that will only make the desktop more crowded. Adding more caracters will do that too, thou for a screensaver that might just work.

Smashing icons implies that I need to see what's beneath the icon and display that over it, and that's not too easy to do... and of course I don't want mario to use too many resources

Thx for getting involved. I will anounce MSM's next release.

Link to comment
Share on other sites

i made a shooting function for your script

it makes mario shoot after the cursor and if he hits it then the cursor shakes a bit :)

mario is awsome ;)

Edit:

returns 1 if he hit the cursor

and 0 if he missed it.

Edit: just saw that i forgot to include the inrange function.

Func _Shot()
    Local $Cur_Pos = WinGetPos($Mario)
    Local $Mouse_Pos = MouseGetPos()
    $Mouse_Pos[0] -= 16
    $Mouse_Pos[1] -= 16
    Local $Img = 91
    Local $Distance = Sqrt(($Cur_Pos[0]-$Mouse_Pos[0])^2+($Cur_Pos[1]-$Mouse_Pos[1])^2)
    Local $DistX =  _Max($Mouse_Pos[0], $Cur_Pos[0])-_Min($Mouse_Pos[0], $Cur_Pos[0])
    Local $DistY = _Max($Mouse_Pos[1], $Cur_Pos[1])-_Min($Mouse_Pos[1], $Cur_Pos[1])
    Local $Angle =  ATan($DistY/$DistX)
    Local $Timer = TimerInit()
    Local $flame_Timer = TimerInit()
    
    If $Mouse_Pos[0] < $Cur_Pos[0] Then
        $Dirx = -1
    Else
        $Dirx = 1
    EndIf
    If $Mouse_Pos[1] < $Cur_Pos[1] Then
        $Diry = -1
    Else
        $Diry = 1
    EndIf
    
    If $Cur_Pos[0] > $Mouse_Pos[0] Then
        GUICtrlSetImage($mario_img, $adr_img & '66.bmp')
    Else
        GUICtrlSetImage($mario_img, $adr_img & '61.bmp')
    EndIf
    
    GUISetState(@SW_SHOW,$flame)
    
    For $x = 1 To $Distance Step 5
        
        If $Timer And TimerDiff($Timer) > 1000 Then
            If $Cur_Pos[0] > $Mouse_Pos[0] Then
                GUICtrlSetImage($mario_img, $adr_img & '26.bmp')
            Else
                GUICtrlSetImage($mario_img, $adr_img & '21.bmp')
            EndIf
            $Timer = False
        EndIf
        
        $Next_Posx = Cos($Angle)*$x
        $Next_Posy = Sin($Angle)*$x
        If $Next_Posx <0 Then $Next_Posx *= -1
        If $Next_Posy <0 Then $Next_Posy *= -1
        
        WinMove($flame, "", $Cur_Pos[0]+($Next_Posx*$Dirx), $Cur_Pos[1]+($Next_Posy*$Diry), 32, 32)
        Sleep(5)
        If TimerDiff($flame_Timer) > 100 Then
            $Img += 1
            If $Img = 95 Then $Img = 91
            GUICtrlSetImage($flame_img, $adr_img & $Img & '.bmp')
            $flame_Timer = TimerInit()
        EndIf
    Next
    
    GUICtrlSetImage($flame_img, $adr_img & '97.bmp')
    Sleep(200)
    GUICtrlSetImage($flame_img, $adr_img & '98.bmp')
    Sleep(200)
    GUICtrlSetImage($flame_img, $adr_img & '99.bmp')
    $Cur_Pos = WinGetPos($flame)
    $Mouse_Pos = MouseGetPos()
    
    If _Inrange($Cur_Pos[0]+16, $Mouse_Pos[0], 16) And _Inrange($Cur_Pos[1]+16, $Mouse_Pos[1], 16) Then
        $Timer = TimerInit()
        For $x = 1 To 10
            If $Timer And TimerDiff($Timer) > 150 Then
                GUISetState(@SW_HIDE, $flame)
                $Timer = False
            EndIf
            MouseMove($Mouse_Pos[0]+Random(0,10,1),$Mouse_Pos[1]+Random(0,10,1),3)
            Sleep(10)
        Next
        Return 1
    Else
        Sleep(100)
        GUISetState(@SW_HIDE, $flame)
        Return 0
    EndIf
    
    Return 0
EndFunc

Func _inRange($s_Num1, $s_Num2, $s_Range)
    If $s_Num1 <$s_Num2+$s_Range And $s_Num1 > $s_Num2-$s_Range Then
        Return 1
    EndIf
    Return 0
EndFunc
Edited by Alek

[font="Impact"]Never fear, I is here.[/font]

Link to comment
Share on other sites

Cool. Is it normal for Mario to go off the screen for a while?

EDIT: You could add baloon tooltip instead of ordinary tooltip :)

No source? Most people on this forum aren't going to try your program, they like to look over the script themselves and lean from it, or check it for malicious or bad code before they run it. Post the source and i will try.

http://www.autoitscript.com/forum/index.ph...st&p=462323

Surf through the topic ;)

Edited by i542

I can do signature me.

Link to comment
Share on other sites

  • 2 weeks later...

Fallout 2 ;) (Best turned based game ever! :) )

I agree!

An update on the screen mate is available. Check the first post for details.

Download the screenmate from here

Anybody is invited to make skins for the screenmate... It's now fully skinnable and configurable, check the 'chars' directory. In the future an editor will be also available.

Link to comment
Share on other sites

wow... just, wow.

really really really impressive!

I almost hate to report bugs but...

-Screenshots tab of Configure dialog (v3.6) chooses my d:\ by default (which is my empty zip disk drive). Maybe use @MyDocumentsDir or @UserProfileDir instead?

-maybe a result of the above bug, but when I click the Visit button (still on the screenshots tab), it opens up my profile directory, where the screenshot is NOT stored.

-If I click Browse and hit cancel, it clears the path where the screenshots will be saved; shouldn't it just leave the path unchanged, ideally?

Observations that are somewhat less than bugs:

-If Mario shoots at my cursor, and while the fireball is still flying toward it I move the cursor closer to Mario, but still in its path (visually hitting the cursor), it passes through the cursor instead of hitting it. Is it possible to check the new mousepos WHILE the fireball is traveling and return a sucessful hit, even if it's before it expected when the fireball was launched?

Opinions/suggestions for future modifications (that I didn't see already offered...I, too would love to be able to click and drag him):

-Settings tab should maybe be the default (front) tab

-General tab should maybe be renamed to "Utilities" and moved to second-to-last (just in front of About tab).

-Might there be an easy way to add a checkbox to the Settings tab to turn off his tooltip sayings?

-Maybe an option in 'Settings' to change the 'Settings' block to a tray icon instead?

Please don't take any of this as me saying that I could do better- I assure you, I can't come anywhere close to what you've done here! I'm just throwing out what I see and some features I'd like to see... Thanks for this very cool script- I'll be checking back often for updates! I'm excited about some of the additions you're already planning!

Edit: Did the alarm functions get removed? I like the idea, especially if I could check a box to also have it Beep() my computer like an alarm clock, so it would get my attention even if I'm away from the computer.

Edit 2: I just noticed, my choice to hide the screen capture button didn't persist when I restarted the program. Shouldn't it?

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

@james3mg

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

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.

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

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.

Thanks again for the bug list and suggestions! :)

Link to comment
Share on other sites

The way to retrieve the ip address should be changed. For me it's @ipaddress2. Am net de la rds ce sa fac. There was another "function" that grabbed the ip wich you connect to the internet with but I forgot it. Or you can use ie functions on www.ipchicken.com

edit: remembered. _GetIP( )

Edited by Kreatorul
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...