Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. Red Dead Redemption 2

      1. PC
      2. Gameplay
      3. Missions
      4. Help & Support
    2. Red Dead Online

      1. Gameplay
      2. Find Lobbies & Outlaws
      3. Help & Support
      4. Frontier Pursuits
    1. Crews & Posses

      1. Recruitment
    2. Events

    1. GTA Online

      1. DLC
      2. Find Lobbies & Players
      3. Guides & Strategies
      4. Vehicles
      5. Content Creator
      6. Help & Support
      7. The Diamond Casino Heist
    2. Grand Theft Auto Series

    3. GTA 6

    4. GTA V

      1. PC
      2. Guides & Strategies
      3. Help & Support
    5. GTA IV

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA IV Mods
    6. GTA Chinatown Wars

    7. GTA Vice City Stories

    8. GTA Liberty City Stories

    9. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
      3. GTA SA Mods
    10. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
      3. GTA VC Mods
    11. GTA III

      1. Guides & Strategies
      2. Help & Support
      3. GTA III Mods
    12. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    13. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

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

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption

    2. Rockstar Games

    1. Off-Topic

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

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

    2. Forum Support

    3. Site Suggestions

Sign in to follow this  
jedijosh920

[Question] Any Alternatives to the "WAIT()" Command?

Recommended Posts

jedijosh920

Whenever I use WAIT(), "WAIT(500);" for example, it pauses/freezes my mod/menu for 500 milliseconds. I was wondering if there was a way to use the game timer or something so it doesn't freeze up the mod, but I don't know how so I came here to ask. Thanks.

Edited by jedijosh920

Share this post


Link to post
Share on other sites
Jitnaught

You could do something like...

int timeLastRan = 0;void main(){  while (true)  {    int time = GetTickCount();    if (timeLastRan + 500 >= time)    {       //do your code       timeLastRan = time;    }    WAIT(0);  }}

That's C++ btw. I don't know what programming language you're using but you should be able to convert that to .NET or LUA if needed.

Share this post


Link to post
Share on other sites
jedijosh920

You could do something like...

int timeLastRan = 0;void main(){  while (true)  {    int time = GetTickCount();    if (timeLastRan + 500 >= time)    {       //do your code       timeLastRan = time;    }    WAIT(0);  }}

That's C++ btw. I don't know what programming language you're using but you should be able to convert that to .NET or LUA if needed.

 

Hm the menu doesn't seem to flash anymore but the values seem to go fast with the menu base I'm using.

 

http://pastebin.com/5SSjrUGW

 

Am I doing it correctly? There is a function called AddNumber and without using WAIT it goes by too fast as well.

Share this post


Link to post
Share on other sites
CamxxCore

(C#) Using game timer:

        bool timerStarted = false;        int timerInterval = 1000; // 1 second        int timerWaiter = 0;        void StartTimer()        {            timerWaiter = Game.GameTime + timerInterval;            timerStarted = true;        }         //(Call on tick)         if (timerStarted && Game.GameTime > timerWaiter)         {         //do something         blah();         //reset timer         timerWaiter = Game.GameTime + timerInterval;          }
Edited by CamxxCore

Share this post


Link to post
Share on other sites
Jitnaught

Your code is misaligned.

PlaySoundFrontend_default("NAV_LEFT_RIGHT");return true;timeLastRan = time;

return true; should go after any code you run, including timeLastRan = time;
When you call return true;, it ends the function, bypassing any code after it. So that means timeLastRan = time; never gets called.

Off-topic:
If your age on your profile is real, then you're 4 days older than me haha.

Edited by LetsPlayOrDy

Share this post


Link to post
Share on other sites
jedijosh920

Your code is misaligned.

PlaySoundFrontend_default("NAV_LEFT_RIGHT");return true;timeLastRan = time;

return true; should go after any code you run, including timeLastRan = time;

When you call return true;, it ends the function, bypassing any code after it. So that means timeLastRan = time; never gets called.

 

Off-topic:

If your age on your profile is real, then you're 4 days older than me haha.

 

Hm, the values still go by pretty fast even after changing the 500 to 2000, guess I'll have to use wait for now haha. And yea my birthday is real :3

Edited by jedijosh920

Share this post


Link to post
Share on other sites
Jitnaught

Well the only other thing I noticed is that I messed up the code I posted.

int time = GetTickCount();

should be

DWORD time = GetTickCount();

Sorry 'bout that.

I don't know if that change will help, but you might as well give it a shot.

Share this post


Link to post
Share on other sites
0xsatoshi

Do not use gettickcount. Use an in-engine timing function. You want to be synced with the game and not the clock cyxles of your cpu...

Share this post


Link to post
Share on other sites
Jitnaught

Do not use gettickcount. Use an in-engine timing function. You want to be synced with the game and not the clock cyxles of your cpu...

That isn't what is causing the problem though.

Share this post


Link to post
Share on other sites
jedijosh920

 

Do not use gettickcount. Use an in-engine timing function. You want to be synced with the game and not the clock cyxles of your cpu...

That isn't what is causing the problem though.

 

 

Did not seem to work with the things you sent me. Changed to DWORD, put the return true in the right positions, etc.

Share this post


Link to post
Share on other sites
leftas

You need to do opposite of what you're doing. You need to put that code after button presses (not in them) and put code in it, which requires to be executed every tick(for example drawing).

 

Btw. DWORD is just unsigned integer so that's mean it would help after 2147483647 ticks.

 

All the best,

Paul.

Edited by leftas

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

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