ikt Geplaatst: 25 maart 2008 Rapport Geplaatst: 25 maart 2008 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 Reageren
PatrickW Geplaatst: 28 maart 2008 Rapport Geplaatst: 28 maart 2008 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. Reageren
ikt Geplaatst: 28 maart 2008 Auteur Rapport Geplaatst: 28 maart 2008 (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: 28 maart 2008 door ikt 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.