Ergebnis 1 bis 20 von 23

Thema: Flüssigkeitsverlust...

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Users Awaiting Email Confirmation

    Ay hier mal mein Vorschlag zur Lösung:

    Du brauchst eine Variable für den Wasserhaushalt.

    1. Setz sie beim Beginn auf 100.
    2. Event nr. 1: Paralell Process
    - Fork Conditions if $0001Wasserhaushalt is above 100;
    set Variable $0001Wasserhaushalt 100
    /// Ist wichtig für die späteren Events zur Auffrischung des Haushaltes
    durch trinken, damit sich niemand auf den Wert 50000 oder so
    hochtrinkt durch massives ausnutzen der Events
    - Variable $0001Wasserhaushalt - 1
    - Fork Conditions if $0001Wasserhaushalt is below 0;
    /// Sterbe Event
    - wait 0,5 sek
    /// Es würde jetzt 200 Sekunden dauern bis der Held stirbt. Setz einfach
    Die Variable höher oder tiefer oder den wait länger
    3. Events zur Auffrischung: Einfach an alle Wasserflächen push to key events setzen die die Variable "$0001Wasserhaushalt + 20" setzen

    So, nun hast du im Grunde alles was du brauchst zum Überleben, damit es fairer für den Spieler ist, kannst du ein paar Forkkonditions setzen wo z. B. ab $0001Wasserhaushalt 80 / 60 / 40 / 20 etc. eine Nachricht kommt wie "Langsam muss ich was zu trinken finden etc. pp. oder du bastelst dir noch eine Anzeige. Die wie folgt aussehen könnte

    4. Event Nr. 2: Fork Conditions if $0001Wasserhaushalt is same 100;
    Show picture Durstanzeige 100;
    Fork Conditions if $0001Wasserhaushalt is same 99;
    Show picture Durstanzeige 99;
    etc. pp.

  2. #2
    Deine Idee hört sich auf jedenfall pletzsparend an was Vaiabel angeht...

    Zitat Zitat
    So, nun hast du im Grunde alles was du brauchst zum Überleben, damit es fairer für den Spieler ist, kannst du ein paar Forkkonditions setzen wo z. B. ab $0001Wasserhaushalt 80 / 60 / 40 / 20 etc. eine Nachricht kommt wie "Langsam muss ich was zu trinken finden etc. pp. oder du bastelst dir noch eine Anzeige. Die wie folgt aussehen könnte
    Die Idee mit den Massage wäre selbst mir beim Spielen zu Blöd!
    (Verzeih wenn das jetzt Beledigend gewirkt hat..)

    Zitat Zitat
    4. Event Nr. 2: Fork Conditions if $0001Wasserhaushalt is same 100;
    Show picture Durstanzeige 100;
    Fork Conditions if $0001Wasserhaushalt is same 99;
    Show picture Durstanzeige 99;
    etc. pp.
    Ziemlich auwändig es so darzusetellen...
    zumal dann müsste ich ja jede Zahl von 0-100 editieren
    ich würde dann Lieber den Wasserhaushalt nehmen
    und ihn dann in Einer,Zehner,Hunderter splitten...

  3. #3
    Zitat Zitat von Multi-Master1988 Beitrag anzeigen
    Die Idee mit den Massage wäre selbst mir beim Spielen zu Blöd!
    Das musst du ja nicht mit show message machen sondern kann einfach per picture als Warnung angezeigt werden. Oder es flasht der Screen und wird z.B. mit einem Herzschlag untermauert.

    Zitat Zitat von Multi-Master1988 Beitrag anzeigen
    Ziemlich auwändig es so darzusetellen...
    zumal dann müsste ich ja jede Zahl von 0-100 editieren
    ich würde dann Lieber den Wasserhaushalt nehmen
    und ihn dann in Einer,Zehner,Hunderter splitten...
    So eine Wasseranzeige lässt sich viel einfacher machen.
    Du nimmst einen Rahmen für die Wasseranzeige, da drunter ein Bild für den Wasserpegel und bewegst es abhängig von der Variable. Also wenn sie sinkt verschwindet auch das Bild des Wasserpegels nach unten aus dem Bild heraus.

  4. #4
    Zitat Zitat
    So eine Wasseranzeige lässt sich viel einfacher machen.
    Du nimmst einen Rahmen für die Wasseranzeige, da drunter ein Bild für den Wasserpegel und bewegst es abhängig von der Variable. Also wenn sie sinkt verschwindet auch das Bild des Wasserpegels nach unten aus dem Bild heraus.
    Zitat Zitat
    Das musst du ja nicht mit show message machen sondern kann einfach per picture als Warnung angezeigt werden. Oder es flasht der Screen und wird z.B. mit einem Herzschlag untermauert.
    Gut bei den "Versionen" müsste man gucken was am
    besten zum Gesamtbild passt...

    Edit:
    Habe hier mal ein Versuch von dem was ich
    bisher so alles gemacht hab

    http://www.npshare.de/files/fac95b66/Wasser.rar

    Der Wasserpegel läuft allerdings noch ein wenig zu schnell
    und aktualiesiert sich nur alle 10er Schritte.
    Wasser gibt es bei dem Wasserloch immer + 5

    Geändert von Multi-Master1988 (17.08.2010 um 18:56 Uhr)

  5. #5
    Zitat Zitat von Akanas Beitrag anzeigen
    4. Event Nr. 2: Fork Conditions if $0001Wasserhaushalt is same 100;
    Show picture Durstanzeige 100;
    Fork Conditions if $0001Wasserhaushalt is same 99;
    Show picture Durstanzeige 99;
    etc. pp.
    Nix für ungut, aber wenn du Neuling im Skripten bist dann geb keine Ratschläge.
    Informatik dreht sich in erster Linie darum, Redundanzen zu vermeiden.



    @Multi-Master: Dein Skript funzt bis auf einen kleinen Punkt, du lässt das "Wasser"-Event jedesmal das Bild neu anzeigen und verschiebst es dann - lass es nur einmal anzeigen (indem du den Befehl z.B. in "Geldzähler" wie du es genannt hast einbaust) und es passt. Wobei es dann stört, dass es sich nur in 10er-Schritten ändert, aber das kann man ja noch ändern. Guter Zeitpunkt, um es statt an feste Koordinaten zu verschieben an variable Koordinaten zu verschieben - probier mal "Move Picture .- By Variable" aus, dann sparst du dir gehörig Forks

  6. #6

    Users Awaiting Email Confirmation

    Zitat Zitat von Dhan Beitrag anzeigen
    Nix für ungut, aber wenn du Neuling im Skripten bist dann geb keine Ratschläge.
    Informatik dreht sich in erster Linie darum, Redundanzen zu vermeiden.
    Dann erklär doch rasch wie man es anders lösen könnte, würde mich wirklich mal interessieren

  7. #7
    @ Dhan

    Okay es sollte sich eigentlich auch Bewegen und nicht jedesmal
    neu anzeige xD (Dummer Gedangenfehler meinerseits)

    Habe auch nicht vor dies in 10er schritten weiterhin einzuseten.
    Denn der Spieler soll ja möglichst genaue Angaben Bekommen...

    Lg
    Multi-Master1988

  8. #8
    Zitat Zitat von Akanas Beitrag anzeigen
    Dann erklär doch rasch wie man es anders lösen könnte, würde mich wirklich mal interessieren
    Ich bin nicht Dhan, erklären kann ich es dir aber trotzdem.
    Eine häufig verwendete Lösung wäre das du den Modulo Operator nutzt um die Zahl auf ihre Stellen zu zerlegen.
    Bei der Zahl 1234 z.B.:

    1000er Stelle:
    1234 / 1000 = 1

    100er Stelle:
    1234 / 100 = 12
    12 MOD 10 = 2

    10er Stelle:
    1234 MOD 100 = 34
    34 / 10 = 3

    1er Stelle:
    1234 MOD 10 = 4

    Schon hast du eine wesentlich simplere Abfragemenge. Bei deiner Lösung bräuchte man 9999 Forks um alle Möglichkeiten abzudecken. Hier lediglich 40, heisst 10 pro Stelle.

    Mit dem Pointer Picture Patch, könnte man die benötigt Zahl sogar auf quasi 0 reduzieren, da man hier sogar direkt die Dateinamen konstruieren kann, was es nochmal einfacher macht. Aber das wäre nochmal eine andere Sache.

    Ein weiterer Fehler deines Skriptes wäre das es die Anzeige per parallelen Prozess ständig aktualisiert. Das kostet unnötig Rechenzeit, da du ja genau weisst wann die Werte sich verändert. Wenn man das Update für die Anzeige per "Call" aufruft, spart man sich einiges an Rechenleistung.

    Geändert von makenshi (19.08.2010 um 12:15 Uhr)

  9. #9
    Um es der Vollständigkeit halber noch zu erwähnen: der Modulo-Operator gibt den Rest einer ganzzahligen Division zurück: 34 MOD 3 = 1 da 34 durch 3 = 11 Rest 1 (sehr sehr nützliche Sache, um Zahlen in ein anderes Zahlensystem umzurechnen)

  10. #10
    @ makenshi

    Also simbles Teilen durch die gegebene Zahl...

    @ Dhan

    Habe es mir notiert...
    Danke hab mich schonmal gefragt für
    was der Modulo-Operator genau ist aber
    ich habs begriffen er teilt eine Zahl und gibt
    den Rest wieder.

    Und diesen rest kann ich weiterhin in die Abfrage
    stellen...

  11. #11
    Zitat Zitat von Multi-Master1988 Beitrag anzeigen
    @ makenshi

    Also simbles Teilen durch die gegebene Zahl...
    Nein.
    Ohne den Modularoperator den Dhan nochmal genauer erklärt, bringt dir das teilen auch nichts.

  12. #12
    Zitat Zitat von makenshi Beitrag anzeigen
    Nein.
    Ohne den Modularoperator den Dhan nochmal genauer erklärt, bringt dir das teilen auch nichts.
    Dann kann ich den Modularoperator apparat also nur nutzen
    um Zahlen von einer Variabel genau festzulegen.

  13. #13
    Zitat Zitat von Multi-Master1988 Beitrag anzeigen
    Dann kann ich den Modularoperator apparat also nur nutzen
    um Zahlen von einer Variabel genau festzulegen.
    Nein.
    Du kannst ihn dafür nutzen um den ganzzahligen Rest einer Divison zu ermitteln. So wie du halt den Plus Operator nutzt um zwei Zahlen zu summieren.

  14. #14
    @Multi-Master: Ich weiß auch grad nicht, was du mit deinem Post meinst - das is ein Operator, der hat erstmal mathematisch gesehen nix mit Variablen zu tun... wiederhol noch mal, was du sagen wolltest, ich glaub, da kam irgendwas nicht rüber (das is die Krux von Kommunikation in Foren ^^)

  15. #15
    @ Dhan

    Nun ich habe es so verstanden das einzelnen
    Ziffern in einer einzelnen Variabel genau abgefragt werden
    können....

    Bsp:

    1234

    Ich möchte nun die 3. Ziffer haben also teile ich das ganze mit der Mod funktion und nun habe ich die Ziffer für den zehnerblock.

  16. #16
    Ja, aber nicht nur: Mod gibt einfach nur den Rest einer Division zurück. Das Ergebnis, was du meinst, erzielst du, wenn du Mod mit 10, 100, 1000, etc. verwendest.

    Ich kann aber genauso rechnen:

    31 Mod 4 = 3
    Weil 31 / 4 = 7,75 - also 7 und 3 Rest (weil 3/4 = 0,75)

    ...und das hat nichts mit Stellen einer Zahl zu tun (außer wir würden in einem Quartalsystem [heißt das so?] arbeiten).

Berechtigungen

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