Ergebnis 1 bis 20 von 354

Thema: It's Quiz Time!!

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Ich rate mal, dass man dann einen "out of range" error message bekommt und dann das Spiel abstürzt.

    netwarrior

  2. #2

    Users Awaiting Email Confirmation

    Es passiert garnichts
    Wenn richtig:Freirunde

  3. #3
    Was meinst Du damit genau? Funktioniert es? Läuft es ins Leere?

  4. #4
    Zitat Zitat von netwarrior Beitrag anzeigen
    Ich rate mal, dass man dann einen "out of range" error message bekommt und dann das Spiel abstürzt.

    netwarrior
    Nein, das nicht
    Zitat Zitat von Engel der Furcht Beitrag anzeigen
    Es passiert garnichts
    Wenn richtig:Freirunde
    Was meinst du mit "gar nichts"? Was würde wohl passieren, wenn man sich sowas z.B. mal in einer Textbox ausgeben lassen würde?

  5. #5
    Zitat Zitat
    Was würde wohl passieren, wenn man sich sowas z.B. mal in einer Textbox ausgeben lassen würde?
    Ich hab mir mal eben \v[9473] in einer Textbox ausgeben lassen, was weit ausserhalb von
    dem liegt was das dafür hergehaltene Spiel benutzt. Das Ergebnis ist 0.

    Wenn ich sie über einen Pointer zuweisen will...
    Code:
    <> Change Var [1065:Pointer] = 9473
    <> Change Var [Var[1065:Pointer]] = 1
    <> Message: \v[9473]
    ...ist das Ergebnis in der Box 1, auch wenn die Variable ausserhalb liegt und es entsteht zu keiner
    Zeit ein Fehler. Sie ist lediglich ausserhalb des über Makermöglichkeiten debugbaren Bereiches.

  6. #6

    Users Awaiting Email Confirmation

    Wie MagicMaker sagte,das Ergebnis daraus ist 0.
    Es passiert nämlich garnichts,weder ein Lese noch ein Schreibverfahren.

  7. #7
    Nein, das ist falsch.

    Es passiert ein Schreibverfahren; und beim Lesen ein Leseverfahren.

    Man kann jede Variable benutzen, auch weit über dem definierten Bereich hinaus. Dieser dient nämlich nur dazu, Namen für die Variablen zu vergeben, das Variablen-Array selbst wird immer dynamisch vergrößert.

    Sie auch hier: http://www.multimediaxis.de/threads/...ng#post2349904

  8. #8
    Stimmt alles soweit und MagicMaker ist dran.

  9. #9
    Nachdem MagicMaker nix einfällt, hier die neue Frage:

    Was bedeutet folgende Meldung? Assertion Failure (D:\ha\02rpg2000\2003\RPG_RT\LGD_Picture.pas, 526 Line)


    Bonusfrage: Was ist das für ein Dateipfad? Und was wäre die eigentliche Bedeutung dieser Meldung (nicht nur was sie beim Maker in diesem Fall bedeutet)?

  10. #10
    Das die 526.Zeile des Skripts der eigentlich versteckten pas-Datei LGD_Picture einen Fehler aufweist? (ich hatte diese Meldung bisher noch nie)

    Geändert von relxi (01.11.2010 um 14:17 Uhr)

  11. #11
    Nicht wirklich^^

  12. #12
    Naja, nehme mal an das passiert wenn man zb viele Heros hat und dann halt in einem Script die Party tauscht (oder im Kampf). Wenn man da dann vllt die "Max Number" verringert dann will der Maker ja immer noch drauf zu greifen, was zu einem Assertion Failure führt.

    Oder man hat eine rm2k exe und will dann im rm2k3 ein Bild adressieren das über 20 liegt, was ja nicht gehen würd^^

  13. #13
    Zitat Zitat von R.D. Beitrag anzeigen
    Naja, nehme mal an das passiert wenn man zb viele Heros hat und dann halt in einem Script die Party tauscht (oder im Kampf). Wenn man da dann vllt die "Max Number" verringert dann will der Maker ja immer noch drauf zu greifen, was zu einem Assertion Failure führt.
    Ne, das führt dann zu einem "Event script referenced a hero that doesn't exist"

    Zitat Zitat von R.D. Beitrag anzeigen
    Oder man hat eine rm2k exe und will dann im rm2k3 ein Bild adressieren das über 20 liegt, was ja nicht gehen würd^^
    Das ist die richtige Antwort. Exakt: Wenn man zu hohe Bild-IDs verwendet.

    Auflösung der Bonusfragen:
    Der Pfad bezieht sich auf den PC des Erstellers der RPG_RT.exe, nicht auf den PC des Spielers.
    Und zwar bedeutet "Assertion Failure", dass ein Sicherheitscheck fehlgeschlagen ist.
    Um zu verhindern, dass irgendwo im späteren Programmverlauf Fehler auftreten, die dann schlecht rückverfolgbar sind, verwendet man ein "assert(Bedingung)" um Dinge zu überprüfen, die eigentlich nie schief gehen sollten. Normalerweise gibts das aber nur in Debugbuilds, nicht in Releases.

    In diesem Fall hatte der gute Lucifer in Zeile 526 der Datei "Picture.pas", die zum Sourcecode der RPG_RT.exe gehört, ein "assert(picture_id <= 20)" stehen.

    Du bist dran.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •