Revolution-Designer Geplaatst: 11 juli 2009 Rapport Geplaatst: 11 juli 2009 Hallo iedereen, Ik heb een probleempje met het verwijderen van een marker. Ik heb dit stukje script geschreven: 0186: $m1 = create_marker_above_car $dinghy 0165: set_marker $m1 color_to 1 jump @MAIN_104 :MAIN_104 wait 0 if Actor.InCar($PLAYER_ACTOR, $dinghy) Marker.Disable($m1) jf @MAIN_104 Maar het probleem is dat er geen marker is boven mijn voertuig. Ook wil ik opmerken dat wanneer ik ''PLAYER_ACTOR'' verander in ''PLAYER_CHAR" mijn game crasht. Weet iemand hoe ik dit kan oplossen? Grtz RD Reageren
Dutchy3010 Geplaatst: 11 juli 2009 Rapport Geplaatst: 11 juli 2009 Simpel, de marker.disable onder de jf zetten. Dat moet namelijk NA de lus, anders is hij gelijk weg. Het moet ook Player_Actor zijn, dus logisch dat Player_Char niet werkt. De "jump @MAIN_104" is trouwens compleet onnodig. Reageren
Revolution-Designer Geplaatst: 11 juli 2009 Auteur Rapport Geplaatst: 11 juli 2009 (bewerkt) Simpel, de marker.disable onder de jf zetten. Dat moet namelijk NA de lus, anders is hij gelijk weg. Het moet ook Player_Actor zijn, dus logisch dat Player_Char niet werkt.De "jump @MAIN_104" is trouwens compleet onnodig. Het werkt! Bedankt Dutchy. Edit: Nog een vraagje, ik heb nu deze code: :MAIN_793 $GOTOPLAT = Marker.CreateIconAndSphere(56, 312.2537, -2250.734, -0.7135691) if 00EC: actor $PLAYER_ACTOR 0 near_point 312.2537 -2250.734 radius 4.0 4.0 else_jump @MAIN_793 Marker.Disable($GOTOPLAT) Deze komt direct na de code van de marker, maar wanneer ik nu in het voertuig ga loopt GTA SA vast... Bewerkt: 11 juli 2009 door Revolution-Designer Reageren
Donald F. Duck Geplaatst: 11 juli 2009 Rapport Geplaatst: 11 juli 2009 Je zegt: Maak een marker ($GOTOPLAT = Marker.CreateI...). Controleer dan of je bij de marker bent. Hier zit een fout: er moet altijd een wait in een if, die ik nergens zie staan. Ben je daar niet (ik ga even verder, omdat ik verder nog een fout zag, ik weet niet of deze erg is), spring je terug naar het begin van dit label, waardoor je opnieuw die marker maakt en weer controleert. Ik weet niet of die tweede fout een crash-oorzaak kan zijn (zelfs met de wait), maar de wait moet er komen. Reageren
Dutchy3010 Geplaatst: 11 juli 2009 Rapport Geplaatst: 11 juli 2009 Al zou het geen crash veroorzaken, dan nog krijg je problemen met de code. Je kunt dan namelijk alleen de laatste verwijderen, want de variabele is opnieuw gebruikt. Reageren
Revolution-Designer Geplaatst: 13 juli 2009 Auteur Rapport Geplaatst: 13 juli 2009 Ik heb nog een vraag(je) over het disablen van een marker. Ik heb 8 actors gespawnt met een rode marker, nu heb ik deze code voor het disablen: :MAIN_1576 wait 0 if Actor.Dead(1@) else_jump @MAIN_1576 Marker.Disable($MARKER1) En deze code 8 keer onder elkaar, maar het probleem is dat ik dus iedereen in goede volgorde moet vermoorden wil ik de markers goed laten verdwijnen. Maar het liefst wil ik natuurlijk gewoon een willekeurige actor vermoorden en vervolgens moet zijn marker dan ook weggaan. Maar hoe? Grtz RD Reageren
Revolution-Designer Geplaatst: 13 juli 2009 Auteur Rapport Geplaatst: 13 juli 2009 (bewerkt) Iemand? Bewerkt: 13 juli 2009 door Revolution-Designer Reageren
Dutchy3010 Geplaatst: 13 juli 2009 Rapport Geplaatst: 13 juli 2009 Ik moet heel eerlijk bekennen dat ik zo 1-2-3 geen hele makkelijke oplossing heb, misschien denk ik ook wel gewoon te moeilijk. In ieder geval, heb het volgende scriptje geschreven en dat werkt... Het creëert 3 actors in grove street, met markers. Daarna schiet je ze 1 voor 1 af, in willekeurige volgorde, en dan zullen de markers verdwijnen. Vervolgens delete ik ze, en spring ik terug naar het creëren. Zo kan je opnieuw testen. :actor 009A: 1@ = create_actor_pedtype 4 model #MALE01 at 2490.56 -1666.84 13.38 0187: 2@ = create_marker_above_actor 1@ 009A: 3@ = create_actor_pedtype 4 model #MALE01 at 2492.56 -1666.84 13.38 0187: 4@ = create_marker_above_actor 3@ 009A: 5@ = create_actor_pedtype 4 model #MALE01 at 2494.56 -1666.84 13.38 0187: 6@ = create_marker_above_actor 5@ 7@ = 0 repeat wait 100 if and 0118: actor 1@ dead 075C: marker 2@ enabled then 0164: disable_marker 2@ 0008: 7@ += 1 end if and 0118: actor 3@ dead 075C: marker 4@ enabled then 0164: disable_marker 4@ 0008: 7@ += 1 end if and 0118: actor 5@ dead 075C: marker 6@ enabled then 0164: disable_marker 6@ 0008: 7@ += 1 end until 0039: 7@ == 3 009B: destroy_actor 1@ 009B: destroy_actor 3@ 009B: destroy_actor 5@ wait 1000 jump @actor Hopelijk heb je er wat aan. Reageren
Revolution-Designer Geplaatst: 13 juli 2009 Auteur Rapport Geplaatst: 13 juli 2009 Ik moet heel eerlijk bekennen dat ik zo 1-2-3 geen hele makkelijke oplossing heb, misschien denk ik ook wel gewoon te moeilijk. In ieder geval, heb het volgende scriptje geschreven en dat werkt... Het creëert 3 actors in grove street, met markers. Daarna schiet je ze 1 voor 1 af, in willekeurige volgorde, en dan zullen de markers verdwijnen. Vervolgens delete ik ze, en spring ik terug naar het creëren. Zo kan je opnieuw testen. :actor 009A: 1@ = create_actor_pedtype 4 model #MALE01 at 2490.56 -1666.84 13.38 0187: 2@ = create_marker_above_actor 1@ 009A: 3@ = create_actor_pedtype 4 model #MALE01 at 2492.56 -1666.84 13.38 0187: 4@ = create_marker_above_actor 3@ 009A: 5@ = create_actor_pedtype 4 model #MALE01 at 2494.56 -1666.84 13.38 0187: 6@ = create_marker_above_actor 5@ 7@ = 0 repeat wait 100 if and 0118: actor 1@ dead 075C: marker 2@ enabled then 0164: disable_marker 2@ 0008: 7@ += 1 end if and 0118: actor 3@ dead 075C: marker 4@ enabled then 0164: disable_marker 4@ 0008: 7@ += 1 end if and 0118: actor 5@ dead 075C: marker 6@ enabled then 0164: disable_marker 6@ 0008: 7@ += 1 end until 0039: 7@ == 3 009B: destroy_actor 1@ 009B: destroy_actor 3@ 009B: destroy_actor 5@ wait 1000 jump @actor Hopelijk heb je er wat aan. Het werkt perfect Dutchy! Je bent m'n reddende engel! (Daar krijg ik toch geen warn voor?) Reageren
Revolution-Designer Geplaatst: 13 juli 2009 Auteur Rapport Geplaatst: 13 juli 2009 Sorry voor de dubbelpost, maar anders trek je nooit de aandacht. (Echt waar!) Ik heb je manier opgevolgd Dutchy en alles werkt goed, maar nu spawn ik later in mijn script opnieuw een aantal actors met markers. Maar ik kan het script niet compilen. Dit is de foutmelding: Ik weet echt niet wat de fout is. Dit is btw. mijn stukje script: 10@ = Actor.Create(Cop, #ARMY, 215.5373, -2303.868, 5.304692) 11@ = Actor.Create(Cop, #ARMY, 221.327, -2303.331, 5.304692) 12@ = Actor.Create(Cop, #ARMY, 221.327, -2306.451, 5.304692) Actor.Angle(10@) = 95.72012 Actor.Angle(11@) = 95.72012 Actor.Angle(12@) = 95.72012 $MARKER10 = Marker.CreateAboveActor(10@) $MARKER11 = Marker.CreateAboveActor(11@) $MARKER12 = Marker.CreateAboveActor(12@) 02A3: enable_widescreen 1 Camera.SetPosition(178.8138, -2304.421, 11.98432, 0.0, 0.0, 0.0) Camera.PointAt(215.5373, -2303.868, 5.304692, 2) fade 1 1500 wait 1000 00BB: show_text_lowpriority GXT 'PLAT10' time 4500 flag 1 // Jack: Oh no! They are coming! wait 4500 fade 1 1000 wait 1000 02A3: enable_widescreen 0 Camera.Restore Player.CanMove($PLAYER_CHAR) = True 05E2: AS_actor 10@ kill_actor $PLAYER_ACTOR 05E2: AS_actor 11@ kill_actor $PLAYER_ACTOR 05E2: AS_actor 12@ kill_actor $PLAYER_ACTOR 00BB: show_text_lowpriority GXT 'PLAT14' time 5250 flag 1 :MAIN_1577 17@ = 0 repeat wait 100 if and 0118: actor 10@ dead 075C: marker $MARKER10 enabled then 0164: disable_marker $MARKER10 0008: 13@ += 1 end if and 0118: actor 11@ dead 075C: marker $MARKER11 enabled then 0164: disable_marker $MARKER11 0008: 13@ += 1 end if and 0118: actor 12@ dead 075C: marker $MARKER12 enabled then 0164: disable_marker $MARKER12 0008: 13@ += 1 until 0039: 13@ == 3 Player.CanMove($PLAYER_CHAR) = False 02A3: enable_widescreen 1 fade 0 1000 wait 1000 0674: set_car_mode Grtz RD Reageren
Dutchy3010 Geplaatst: 14 juli 2009 Rapport Geplaatst: 14 juli 2009 Je bent een end vergeten bij de laatste if-then-end structuur. if and 0118: actor 12@ dead 075C: marker $MARKER12 enabled then 0164: disable_marker $MARKER12 0008: 13@ += 1 end until 0039: 13@ == 3 Reageren
Revolution-Designer Geplaatst: 14 juli 2009 Auteur Rapport Geplaatst: 14 juli 2009 Je bent een end vergeten bij de laatste if-then-end structuur. if and 0118: actor 12@ dead 075C: marker $MARKER12 enabled then 0164: disable_marker $MARKER12 0008: 13@ += 1 end until 0039: 13@ == 3 Het werkt... Dat zo'n klein woordje voor zo'n probleem kan zorgen. 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.