Ergebnis 1 bis 11 von 11

Thema: Keypatch: MidiTick-Problem

  1. #1

    Keypatch: MidiTick-Problem

    Ich rätsel heute schon ne ganze Weile dran warum an einer Stelle in meinem
    Project immer der MidiTick spinnt (setzt sich auf -1). Also folgendes passiert/soll
    passieren:

    Ein externes Programm prüft die Existenz einer Datei (Sprachsample eines
    Chars) und schreibt dann eine script.wav (Einfall von Cherry). Wenn die Datei
    existiert wird eine 1 in die "Value="-Zeile geschrieben. Sollte sie nicht
    vorhanden sein, ist es eine 0... Soweit klappt alles. Die Datei wird erstellt
    sieht immer so aus wie sie soll.

    (MidiTick-Funktion ist auf Output gesetzt)

    In etwa so, bis auf die Kommentare, sieht es bei mir so aus:

    Code:
    <>Sound spielen: TP_Probavi.script    <-- Existenzprüfer; Wait=True
    <>Kommentar: Das folgende Script benutzt AddOutput um einen Wert zu
               : übermitteln zumindest hab ich keinen anderen Befehl dafür gesehen.
    <>Sound spielen: TP_VoiceMaster.script    <-- das erstellte Script
    <>Variable ändern: [0019:Voice-Ergebnis] = MidiTick-Pos.
    <>Bedingung: Var [0019:Voice-Ergebnis] == 0
     <>Kommentar : Prozess falls Datei fehlt.
     <>
    : Ansonsten
    <>Bedingung: Var [0019:Voice-Ergebnis] == 1
     <>Kommentar : Prozess falls Datei vorhanden ist.
     <>
    : Ende
    <>
    FAQ-im-Voraus:

    Sind Harmony.dll und Oldharmony.dll vorhanden?
    Ja, das merk ich schon dran dass das SecondSound, die Maus und das
    Prüferprogramm gehen.

    Wie oft wird der Code ausgeführt?
    Einmal, am Schluss wird mindestens ein Switch aktiviert der auf eine leere
    Seite im Event wechselt.

    Wird der Code durch die Maus blockiert?
    Sogar wenn das passieren kann, ist es egal, ich lasse alle Mausevents erst
    nachher starten um sicherzugehen.

    Geändert von MagicMaker (20.07.2008 um 20:44 Uhr)

  2. #2
    Und was ist dein Problem? xD

    Btw, wie sieht die 2. script.wav aus?

  3. #3
    Der MidiTick setzt sich nicht auf den Wert den er soll, bzw nicht 0 oder 1,
    sondern die Variable wird in beiden Fällen zu -1...


    Die zweite Script.wav

    Erstes Aussehen

    Code:
    [Execute]
    Action = AddOutput
    Value = 0
    Next=
    Zweites Aussehen

    Code:
    [Execute]
    Action = AddOutput
    Value = 1
    Next=
    PS: Habe nochmal die externe exe ausgebessert, was nur das Problem nich gelöst hat xD.

    Was ich inzwischen sonst noch geändert hab ist, die exe beim Spielstart schon
    auszuführen, das ändert nur auch nix am Problem. xD

  4. #4
    Liegt's vielleicht an den unnötigen Leerzeichen vor und nach dem Gleichheitszeichen? Schon mal ausprobiert?

  5. #5
    Wenn er bei einer gefundenen Datei -1 setzt, aendere das doch im Makertext um, sollte eigentlich nicht stoeren.

    Ansonsten faellt mir nur ein, dass die Exe statt 1, -1 setzt. Kannst das vieleicht mal ohne Maker testen?

  6. #6
    @tarrax: Das gäbe insofern ein Problem, da -1 ein Standardrückgabewert ist.

    Kann es sein, dass der Maker deine exe "überholt", also die Datei schneller
    abfragt, als dein Programm sie zur Verfügung stellt?

    Pack doch nen Wait rein und probiers.

  7. #7
    Zitat Zitat
    Liegt's vielleicht an den unnötigen Leerzeichen vor und nach dem Gleichheitszeichen? Schon mal ausprobiert?
    1. nein
    2. nein

    @Nemica:
    Dass er sie Überholt kann ich mir nicht grad vorstellen weil ich extra dafür
    den Wait=True in das Script für die EXE gepackt habe, womit eigentlich das
    ganze Event angehalten werden müsste bis das Programm geschlossen ist.

  8. #8
    Dürfte es eigentlich nich egal sein?

    Soweit ich weiß ist es dem Maker doch egal ob die wav.script-Datei da ist, ist sie nich vorhanden, dann spielt er sie halt nicht, wenn doch dann halt ja, eine Abfrage brauchste doch da gar nicht.

  9. #9
    Bevor der Thread von der ersten Seite verschwindet melde ich mich nochmal
    besser hier drin.

    Nochmal zusammengefasst was passiert

    - Spiel wird geöffnet
    - Titel überspringen
    - Ein Programm wird ausgeführt
    - Dieses schreibt eine script.wav deren Inhalt davon abhängig ist ob eine andere Datei existiert (Voice-2-06.wav)
    - Wenn sie da ist, schreibt er in den AddOutput 1, wenn nicht, 0
    - Der Maker liest die Script.wav ein, sobald das Nebenprogramm geschlossen ist (Wait=True)
    - Eine Variable übernimmt den Wert des MidiTicks
    - Statt 0 oder 1 kommt hier "-1"
    - Wenn ich die Script.wav überprüfe, steht immer der korrekte Wert drin (0 oder 1, jenachdem was zutrifft)

  10. #10
    ---------------------------------------------------------------------------
    ***es sei mal gesagt dass ich immernoch mit ungelöstem Problem dastehe***
    ---------------------------------------------------------------------------

    Die Script.wav wird immer korrekt erzeugt, das Project empfängt aber den
    falschen Wert vom Output.

  11. #11
    Ich verstehe nich warum du soweiso ein Externes Prog dafür haben willst oO

    Du willst doch das dateien abgespielt werden sollen, wenn man das passende Soundpaket oder?

    Weil dann machts du einfach alle Sounddateien rein, schreibst sie in den Code, oder löschst sie wider raus. fertig.
    Der Maker spielt sie dann nich ab und zeigt auch keinen Fehler an.

Berechtigungen

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