|
 |
|
|
|
|
|
GTA Modification Forums
GTA:SA Opcodes Discussion thread
 |
|
 |
| |
fastman92  |
Posted: Saturday, Jan 14 2012, 18:25
|
фастман92 | ف

Group: Members
Joined: Jul 28, 2009


|
| QUOTE (ZAZ @ Saturday, Jan 14 2012, 18:55) | | QUOTE (Midnightz @ Saturday, Jan 14 2012, 16:24) | The behavior of opcode:
...is such that it checks if the player has exited the save menu (after saving or cancelling regardless).
Is there a method/opcode/hack to check if the game was actually saved or just canceled - to determine which?
Thanks, -Midnightz |
i assume it checks only for one time, like this meaning: "if user ever made a save" i don't know any way to check if a save was done again but the save script of origin main.scm make the player first frozen which can be checked |
It returns true always when user came back from Menu >> Save game, because it`s really set up by 03D8 opcode. 03D8 - set menu.isSaveDone, pause game, go to "save game" menu 03D9 - should happen when the game is resumed, user came back from "save game" menu. It doesn`t determine whether user made a save, but whether 03D8: show_save_screen was executed currently. The game automatically resets menu.isSaveDone to 0 after the first processing SCM scripts. | CODE | case 0x3D8: if ( getPlayerPed(-1) ) { v132 = getPlayerPed(-1)->PedFlags.Flags1; if ( !(BYTE1(v132) & 1) ) { menu.isSaveDone = 1; v133 = (CPhysical *)getPlayerPed(-1); CPhysical__setSpeed(v133, 0.0, 0.0, 0.0); v134 = getPlayerPed(-1); sub_45AFB0(v134, 0, 0, 0); } } return 0; case 0x3D9: if ( menu.bIsActive || (v151 = 1, menu.isSaveDone) ) v151 = 0; CScriptThread__setCondResult(a2, v151); return 0; |
|
|
|
|
|
 |
|
 |
 |
|
 |
| |
Midnightz  |
Posted: Saturday, Jan 14 2012, 18:48
|
Populus vult decipi.

Group: Members
Joined: Feb 5, 2007


|
Thanks for the replies and help guys. fastman92, if I'm reading that code right, it's just checking if the game reset 03D8 to 0, correct? I'm not trying to intercept the original script to determine if the save menu was opened. I need some way of checking if an actual save was made or if the player canceled from the save menu. Why: I've written a code similar to the original for a new savepoint. My code advances time 6 hours, the same as any other save works. The problem is that I have no way of determining if a save was made or saving was canceled and my code, without that type of check, advances time for both scenarios. EDIT: I guess a better way to put it is this... How can I determine what the player selected in the save menu? A Save Slot OR Cancel. This post has been edited by Midnightz on Saturday, Jan 14 2012, 18:52
|
|
|
|
|
 |
|
 |
 |
|
 |
| |
0 User(s) are reading this topic (0 Guests and 0 Anonymous Users)
0 Members:
Pages:
(44) « First ... 42 43 [44]
Track this topic
Receive email notification when a reply has been made to this topic and you are not active on the board.
Subscribe to this forum
Receive email notification when a new topic is posted in this forum and you are not active on the board.
Download / Print this Topic
Download this topic in different formats or view a printer friendly version.
| |
 |
|
 |
|
|
|
|