SA-MP Forums Archive
Re-initializing the mouse? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Re-initializing the mouse? (/showthread.php?tid=336484)



Re-initializing the mouse? - 2KY - 22.04.2012

I tried to do something like this;

pawn Code:
else if( clickedid == startup1 ) // Login
        {
            if( fexist ( accPath ( playerid ) ) ) //They exist, this is good! Let them continue.
            {
                INI_ParseFile( accPath ( playerid ), "LoadAccount_%s", .bExtra = true, .extra = playerid);

                ShowPlayerDialog( playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Access your account", "Please login to your account using your unique password that you set when you created it.", "Submit", "Back" );
            }

            else if( !fexist ( accPath ( playerid ) ) ) //They don't have an account, but they're hitting 'Login'? Why?
                return ShowPlayerDialog( playerid, DIALOG_BLANK, DIALOG_STYLE_MSGBOX, "You can't do that!", "ACTION FAILED\n\nYou don't have an account! Why are you trying to login to something that is non-existant?\n\nPlease click \"Create an Account\" to create an account!", "OK", "" );

        }
pawn Code:
case DIALOG_LOGIN:
        {
            if ( response )
            {
                if( !strlen ( inputtext ) )
                    return ShowPlayerDialog( playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Incorrect password!", "You have entered an incorrect password. Please try again!\n\nNot your account? Type \"/q\" and change your name in the SA:MP browser!", "Submit", "Back" );

                if ( udb_hash ( inputtext ) == accInfo [ playerid ] [ Passcode ] )
                {
                    INI_ParseFile( accPath ( playerid ), "LoadAccount_%s", .bExtra = true, .extra = playerid);

                    accLoggedIn [ playerid ] = 1; // They are now 'logged in'!

                    GivePlayerMoney ( playerid, accInfo [ playerid ] [ Cash ] );

                    HideStartupTextdraws( playerid );

                    SetSpawnInfo ( playerid, 255, accInfo [ playerid ] [ Model ], 0, 0, 10.0, 0.0, 4, 1, 24, 999, 31, 100 );
                    SpawnPlayer ( playerid );
                }
                else return ShowPlayerDialog( playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Incorrect password!", "You have entered an incorrect password. Please try again!\n\nNot your account? Type \"/q\" and change your name in the SA:MP browser!", "Submit", "Back" );
            }
            else if ( !response )
            {
                //They hit 'back'
                SelectTextDraw( playerid, 0xC90411FF );
            }
        }
However, when they hit back, their mouse disappears. (even though I redid SelectTextDraw), what's wrong?


Re: Re-initializing the mouse? - MP2 - 22.04.2012

Could be a SA:MP bug due to the fact that responding to a dialog hides the cursor, I shall test it.

P.S.
pawn Code:
//They don't have an account, but they're hitting 'Login'? Why?
why give them that option then? >.>


I've tested enabling TD selection, showing a dialog then responding to that dialog, and it works fine.


Re: Re-initializing the mouse? - 2KY - 22.04.2012

Quote:
Originally Posted by MP2
View Post
Could be a SA:MP bug due to the fact that responding to a dialog hides the cursor, I shall test it.

P.S.
pawn Code:
//They don't have an account, but they're hitting 'Login'? Why?
why give them that option then? >.>


I've tested enabling TD selection, showing a dialog then responding to that dialog, and it works fine.
I'd rather not have to reformat my 'menu' according to their account status.

@I've... : Why doesn't this work?


Re: Re-initializing the mouse? - MP2 - 22.04.2012

You never cancel the TD selection. Use CancelSelectTextDraw (or whatever the function is called).


Re: Re-initializing the mouse? - 2KY - 22.04.2012

Quote:
Originally Posted by MP2
View Post
You never cancel the TD selection. Use CancelSelectTextDraw (or whatever the function is called).
Thank you. Will test shortly!


Re: Re-initializing the mouse? - 2KY - 22.04.2012

pawn Code:
case DIALOG_LOGIN:
        {
            if ( response )
            {
                if( !strlen ( inputtext ) )
                    return ShowPlayerDialog( playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Incorrect password!", "You have entered an incorrect password. Please try again!\n\nNot your account? Type \"/q\" and change your name in the SA:MP browser!", "Submit", "Back" );

                if ( udb_hash ( inputtext ) == accInfo [ playerid ] [ Passcode ] )
                {
                    INI_ParseFile( accPath ( playerid ), "LoadAccount_%s", .bExtra = true, .extra = playerid);

                    accLoggedIn [ playerid ] = 1; // They are now 'logged in'!

                    GivePlayerMoney ( playerid, accInfo [ playerid ] [ Cash ] );

                    HideStartupTextdraws( playerid );

                    SetSpawnInfo ( playerid, 255, accInfo [ playerid ] [ Model ], 0, 0, 10.0, 0.0, 4, 1, 24, 999, 31, 100 );
                    SpawnPlayer ( playerid );
                }
                else return ShowPlayerDialog( playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Incorrect password!", "You have entered an incorrect password. Please try again!\n\nNot your account? Type \"/q\" and change your name in the SA:MP browser!", "Submit", "Back" );
            }
            else if ( !response )
            {
                //They hit 'back'
                CancelSelectTextDraw ( playerid );
                SelectTextDraw( playerid, 0xC90411FF );
            }
        }
Not working. :3


Re: Re-initializing the mouse? - MP2 - 22.04.2012

Use CancelSelectTextDraw ( playerid ); when you show the dialog.