Gewisse Sriptbereiche nicht ausführen

  • Win

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Gewisse Sriptbereiche nicht ausführen

    Hallo zusammen.

    Ich habe hier ein Skript:

    if ((global.milchkuh) /(global.weide)*10) <= 1 then
    randomize()
    milchproduktion = irandom_range(3000,4000);
    if ((global.milchkuh) /(global.weide)*10) <= 1 then
    global.milch = global.milchkuh* milchproduktion

    das klappt soweit wunderbar.

    Allerdings bekomme ich das Problem, wenn die Variable "global.weide" auf 0 steht. Dann mekert das Sytem, da es die berrechnungen nicht mit "0" durführen kann.

    Daher meine Frage: Kann ich das irgendwie Einstelle, das diese berechnung nicht stattfinden?

    Z.B.

    if global.weide = 0 then (führe den rest des Scriptes nicht mehr aus).


    Wenn das möglich ist, wie stelle ich das an???
  • Öhm... du kannst Skripte genau so behandeln wie "normalen" Code in Objektevents. Will sagen, du kannst auch if-else-Bedingungen benutzen. ^^
    Das Prinzip:

    GML-Quellcode

    1. if !(mein_unpassender_wert){
    2. mein_passender_code();
    3. }
    4. if (ein_passender_wert){
    5. if (noch_mehr_passender_code() != alles_ganz_schlimm){
    6. abhängiger_passender_code();
    7. }
    8. weniger_abhängiger_code();
    9. }
    10. mir_ist_alles_egal();
    Alles anzeigen


    Wenn du so arbeitest (mal abgesehen von den bekloppten Funktionsnamen), behältst du als Entwickler die Übersicht darüber, was unter welchen Bedingungen ausgeführt wird und musst nicht so sehr drauf achten, was du im Skript weiter nach oben und was weiter nach unten schreibst, damit nur das vom exit-Statement gekillt wird, was auch entsprechend weit unten steht (denn exit ist die Anweisung an den GM, aus dem Skript rauszuspringen und den restlichen Code darin zu verwerfen).
  • Benutzer online 1

    1 Besucher