Flotje Geplaatst: 1 mei 2006 Rapport Geplaatst: 1 mei 2006 Ik wil even een tip geven om misschien een hoop frustratie te voorkomen: Zet achter elk label eerst 0001: wait 0 ms Zet achter elk coordinaat/draaihoek .0 Aan deze twee problemen is minstens 2 uur van mijn vrije tijd opgegaan... Zorg dat jouw dit niet overkomt! Reageren
PatrickW Geplaatst: 1 mei 2006 Rapport Geplaatst: 1 mei 2006 Achter elk label een "wait 0 ms" is misschien een beetje overdreven, maar je moet er in ieder geval voor zorgen, dat je in elke "loop" in je code minimaal 1 keer een "wait" hebt zitten.. Wat je met je tweede tip bedoelt ontgaat me een beetje.. Reageren
Flotje Geplaatst: 2 mei 2006 Auteur Rapport Geplaatst: 2 mei 2006 Als je achter een draaithoek, bijv. 0173: set_actor $PLAYER_ACTOR z_angle_to 0.0 In plaats van 0.0 gewoon 0 zet dan loopt werkt het niet. En ik zou altijd gewoon wait 0 ms erachter doen, want baat het niet dan schaadt het niet Reageren
JGuntherS Geplaatst: 3 mei 2006 Rapport Geplaatst: 3 mei 2006 En ik zou altijd gewoon wait 0 ms erachter doen, want baat het niet dan schaadt het niet Ik zou het niet doen, er zijn een paar minpunten verbonden aan waits. Ten eerste gaat je code langzamer lopen, als de engine een wait tegenkomt in een thread, dan springt hij gelijk door naar de volgende thread. Ten tweede kan (in ieder geval in SA) $PLAYER_CHAR "ongedefinieerd" raken, en na elke wait moet je dan eigenlijk een check maken die $PLAYER_CHAR controleert (opcode 0256 dacht ik). De laatste reden is puur een schoonheidsreden: je code in tekstformaat wordt er langer van, en als je het dan wilt publiceren dan heb je gelijk zo'n enorme lap tekst... Reageren
PatrickW Geplaatst: 4 mei 2006 Rapport Geplaatst: 4 mei 2006 Als je achter een draaithoek, bijv. 0173: set_actor $PLAYER_ACTOR z_angle_to 0.0 In plaats van 0.0 gewoon 0 zet dan loopt werkt het niet. Oh, bedoel je dat.. Ja inderdaad coordinaten en draaihoeken moeten inderdaad altijd een floating-point getal zijn, dus je moet er altijd voor zorgen dat er een '.' in staat.. En ik zou altijd gewoon wait 0 ms erachter doen, want baat het niet dan schaadt het niet Wel dus, zoals JguntherZ hierboven beter heeft uitgelegd dan ik zelf zou hebben gekund. Vooral het feit dat tijdens iedere wait de status van je player kan veranderen kan crashes veroorzaken, als je niet de status eerst weer checked voordat je hem gebruikt (na een wait). Reageren
Flotje Geplaatst: 24 juli 2006 Auteur Rapport Geplaatst: 24 juli 2006 Nog een handigheidje om een code overzichtelijker te maken: Zorg voor een gosub thread waarin alles gecheckt word zoals wasted/busted/voertuig kapot/whatever Dat maakt alles overzichtelijker, anders heb je soms wel 10tallen van die threads nodig, maar met gosub is 1tje genoegROFL 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.