Autor Thema: Hilfe für Bernard13  (Gelesen 5896 mal)

Bernard13

  • kleiner Tentakelsaugknopf
  • **
  • Beiträge: 26
  • Geschlecht: Männlich
  • Das bin ich.
    • Profil anzeigen
    • E-Mail
Hilfe für Bernard13
« am: 25. Oktober 2007, 21:08:30 »
Kann mir irgendjemand sagen wie ich eine in einer
GlobalInt gespeicherte Zahl auf dem im Spiel als Text
ausgeben kann?

Bernard13
Momentanes Projekt:
Projektname: Unbekannt
Starterpack: Schule
Fertigstellung: 40%
Hilfe benötigt für: Schulbandraum mit
                         animierten Bandmitgliedern

Timer

  • volljähriger Tentakel
  • *****
  • Beiträge: 763
  • Geschlecht: Männlich
    • ICQ Messenger - 275798409
    • AOL Instant Messenger - commandertimer
    • Profil anzeigen
    • Meine Seite
    • E-Mail
Re: Hilfe für Bernard13
« Antwort #1 am: 25. Oktober 2007, 21:41:31 »
Zum Beispiel so:

player.Say ("%d ist die Zahl.", GetGlobalInt (2));
Ich hoffe, dass das deine Frage beantwortet. ;)

Bernard13

  • kleiner Tentakelsaugknopf
  • **
  • Beiträge: 26
  • Geschlecht: Männlich
  • Das bin ich.
    • Profil anzeigen
    • E-Mail
Re: Hilfe für Bernard13
« Antwort #2 am: 26. Oktober 2007, 16:10:03 »
Kann ich das auch so ausgeben ,dass es kein
Charakter sagt, also dass nur eine reine Textmeldung erscheint?
Momentanes Projekt:
Projektname: Unbekannt
Starterpack: Schule
Fertigstellung: 40%
Hilfe benötigt für: Schulbandraum mit
                         animierten Bandmitgliedern

Bernard13

  • kleiner Tentakelsaugknopf
  • **
  • Beiträge: 26
  • Geschlecht: Männlich
  • Das bin ich.
    • Profil anzeigen
    • E-Mail
Re: Hilfe für Bernard13
« Antwort #3 am: 26. Oktober 2007, 16:17:14 »
Und eine dumme Fragen hab ich noch.

Wie kann ich folgenden Term als script schreiben?:

GlobalInt (29) * 10 + x
Momentanes Projekt:
Projektname: Unbekannt
Starterpack: Schule
Fertigstellung: 40%
Hilfe benötigt für: Schulbandraum mit
                         animierten Bandmitgliedern

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 988
    • Profil anzeigen
Re: Hilfe für Bernard13
« Antwort #4 am: 26. Oktober 2007, 16:24:47 »
Bei General settings gibt es eine Einstellung "always display text as speech".
Wenn da ein Haken drin ist, werden alle Display-Befehle vom Hauptcharakter gesprochen. Mach einfach den Haken raus.

Der Term kann direkt so ins Skript.

Display("%d", GlobalInt(29)*10+x);

Übrigens: nicht alle Befehle für Strings können das so verarbeiten.
Wenn Du z.B. den Namen eines InventarItems ändern willst, geht das nicht.
iBall.Name="%d", GetGlobalInt(29);
ergibt logischerweise einen parse error.
In diesem Fall musst Du den Befehl String.Format verwenden:
iBall.Name=String.Format("%d", GetGlobalInt(29));

Bernard13

  • kleiner Tentakelsaugknopf
  • **
  • Beiträge: 26
  • Geschlecht: Männlich
  • Das bin ich.
    • Profil anzeigen
    • E-Mail
Re: Hilfe für Bernard13
« Antwort #5 am: 28. Oktober 2007, 14:05:08 »
So funktioniert das leider nicht.

Ich brauche einen einzelnen Befehl für:

GlobalInt (29) *10

und einen einzelnen Befehl für:

GlobalInt (29) +x

Danke für die Antwort

Bernard13
« Letzte Änderung: 28. Oktober 2007, 14:06:45 von Bernard13 »
Momentanes Projekt:
Projektname: Unbekannt
Starterpack: Schule
Fertigstellung: 40%
Hilfe benötigt für: Schulbandraum mit
                         animierten Bandmitgliedern

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 988
    • Profil anzeigen
Re: Hilfe für Bernard13
« Antwort #6 am: 28. Oktober 2007, 17:03:47 »
Doch, das funktioniert.
Es gibt nicht direkt einen Befehl, sondern Du schreibst den Term einfach statt einer Zahl ins Skript.

Entscheidend ist halt, was Du mit dem Ergebnis der Rechnung machen willst.
Angenommen, Du willst es in GlobalInt Nr. 30 speichern:
SetGlobalInt(30, GetGlobalInt(29)*10+x);
Das x muss natürlich eine vorhandene Variable sein, sonst gibts ne Fehlermeldung.

Oder Du speicherst das Ergebnis in y:
int y;
y=GetGlobalInt(29)*10+x;

Es würde helfen, wenn ich wüsste, was genau Du vorhast.

Bernard13

  • kleiner Tentakelsaugknopf
  • **
  • Beiträge: 26
  • Geschlecht: Männlich
  • Das bin ich.
    • Profil anzeigen
    • E-Mail
Re: Hilfe für Bernard13
« Antwort #7 am: 29. Oktober 2007, 11:20:33 »
Ich will eine Telefontastatur erzeugen.
Ich hab alle Tasten als einen Hotspot angamalt.
Wie in deinem Toturial.

Nun speichert x schon immer die richtige Zahl.
Jetzt will ich die ganze gewählte Telefonnummer
in einer GlobalInt speichern und dann als Textmeldung
ausgeben.

Dazu wollte ich folgendes machen:

GlobalInt (29) *10 +x

und dann irgendwie ausgeben.

Reicht dir das?
Momentanes Projekt:
Projektname: Unbekannt
Starterpack: Schule
Fertigstellung: 40%
Hilfe benötigt für: Schulbandraum mit
                         animierten Bandmitgliedern

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2653
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: Hilfe für Bernard13
« Antwort #8 am: 29. Oktober 2007, 13:00:44 »
für deine zwecke eignet sich eine globale string-variable besser
einfach den string mit einem leerstring "" initialisieren und bei den tasten dann die zahl als zeichen hinten an den string anhängen (ich glaub die funktion heisst string.Append oder so)

bei der integer-rechnerei hast du außerdem ein problem, wenn als erste nummer eine 0 gewählt wird  ;)
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 988
    • Profil anzeigen
Re: Hilfe für Bernard13
« Antwort #9 am: 29. Oktober 2007, 14:30:05 »
Reicht nicht. Wie sieht dein Code bisher aus?
Soll die Telefonnummer nicht schon während des Wählens sichtbar sein?

Bernard13

  • kleiner Tentakelsaugknopf
  • **
  • Beiträge: 26
  • Geschlecht: Männlich
  • Das bin ich.
    • Profil anzeigen
    • E-Mail
Re: Hilfe für Bernard13
« Antwort #10 am: 01. Dezember 2007, 09:19:27 »
Hi,
ich hab wieder mal ne Frage. In fast allen Epi's ist doch ein Abspann enthalten, der von oben nach unten durchläuft. Wie erstell ich so was?

Und noch ne Frage: Wie funktioniert der Befehl  AnimateObjekt gednau???

Danke für eure Antworten.

Tschü Bernard13
Momentanes Projekt:
Projektname: Unbekannt
Starterpack: Schule
Fertigstellung: 40%
Hilfe benötigt für: Schulbandraum mit
                         animierten Bandmitgliedern

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 988
    • Profil anzeigen
Re: Hilfe für Bernard13
« Antwort #11 am: 01. Dezember 2007, 16:47:19 »
Abspann:
Es gibt mehrere Möglichkeiten, Text auf den Bildschirm zu bringen: Overlays, Labels, RawPrint, Objekte.

Eine ganz simple Methode wäre, einen Raum mit 320x1000 zu machen, den kompletten Abspann im Grafikprogramm draufzutexten und dann den Raum durchscrollen zu lassen.

Die andere Methode:
-Jede Textzeile bekommt eine y-Koordinate (das geht mit arrays) von z.B. 200-900
-eine Schleife zieht bei jedem Durchgang von allen y-Koordinaten 1 ab, prüft, ob die Koordinate zwischen 0 und 200 liegt und wenn ja, zeigt den Text an der Koordinate zentriert an.

#define ZEILEN 20

int texty[ZEILEN];
String text[ZEILEN];

function Abspann() {
  texty[0]=100; text[0]="Maniac Mansion Mania Episode X: bla bla";
  texty[1]=150; text[1]="von Bernard13";
  texty[2]=200; text[2]="...";
  ...

  int c, x, y;
  while(texty[ZEILEN-1]>-12) {    // letzte Zeile vom Bildschirm verschwunden?
    RawDrawSetColorRGB(1, 1, 1);  // schwarz
    RawDrawRectangle(0, 0, 319, 199);  // Bildschirm löschen

    c=0;
    while(c<ZEILEN) {  // alle Zeilen durchzählen
      texty[c]--;  // Koordinate verkleinern

      y=texty[c];
      if (y>-12 && y<200) {    // Zeile sichtbar?
        x=160-GetTextWidth(text[c], 1);
        RawDrawSetColorRGB(255, 255, 255); // weiß
        RawPrint(x, y, text[c]);  // Zeile ausgeben
      }

      c++;
    }
    Wait(1);
  }
}

Aus dem Gedächtnis geschrieben, also ungetestet. Wenn ein Befehl nicht erkannt wird, bitte erst die Hilfedatei bemühen, OK? ;)
« Letzte Änderung: 02. Dezember 2007, 15:59:15 von KhrisMUC »

NsMn

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1646
  • Geschlecht: Männlich
  • überzeugter Paint-Nutzer
    • ICQ Messenger - 404385098
    • Profil anzeigen
    • E-Mail
Re: Hilfe für Bernard13
« Antwort #12 am: 17. Februar 2008, 14:44:16 »
Welches Toturial?Ist das ein deutsches?Wo finde ich das??

Cone Arex

  • Mod
  • alter Tentakel
  • **
  • Beiträge: 2302
  • Geschlecht: Männlich
  • Skandal-Entwickler und Idiot
    • Profil anzeigen
    • Conequest
Re: Hilfe für Bernard13
« Antwort #13 am: 17. Februar 2008, 20:30:47 »
Wenn du die Hilfedatei meinst: Nein, die ist auf Englisch(liegt übrigens im AGS-Verzeichnis).
Es gibt zwar eine deutsche Übersetzung, aber die ist:
1. Nicht Vollständig.
2. Auf dem Stand von AGS 2.7.


Folge mir auf X und itch.io

NsMn

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1646
  • Geschlecht: Männlich
  • überzeugter Paint-Nutzer
    • ICQ Messenger - 404385098
    • Profil anzeigen
    • E-Mail
Re: Hilfe für Bernard13
« Antwort #14 am: 19. Februar 2008, 16:19:13 »
Ich meine das Toturial für das eingabefeld von dem BERnard13 sprach(oder eher schrieb ;))