PC menuing time save for ILs
가이드
/
PC menuing time save for ILs
업데이트됨 17 days ago 작성자 Cooknathan

Below is a cheat table that includes a lua script. Sorry, I dont know how to attach the .CT file here but its on the discord if you cant make it work (search 'updated version of the script'). This saves about ~20s per restart in menuing. Thanks so much to the very talented and generous Thanaclara for making this.

Tilde restarts the level but holding Left-Shift while pressing Tilde will quick-abort the mission and kick you back to the level select screen without a life penalty.

The script queries the keystate via the game's memory space so you don't even need to navigate over to cheat engine. Just open the cheat table, attach cheat engine to the game process, click the check box for the "Restart Level Script", and then click back into Rogue Squadron and press the tilde key every time you want to quickly restart the level.

Just a heads up, enabling the script will cause cheat engine to look like it has frozen. This behavior is expected since it is executing a continuous loop in order to check the state of the tilde key. If you want to unfreeze cheat engine click INTO the rogue sqaudron window and press the period key (the one next to the comma, not the one on the num pad). This will break the loop and unfreeze cheat engine and effectively disable the script.

I have pasted the code from notepad below:

<?xml version="1.0" encoding="utf-8"?> <CheatTable CheatEngineTableVersion="29"> <CheatEntries>
<CheatEntry>

  <ID>0</ID>

  <Description>"Restart Level Script"</Description>

  <LastState/>

  <VariableType>Auto Assembler Script</VariableType>

  <AssemblerScript>{$lua}

[ENABLE]

-- Address for querying tilde keystate

-- Other keys surround this byte in memory so browse memory and press a key to highlight its address

-- in the hex view and use that address here if you want to use a different key

local KeyAddress = 0x7049AA --tilde key

local BreakKeyAddress = 0x7049B5 --period key, breaks out of loop and unfreezes cheat engine

local ModifierKeyAddress = 0x7049AB --shift key, quick aborts mission instead of restarts

-- For tracking the previous state of the key

local previousKeyState = readBytes(KeyAddress, 1)

-- Memory locations for triggering a level restart

local GameMode = 0x00704d28;

local MissionResult = 0x00704944;

local NumLives = 0x00704940;

local FailPenalty = 0x0046d13e;

local AbortPenalty = 0x0046d178;

-- Remove life penalty on mission fail

writeBytes(FailPenalty,0)

-- Remove life penalty on mission abort

writeBytes(AbortPenalty,0)

-- A loop to continuously monitor the key state

while true do

-- Read the current value of the key state

local KeyState = readBytes(KeyAddress, 1)

local BreakState = readBytes(BreakKeyAddress, 1)

local ModifierState = readBytes(ModifierKeyAddress,1)

-- Check if the state changed from 0 to 1

if KeyState == 1 and previousKeyState == 0 then

if ModifierState == 0 then

 writeBytes(NumLives,3)

 writeBytes(MissionResult,2)

 writeInteger(GameMode,6)

else

 writeBytes(NumLives,3)

 writeBytes(MissionResult,0)

 writeInteger(GameMode,6)

end

-- showMessage("KeyState queried successfully.")

end

if BreakState == 1 then

writeBytes(FailPenalty,1)

writeBytes(AbortPenalty,1)

print("Exiting out of loop.")

print("CLICK 'NO' if you recieve a code injection prompt.")

break

end

-- Update the previous key state

previousKeyState = KeyState

-- Sleep for a short interval to prevent excessive checks

sleep(16)

end

[DISABLE]

</AssemblerScript>
</CheatEntry>
</CheatEntries> <UserdefinedSymbols/> </CheatTable>
게임 통계
팔로워
96
런들
2,081
플레이어
65
최근 쓰레드
게시 일자 8 years ago
0 개의 답글
게시 일자 1 year ago
0 개의 답글
게시 일자 1 year ago
5 개의 답글
게시 일자 1 year ago
5 개의 답글
게시 일자 1 year ago
3 개의 답글
게시 일자 1 year ago
1 개의 답글