Jump to content

Disable Marker


Recommended Posts

Geplaatst:

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 :cya:

Geplaatst:

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.

Geplaatst: (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: door Revolution-Designer
Geplaatst:

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.

Geplaatst:

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.

Geplaatst:

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 :cya:

Geplaatst:

Ik moet heel eerlijk bekennen dat ik zo 1-2-3 geen hele makkelijke oplossing heb, misschien denk ik ook wel gewoon te moeilijk. :puh: 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. ;)

Geplaatst:
Ik moet heel eerlijk bekennen dat ik zo 1-2-3 geen hele makkelijke oplossing heb, misschien denk ik ook wel gewoon te moeilijk. :puh: 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?) :cab:

Geplaatst:

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:

helpc.jpg

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 :cya:

Geplaatst:

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

Geplaatst:
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... :D

Dat zo'n klein woordje voor zo'n probleem kan zorgen. :cab:

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