Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Drug Wars
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    6. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Movies & TV
      5. Music
      6. Sports
      7. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Announcements

    2. Support

    3. Suggestions

Calling "Global" Scaleform functions


nikita488
 Share

Recommended Posts

So i want to draw something like in GTA Online Character Creator Features menu:

6TAsSXN.png?1

So i think i find it in "pause_menu_pages_char_mom_dad.gfx", it's collect all stuff from Character Creator menu. But i think it can't be called by _PUSH_SCALEFORM_MOVIE_FUNCTION, only by _0xAB58C27C2E6123C6. But when i try to push functions with _0xAB58C27C2E6123C6 it don't work and always return false.

This code based on code from maintransition.c4: Anyone knows how to solve?

    public static void sub_7e1d9(int a_0, bool a_1)    {        if (Function.Call<bool>(Hash._0xAB58C27C2E6123C6, "SET_COLUMN_CAN_JUMP"))        {            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, a_0);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_BOOL, !a_1);            Function.Call(Hash._POP_SCALEFORM_MOVIE_FUNCTION_VOID);        }        else        {            UI.ShowSubtitle("SET_COLUMN_CAN_JUMP don't work");        }    }    public static void sub_7e1fe(int a_0, bool a_1, bool a_2)    {        if (Function.Call<bool>(Hash._0xAB58C27C2E6123C6, "SET_COLUMN_FOCUS"))        {            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, a_0);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_BOOL, a_1);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_BOOL, a_1);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_BOOL, a_2);            Function.Call(Hash._POP_SCALEFORM_MOVIE_FUNCTION_VOID);        }        else        {            UI.ShowSubtitle("SET_COLUMN_FOCUS don't work");        }    }    public static void sub_7e22e(int a_0)    {        if (Function.Call<bool>(Hash._0xAB58C27C2E6123C6, "DISPLAY_DATA_SLOT"))        {            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, a_0);            Function.Call(Hash._POP_SCALEFORM_MOVIE_FUNCTION_VOID);        }        else        {            UI.ShowSubtitle("DISPLAY_DATA_SLOT don't work");        }    }    public static void sub_7fcbb(int a_0, int a_1, int a_2, int a_3, int a_4, bool a_5)    {        Function.Call(Hash._0xAB58C27C2E6123C6, "INIT_COLUMN_SCROLL");        Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, a_0);        Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_BOOL, false);        Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, a_1);        Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, a_2);        Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, a_3);        Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_BOOL, true);        Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, a_4);        Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_BOOL, a_5);        Function.Call(Hash._POP_SCALEFORM_MOVIE_FUNCTION_VOID);    }    public static void sub_84f7b(int a_0, int a_1, bool a_2)    {        if (Function.Call<bool>(Hash._0xAB58C27C2E6123C6, "SET_COLUMN_HIGHLIGHT"))        {            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, a_0);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, a_1);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_BOOL, false);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_BOOL, a_2);            Function.Call(Hash._POP_SCALEFORM_MOVIE_FUNCTION_VOID);        }        else        {            UI.ShowSubtitle("SET_COLUMN_HIGHLIGHT don't work");        }    }    public static void sub_7de1d(int a_0, bool a_1)    {        if (Function.Call<bool>(Hash._0xAB58C27C2E6123C6, "SHOW_COLUMN"))        {            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, a_0);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_BOOL, a_1);            Function.Call(Hash._POP_SCALEFORM_MOVIE_FUNCTION_VOID);        }        else        {            UI.ShowSubtitle("SHOW_COLUMN don't work");        }    }    public static void faceFeatureConfigSetup()    {        sub_7e22e(3);        sub_7e1fe(1, true, true);        sub_7fcbb(1, 1, 1, 1, 0, false);        sub_84f7b(1, 0, true);        sub_7e1d9(1, true);        sub_7de1d(3, true);    }    public static void addfaceFeatureConfig()    {        if (Function.Call<bool>(Hash._0xAB58C27C2E6123C6, "SET_DATA_SLOT"))        {            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, 3);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, 0);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, 79 + 1000);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, 0);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, 0);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, 0);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, 1);            Function.Call(Hash._BEGIN_TEXT_COMPONENT, "FACE_F_UP_B");            Function.Call(Hash._END_TEXT_COMPONENT);            Function.Call(Hash._BEGIN_TEXT_COMPONENT, "FACE_F_IN_B");            Function.Call(Hash._END_TEXT_COMPONENT);            Function.Call(Hash._BEGIN_TEXT_COMPONENT, "FACE_F_OUT_B");            Function.Call(Hash._END_TEXT_COMPONENT);            Function.Call(Hash._BEGIN_TEXT_COMPONENT, "FACE_F_DOWN_B");            Function.Call(Hash._END_TEXT_COMPONENT);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_FLOAT, 1.0F);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_FLOAT, 1.0F);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT, 0);            Function.Call(Hash._PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_BOOL, true);            Function.Call(Hash._POP_SCALEFORM_MOVIE_FUNCTION_VOID);            UI.ShowSubtitle("SET_DATA_SLOT works!");        }        else        {            UI.ShowSubtitle("SET_DATA_SLOT don't work");        }    }
Edited by nikita488
Link to comment
Share on other sites

  • 3 weeks later...

Have you figured out the issue yet? I haven't been around lately and just came across your thread. I think you need to make sure the Scaleform movie itself has loaded before you call those functions.

Link to comment
Share on other sites

It start working when i write this:

            int GetHash = Function.Call<int>(Hash.GET_HASH_KEY, "fe_menu_version_mp_character_creation");            Function.Call(Hash.SET_FRONTEND_ACTIVE, 0);            Function.Call(Hash.ACTIVATE_FRONTEND_MENU, GetHash, 0, -1);
  • Like 1
Link to comment
Share on other sites

 

It start working when i write this:

            int GetHash = Function.Call<int>(Hash.GET_HASH_KEY, "fe_menu_version_mp_character_creation");            Function.Call(Hash.SET_FRONTEND_ACTIVE, 0);            Function.Call(Hash.ACTIVATE_FRONTEND_MENU, GetHash, 0, -1);

 

That GFX must be tiny in size. From what I've read from Alex Blade is you're supposed to wait for it to load first in a while loop.

int GetHash = Function.Call<int>(Hash.GET_HASH_KEY, "fe_menu_version_mp_character_creation");Function.Call(Hash.REQUEST_SCALEFORM_MOVIE("fe_menu_version_mp_character_creation")while (Function.Call(Hash.HAS_SCALEFORM_MOVIE_LOADED(GetHash)) WAIT(0);Function.Call(Hash.SET_FRONTEND_ACTIVE, 0);Function.Call(Hash.ACTIVATE_FRONTEND_MENU, GetHash, 0, -1);
Edited by CliffHanger
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

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.