adhome Posted December 23, 2008 Share Posted December 23, 2008 (edited) 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 December 24, 2008 by adhome Link to comment https://gtaforums.com/topic/386995-lua-script-change-speed-of-game/ Share on other sites More sharing options...
rappzula Posted December 23, 2008 Share Posted December 23, 2008 worked perfectly, thanks! makes for good bullet time once in a while. killing in slow motion is satisfying Link to comment https://gtaforums.com/topic/386995-lua-script-change-speed-of-game/#findComment-1058802476 Share on other sites More sharing options...
adhome Posted December 24, 2008 Author Share Posted December 24, 2008 (edited) Try a street race in Hi Speed (; Now you can not say it's boring 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 December 24, 2008 by adhome Link to comment https://gtaforums.com/topic/386995-lua-script-change-speed-of-game/#findComment-1058803746 Share on other sites More sharing options...
Wesser Posted December 24, 2008 Share Posted December 24, 2008 Great script, but make a look to the following mistakes: You have to post the finished scripts in Mod Showroom -> Mission Mods You don't need to use the savedone = 0 global variable Link to comment https://gtaforums.com/topic/386995-lua-script-change-speed-of-game/#findComment-1058803817 Share on other sites More sharing options...
adhome Posted December 27, 2008 Author Share Posted December 27, 2008 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 https://gtaforums.com/topic/386995-lua-script-change-speed-of-game/#findComment-1058816191 Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now