Jump to content

Custom save point crash


Recommended Posts

Geplaatst:

Goedenavond iedereen,

Ik ben bezig met een GTA modding project en wil daarbij een custom save point maken. Nu heb ik uit de tutorial van Dutchy en PatrickW de code gekopieerd en in mijn stripped main.scm gezet, onderaan. Ook heb ik de create thread code in het begin van de main.scm gezet. Dit is de save code:

:SAVE
thread "SAVE"
//location of the save pickup
$save_x = 12.038
$save_y = 167.4806
$save_z = 4.2

:SAVE_LOOP
0395: clear_area 1 at $save_x $save_y $save_z range 1.0 
$SAVE_PICKUP = Pickup.Create(#PICKUPSAVE, 3, $save_x, $save_y, $save_z)
repeat
   wait 100
until 0214:   pickup $SAVE_PICKUP picked_up 
$ONMISSION = 1 // integer values 
Player.CanMove($PLAYER_CHAR) = False
03D8: show_save_screen 
repeat
   wait 100
until 03D9:   save_done 
 Pickup.Destroy($SAVE_PICKUP)
repeat
   wait 100
until Player.Defined($PLAYER_CHAR) 
Camera.Restore_WithJumpCut
Camera.SetBehindPlayer
Player.CanMove($PLAYER_CHAR) = True
$ONMISSION = 0 
repeat
wait 0
until 80EC:   not actor $PLAYER_ACTOR 0 near_point 2488.6506 -1660.9884 radius 2.0 2.0 
jump @SAVE_LOOP
end_thread

Uiteraard heb ik 'create_thread @SAVE' bovenin bij de 'MAIN' thread neergezet. Maar naast deze save code heb ik ook deze geprobeerd:

:SAVE
thread 'SAVE' 
wait 100 
0570: $IND_SAVE_ICON = create_asset_radar_marker_with_icon 35 at 12.038 167.4806 4.2 
018B: set_marker $IND_SAVE_ICON radar_mode 2 
$IND_SAVE = Pickup.Create(#PICKUPSAVE, 3, 12.038, 167.4806, 4.2)

:SAVE_1
wait 100 
if 
  Player.Defined($PLAYER_CHAR)
else_jump @SAVE_1 
if 
  Pickup.Picked_up($IND_SAVE)
else_jump @SAVE_1 
fade 0 1000 
wait 1000 
Pickup.Destroy($IND_SAVE)
03D8: show_save_screen 
if 
83D9:   not save_done 
else_jump @SAVE_2
$IND_SAVE = Pickup.Create(#PICKUPSAVE, 3, 12.038, 167.4806, 4.2)
Actor.PutAt($PLAYER_ACTOR, 16.4213, 167.8228, 4.2)
Actor.Angle($PLAYER_ACTOR) = 353.1298
Camera.Restore_WithJumpCut
Camera.SetBehindPlayer
fade 1 1000 
wait 1000 
jump @SAVE_1

:SAVE_2
$IND_SAVE = Pickup.Create(#PICKUPSAVE, 3, 12.038, 167.4806, 4.2)
fade 1 1000 
wait 1000 
jump @SAVE_1
end_thread

Helaas werkt deze ook niet. Ik hoop dat iemand me hierbij kan helpen.

Mvg, RD

Geplaatst:

Wat gebeurt er? Crash? Op welk moment dan? Of gebeurt er gewoon niets? Als je jezelf dit soort vragen stelt weet je al ongeveer in welke richting je moet zoeken.

Snap je de code, trouwens? Dat je deze regel niet aangepast hebt, getuigd van niet:

until 80EC:   not actor $PLAYER_ACTOR 0 near_point 2488.6506 -1660.9884 radius 2.0 2.0 

Die coördinaten slaan in jouw geval nergens op.

Geplaatst:

Wat gebeurt er? Crash? Op welk moment dan? Of gebeurt er gewoon niets? Als je jezelf dit soort vragen stelt weet je al ongeveer in welke richting je moet zoeken.

Snap je de code, trouwens? Dat je deze regel niet aangepast hebt, getuigd van niet:

until 80EC:   not actor $PLAYER_ACTOR 0 near_point 2488.6506 -1660.9884 radius 2.0 2.0 

Die coördinaten slaan in jouw geval nergens op.

Crash, wanneer de code 'create_thread @SAVE' wordt uitgevoerd.

Ik heb die code even aangepast en hij werkt nog steeds niet.

  • 3 weken later...
Geplaatst:

En als je in plaats van create_thread, jump @SAVE gebruikt?

Snap jij überhaupt het idee van threads?

Overigens, zoals ik al gezegd heb, crashed deze code bij mij niet.

Geplaatst:

Dan kan het enige verschil zijn dat Revolution-Designer die code anders in zijn stripped scm zet dan jij. RD, kan je de volledige code (de hele stripped scm) eens laten zien?

  • 1 maand later...
Geplaatst:

Ik heb een soort zelfde probleem,

Ik heb heel de code uit de tutorial gehaald en gecompiled.

Alleen de coords zijn veranderd.

Bij mij crasht hij als ik een slot heb geselecteerd, dan sluit sa af.

Maar als ik het spel opnieuw opstart krijg ik wel te zien bij mijn savegames dat er amphibious assault staat, (van mijn gewone savegame) maar als ik die opstart begint hij een new game.

// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
DEFINE OBJECTS 1
DEFINE OBJECT SANNY BUILDER 3.01      

DEFINE MISSIONS 0

DEFINE EXTERNAL_SCRIPTS 0 // Use -1 in order not to compile AAA script

DEFINE UNKNOWN_EMPTY_SEGMENT 0

DEFINE UNKNOWN_THREADS_MEMORY 0

{$VERSION 3.1.0027}

//-------------MAIN---------------
thread 'MAIN' 
01F0: set_max_wanted_level_to 6 
set_wb_check_to 0 
00C0: set_current_time_hours_to 8 minutes_to 0 
04E4: unknown_refresh_game_renderer_at -688.1527 946.4352 13.0312 
Camera.SetAtPos(-688.1527, 946.4352, 13.0312)
$PLAYER_CHAR = Player.Create(#NULL, -688.1527, 946.4352, 13.0312)
$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group 
Camera.SetBehindPlayer
set_weather 0 
wait 0 
Player.SetClothes($PLAYER_CHAR, "PLAYER_FACE", "HEAD", Head)
Player.SetClothes($PLAYER_CHAR, "JEANSDENIM", "JEANS", Legs)
Player.SetClothes($PLAYER_CHAR, "SNEAKERBINCBLK", "SNEAKER", Shoes)
Player.SetClothes($PLAYER_CHAR, "VEST", "VEST", Torso)
Player.Build($PLAYER_CHAR)
Player.CanMove($PLAYER_CHAR) = True
fade 1 0 
select_interior 0 
0629: change_integer_stat 181 to 4 
016C: restart_if_wasted_at 2027.77 -1420.52 15.99 angle 137.0 town_number 0 
016D: restart_if_busted_at 1550.68 -1675.49 14.51 angle 90.0 town_number 0 
0180: set_on_mission_flag_to $ONMISSION // Note: your missions have to use the variable defined here 
$DEFAULT_WAIT_TIME = 250 
03E6: remove_text_box 
create_thread @SAVE

:MAIN_305
wait $DEFAULT_WAIT_TIME 
00BF: $TIME_HOURS = current_time_hours, $TIME_MINS = current_time_minutes 
jump @MAIN_305 




:SAVE
thread "SAVE"

// location of the save pickup
$save_x = -688.1187
$save_y = 933.3644
$save_z = 13.6328

:SAVE_LOOP
0395: clear_area 1 at $save_x $save_y $save_z range 1.0 
$SAVE_PICKUP = Pickup.Create(#PICKUPSAVE, 3, $save_x, $save_y, $save_z)

repeat
   wait 100
until 0214:   pickup $SAVE_PICKUP picked_up 

$ONMISSION = 1 // integer values 
Player.CanMove($PLAYER_CHAR) = False
03D8: show_save_screen 

repeat
   wait 100
until 03D9:   save_done 

Pickup.Destroy($SAVE_PICKUP)

repeat
   wait 100
until Player.Defined($PLAYER_CHAR) 

Camera.Restore_WithJumpCut
Camera.SetBehindPlayer
Player.CanMove($PLAYER_CHAR) = True

$ONMISSION = 0 

repeat
wait 0
until 80EC:   not actor $PLAYER_ACTOR 0 near_point -688.1187 933.3644 radius 2.0 2.0 

jump @SAVE_LOOP

end_thread

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...