Jump to content

Recommended Posts

Geplaatst:

Beste SCM'ers,

Ik heb een script en als ik na de cutscene een auto spawn komen er 2 auto's + 2 markers waarvan er 1 niet weg gaat.

Als ik in de auto zit worden er 2 actors op een bepaalde plaats gespawnd wat er ook weer 1 hoort te zijn. Deze actors hebben beide een marker en bij 1 blijft hij weer staan. Ook heb ik het probleem dat als ik ze beide kill 2 x mission passed krijg en ook het dubbele bedrag :?

// 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.04	  

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' 
fade 0 0 
042C: set_total_missions_to 0 
030D: set_max_progress 0 
01F0: set_max_wanted_level_to 0 
set_wb_check_to 0 
00C0: set_current_time_hours_to 10 minutes_to 0 
$7 = 2435.302 
$6 = -1671.848 
$5 = 12.8007 
04E4: unknown_refresh_game_renderer_at $7 $6 
Camera.SetAtPos($7, $6, $5)
062A: change_float_stat 165 to 999.0 
062A: change_float_stat 23 to 999.0 
062A: change_float_stat 21 to 0.0 
062A: change_float_stat 163 to 999.0 
062A: change_float_stat 160 to 999.0 
062A: change_float_stat 229 to 999.0 
062A: change_float_stat 223 to 999.0 
062A: change_float_stat 230 to 999.0 
0629: change_integer_stat 181 to 4 
0629: change_integer_stat 68 to 0 
$PLAYER_CHAR = Player.Create(#NULL, $7, $6, $5)
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group 
$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)
Camera.SetBehindPlayer
Actor.Angle($PLAYER_ACTOR) = 262.0
set_weather 1 
Player.SetClothes($PLAYER_CHAR, "HOODJACKBEIGE", "HOODJACK", Torso)
Player.SetClothes($PLAYER_CHAR, "JEANSDENIM", "JEANS", Legs)
Player.SetClothes($PLAYER_CHAR, "SNEAKERBINCBLK", "SNEAKER", Shoes)
Player.SetClothes($PLAYER_CHAR, "MOHAWK", "MOHAWK", Head)
Player.Build($PLAYER_CHAR)
select_interior 0 
Player.CanMove($PLAYER_CHAR) = True
01B7: release_weather 
016C: restart_if_wasted_at $7 $6 $5 angle 0.0 town_number 0 
fade 1 1000 
wait 100 
$ICOON = Marker.CreateIconWithoutSphere(0, 2458.248, -1659.026, 13.3047)
Marker.SetColor($ICOON, 0)
03BC: $140 = create_sphere_at 2458.248 -1659.026 13.3047 radius 2.0 
03E6: remove_text_box 
create_thread @MODEL 
wait 2500 

:MODEL
wait 0 
if 
00ED:   actor $PLAYER_ACTOR 0 near_point 2458.248 -1659.026 radius 13.3047 2.0 on_foot 
else_jump @MODEL 
03BD: destroy_sphere $140 
fade 0 1000 
wait 1000 
02A3: enable_widescreen 1 
0A48: enable_menu_access_in_widescreen_mode 1 
Player.CanMove($PLAYER_CHAR) = False
Camera.SetPosition(2322.19, -1659.426, 13.8387, 0.0, 0.0, 0.0)
Camera.PointAt($7, $6, $5, 2)
fade 1 1000 
020C: create_explosion_with_radius 10 at 2490.36 -1664.757 13.3437 
wait 700 
020C: create_explosion_with_radius 10 at 2413.986 -1643.494 18.4562 
wait 700 
020C: create_explosion_with_radius 10 at 2437.52 -1671.929 13.5927 
wait 700 
020C: create_explosion_with_radius 10 at 2532.836 -1658.684 19.654 
wait 700 
020C: create_explosion_with_radius 10 at 2437.52 -1671.929 13.5927 
wait 700 
020C: create_explosion_with_radius 10 at 2420.667 -1656.951 26.4148 
wait 700 
020C: create_explosion_with_radius 10 at 2363.794 -1670.986 13.5469 
wait 700 
020C: create_explosion_with_radius 10 at 2490.36 -1664.757 13.3437 
wait 700 
020C: create_explosion_with_radius 10 at 2413.986 -1643.494 18.4562 
wait 700 
020C: create_explosion_with_radius 10 at 2365.813 -1658.88 13.3828 
wait 700 
020C: create_explosion_with_radius 10 at 2367.865 -1649.396 13.5469 
wait 700 
020C: create_explosion_with_radius 10 at 2357.738 -1644.264 13.52 
wait 700 
020C: create_explosion_with_radius 10 at 2343.611 -1659.13 13.3853 
wait 700 
020C: create_explosion_with_radius 10 at 2335.618 -1658.697 13.379 
wait 700 
020C: create_explosion_with_radius 10 at 2331.01 -1659.267 13.4573 
wait 700 
020C: create_explosion_with_radius 10 at 2325.072 -1658.935 13.7141 
00BB: show_text_lowpriority GXT 'THEINF' time 3000 flag 1  // Zero-X: What the fuck is happening!! Q-X Get them out!!!
wait 6000 
Camera.Restore
02A3: enable_widescreen 0 
Player.CanMove($PLAYER_CHAR) = True
Marker.Disable($ICOON)
00BB: show_text_lowpriority GXT 'OK' time 1000 flag 1  // Q-X: Allright sir!
wait 3000 

:MODEL_565
thread 'MODEL' 
Model.Load(#bloodra)
Model.Load(#M4)
Model.Load(#BFYST)

:MODEL_590
if or
  not Model.Available(#bloodra)
  not Model.Available(#M4)
  not Model.Available(#BFYST)
else_jump @MODEL_626 
wait 0 
jump @MODEL_590 

:MODEL_626
0674: set_car_model #bloodra numberplate "RUBENMOD" 
$bloodra = Car.Create (#bloodra, 2320.115, -1653.321, 14.1276)
Car.Angle($bloodra) = 90.0746
Car.Health($bloodra) = 10500
$M1 = Marker.CreateAboveCar($bloodra)
01B2: give_actor $PLAYER_ACTOR weapon 31 ammo 1000 // Load the weapon model before using this 
01B9: set_actor $PLAYER_ACTOR armed_weapon_to 31 

:MODEL_707
wait 0 
  Actor.InCar($PLAYER_ACTOR, $bloodra)
else_jump @MODEL_707 
Marker.Disable($M1)
$COORDINAAT_X = 2320.115 
$COORDINAAT_Y = -1653.321 
$COORDINAAT_Z = 14.1276 

:MODEL_761
wait 0 
if 
  Car.Wrecked($bloodra)
else_jump @MODEL_792 
wait 0 
jump @MODEL_565 

:MODEL_792
if 
01AE:   car $bloodra sphere 0 near_point $COORDINAAT_X $COORDINAAT_Y radius 5.0 5.0 stopped 
else_jump @MODEL_761 
wait 0 
10@ = Actor.Create(CivFemale, #BFYST, 2094.35, -1342.952, 23.9844)
Marker.Disable($COORDINAAT)
Actor.Angle(10@) = 88.44
$MARKER = Marker.CreateAboveActor(10@)
Actor.WeaponAccuracy(10@) = 80
Actor.Health(10@) = 300
01B2: give_actor 10@ weapon 30 ammo 1000 // Load the weapon model before using this 
01B9: set_actor 10@ armed_weapon_to 30 
05E2: AS_actor 10@ kill_actor $PLAYER_ACTOR 

:MODEL_917
wait 0 
  Actor.Dead(10@)
else_jump @MODEL_917 
Model.Destroy(#bloodra)
Model.Destroy(#M4)
Model.Destroy(#BFYST)
Marker.Disable($MARKER)
wait 2000 
0394: play_music 2 
01E3: show_text_1number_styled GXT 'M_PASS' number 10000 time 5000 style 4  // MISSION PASSED!~n~~w~$~1~
Player.Money($PLAYER_CHAR) += 10000
end_thread

Weet iemand de oplossing :?

Geplaatst:

Het probleem zit in dit stukje code:

create_thread @MODEL
wait 2500

:MODEL

Dit wordt door de main-thread uitgevoerd. Bij de eerste regel wordt een nieuwe thread gemaakt die begint te lopen vanaf het label :MODEL. Daarna wacht de main-thread 2.5 seconden en gaat zelf ook verder met het uitvoeren van de code onder :MODEL. Op dat moment heb je dus 2 threads (de main-thread en de nieuwe thread) die beide de code onder :MODEL uitvoeren, en dus zal alles wat daar staat ook twee keer worden uitgevoerd.

De oplossing is om na het starten van alle threads, de main-thread in een oneindige lus te laten rondlopen, zodat hij nooit wordt afgesloten. Bijvoordeeld:

create_thread @MODEL
:MAINLOOP
wait 2500
goto @MAINLOOP

:MODEL

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...