Exoit Geplaatst: 16 juli 2009 Rapport Geplaatst: 16 juli 2009 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 Reageren
PatrickW Geplaatst: 16 juli 2009 Rapport Geplaatst: 16 juli 2009 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 Reageren
Exoit Geplaatst: 17 juli 2009 Auteur Rapport Geplaatst: 17 juli 2009 Yes het is gelukt! Dankjewel! 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.