Seite 30 von 71 ErsteErste ... 2026272829303132333440 ... LetzteLetzte
Ergebnis 581 bis 600 von 1418

Thema: Technik-Sammelthread für Probleme und Antworten

  1. #581
    JA WIE GEHT DAS ? XD

  2. #582
    Zitat Zitat von Vyzzuvazzadth Beitrag anzeigen
    Nun zu deinem Problem:
    Du musst zuerst aus den aktuellen und maximalen HP den aktuellen HP-Prozentwert ausrechnen, anhand dessen du dann die HP-Anzeige steuerst.
    Zitat Zitat von Cynder Beitrag anzeigen
    JA WIE GEHT DAS ? XD
    Die notwendige Mathematik und die Vorrausetungen für die Anwendung lernt man in der 7.Klasse.
    Wenn du mit deinen angegebenen 17 Jahren dieses logisch-rationale Leistungsniveau noch nicht erreicht hast denke ich hast du dir mit einer eigenen HP Anzeige etwas zu viel vorgenommen, Erklärungen hin oder her.

    Soll heissen: mein Gott, das wirst du ja wohl noch hinkriegen ohne "Fiep Fiep, den Wurm bitte vorkauen, Mamavogel! Fiep Fiep!"

  3. #583
    o0 nun prozent rechnung war noch nie so mein ding ...
    wollte frage wie zum teufel verbinde ich die variablen ?

    zb
    Var.1 = Max Hero Hp = vert 50
    Var.2 = Hero Hp jetzt = vert 50
    = 100% = 100% picture

    nur wie verbinde ich die variablen das der das
    dan "automatisch" ausrechnet ?
    Ich weiss das das geht =/
    im spiel "Der schwarze magier" gehts doch auch

  4. #584
    *seufz* okey~

    Angenommen du hast einen Helden mit 240 Lebenpunkten von maximal 360 Lebenspunkten
    Angenommen du willst daraus Prozent machen.

    also aus

    240 von 360
    ? von 100

    240/360*100 = 66,6666~%

    Als Dreisatz:
    360 entspricht 240
    1 entspricht 240/360
    100 entspricht 240/360*100 = ....66,6666~%!

    In Makervariablen
    1. var = Hero.Lebenspunkte
    2. var * 100
    3. var / Hero.MaxLebenspunkte


    Wichtig:
    Teilen und multiplizieren kann man in beliebiger Reihenfolge machen, also 10/4*2 ist dasselbe wie 10*2/4. Du sollst im Maker zuerst Multiplizieren, weil der Maker keine Nachkommastellen hat, sonst kürzt du das ganze Ergebnis in der Zwischenrechnung weg.

  5. #585
    Als Ergänzung noch eine effektive Gedankenstütze (hilft mir jedes Mal wieder):

    Nehmen wir an, der Held hat von den maximalen 320 HP noch 240 HP übrig.
    320 = 100%
    240 = ???%
    Um ??? rauszufinden multiplizierst du die Zahlen, die Diagonal zueinander stehen (in diesem Fall 240 und 100) und teilst dann durch die übrig gebliebene (in diesem Fall 320).
    Das funktioniert immer und du has zuerst multipliziert, so wie es dir Corti vorgeschlagen hat.

  6. #586
    SCREW MATH I HAVE A CALCULATOR ! XD

    Man es klappt o0
    Danke für die mahte nachhilfe XD

  7. #587
    Zitat Zitat von Cynder Beitrag anzeigen
    Man es klappt o0
    Danke für die mahte nachhilfe XD
    Dann machen wir mal gleich mit Deutsch weiter ;-)

  8. #588
    FUCK ! XD Ich wollte es erst "Mathe" schreiben argh
    ist ja auch egal >_>

    es geht - das ist alles was zählt danke nochmal

  9. #589
    Ich hab' derzeit folgendes Problem:
    Ich bin einfach zu blöd, ein einfaches Skript zu machen, bei dem es darum geht, schnell hintereinander die Enter-Taste zu drücken. Bei jedem Druck von Enter soll eine Variable um einen Punkt erhöht werden. Ich hab' das bis jetzt so gemacht:

    Code:
    Label 1
    Variable Oper: [ENTER] Set 0
    Key Input Proc: [ENTER]
    Branch If Var [ENTER] is 5
     Variable Oper: [ZÄHLER] + 1
     Wait 0.0
     Jump to Label 1
    End
    Ein Timer läuft, der nach 5 Sekunden einen Switch aktiviert, der das Ganze dann beendet. Sobald ich aber nur 1 mal Enter drücke, wird die Variable ZÄHLER aber automatisch immer wieder um 1 erhöht und der Zähler steht dann auf 11. Wenn ich öfter drücke (also wirklich ganz, ganz schnell) dann bekomme ich maximal 29 zusammen. Wenn ich nichts drücke, bleibt er auf 0.

    Wie kann ich es besser lösen?

    LG Mike

  10. #590
    ...
    Branch If Var [ENTER] is 5
    ..Variable Oper: [ZÄHLER] + 1
    ..Label 2
    ..Key Input Proc [ENTER] (ohne wait until key press)
    ..Branch If Var [ENTER] is 5
    ....Wait 0.0
    ....Jump to Label 2
    ..:End
    ..Jump to Label 1
    ...

  11. #591
    Ich weiß zwar nicht, was ich jetzt falsch gemacht habe, aber jetzt zählt es immer 5, egal wie viel ich drücke ^^ Wo gehört der Label 1 hin, damit ich zu Label 1 springen kann, der am Ende steht? Ich habe deinen "Code" jetzt in meine erste Bedingung getan.

    LG Mike

  12. #592
    Willst du "ist Key gedrückt" periodisch abfragen oder willst du die Anzahl der Tastendrücke (Drücken + Loslassen) detektieren? Das ist die wesentliche Frage.

  13. #593
    Diesen Teil aus deinem Code:

    Code:
    Branch If Var [ENTER] is 5
     Variable Oper: [ZÄHLER] + 1
     Wait 0.0
     Jump to Label 1
    ...ersetzt du durch meinen.

  14. #594
    @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

  15. #595
    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

  16. #596
    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?^^

  17. #597
    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

  18. #598
    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 ;-)

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

  20. #600
    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.

Berechtigungen

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