Maniac Mansion Mania Forum

MMM-Werkzeugkiste => Technik => Thema gestartet von: 1mal_volltanken am 28. Februar 2009, 12:14:12

Titel: Verknüpfungen / Verkettungen mehrerer GlobalInts
Beitrag von: 1mal_volltanken am 28. Februar 2009, 12:14:12
Hallo Leutz!

Hab mal wieder ne Frage:

 Und zwar möchte ich, dass eine Aktion erst dann ausgeführt wird, wenn MEHRERE GlobalInts ihren Zielwert erreicht haben.

Bsp.:

Zitat
If (GetGlobalInt(101) == 2) && (GetGlobalInt(110) == 5) && (GetGlobalInt(201) == 3) {
   Action
   Action
   Action
   Action
  }
Else DoNothing

So in etwa nach diesem Schema habe ich es versucht zu schreiben, indem ich die GetGlobalInts jeweils mit && verbunden habe. Damit war das Programm leider nicht einverstanden. Auch nicht, wenn ich nur ein & verwendet habe, oder die Bindezeichen dazwischen ganz weggelassen habe. Nun wüsst ich gerne, wie ich die GetGlobalInts miteinander verbinden muss.
Klar, ich kann natürlich auch die mega umständliche Programmierweise mit dem Rattenschwanz aus tausenden IFs und ELSE-IFs anwenden, aber das ist erstens viel Aufwand und zweitens wird dadurch der ganze Script unübersichtlich. Das könnte ich höchstens machen, wenn es wirklich keine andere Möglichkeit gäbe, aber ich schätze mal, ihr könnt mir da aushelfen! ;)

Danke schon mal im voraus!  :)

der Volltanker
Titel: Re: Verknüpfungen / Verkettungen mehrerer GlobalInts
Beitrag von: Bòógieman am 28. Februar 2009, 12:30:29
dein erster ansatz war schon fast richtig, du hast nur die klammern falsch gesetzt

If ((GetGlobalInt(101) == 2) && (GetGlobalInt(110) == 5) && (GetGlobalInt(201) == 3)) {
   Action
   Action
   Action
   Action
  }
Else DoNothing
Titel: Re: Verknüpfungen / Verkettungen mehrerer GlobalInts
Beitrag von: 1mal_volltanken am 28. Februar 2009, 18:53:55
Achsoo! ;)

Am Anfang und am Ende eine Klammer zu wenig. ;) Naja, da wär ich wahrscheinlich nicht mehr drauf gekommen! ;)

Besten Dank!

der Volltanker
Titel: Re: Verknüpfungen / Verkettungen mehrerer GlobalInts
Beitrag von: NsMn am 01. März 2009, 14:14:41
*Besserwissermodus an*

Eigentlich sogar ein paar Klammern zuviel:

If ([b]([/b]GetGlobalInt(101) == 2[b])[/b] && [b]([/b]GetGlobalInt(110) == 5[b])[/b] && [b]([/b]GetGlobalInt(201) == 3[b])[/b]) {
   Action
   Action
   Action
   Action
  }
Else DoNothing

Alle fetten Klammern kann man weglassen  ;)
*Besserwissermodus aus*
Titel: Re: Verknüpfungen / Verkettungen mehrerer GlobalInts
Beitrag von: Bòógieman am 01. März 2009, 15:18:22
das ist reine geschmackssache  ::)
manche mögen es eben, wenn die einzelnen bedingungen klar ersichtlich von einander abgetrennt sind
stell dir vor, es gibt sogar leute die eine if über mehrere zeilen gehen lassen (ich nehme das mal vorweg damit nicht noch so ein post kommt)

und dein post ist nicht im besserwissermodus, sondern da gings wohl eher um Postcount++
Titel: Re: Verknüpfungen / Verkettungen mehrerer GlobalInts
Beitrag von: NsMn am 01. März 2009, 15:20:00
Nein, es ging einfach darum, um auf die Möglichkeiten hinzuweisen (Ich hätte wohl dazu schreiben sollen, dass die Klammern nicht zu viele, sondern nur "überflüssig" sind)
Titel: Re: Verknüpfungen / Verkettungen mehrerer GlobalInts
Beitrag von: Endres am 02. März 2009, 14:06:32
Postcount++
Du meinst wohl eher:
Zitat
Postcount++;
;D ;D
Titel: Re: Verknüpfungen / Verkettungen mehrerer GlobalInts
Beitrag von: NsMn am 02. März 2009, 15:07:48
@Off:

Postcount++;
;D ;D

Zitat von: AGS
An Error has occured.
Undefined Token: Postcount
:P
Titel: Re: Verknüpfungen / Verkettungen mehrerer GlobalInts
Beitrag von: KhrisMUC am 02. März 2009, 20:23:13
Der Lesbarkeit halber:
If (GetGlobalInt(101) == 2 && GetGlobalInt(110) == 5 && GetGlobalInt(201) == 3) {
Titel: Re: Verknüpfungen / Verkettungen mehrerer GlobalInts
Beitrag von: Timer am 02. März 2009, 20:52:39
... und:

"If" wird klein geschrieben!

 :P ;)