@ Dhan
Stimmt genau ich möchte keinen Timer einnbauen
sonder die so änlich gestalten wie ein Geldzähler allerdings
dass die Anzeige dann mit Bildern stattfindet.
Ausserdem finde ich das ein
Timer nicht wirklich toll aussieht..![]()
@ Dhan
Stimmt genau ich möchte keinen Timer einnbauen
sonder die so änlich gestalten wie ein Geldzähler allerdings
dass die Anzeige dann mit Bildern stattfindet.
Ausserdem finde ich das ein
Timer nicht wirklich toll aussieht..![]()
Geändert von Multi-Master1988 (16.08.2010 um 20:11 Uhr)
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.
Deine Idee hört sich auf jedenfall pletzsparend an was Vaiabel angeht...
Die Idee mit den Massage wäre selbst mir beim Spielen zu Blöd!Zitat
(Verzeih wenn das jetzt Beledigend gewirkt hat..)
Ziemlich auwändig es so darzusetellen...Zitat
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...![]()
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.
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
Gut bei den "Versionen" müsste man gucken was amZitat
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 19:56 Uhr)
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![]()
@ 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
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 13:15 Uhr)
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)
@ 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...![]()
@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 ^^)
@ 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.