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

[.NET] How to fix infinite Load Loop when changing skin?


frodzet
 Share

Recommended Posts

            new GTA.MenuButton("Set player skin", () => {                Model test = new Model(PedHash.Chimp);                test.Request(500);                if (test.IsInCdImage && test.IsValid)                {                    while (!test.IsLoaded) Wait(100);                    Function.Call(Hash.SET_PLAYER_MODEL, player, test.Hash);                    Function.Call(Hash.SET_PED_DEFAULT_COMPONENT_VARIATION, player);                }                test.MarkAsNoLongerNeeded();            })

Works just as intended, however as soon as the character die the game ends up in some kind of infinite loop. How can i work around this issue? :-)

Edited by frodzet
Link to comment
Share on other sites

Couldn't you just check in your if statement about the player being alive?

if (test.IsInCdImage && test.IsValid && Game.Player.Character.IsAlive){     while (!test.IsLoaded) Wait(100);     Function.Call(Hash.SET_PLAYER_MODEL, player, test.Hash);     Function.Call(Hash.SET_PED_DEFAULT_COMPONENT_VARIATION, player);}
Link to comment
Share on other sites

quickfingers

The way its done in native trainer and I copied that way was to have it revert back to Trevorr Michael or Franklin on death.

So in C# land, something like this (this is a direct translation from the cpp in native trainer) :

if (Function.Call<bool>(Hash.IS_ENTITY_DEAD, player)) ||   Function.Call<bool>(Hash.IS_PLAYER_BEING_ARRESTED, player, true)) {if (Game.Player.Character.Model != PedHash.Michael &&   Game.Player.Character.Model != PedHash.Trevor &&   Game.Player.Character.Model != PedHash.Franklin) {UI.Notify("Turning to normal");Wait(1000);ChangePlayer(PedHash.Franklin, false);}}
Link to comment
Share on other sites

 

Couldn't you just check in your if statement about the player being alive?

if (test.IsInCdImage && test.IsValid && Game.Player.Character.IsAlive){     while (!test.IsLoaded) Wait(100);     Function.Call(Hash.SET_PLAYER_MODEL, player, test.Hash);     Function.Call(Hash.SET_PED_DEFAULT_COMPONENT_VARIATION, player);}

That won't work, unfortunately :-) That will only prevent you from changing while dead, you need to make sure that you will change back to normal skin when you die, are being arrested and what not :-)

 

The way its done in native trainer and I copied that way was to have it revert back to Trevorr Michael or Franklin on death.

So in C# land, something like this (this is a direct translation from the cpp in native trainer) :

if (Function.Call<bool>(Hash.IS_ENTITY_DEAD, player)) ||   Function.Call<bool>(Hash.IS_PLAYER_BEING_ARRESTED, player, true)) {if (Game.Player.Character.Model != PedHash.Michael &&   Game.Player.Character.Model != PedHash.Trevor &&   Game.Player.Character.Model != PedHash.Franklin) {UI.Notify("Turning to normal");Wait(1000);ChangePlayer(PedHash.Franklin, false);}}

Thank you :-)

Edited by frodzet
Link to comment
Share on other sites

By the way, small suggestion:

Model test = new Model(PedHash.Chimp);if (test.IsInCdImage && test.IsValid && test.Request(500)){		Function.Call(Hash.SET_PLAYER_MODEL, player, test.Hash);	Function.Call(Hash.SET_PED_DEFAULT_COMPONENT_VARIATION, player);} 

Request() method returns true if model was loaded in time specified by you.

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