Very good run but have you considered going 21 seconds faster
SET_CHAR_OBJ_LEAVE_CAR toni tonis_ride
WHILE IS_CHAR_IN_CAR toni tonis_ride
WAIT 0
IF IS_CHAR_DEAD toni
PRINT_NOW ( JM4_8 ) 5000 1
GOTO mission_joey4_failed
ENDIF
IF IS_CAR_DEAD tonis_ride
GOTO mission_joey4_failed
ENDIF
IF IS_CAR_UPSIDEDOWN tonis_ride
AND IS_CAR_STOPPED tonis_ride
PRINT_NOW ( WRECKED ) 5000 1
GOTO mission_joey4_failed
ENDIF
ENDWHILE
//SET_FIXED_CAMERA_POSITION 840.0 -672.4 17.0 0.0 0.0 0.0 //SET_FIXED_CAMERA_POSITION 836.632 -670.922 17.843 0.0 0.0 0.0 //POINT_CAMERA_AT_CHAR toni FIXED INTERPOLATION
SET_FIXED_CAMERA_POSITION 841.312 -669.063 16.536 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 842.117 -668.501 16.343 JUMP_CUT
//TONI WALKS TO DOORS
IF IS_CAR_DEAD tonis_ride
OR IS_CHAR_DEAD toni
PRINT_NOW ( JM4_8 ) 5000 1
GOTO mission_joey4_failed
ENDIF
TURN_CHAR_TO_FACE_COORD toni 843.9 -663.7 15.1
TIMERB = 0
SET_CHAR_OBJ_GOTO_COORD_ON_FOOT toni 843.9 -663.7
WHILE NOT IS_CHAR_OBJECTIVE_PASSED toni
WAIT 0
IF IS_CHAR_DEAD toni
PRINT_NOW ( JM4_8 ) 5000 1
GOTO mission_joey4_failed
ENDIF
IF IS_CAR_DEAD tonis_ride
GOTO mission_joey4_failed
ENDIF
IF IS_CAR_UPSIDEDOWN tonis_ride
AND IS_CAR_STOPPED tonis_ride
PRINT_NOW ( WRECKED ) 5000 1
GOTO mission_joey4_failed
ENDIF
IF TIMERB > 10000
IF NOT IS_CHAR_DEAD toni
SET_CHAR_COORDINATES toni 843.9 -663.7 13.9
ENDIF
ENDIF
ENDWHILE
//OPEN DOORS
WHILE NOT ROTATE_OBJECT laundrete_door1 90.0 10.0 FALSE
OR NOT ROTATE_OBJECT laundrete_door2 90.0 10.0 FALSE
WAIT 0
IF IS_CHAR_DEAD toni
PRINT_NOW ( JM4_8 ) 5000 1
GOTO mission_joey4_failed
ENDIF
IF IS_CAR_DEAD tonis_ride
GOTO mission_joey4_failed
ENDIF
IF IS_CAR_UPSIDEDOWN tonis_ride
AND IS_CAR_STOPPED tonis_ride
PRINT_NOW ( WRECKED ) 5000 1
GOTO mission_joey4_failed
ENDIF
ENDWHILE
//TONI WALKS IN
IF IS_CAR_DEAD tonis_ride
OR IS_CHAR_DEAD toni
PRINT_NOW ( JM4_8 ) 5000 1
GOTO mission_joey4_failed
ENDIF
TIMERB = 0
SET_CHAR_OBJ_GOTO_COORD_ON_FOOT toni 848.1 -663.4
WHILE NOT IS_CHAR_OBJECTIVE_PASSED toni
WAIT 0
IF IS_CHAR_DEAD toni
PRINT_NOW ( JM4_8 ) 5000 1
GOTO mission_joey4_failed
ENDIF
IF IS_CAR_DEAD tonis_ride
GOTO mission_joey4_failed
ENDIF
IF IS_CAR_UPSIDEDOWN tonis_ride
AND IS_CAR_STOPPED tonis_ride
PRINT_NOW ( WRECKED ) 5000 1
GOTO mission_joey4_failed
ENDIF
IF TIMERB > 10000
IF NOT IS_CHAR_DEAD toni
SET_CHAR_COORDINATES toni 848.1 -663.4 13.9
ENDIF
ENDIF
ENDWHILE
SET_CHAR_OBJ_WAIT_ON_FOOT toni
IF NOT IS_CHAR_DEAD triad1_jm4 AND NOT IS_CHAR_DEAD triad2_jm4 SET_CHARS_CHATTING triad1_jm4 triad2_jm4 0 ENDIF
WAIT 0
IF NOT IS_CHAR_DEAD triad1_jm4
AND NOT IS_CHAR_DEAD triad2_jm4
AND NOT IS_CHAR_DEAD toni
TURN_CHAR_TO_FACE_CHAR triad1_jm4 toni
TURN_CHAR_TO_FACE_CHAR triad2_jm4 toni
CHAR_LOOK_AT_CHAR_ALWAYS triad1_jm4 toni
CHAR_LOOK_AT_CHAR_ALWAYS triad2_jm4 toni
ENDIF
WAIT 5000
ADD_ONE_OFF_SOUND 845.0 -663.0 14.0 sound_test_1 //Need Sound event
GET_OBJECT_HEADING laundrete_door1 door1_position_jm4 GET_OBJECT_HEADING laundrete_door2 door2_position_jm4
IF IS_CHAR_DEAD toni
PRINT_NOW ( JM4_8 ) 5000 1
GOTO mission_joey4_failed
ENDIF
TURN_CHAR_TO_FACE_COORD toni 843.9 -663.7 15.1
IF NOT IS_CHAR_DEAD triad1_jm4
OR NOT IS_CHAR_DEAD triad2_jm4
GIVE_WEAPON_TO_CHAR triad1_jm4 WEAPONTYPE_PISTOL 100
GIVE_WEAPON_TO_CHAR triad2_jm4 WEAPONTYPE_PISTOL 100
ENDIF
SET_CHAR_RUNNING toni TRUE
IF NOT IS_CHAR_DEAD triad1_jm4
OR NOT IS_CHAR_DEAD triad2_jm4
SET_CHAR_STAY_IN_SAME_PLACE triad1_jm4 TRUE
SET_CHAR_STAY_IN_SAME_PLACE triad2_jm4 TRUE
SET_CHAR_OBJ_KILL_CHAR_ON_FOOT triad1_jm4 toni
SET_CHAR_OBJ_KILL_CHAR_ON_FOOT triad2_jm4 toni
ENDIF
//TONI RUNS OUT
CLEAR_AREA 843.4 -663.8 15.0 10.0 TRUE
TIMERB = 0
IF NOT IS_CHAR_DEAD triad1_jm4 AND NOT IS_CHAR_DEAD triad2_jm4 STOP_CHAR_LOOKING triad1_jm4 STOP_CHAR_LOOKING triad2_jm4 ENDIF
SET_CHAR_OBJ_RUN_TO_COORD toni 843.9 -663.7
WHILE NOT IS_CHAR_OBJECTIVE_PASSED toni
WAIT 0
IF IS_CHAR_DEAD toni
PRINT_NOW ( JM4_8 ) 5000 1
GOTO mission_joey4_failed
ENDIF
IF IS_CAR_DEAD tonis_ride
GOTO mission_joey4_failed
ENDIF
IF IS_CAR_UPSIDEDOWN tonis_ride
AND IS_CAR_STOPPED tonis_ride
PRINT_NOW ( WRECKED ) 5000 1
GOTO mission_joey4_failed
ENDIF
IF TIMERB > 10000
IF NOT IS_CHAR_DEAD toni
SET_CHAR_COORDINATES toni 843.9 -663.7 13.9
ENDIF
ENDIF
ENDWHILE
SET_CHAR_OBJ_ENTER_CAR_AS_PASSENGER toni tonis_ride SET_FIXED_CAMERA_POSITION 836.029 -677.868 15.840 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 836.713 -677.156 15.680 JUMP_CUT
WAIT 1500
IF NOT IS_CHAR_DEAD triad1_jm4
AND NOT IS_CHAR_DEAD triad2_jm4
SET_CHAR_STAY_IN_SAME_PLACE triad1_jm4 FALSE
SET_CHAR_STAY_IN_SAME_PLACE triad2_jm4 FALSE
SET_CHAR_OBJ_RUN_TO_COORD triad1_jm4 842.0 -663.8
SET_CHAR_OBJ_RUN_TO_COORD triad2_jm4 843.5 -663.8
ENDIF
//TRIADS RUN OUT
WHILE NOT triads_ojective_passed = 2
WAIT 0
IF IS_CHAR_DEAD toni
PRINT_NOW ( JM4_8 ) 5000 1
GOTO mission_joey4_failed
ENDIF
IF IS_CAR_DEAD tonis_ride
GOTO mission_joey4_failed
ENDIF
IF IS_CHAR_DEAD triad1_jm4
AND ojective_triad1_done_before = 0
triads_ojective_passed ++
ojective_triad1_done_before = 1
ENDIF
IF IS_CHAR_DEAD triad2_jm4
AND ojective_triad2_done_before = 0
triads_ojective_passed ++
ojective_triad2_done_before = 1
ENDIF
IF IS_CHAR_OBJECTIVE_PASSED triad1_jm4
AND ojective_triad1_done_before = 0
SET_CHAR_OBJ_DESTROY_CAR triad1_jm4 tonis_ride
triads_ojective_passed ++
ojective_triad1_done_before = 1
ENDIF
IF IS_CHAR_OBJECTIVE_PASSED triad2_jm4
AND ojective_triad2_done_before = 0
SET_CHAR_OBJ_DESTROY_CAR triad2_jm4 tonis_ride
triads_ojective_passed ++
ojective_triad2_done_before = 1
ENDIF
ENDWHILE
WHILE NOT IS_CHAR_IN_CAR toni tonis_ride
WAIT 0
IF IS_CHAR_DEAD toni
PRINT_NOW ( JM4_8 ) 5000 1
GOTO mission_joey4_failed
ENDIF
IF IS_CAR_DEAD tonis_ride
GOTO mission_joey4_failed
ENDIF
IF IS_CAR_UPSIDEDOWN tonis_ride
AND IS_CAR_STOPPED tonis_ride
PRINT_NOW ( WRECKED ) 5000 1
GOTO mission_joey4_failed
ENDIF
ENDWHILE
CREATE_CHAR PEDTYPE_GANG_TRIAD PED_GANG_TRIAD_A 843.1 -689.0 13.9 triad3_jm4
GIVE_WEAPON_TO_CHAR triad3_jm4 WEAPONTYPE_PISTOL 100
SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT triad3_jm4 Player
SET_CHAR_THREAT_SEARCH triad3_jm4 THREAT_PLAYER1
CREATE_CHAR PEDTYPE_GANG_TRIAD PED_GANG_TRIAD_B 844.3 -634.8 13.9 triad4_jm4
GIVE_WEAPON_TO_CHAR triad4_jm4 WEAPONTYPE_PISTOL 100
SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT triad4_jm4 Player
SET_CHAR_THREAT_SEARCH triad4_jm4 THREAT_PLAYER1
IF NOT IS_CHAR_DEAD toni
SET_CHAR_PROOFS toni FALSE FALSE FALSE FALSE FALSE
ENDIF
IF NOT IS_CHAR_DEAD triad1_jm4
AND NOT IS_CHAR_DEAD triad2_jm4
SET_CHAR_PROOFS triad1_jm4 FALSE FALSE FALSE FALSE FALSE
SET_CHAR_PROOFS triad2_jm4 FALSE FALSE FALSE FALSE FALSE
ENDIF
SET_PLAYER_CONTROL Player On SWITCH_WIDESCREEN OFF RESTORE_CAMERA
Quantum mechanics is a fundamental theory in physics that provides a description of the physical properties of nature at the scale of atoms and subatomic particles.
https://en.wikipedia.org/wiki/Phase-space_formulation
y = (1/2)(a-b)-(1/2)(a+b)(cos θ)
:VICGOV_400 {157639} 00DB: IF or {157643} 0018: $241 > 6 //Hot Wheels passed OR {157649} 0038: $239 == 0 //Vincenzo marker not open {157654} 004D: GOTO_IF_FALSE @VICGOV_466 {157661} 0028: $247 >= 7 //Guns of Leone passed {157667} 004D: GOTO_IF_FALSE @VICGOV_461 {157674} 0038: $254[4] == 2 //Vincenzo call to unlock Chainsaw answered {157680} 004D: GOTO_IF_FALSE @VICGOV_454 {157687} 0004: $239 = 1 //open Vincenzo marker
:VICGOV_454 {157693} 0002: GOTO @VICGOV_466
:VICGOV_461 {157700} 0004: $239 = 0 //close Vincenzo marker
There are two possible mistakes here. Either $247 >= 7 was supposed to be $247 >= 9 or GOTO_IF_FALSE @VICGOV_454 should be GOTO_IF_FALSE @VICGOV_461 (probably the first, since the second correctly assumes the marker is (should be) already closed). This code works correctly in all cases except doing Hot Wheels after Guns of Leone, as it incorrectly keeps the marker unlocked, which makes this skip possible.
Similarly, I can't tell because of the video not showing, but completing Contra-Banned and all Ma missions before Blow up Dolls doesn't lock Sindacco Sabotage despite Hot Wheels not being done because it never actually checks for it and it incorrectly checks for Contra-Banned being unlocked rather than completed to lock Sindacco Sabotage. Phonecalls are also involved in this, need to answer the unlocking phonecalls before completing the "locking" missions
This wasn't funny the first time and it's not funny the second time either. Stop posting garbage.
To explain what is happening with uptime: Since Windows 8, Window systems have a hybrid shutdown/hibernation system which is used as default when you shutdown. This system exists to speed up your computer's startup time significantly. It is possible to tell it to do a full shutdown, but it requires looking at some settings I forgot so the easiest solution is to just restart.
A method to perform this more reliably RTA was found:
- Start Vigilante
- Start Frighteners This will execute a GOTO TIMER0 command, so you just have to wait for certain times in Vigilante to jump to wherever you want in the script. This can be seen in action in current Any% runs to jump to the credits sequence:
Other examples of jumps include debug menu: And starting any mission (many will probably crash): Starting Bringing Down the House in this way plays out the cutscene and destroys Fort Staunton without passing the mission, making it possible to get the final package (All Hidden Packages runs when). This is apparently also possible with the debug menu.
Duping Trash Dash with Home Sweet Home after leaving the house and getting in the vehicle will execute a GOTO IF TRUE 8000 command, which will then execute the contents of the variables as code. I looked a bit and the next few variables are all useless (boolean flags or similar) until it hits come uncontrollable variables. The goal is to set $2000 to one of these values (millisecond perfect):
655362 (go to Timer0) 655436 (goto if true Timer0) 655440 (gosub Timer0)
720898 (go to Timer1) 720972 (goto if true Timer1) 720976 (gosub Timer1)
Timer0 resets during the mission, the last time being the moment you get in the vehicle after leaving the house. Despite this, using Timer0 is still faster provided you don't waste too much time in the first part of the mission, since Timer1 requires 65536 more milliseconds.
Then start Trash Dash during the aforementioned mission state with the following values (millisecond value window): 96609 to 96925 (go to Credits - discussion on whether jumping to the legitimate credits sequence without going through the last mission here) 165138 to 165157 (go to Sicilian Gambit)
This video is a demonstration of this:
Note: deathwarp in Staunton can be done by just attacking the shopkeeper Edit: can also just take the boat to Portland, which saves having to setup om0 again and can just go to the safehouse to continue. Timer1 is unusable like this but it's faster to use Timer0 anyway. Edit2: Clipping through the tunnels is even faster:
There's a second known way to do this by using Scrapyard Challenge. However, the wait command required for this one is during the countdown for the sidemission to start, so a method to manipulate this cutscene is required. The current best known solution is to use Avenging Angels to softlock Low-Rider Rumble (the race mission) and then using that to dupe Scrapyard Challenge. Partial demonstration during this video This method requires doing more missions to unlock the races (Vincenzo up to Smash and Grab, Ma until Grease Sucho).
It's possible that there are other, better/faster ways to do this.
Can we go back to google docs yet
Do not repost the same thread twice. Also learn english, google translate is horrible.
Can you not call it a cheating advantage? He's clearly playing on the optimal platform. It's not cheating. You have a point that it could be fixed (not by excluding an entire platform, that's stupid, just use real time), but don't call it cheating because it isn't.
I wonder who's going to be the guy who actually clicks a shady link from someone with 1 forum post.
Post is too long so have a doc
https://docs.google.com/document/d/1Vb6jh3hTZHkQyVs2PLBo6E-7QtYKdVuWa5-sp9mZiXo
Every change you guys try to make to get control over leaderboards of communities you know nothing about is appalling. Just stop.
I agree with your perspective, Frew, but at least when it comes to skins your reasoning doesn't apply. Making a skin with a name is something you do before the run starts. You know what else you do before the run starts? You can change your settings and controls. You can delete your replay file to get a line skip, which unlike skins needs to be done before every run. The overhead of adding a skin file once is no bigger than setting up whatever windowing/cursor locking tool required to make the mouse not escape the window.
overcooler: The problem with external frame limiters is that you can just use hotkeys to change your framerate to any arbitrary value without using the in-game frame limiter. In other words, using things outside the game to affect the game. Am I to understand that you mean using an external limiter to set a maximum framerate, but not allow toggling it arbitrarily during the run without the ingame frame limiter? I don't see any problem with that solution.
What? No. Big Smoke is the mission. Just because Rockstar added an extra text line to a cutscene doesn't mean it's a completely different mission. There is no such thing as a "Sweet & Kendl" mission. If you save the game after Big Smoke, the save file says Big Smoke.
There have been a few things discovered over the last few days. The nature of these discoveries is unlike other strats, which require only in-game inputs. I will detail these below. Note that this is not a democracy, nothing will change unless you present a compelling enough argument (read: convince me).
Exponential Skin Translation Currently Allowed: Yes
Discussion: Using different player skins by putting them in the skins folder is a well known feature of the game. While usually editing game files or adding files that modify the game is not allowed, skins and MP3 files have always been allowed. Exponential Skin Translation uses a previously unknown bug with plane coordinate conversion to change the Z coordinates of scripted planes and trains. Specifically, selecting a skin with an "e" in the correct place will make the string->float conversion for planes and trains to assume whatever comes after e is an exponent, causing the coordinate to be incorrectly interpreted. This causes anomalies that allow alternative strats for some missions (example: )
Possible Solutions:
- Allow (current)
- Disallow adding/changing any skin and MP3 files not present in a vanilla game (can still change in the menu) (MP3 files included here because banning one and not the other is arbitrary)
- Make arbitrary restrictions to file names (You have to try very hard to compel me to do this one)
record.dat Currently Allowed: No
Discussion: Unlike skins and MP3, this is an unadvertised feature of the game that requires an extra file to be created, called record.dat. This ban follows the line of not allowing game file modification that skins and MP3 are exempt from. An example of similar modification is including .asi files. Upon starting the game or loading a save, the game will start dumping data to this file. Afterwards, renaming this file to playback.dat and starting the game or loading a save will play back whatever was recorded. It will not look good because the playback is extremely broken in the PC version. An (un?)intended side effect of using this feature is that the game will not spawn any police vehicle other than the Police Car (including helicopters).
Possible Solutions:
- Allow (You have to try very hard to compel me to do this one)
- Disallow
Feel free to discuss these and whatever else below. I would prefer not having things like "disallow this specific set of file names but nothing else because I want to play with my funny skins xd"
Also when's frame limiter discussion (feel free, I'm not stopping you)