Ergebnis 1 bis 20 von 1418

Thema: Technik-Sammelthread für Probleme und Antworten

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    @Corti: Ich will die Anzahl der Tastendrücke zählen.

    @Cherry: Gut, dann hab ich es nach deiner Beschreibung eh schon richtig gemacht gehabt. Es zählt komischerweise jetzt (egal wie oft ich drücke) immer 11.

    LG Mike

  2. #2
    Ist der Code den du gepostet hat, das komplette Event?

    Zeig uns mal sowohl das Tastenabfrage-Event als auch das Zeit-Mess-Und-Switch-Ausmach-Event.

    [Copypasta]
    Verwende für so etwas bitte den EasyEventExporter. Spart Arbeit und zeigt außerdem Eventeinstellungen an, die normal nicht sichtbar sind (z.B. Picturetransparenzen - oder hier die genauen Einstellungen vom Key Input Processing, etc.)

    1. das ganze Event kopieren (Rechtsklick->kopieren)
    2. EasyEventExporter öffnen
    3. Bei der Frage auf "Ja" klicken und die Datei "vbcode_lightbg.eft" im Ordner "ftemplates" auswählen (dadurch wird der Code im Forum gehighlighted
    4. Das Ergebnis dann hier reinkopieren

  3. #3
    Kurz:

    Taste wird gedrückt
    Script: ist die Taste gedrückt? if(ja) +1
    Script: ist die Taste gedrückt? if(ja) +1
    Script: ist die Taste gedrückt? if(ja) +1
    Script: ist die Taste gedrückt? if(ja) +1
    Script: ist die Taste gedrückt? if(ja) +1
    Script: ist die Taste gedrückt? if(ja) +1
    Script: ist die Taste gedrückt? if(ja) +1
    Taste wird losgelassen

    und verbessert:

    Taste wird gedrückt
    Script: ist die Taste gedrückt? if(ja) +1~ wait 0.0
    Script: ist die Taste gedrückt? if(ja) +1~ wait 0.0
    Script: ist die Taste gedrückt? if(ja) +1~ wait 0.0
    Script: ist die Taste gedrückt? if(ja) +1~ wait 0.0
    Script: ist die Taste gedrückt? if(ja) +1~ wait 0.0
    Taste wird losgelassen

    ...na, warum zählts nicht richtig?^^

  4. #4
    Das "Enter-Hämmern"-Event:
    Zitat Zitat von EasyEventExporter
    --- EVENT ---
    Type: Map event
    Name: EV0067
    Coordinates: (9, 0)
    Number of Pages: 2

    -- PAGE 1 --
    Start conditions:
    • Switch [75] == ON
    Sprite: z-objekte1 #0
    Facing direction: Down
    Animation frame: Center
    Transparent: No
    Trigger condition: Parallel process
    Event level: Same level as hero
    Forbid event overlap: No
    Animation type: Non-continuous
    Movement type: Stationary
    Movement frequency: 3
    Movement speed: 3
    - SCRIPT -
    <> Label: 1
    <> Change Variable: [3] = 0
    <> Key Input Processing: Var. [3], Keys: Decision
    <> Fork Condition: If Variable [3] == 5 then ...
    . <> Change Variable: [22] += 1
    . <> Label: 2
    . <> Key Input Processing: Var. [3], Keys: Decision
    . <> Fork Condition: If Variable [3] == 5 then ...
    . . <> Wait: 0,0 sec.
    . . <> Jump To Label: 2
    . . <>
    . : End of fork
    . <> Jump To Label: 1
    . <>
    : End of fork
    <>

    -- PAGE 2 --
    Start conditions:
    • Switch [76] == ON
    Sprite: z-objekte1 #0
    Facing direction: Down
    Animation frame: Center
    Transparent: No
    Trigger condition: Push key
    Event level: Same level as hero
    Forbid event overlap: No
    Animation type: Non-continuous
    Movement type: Stationary
    Movement frequency: 3
    Movement speed: 3
    - SCRIPT -
    <>
    und hier das Timer-Event:
    Zitat Zitat von EasyEventExporter
    --- EVENT ---
    Type: Map event
    Name: EV0069
    Coordinates: (10, 0)
    Number of Pages: 2

    -- PAGE 1 --
    Start conditions:
    • Switch [75] == ON
    Sprite: z-objekte1 #0
    Facing direction: Down
    Animation frame: Center
    Transparent: No
    Trigger condition: Parallel process
    Event level: Same level as hero
    Forbid event overlap: No
    Animation type: Non-continuous
    Movement type: Stationary
    Movement frequency: 3
    Movement speed: 3
    - SCRIPT -
    <> Change Timer: Set timer 1 to 0'5"
    <> Change Timer: Start timer 1
    <> Loop
    . <> Fork Condition: If Timer 1 <= 0'0" then ...
    . . <> Move Picture: #41, (160, 130), Mgn 100%, Tsp 100%/100%, 0,1 sec., Wait
    . . <> Erase Picture: #41
    . . <> Change Switch: [76] = ON
    . . <>
    . : End of fork
    . <> Wait: 0,0 sec.
    . <>
    : End of loop
    <>

    -- PAGE 2 --
    Start conditions:
    • Switch [76] == ON
    Sprite: z-objekte1 #0
    Facing direction: Down
    Animation frame: Center
    Transparent: No
    Trigger condition: Push key
    Event level: Same level as hero
    Forbid event overlap: No
    Animation type: Non-continuous
    Movement type: Stationary
    Movement frequency: 3
    Movement speed: 3
    - SCRIPT -
    <>
    Edit: Ach, jetzt muss ich mir Cortis Text auch noch schnell durchlesen xD Der ist in meinem Post derzeit noch nicht berücksichtigt ^^

    Edit: Weil meins nicht kapiert, wann Enter losgelassen ist? Ich kapiers trotzdem noch immer nicht.

    LG Mike

  5. #5
    Zitat Zitat von Mike Beitrag anzeigen
    Edit: Weil meins nicht kapiert, wann Enter losgelassen ist? Ich kapiers trotzdem noch immer nicht.
    Na das geht doch schon in Richtung Verständnis.

    Du zählst keinen Tastendruck, du guckst, ob gedrückt ist.

    Praktisch gehts so:

    Die Taste ist nicht gedrückt, dein Script guckt mehrmals pro Sekunde ob was ist und denkt sich "hey , ne, da is nix, kein Tastendruck".

    Dann wird die Taste gedrückt, dein Script guckt "hey, ist gedrückt" und addiert +1 und einen Bruchteil einer Sekunde später wieder "hey, ist gedrückt" und addiert +1 und einen Bruchteil einer Sekunde später....

    Was passieren sollte ist:
    Taste wird gedrückt
    Script: "hey, ist gedrückt" und addiert +1 ~ und einen Bruchteil einer Sekunde später
    Script: "hey, ist gedrückt, ist aber immernoch derselbe" und nix +1

    dann wird die Taste losgelassen und Script stellt fest: "hey, die Taste ist nicht mehr gedrückt, d.h. jetzt muss ich wieder aufpassen ob ein Tastendruck kommt"

    Wie löst man das technisch?
    Die Tasteneingabe in eine zweite Variable kopieren und dann den Zähler nur erhöhen wenn die Tasteneingabe deiner Decision entspricht, also "5" ist UND die vorherige Tasteneingabe auf 0 oder nirgendwas nicht-5 ist.

    So, damit solltest du es jetzt lösen können ;-)

  6. #6
    Corti, du irrst. Schau dir meinen Code mal genauer an. Wenn die Taste gedrückt ist, warte ich, bis sie wieder losgelassen ist.

  7. #7
    Zitat Zitat von Cherry Beitrag anzeigen
    Corti, du irrst.
    Cherry, wenn ich ihm eine Möglichkeit gebe, die funktioniert wird diese auch dann nicht weniger funktionierend oder gar falscher weil du eine leicht andere Variante vorgeschlagen hast. Ich hab mir deinen Code auch ehrlichgesagt gar nicht genau angesehn, ich hab nur gesehn, dass Mike zu viele Enters zählte, auch nach dem er beteuerte, deine Zeilen korrekt eingebaut zu haben, darum ging ich davon aus, dass sich an dem Problem selbst nichts geändert hat.

  8. #8
    Ich behaupte nicht, dass deine Methode falsch ist. Nur hast du behauptet, er würde den Fehler machen, ständig nur den Status abzufragen und dann zu zählen und nicht das Loslassen abzuwarten.
    Das scheint ja seit dem Einbau meines Codes nicht mehr der Fall zu sein.

    Ich hatte aber gerade eine andere Idee: Mir fiel gerade ein dass der Maker dazu neigt, Nuller bei regelmäßiger Key Input Proc Abfrage einzustreuen auch während man die Taste gedrückt hält. Eine Methode, die das umgeht, wäre diese:

    Statt...

    Code:
    . <> Label: 2
    . <> Key Input Processing: Var. [3], Keys: Decision
    . <> Fork Condition: If Variable [3] == 5 then ...
    . . <> Wait: 0,0 sec.
    . . <> Jump To Label: 2
    . . <>
    . : End of fork
    ... das einbauen:

    Code:
    Change Var [AndererZähler] = 0
    Label: 2
    Key Input Processing [ENTER]
    Branch If Var [ENTER] is 5
    ..Change Var [AndererZähler] = 0
    ..Jump to label 2
    :Else
    ..Change Var [AndererZähler] + 1
    ..Branch If Var [AndererZähler] < 3
    ....Jump to label 2
    ..:End
    :End

  9. #9
    Ich hab' jetzt alles Mögliche was mir auf EINER Event-Seite eingefallen ist versucht... Taste gedrückt, losgelassen, das und das und das und bla bla bla. Ich bin echt am Ende mit meinem Latein. Ich glaub' ich lösche aus Verzweiflung mal alles was ich da zusammen gescriptet hab'

    Edit:
    Ich hab' jetzt eine simple Methode gemacht: Drücken der Tasten <- und ->

    LG Mike

    Geändert von Mike (26.05.2011 um 12:41 Uhr)

  10. #10
    Guten Morgen,
    ich bin neu hier im Atelier, doch nicht ganz so frisch was den Umgang mit dem RPG-Maker macht. Nun, der Erfahrenste war ich noch nie und mein Wissen, so denn ich es ausgraben kann aus der tiefen Erde, wird wohl zumindest angerostet sein.
    Aufgrund meiner neu gewonnen Freizeit wollte ich wieder mit dem Makern anfangen und weil ich bis dato immer an meinem Projektmanagement gescheitert bin, habe ich mich entschieden, erst den Maker zu öffnen, bis ich schon Story, Charaktere und das was ich machen will (Neudeutsch glaub ich: Viehtschärs (oder so...)) zumindest festgeschrieben habe. Dieser Zeitpunkt ist gekommen.
    Dementsprechend frustrierend ist es, dass ich kein neues Projekt öffnen kann: Es erscheint die Fehlermeldung >>Project making failure<<. Ich benutze im übrigen den 2000er (bzw ich will ihn benutzen), schließlich bin ich kein scheinheiliger Konservativer; leider ist vor zwei Jahren mein W98 gefräckt und meine Eltern ham mir en W7 geschenkt (sie sind scheinheilige Konservative). xD
    Nach einigem rumprobieren (ich habe einfach das Projekt auf einem neuen Pfad erstellt) hat es geklappt. Ich bin mir aber nicht sicher, ob das sicher ist. Wer will denn einfach so mal zwischen durch all seine Maps verlieren? Ich denke jeder von uns weiß wie frustrierend es sein kann... Zumal keine der Standard-Einstellungen vorhanden ist: zB.: sind die Anfangshelden (Alex, Kenji) ohne Werte und Bilder, trotz vorhandenem Zugriff auf's RTP (1.32).

    Wie kann ich dieses Problem lösen? Oder existiert dieses Problem nur in meinem vor Intelligenz und Phantasie (ph-->wie gesagt: konservativ) strotzendem Gehirn? mh...? Existieren wir überhaupt wirklich? Ist der RPG-Maker ein Fehler in der Matrix? Lasst es uns (und vor allem mich) bitte herausfinden.

    mfg
    ein hoffender Vulpes

  11. #11
    Hast du den Kompatibilitätsmodus aktiviert? (Rechtsklick auf rpg2000.exe, Eigenschaften, Kompatibilität, Kompatibilitätsmodus für XP SP3 aktivieren)

  12. #12
    mh... schonmal Danke: ich kann jetzt auf dem normalen Dateipfad ein neues Projekt erstellen. Bloß ist in der Grundmap, kein Chip-Set ausgewählt: Kurz der Bildschirm ist schwarz und der Chip-Set Auswahl-Bereich ist schwarz und (zumindest habe ich es so in Erinnerung) sollte es anders an sein.
    Der Zustand mit den Helden ist auch unverändert: selbiges gilt natürlich mit allen Voreinstellungen.

    Ist das weiter Problematisch...? Zumindest ist ein Problem vorhanden...

    also einen Schritt weiter bin ich schonmal dank dir Cherry.

    mfg
    Armin

  13. #13
    Klingt so als ob Dateien aus dem RTP fehlen.
    Du hast ja erwähnt dass du das RTP 1.32, also das RTP Addon hast. Du hast aber hoffentlich das normale 1.0 vorher schon drauf gehabt, oder? Sonst würde etwas fehlen.

Berechtigungen

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