Jump to content

Recommended Posts

Geplaatst:

Hey allemaal :)

Ik ben een soort van ''free-movement'' aan het maken voor SA. Voor als ik weer eens ergens vastzit ofzo. Dat is mij aardig goed gelukt, maar: ik kan óf alleen mijn speler bewegen óf mijn auto, anders crashed SA. Want als ik ze allebij in 1 code doe, dan crashed SA. Hier is de code. (Als ik dit enable in een auto, dan werkt alles goed. Maar als ik dit op de voet doe dan komt er een crash) Het probleem zit bij het freezen van iets, alle andere dingen werken goed.

// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
wait 100 

:NONAME_4
wait 0 
if and
0AB0:   key_pressed 79 
0AB0:   key_pressed 17 
  Player.Defined($PLAYER_ACTOR)
else_jump @NONAME_4 
Actor.LockInCurrentPosition($PLAYER_ACTOR) = True
0811: 1@ = actor $PLAYER_ACTOR car // versionC 
Car.LockInCurrentPosition(1@) = True

:NONAME_54
wait 0 
if and
0AB0:   key_pressed 65 
  Player.Defined($PLAYER_CAHR)
else_jump @NONAME_126 
Actor.StorePos($PLAYER_ACTOR, $ABX, $ABY, $ABZ)
$ABY += 5.0 
$ABZ -= 0.9 
Actor.PutAt($PLAYER_ACTOR, $ABX, $ABY, $ABZ)

:NONAME_126
wait 0 
if and
0AB0:   key_pressed 68 
  Player.Defined($PLAYER_CAHR)
else_jump @NONAME_198 
Actor.StorePos($PLAYER_ACTOR, $ABX, $ABY, $ABZ)
$ABY -= 5.0 
$ABZ -= 0.9 
Actor.PutAt($PLAYER_ACTOR, $ABX, $ABY, $ABZ)

:NONAME_198
wait 0 
if and
0AB0:   key_pressed 83 
  Player.Defined($PLAYER_CAHR)
else_jump @NONAME_270 
Actor.StorePos($PLAYER_ACTOR, $ABX, $ABY, $ABZ)
$ABX -= 5.0 
$ABZ -= 1.0 
Actor.PutAt($PLAYER_ACTOR, $ABX, $ABY, $ABZ)

:NONAME_270
wait 0 
if and
0AB0:   key_pressed 87 
  Player.Defined($PLAYER_CAHR)
else_jump @NONAME_342 
Actor.StorePos($PLAYER_ACTOR, $ABX, $ABY, $ABZ)
$ABX += 5.0 
$ABZ -= 1.0 
Actor.PutAt($PLAYER_ACTOR, $ABX, $ABY, $ABZ)

:NONAME_342
wait 0 
if and
0AB0:   key_pressed 38 
  Player.Defined($PLAYER_CAHR)
else_jump @NONAME_414 
Actor.StorePos($PLAYER_ACTOR, $ABX, $ABY, $ABZ)
$ABZ += 5.0 
$ABZ -= 1.0 
Actor.PutAt($PLAYER_ACTOR, $ABX, $ABY, $ABZ)

:NONAME_414
wait 0 
if and
0AB0:   key_pressed 40 
  Player.Defined($PLAYER_CAHR)
else_jump @NONAME_486 
Actor.StorePos($PLAYER_ACTOR, $ABX, $ABY, $ABZ)
$ABZ -= 5.0 
$ABZ -= 1.0 
Actor.PutAt($PLAYER_ACTOR, $ABX, $ABY, $ABZ)

:NONAME_486
wait 0 
if and
0AB0:   key_pressed 17 
0AB0:   key_pressed 80 
  Player.Defined($PLAYER_ACTOR)
else_jump @NONAME_54 
Actor.LockInCurrentPosition($PLAYER_ACTOR) = False
0811: 1@ = actor $PLAYER_ACTOR car // versionC 
Car.LockInCurrentPosition(1@) = False
jump @NONAME_4

Wie kan mij helpen? Alvast bedankt :)

Geplaatst:

het gaat hier mis waarschijnlijk:

0811: 1@ = actor $PLAYER_ACTOR car // versionC
Car.LockInCurrentPosition(1@) = True

Dit doen je nu altijd, en dat mag alleen maar als je ok echt in een Auto zit, anders komt uit de eerste geen geldige handle terug, en voer je de tweede opcode dus uit op een ongeldige handle => Crash.

Je moet die code dus alleen uitvoeren als je player echt in een auto zit:

if 0449:   actor $PLAYER_ACTOR in_a_car 
then
 0811: 1@ = actor $PLAYER_ACTOR car // versionC
 Car.LockInCurrentPosition(1@) = True
end

En ik heb ook mn twijfels, of het verplaatsen van een actor op jouw manier goed gaat, wanneer hij in een auto zit.'Maar dat zul je even moeten testen.

Ik vermoed dat je in dat geval namelijk de positie van de auto moet aanpassen, en dan zal de actor/player die erin zit, vanzelf meegaan. (In dat geval moet je misschien ook de actor in "lock in position"doen, maar alleen de auto, maar wederom, dat is een kwestie van uittesten.

Geplaatst: (bewerkt)

Ik zal het eens uitproberen. Maar wat vreemd is, is dat als ik nuo 2 aparte CS bestanden maak met eentje voor de voet-airbrake, en eentje voor de auto-airbrake het wel goed gaat.

Edit: Ik heb het toegepast en het werkt zonder enige problemen ;) Dankjewel voor de hulp :)

Bewerkt: door ikt

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