Jump to content

LUA Script: Change Speed of Game


adhome

Recommended Posts

Hallo,

 

this is my first Mod (;

I tried the interesting Command "SET_TIME_SCALE".

 

Pressing Tab will change Game speed from Normal to Hi-Speed and then slow motion and back to normal.

 

To use this script, you need ALICE from this thread:

http://www.gtaforums.com/index.php?showtopic=386816

 

 

---------- GTA IV Alice "Speed" script ---------- ---------- © Alexander Blade 2008 & Adhome---------- -- Change Speed key is TAB. Change betean Normal <> HI Speed <> Low Speed--global variablesPLAYER_ID, PLAYER_INDEX, PLAYER_CHAR, SAVEDONE = 0SPEEDF = 1.0function InitScript() -- blah-blah-blah Wait(10000)endfunction WaitForPlayerPoolCreation() while (IsPlayerPoolCreated() == 0) do   Wait(2000) endendfunction WaitForValidPlayer() PLAYER_CHAR = 0 repeat    CallNative("GET_PLAYER_ID")PLAYER_ID = GetIntResult()if (PLAYER_ID >= 0) then  PushInt(PLAYER_ID)  CallNative("CONVERT_INT_TO_PLAYERINDEX")  PLAYER_INDEX = GetIntResult()  PushInt(PLAYER_INDEX)     PushVarPtr()	  CallNative("GET_PLAYER_CHAR")  PLAYER_CHAR = GetIntParam(1)  if (PLAYER_CHAR <= 0) then    Wait(1000)  end  end  until (PLAYER_CHAR > 0)  end	function SetTimeScale()if (SPEEDF == 1.0) then SPEEDF = 3.0elseif (SPEEDF == 3.0) then SPEEDF = 0.4elseif (SPEEDF == 0.4) then SPEEDF = 1.0else SPEEDF = 1.0endPushFloat(SPEEDF)CallNative("SET_TIME_SCALE")endfunction main() InitScript() while true do   if (IsKeyPressed(9) == 1) then  WaitForPlayerPoolCreation()     WaitForValidPlayer()      if (IsKeyPressed(9) == 1) then    SetTimeScale()    Wait(200)  end   end   Wait(300) end	end-- startmain();

 

 

All in one Pack:

adhome.kilu.de/Speed%20Change%20Mod.zip

Edited by adhome
Link to comment
Share on other sites

Try a street race in Hi Speed (;

 

Now you can not say it's boring devil.gif

 

My first goal was to increase time/night cycle. Wants to see lots of sunraises.

 

(Hope some time we can spawn cars. With a loop i will spawn all possible cars in a raw).

Getting name of street function also looks interesting. Never mind, that each road could have differnt name.

 

Edited by adhome
Link to comment
Share on other sites

Sorry, perhaps a mod can move.

 

Here is a litle Modification. You press Tab und only 5sek. you are in Slow Motion. So, if you get in trouble or a crash, you can fast press tab und see the crash in slow motion.

The duration 5sek can easy be edited.

 

 

-- Change Speed key is TAB. Change betean Normal <> HI Speed <> Low Speed--global variablesPLAYER_ID, PLAYER_INDEX, PLAYER_CHAR, SAVEDONE = 0SPEEDF = 1.0function InitScript() -- blah-blah-blah Wait(10000)endfunction WaitForPlayerPoolCreation() while (IsPlayerPoolCreated() == 0) do   Wait(2000) endendfunction WaitForValidPlayer() PLAYER_CHAR = 0 repeat    CallNative("GET_PLAYER_ID")PLAYER_ID = GetIntResult()if (PLAYER_ID >= 0) then  PushInt(PLAYER_ID)  CallNative("CONVERT_INT_TO_PLAYERINDEX")  PLAYER_INDEX = GetIntResult()  PushInt(PLAYER_INDEX)     PushVarPtr()	  CallNative("GET_PLAYER_CHAR")  PLAYER_CHAR = GetIntParam(1)  if (PLAYER_CHAR <= 0) then    Wait(1000)  end  end  until (PLAYER_CHAR > 0)  end	function SetTimeScale(NewVal)PushFloat(NewVal)CallNative("SET_TIME_SCALE")endfunction main() InitScript() while true do   if (IsKeyPressed(9) == 1) then  WaitForPlayerPoolCreation()     WaitForValidPlayer()      if (IsKeyPressed(9) == 1) then  SetTimeScale(0.3)  Wait(5000)                 -- 5 Sek Slow Motion  SetTimeScale(1.0)  Wait(200)      end   end   Wait(300) end	end-- startmain();

 

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