DOTT Interface (2 Personen) für AGS 2.7

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Gast

DOTT Interface (2 Personen) für AGS 2.7

Beitrag von Gast »

Ich suche ein Template für AGS mit DOTT Interface (also so wie bei Maniac Mansion Mania) - mit dem man allerdings zwei Personen steuern kann - also wie bei Day of the Tentacle man zwischen zwei Personen wechseln kann.

Gibt es das?! Ich habe ein Dott Template gefunden - bei dem man allerdings drei hat - und man die im Template existierenden Charaktere nicht austauschen kann. Das Gefunde Template geht auch nur bei AGS 2.62.

Wenn jemand helfen kann - vielen Dank :-)
Gast

Beitrag von Gast »

Würde mich auch interessieren :-D. Gibt es einen Grund warum die AGS 2.7 verwenden möchtest? Für AGS 2.62 habe ich ein Template im DOTT Style.

Falls es das selbe ist was du hast - ist es durchaus möglcih auf 2 Personen den Wechsel zu beschränken. Schau hierzu mal in die Global_scripts....
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

Anonymous hat geschrieben:Würde mich auch interessieren :-D. Gibt es einen Grund warum die AGS 2.7 verwenden möchtest?
Nun ja... AGS 2.7 ist objektorientiert, hat mehr Funktionen, ist komfortabler... stimmt, wieso eigentlich?
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge

Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.

Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Gast

Beitrag von Gast »

Ich will ein MMM-Folge machen bei der man mit Bernhard und mit Sandy spielen muss. Dummerweise weiss ich nicht wie das umzusetzten ist....
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Ich glaube, diese Fragestellung wurde hier schon mal beantwortet.

Theoretisch ist das ganze sehr einfach, da im Global Script des MMM-Packs bereits eine eigene ChangePlayer-Funktion enthalten ist. Diese ändert nicht nur den aktiven Character, sondern scrollt gegebenenfalls rüber, falls beide in einem Raum sind.

Zusätzlich muss man jetzt nur einen Button einfügen (entweder auf dem vorhandenen GUI, notfalls muss man eben das Inventarfenster verkleinern, oder auf einem extra-GUI), der folgende Funktion ausführt:

Code: Alles auswählen

  if (player==cBernard) {
    Cpbutton.NormalGraphic=xxx; // Bernards Kopf-Sprite
    ChangePlayer(cBernard.ID); // MMM-Funktion arbeitet mit Nummer des Chars
  }
  else {
    Cpbutton.NormalGraphic=xxx; // Sandys Kopf-Sprite
    ChangePlayer(cSandy.ID);
  }
}
Damit der Knopf diese Funktion ausführt, muss man seinen Script name auf "Cpbutton" und sein Left click auf "Run Script" setzen.
Außerdem muss der Code natürlich in der on_interface_click im Global Script an die entsprechende Stelle.
Use gopher repellent on funny little man
Gast

Beitrag von Gast »

Ich bekomme das einfach nicht hin *heul*.

Das kann doch nicht so superschwer sein.

Ich habe schon die GUI reduziert auf 8 Buttions:
Schauen, Nehmen, Öffnen, Benutzen, Geben,Reden Ziehen und ein Kopf.

Das Kopf Symbol muss sich nicht mal ändern können. Es geht lediglich darum das man beim knopf auf Bernhard bzw. auf Sandy wechselt.

Könnte mir einer eventuell das angepasste senden?

Meine eMail lautet dream44@Schweiz.com

Vielen Dank im Vorraus,

oder einfach mir mal genauer klären wo ich was ändern muss. Ich versuchs schon den ganzen Tag, habe wohl tomaten auf den Augen. :_(
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Es gibt im Global Script eine Funktion namens "interface_click" (Menü -> Script -> interface_click).

Jedesmal, wenn man auf einen GUIButton klickt, wird die Funktion aufgerufen und ihr die Nummer des GUIs und des Buttons geko-, äh, übergeben.
Das GUI ist Nummer 1, angenommen, der Button hat die Nummer 12, dann passiert bei Klick das hier:

Code: Alles auswählen

interface_click(1, 12);
Du musst also wie oben beschrieben zur interface_click-Funktion, die if-Schleife suchen, die mit

Code: Alles auswählen

if (interface==MAINGUI)
losgeht (MAINGUI ist einfach eine Variable, die den Wert 1 hat, sie wird nur verwendet, um den Code lesbarer zu machen), und den Code da reinschreiben.
Bei MMM würde das dann so aussehen:

Code: Alles auswählen

function interface_click (int interface, int button){
  string buffer;
  // ------------------------------------------------------
  if (interface == MAINGUI)
  {
    if (IsGUIOn (OPTIONS) || IsGUIOn (RESTORE) || IsGUIOn (SAVE)) 
    { 
      // disable GUI, when other GUI is on
    }
    // Inventory Scrolling:
    else if (button == 10)
    {
      if (game.top_inv_item < game.num_inv_items - game.num_inv_displayed)
      {
        game.top_inv_item = game.top_inv_item + (game.num_inv_displayed / 2);
      }
    }
    else if (button == 9)
    {
      if (game.top_inv_item > 0)
      {
        game.top_inv_item = game.top_inv_item - (game.num_inv_displayed / 2);
      }
    }
    else if (button==12) {
      // ChangePlayer-code von oben      <----------------------######
    }
    // click on action button
    else
    {
      SetAction (button_action [button]);
    }
  }
Use gopher repellent on funny little man
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

khrismuc hat geschrieben:, die if-Schleife suchen,
ich bin entsetzt, khrismuc von dir hätt ich so einen fauxpas nicht erwartet :wink:
alles gute im neuen jahr übrigens - an alle die das lesen.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Hehe, als ich "Schleife" geschrieben hab, ging mir noch durch den Kopf "nee, stimmt doch garnich, wie hieß das nochmal, ähh, egal" ;)
Aber ich muss zugeben, ich wüßte es immer noch nicht, if-Bedingung hört sich auch doof an, wie heißt es denn nu? :mrgreen:
Use gopher repellent on funny little man
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

Bedingungsausführungsteilprogramm, wieso? :mrgreen:

Ach ja, nochmal frohes neues und so ;)
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge

Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.

Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Smiley
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 163
Registriert: 28.04.2005, 16:26
Wohnort: Mönchengladbach

Beitrag von Smiley »

if-Verzweigung...
Benutzeravatar
Floyd
Logik-Lord
Logik-Lord
Beiträge: 1088
Registriert: 14.03.2004, 19:59

...

Beitrag von Floyd »

Oder auch if-Abfrage.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Oder auch if-Bedingung? Hört sich aber seltsam doppelt gemoppelt an...
Use gopher repellent on funny little man
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

vielleicht if-statement, klingt schön international.
aber es is definitiv keine schleife
Antworten