You are not logged in.
Pages: 1
I allready posted here but nobody noticed my report.
I installed CLEO4_setup.exe from main page
into unmodded SA installation, only hoodlum exe inthere
The save script from below let the game crash if try to load a save
At one time I had luck and player was spawning but the savedisk was flickering what means that the Onmission state is aktiv: $ONMISSION = 1
The script works fine with cleo 3
(The savepoint of the script below is in the Atrium of Los Santos/Commerce)
{$CLEO .cs}
:SAVE_1
03A4: name_thread 'SAVE'
0A95: enable_thread_saving
0570: 1@ = create_asset_radar_marker_with_icon 35 at 1722.2682 -1647.6366 42.4687
018B: show_on_radar 1@ 2
:SAVE_2
0001: wait 0 ms
0213: 2@ = create_pickup 1277 type 3 at 1720.7397 -1645.6292 20.2267
:SAVE_5
0001: wait 0 ms
00D6: if 0
0256: player $PLAYER_CHAR defined
004D: jump_if_false @SAVE_5
00D6: if 0
0214: pickup 2@ picked_up
004D: jump_if_false @SAVE_5
0050: gosub @SAVE_14
0002: jump @SAVE_2
:SAVE_14
00D6: if 0
0038: $ONMISSION == 0 // integer values
004D: jump_if_false @SAVE_17
0004: $ONMISSION = 1 // integer values
01B4: set_player $PLAYER_CHAR frozen_state 0 (frozen)
0001: wait 350 ms
03D8: show_SAVE_screen
:SAVE_15
00D6: if 0
83D9: NOT save_done
004D: jump_if_false @SAVE_16
0001: wait 0 ms
0002: jump @SAVE_15
:SAVE_16
00A1: put_actor $PLAYER_ACTOR at 1724.3228 -1646.5193 20.2272
0173: set_actor $PLAYER_ACTOR z_angle_to 176.8
01B4: set_player $PLAYER_CHAR frozen_state 1 (unfrozen)
0004: $ONMISSION = 1 // integer values
0001: wait 350 ms
0004: $ONMISSION = 0 // integer values
:SAVE_17
0051: return
Offline
Save game operation fails.
0318: set_latest_mission_passed 'INTRO_1' // Big Smoke
Required in order to save game. Add this somewhere at the top of your script it works fine.
Your testing in a stripped scm, yes?
Last edited by Deji (23-07-2010 00:03)
Offline
Save game operation fails.
0318: set_latest_mission_passed 'INTRO_1' // Big SmokeRequired in order to save game. Add this somewhere at the top of your script it works fine.
Your testing in a stripped scm, yes?
0318: have nothing to do with it
I said, i'm testing with unmodded sa installation, orig. main, orig files unless exe
started new game, now i made in this state a first savegame, "Big Smoke"
The problem is that 0A95: enable_thread_saving won't work in a savescript which is neccesary for a clasic savedisk script, the game becomes unstability
I could write a savediskscript which works for the half, without 0A95:
{$CLEO .cs}
thread 'SAVE'
//0A95: enable_thread_saving <-- needs to be enabled for a full working savedisk
:SAVE_1
wait 0
2@ = Pickup.Create(1277, 3, 1720.74, -1645.629, 20.2267)
:SAVE_4
wait 0
if
Player.Defined($PLAYER_CHAR)
jf @SAVE_4
if
Pickup.Picked_up(2@)
jf @SAVE_4
gosub @SAVE_9
jump @SAVE_1
:SAVE_9
if
$ONMISSION == 0
jf @SAVE_25
wait 350
03D8: show_save_screen
:SAVE_15
if
83D9: not save_done
jf @SAVE_19
wait 0
jump @SAVE_15
:SAVE_19
Actor.PutAt($PLAYER_ACTOR, 1724.323, -1646.519, 20.2272)
Actor.Angle($PLAYER_ACTOR) = 176.8
:SAVE_25
return0A95: enable_thread_saving works with other scripts in cleo4
I tested with
-simple parked car script
-PimpmyCar scripts which needs to save the threadpointer
but it won't work in a savescript
it crashes then in same cases, e.g. when running PimpmyCar, especially when leaving Tuning.cm
also by running other cleo scripts
Below the script with 0A95: in the stripped savesisk script
{$CLEO .cs}
thread 'SAVE'
0A95: enable_thread_saving
:SAVE_13
wait 0
2@ = Pickup.Create(1277, 3, 1720.74, -1645.629, 20.2267)
:SAVE_42
wait 0
if
Player.Defined($PLAYER_CHAR)
jf @SAVE_42
if
Pickup.Picked_up(2@)
jf @SAVE_42
gosub @SAVE_92
jump @SAVE_13
:SAVE_92
if
$ONMISSION == 0
jf @SAVE_156
03D8: show_save_screen
Actor.PutAt($PLAYER_ACTOR, 1724.323, -1646.519, 20.2272)
Actor.Angle($PLAYER_ACTOR) = 176.8
:SAVE_156
returnYour usage:
"Try downloading CLEO 4. It's got all the supremeness of CLEO 3 x2. CLEO 3 mods are still fully supported"
is not ok
Offline
0318 made your code work perfectly for me, so what else could be the problem?
Offline
The problem with cleo saves may be caused by UAC or something else (e.g. antivirus).
Make sure, that gta_sa.exe have privelegies to write into folder cleo\cleo_saves. In next version of CLEO I will move cleo saves into user documents directory.
Offline
Nice... Would an opcode along these lines be possible:
0000: 0@ = last_saved_slot
I've found no function for this and a few mods I'm working on (that aim to integrate as part of San Andreas) such as the Black Market Mod (which hijacks the DEALER script and adds drug dealer features) wouldn't really work unless I could save data according to which save game
if
03D9: save_done
then
0000: 1@ = last_saved_slot
0AD3: 1@v = format "cleomod%d.sav" 1@
0A9A: 0@ = openfile 1@v mode "wb+"
0ACA: show_text_box "Save File Created!"
endAlso useful for retrieving/modifying data from the last .b save file?
A bit more on-topic
Hehe... I've not got an A/V installed at the moment, which explains why the script worked fine. I hardly see the need when I know how to detect and remove manually.
Offline
The problem with cleo saves may be caused by UAC or something else (e.g. antivirus).
Make sure, that gta_sa.exe have privelegies to write into folder cleo\cleo_saves. In next version of CLEO I will move cleo saves into user documents directory.
I'm on winXP
the save function in general works, look to my script above without 0A95:
but writing a saveDISK-script requires 0A95:
and 0A95: works also in other scripts
but 0A95: in connection with 03D8: show_save_screen crashs
Furthermore is there one more aspect to fix:
If you make a savegame while gangwar is active and the zones are colored
must the game display the colored zones when I load the savegame
0318 made your code work perfectly for me, so what else could be the problem?
Not for me
script below with 0318: and 0A95: crashs
{$CLEO .cs}
thread 'SAVE'
0318: set_latest_mission_passed 'INTRO_1' // Big Smoke
0A95: enable_thread_saving// <-- needs to be enabled for a full working savedisk
:SAVE_1
wait 0
2@ = Pickup.Create(1277, 3, 1720.74, -1645.629, 20.2267)
:SAVE_4
wait 0
if
Player.Defined($PLAYER_CHAR)
jf @SAVE_4
if
Pickup.Picked_up(2@)
jf @SAVE_4
gosub @SAVE_9
jump @SAVE_1
:SAVE_9
if
$ONMISSION == 0
jf @SAVE_25
03D8: show_save_screen
:SAVE_15
if
83D9: not save_done
jf @SAVE_19
wait 0
jump @SAVE_15
:SAVE_19
Actor.PutAt($PLAYER_ACTOR, 1724.323, -1646.519, 20.2272)
Actor.Angle($PLAYER_ACTOR) = 176.8
:SAVE_25
return
Last edited by ZAZ (31-07-2010 08:30)
Offline
Pages: 1