NTAuthority Geplaatst: 2 december 2008 Rapport Geplaatst: 2 december 2008 Hallo iedereen, Ik probeer een missie(tje) te maken, waarin je in een auto moet stappen, en dan weer ergens anders heen moet rijden. Het probleem is, dat de destination-marker niet verschijnt. Mijn code: { use macro (Ctrl+J) "headsa" to insert a file header } DEFINE MISSIONS 2 DEFINE MISSION 0 AT @INITIAL DEFINE MISSION 1 AT @SF_MISSION_1 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.0.0000} var $PLAYER_CHAR: Player $MARKER_CJ: Marker $marker_car: Marker $marker_dest: Marker end // var 03A4: name_thread 'MAIN' 01F0: set_max_wanted_level_to 6 0111: toggle_wasted_busted_check 0 00C0: set_current_time_hours_to 8 minutes_to 0 04E4: unknown_refresh_game_renderer_at -1767.60 862.37 03CB: set_rendering_origin_at -1767.60 862.37 24.88 0053: $PLAYER_CHAR = create_player #NULL at -1767.60 862.37 24.88 01F5: $PLAYER_ACTOR = create_player_actor $PLAYER_CHAR 07AF: $PLAYER_GROUP = player $PLAYER_CHAR group 0373: set_camera_directly_behind_player 01B6: set_weather 0 0001: wait 0 ms 087B: set_player $PLAYER_CHAR clothes_texture "PLAYER_FACE" model "HEAD" body_part 1 087B: set_player $PLAYER_CHAR clothes_texture "JEANSDENIM" model "JEANS" body_part 2 087B: set_player $PLAYER_CHAR clothes_texture "SNEAKERBINCBLK" model "SNEAKER" body_part 3 087B: set_player $PLAYER_CHAR clothes_texture "VEST" model "VEST" body_part 0 070D: rebuild_player $PLAYER_CHAR 01B4: toggle_player $PLAYER_CHAR can_move 1 016A: fade 1 time 0 04BB: 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 0004: $DEFAULT_WAIT_TIME = 250 03E6: remove_text_box Actor.Angle($PLAYER_ACTOR) = 180 start_mission 0 wait 0 ms // put your create_thread commands here create_thread @SF_MISSION_CHECK :MAIN_LOOP 0001: wait $DEFAULT_WAIT_TIME ms 00BF: $TIME_HOURS = current_time_hours, $TIME_MINS = current_time_minutes 0002: jump @MAIN_LOOP end_thread // put your mods (threads) here :SF_MISSION_CHECK thread "CHECKER" $MARKER_CJ = Marker.CreateIconAndSphere(15, $X_BPB_MRK, $Y_BPB_MRK, $Z_BPB_MRK) repeat wait 0 ms if and Player.Defined($PLAYER_CHAR) $ONMISSION == 0 then if and 00FF: actor $PLAYER_ACTOR sphere 0 in_sphere $X_BPB_MRK $Y_BPB_MRK $Z_BPB_MRK radius 1.0 1.0 2.0 on_foot Player.Controllable($PLAYER_CHAR) then $ONMISSION = 1 00BA: show_text_styled GXT 'INTRO_1' time 1000 style 2 start_mission 1 end end until $SF_MISSIONS_PASSED == 1 Marker.Disable($MARKER_CJ) end_thread //-------------Mission 0--------------- :INITIAL $SF_MISSIONS_PASSED = 0 $ONMISSION = 0 $X_BPB_MRK = -1757.7087 $Y_BPB_MRK = 862.8126 $Z_BPB_MRK = 24.8828 $X_DRUGLAB = -2141.2966 $Y_DRUGLAB = -135.5773 $Z_DRUGLAB = 36.1033 // 0629: change_integer_stat 225 to 999 end_thread // put your missions here // mission 1: welcome :SF_MISSION_1 thread 'MISSION 1' gosub @SF_MISSION1_MAIN if wasted_or_busted then gosub @SF_MISSION1_FAIL end gosub @SF_MISSION1_CLEANUP end_thread :SF_MISSION1_MAIN //0729: AS_actor $PLAYER_ACTOR hold_cellphone 1 // TODO: add text Model.Load(#BULLET) 038B: load_requested_models :SF_MISSION1_LOAD wait 0 ms if and Model.Available(#BULLET) jf @SF_MISSION1_LOAD $car = Car.Create(#BULLET, -1689.3564, 1052.9912, 17.5859) Car.Angle($car) = 90 $marker_car = Marker.CreateAboveCar($car) Marker.SetColor($marker_car, 3) repeat wait 0 ms until Actor.InCar($PLAYER_ACTOR, $car) Marker.Disable($marker_car) 01E3: show_text_1number_styled GXT 'M_PASS' number 10000 time 5000 style 1 // MISSION PASSED!~n~~w~$~1~ $marker_dest = Marker.CreateIconAndSphere(0, $X_DRUGLAB, $Y_DRUGLAB, $Z_DRUGLAB) //10@ = Marker.CreateIconAndSphere(0, $X_BPB_MRK, $Y_BPB_MRK, $Z_BPB_MRK) repeat wait 0 ms if Car.Wrecked($car) then jump @SF_MISSION1_FAIL end { if not Actor.InCar($PLAYER_ACTOR, $car) then $marker_car = Marker.CreateAboveCar($car) end if Actor.InCar($PLAYER_ACTOR, $car) then Marker.Disable($marker_car) end} until 01AE: car $car sphere 0 near_point $X_DRUGLAB $Y_DRUGLAB radius 5.0 5.0 stopped :SF_MISSION1_PASSED 0394: play_music 1 $SF_MISSIONS_PASSED += 1 01E3: show_text_1number_styled GXT 'M_PASS' number 100 time 5000 style 1 // MISSION PASSED!~n~~w~$~1~ Player.Money($PLAYER_CHAR) += 100 return :SF_MISSION1_CLEANUP $ONMISSION = 0 #BULLET.Destroy() Marker.Disable($marker_car) Marker.Disable($marker_dest) return :SF_MISSION1_FAIL 00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1 // ~r~MISSION FAILED! Car.Health($car) = 0 return //-------------External script 0--------------- // put your external scripts here Het probleem is nu dat de marker bij $marker_dest = Marker.CreateIconAndSphere(0, $X_DRUGLAB, $Y_DRUGLAB, $Z_DRUGLAB) nergens verschijnt. De 'mission passed'-debugmelding van voor deze regel code werkt, en als ik mijn auto in de betreffende coordinaten rijd werkt de rest van de code ook. Dit is verder mijn tweede (okee, derde, als je de niet-MISSION-structuur-scripts meetelt) SCM-stukje, en aardig gebaseerd op de tutorials. Wie kan mij helpen met het probleem? Verder heb ik ook al geprobeerd een lokale variabele te gebruiken voor de marker, wat ook niet werkt. Ik vermoed verder dat het probleem deels ligt aan dat ik binnen een missie een marker aanmaak, maar dat zou toch normaal moeten werken? -- Bas Reageren
wesley123 Geplaatst: 2 december 2008 Rapport Geplaatst: 2 december 2008 Komt de marker niet in de speelwereld of niet op de kaart? Reageren
NTAuthority Geplaatst: 2 december 2008 Auteur Rapport Geplaatst: 2 december 2008 Zowel de sphere verschijnt niet (maar werkt wel, de repeat-loop doet dus wel wat) als de icon op de minimap/radar. Een andere icon-type dan 0 is ook al geprobeerd, maar werkt ook niet. Verder geeft de legenda in de MAP-optie in het menu ook geen ander iets aan dan 'PLAYER POSITION'. Reageren
Tjerk Geplaatst: 4 december 2008 Rapport Geplaatst: 4 december 2008 $marker_dest = Marker.CreateIconAndSphere(0, $X_DRUGLAB, $Y_DRUGLAB, $Z_DRUGLAB) Volgens mij wordt deze opcode alleen buiten een missie gebruikt. Je moet daarom deze opcode gebruiken: 02A8: $marker_dest = create_marker 0 at $X_DRUGLAB, $Y_DRUGLAB, $Z_DRUGLAB Hiermee krijg je overigens alleen de marker, dus je moet het in combinatie doen met een sphere. Die kun je spawnen met deze opcode: 03BC: $sphere_dest = create_sphere_at $X_DRUGLAB, $Y_DRUGLAB, $Z_DRUGLAB radius 5.0 Reageren
Recommended Posts
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.