Jump to content

Recommended Posts

Geplaatst:

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!

Geplaatst:

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

Geplaatst:

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

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

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

  • 2 maanden later...
Geplaatst:

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

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