Jump to content

Recommended Posts

Geplaatst:

Ik ben bezig met een SCM projectje, alleen ik weet niet hoe ik iets check op de goede manier. Ik heb zelf een code in elkaar geflanst, maar ik weet bijna zeker dat ie verkeerd is. Het eigenlijk doel is dat de engine checkt of CJ in één van de 2 gespawnde auto's zit en als hij in één van de twee zit, dat de engine dan de markers erboven uitschakelt. Het stukje code wat fout is:

:MARKER_DESTROY
if
actor.Driving($banshee)
else_jump @MARKER_DESTROY2
wait 0
jump @MARKER_DESTROY3

:MARKER_DESTROY2
if
actor.Driving($phoenix)
 else_jump @MARKER_DESTROY
wait 0
jump @MARKER_DESTROY3

:MARKER_DESTROY3
Marker.Disable($m1)
Marker.Disable($m2) 
end_thread

Het is eigenlijk meer een beetje een samengestelde code, dus ik vind het zelf niet zo gek dat het niet werkt... Ik hoop dat iemand weet hoe het wél moet :D

Greetz :sigaar:

Geplaatst: (bewerkt)

Je kan volgens mij ook dit doen:

:MARKER_DESTROY
wait 0
if or
not actor.Driving($banshee)
not actor.Driving($phoenix)
jump_if_false @MARKER_DESTROY

:MARKER_DESTROY2
Marker.Disable($m1)
Marker.Disable($m2) 
end_thread

Edit:

Oeps :puh: Het is ook alweer een tijdje geleden ^_^

Bewerkt: door tjerk
Geplaatst:

tjerk: je zet, zoals veel vaker, de wait op de verkeerde plek. Die moet bínnen de lus vallen, niet erbuiten, anders heeft het geen zin. Daarnaast is de jump ook nutteloos, de code gaat immers vanzelf naar het volgende label.

Geplaatst:

Ik krijg een fout bij het compilen:

Onbekende directive jump_if_false @MARKER_DESTROY2.

Wat te doen?

Greetz :sigaar:

Geplaatst:

De code (004D) staat er niet voor. Je kunt ook "jf" of "else_jump" gebruiken, dan heb je die code niet nodig.

Geplaatst:

Ok, ik heb nu dit:

:MARKER_DESTROY
if or
actor.Driving($banshee)
actor.Driving($phoenix)
wait 10
else_jump @MARKER_DESTROY

:MARKER_DESTROY2
Marker.Disable($m1)
Marker.Disable($m2)
end_thread

Toch loopt GTA San Andreas nog steeds vast...

Geplaatst:

Nu je het zegt... Totaal niet op dat soort foutjes geledt..

Actor.Driving($banshee) is niet de goede opcode. Daarmee vraag je of een actor rijdt, niet of een actor in een bepaalde wagen rijdt. Geen wonder dus dat hij crasht, want de $banshee is, neem ik aan, geen actor. Tussen haakjes moet in zo'n geval namelijk de handle van de actor komen.

Ik hou sowieso niet zo van die structuur als Actor.Driving, laat mij maar bij de oude schrijfwijze. De volgende opcode moet je gebruiken:

00DB:   actor $PLAYER_ACTOR in_car 22@

Of natuurlijk de "not"-versie van deze (80DB), ligt eraan wat je structuur is.

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