Script-Datei von Marcel

  • Hey

    da ich gerade im Content-Tool hänge und ganz rudimentäre Scripteinstellungen treffe, wollte ich auch die Dateien StdElements und TechElements importieren. Bei den sdtElements zeigt mir das Content-Tool den Fehler "Kopilierung nicht erfolgreich [Error](1:1): Unexcepted end of file" an und bei den TechElements kommt die Fehlermeldung "Kopilierung nicht erfolgreich [Error](20:17): Unknown identifier 'FloatToBool' an.

    Was mache ich falsch?


    Hier sind die (zumindest wenn ich das richtig verstehe) fehlerhaften Zeilen

    Code
    1. const
    Code
    1. procedure Switch_Toggle(var sw: TSwitch);
    2. begin
    3. sw.Pos := 1 - sw.Pos;
    4. if not sw.Broken then
    5. sw.Value := FloatToBool(sw.Pos);
    6. end;

    Umfahren ist das Gegenteil von umfahren

  • Hallo.


    Das sind beides keine kompletten Scripte.

    Die sind dafür gedacht, mittels

    Code
    1. {$I StdElements.pas}
    2. {$I TechElements.pas}

    in dein Hauptscript eingebunden zu werden. Das Hauptscript ist dann auch das einzige, das du importieren musst.


    Zu den Fehlermeldungen:


    FloatToBool ist eine Funktion, die in StdElements.pas definiert ist, deshalb muss die auch vor TechElements.pas eingebunden werden, sonst kennt letzterer die nicht.


    "Unexcepted end of file": Das Script muss mit einem "end." enden.


    Siehe auch Script-System im Lexikon.

  • Das

    Hallo.


    Das sind beides keine kompletten Scripte.

    Die sind dafür gedacht, mittels

    Code
    1. {$I StdElements.pas}
    2. {$I TechElements.pas}

    in dein Hauptscript eingebunden zu werden. Das Hauptscript ist dann auch das einzige, das du importieren musst.

    Ja, ich weiß, dass ich die einbinden muss, dass habe ich auch gemacht. Allerdings akzeptiert er dass aus igredneinem Grund nicht bzw. der Text, den du geschrieben hast, wird mir in PsPad rot angezeigt.

    Und wenn ich dann meine Main Datei importieren will, kommt der Fehler "Kopilierung nicht erfolgreich [Error]TechElements.pas(420:24): Unknown identefier 'a_ground'

    auch hier die entsprechenden Zeilen dazu:


    Die wo das Sternchen hinter ist, ist Zeile 420

    Umfahren ist das Gegenteil von umfahren

  • So, nächste Fehlermeldung :)

    Und zwar soll in dieser Zeile ein Fehler sein


    Code
    1. procedure Simstep;
    2. begin
    3. Erweiterung_Simstep;
    4. end;

    bzw. die Erweiterung Simstep soll nicht richtig initalisiert worden sein

    Umfahren ist das Gegenteil von umfahren

  • dafür fallen mir auf die schnelle 2 Fehlerquellen ein:

    1. Die Erweiterung_Simstep ist in einer Datei die (noch) nicht eingebunden ist.

    2. (und wohl wahrscheinlicher) Die Erweiterung_Simstep steht erst nach der SimStep Prozedur im Script, in dem Fall kann die SimStep beim ersten Durchlauf ja noch nichts von dieser Prozedur wissen und darum kommt dann die Fehlermeldung;)

  • dafür fallen mir auf die schnelle 2 Fehlerquellen ein:

    1. Die Erweiterung_Simstep ist in einer Datei die (noch) nicht eingebunden ist.

    War tatsächlich der Fehler

    Doch der nächste kommt direkt hinterher geflogen. Und zwar fehlt in dieser Zeile irgendwo ein Semikolon:

    Code
    1. begin Erweiterung_OnButton (id; value);

    Umfahren ist das Gegenteil von umfahren

  • Meine Pascal-Tage sind ein paar Jahrzehnte her, aber vom Gefühl her ist da ein Semikolon zuviel statt zuwenig.

    Wenn das nach dem "begin" ein Prozeduraufruf sein soll, müsste es dann nicht "Erweiterung_OnButton (id, value);" sein?

  • So Leute, Pascal mag mich echt gerne.

    Jetzt bekomme ich den Fehler "Unknown Identefier" in Zeile 43 (Doppeltes Sterchen) beim CP_Taste_Klingel

    Was habe ich falsch gemacht?

    Hier einmal ein Teil meiner Erweiterung, alles wo das Sterchen ist, steht irgendwas mit der Klingel:

    Und hier das, was bezüglich der Klingel in der Main-Datei steht:

    Code
    1. CP_Taste_Klingel: single; (*)

    Umfahren ist das Gegenteil von umfahren

  • Wenn dir die Zeile 43 angemault wird, dann würde ich mal dieses "end" anschauen, das ist eigentlich ohne ";" oder "." dahinter eher selten.

    Sofern mich meine Erinnerung nicht trügt, läßt man in Pascal den ";" nur unmittelbar vor einem "else" weg und das hat sich glaube ich in späteren Implementierungen auch gelockert.

  • Neu erstellte Beiträge unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.

    Die letzte Antwort auf dieses Thema liegt mehr als 60 Tage zurück. Das Thema ist womöglich bereits veraltet. Bitte erstellen Sie ggf. ein neues Thema.

    Maximale Anzahl an Dateianhängen: 5
    Maximale Dateigröße: 500 kB
    Erlaubte Dateiendungen: bmp, cfg, ini, jpeg, jpg, lct, ldl, llg, lob, log, lpmtl, lptmt, ltx, pas, pdf, png, railtrack, rar, txt, veh, wav