Global Variable Frage

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Global Variable Frage

Beitrag von Rocco »

also in meinem game, kann man zwischen 2 charakteren umschalten, ich hab das so gelöst, dass ich im global script eine variable definier whichplayer in der ich bei einem charakterwechsel festhalte welcher charakter gesteuert wird, diese variable wird exportiert und im script header importiert, damit sie im gesamten spiel vorhanden ist, dass funktioniert soweit gut und ich kann mittels runscript wunderbar darauf zugreifen.
nur wenn ich eine vordefinerte action auswähle funkt es nicht.

zB: ich habe einen gegenstand(objekt) und gehe in den interactions editor des objekts, weil ich haben möchte dass der charakter hingeht zum objekt, bevor es im inventar verschwindet.
Nur wenn ich auf Charakter-MoveCharakter klicke, ist das erste feld Charakter.
da ich nicht weiss, wer gerade gesteuert wird, möchte ich auf meine definierte variable whichplayer zugreifen, nur leider geht es da nicht, weil bei global variables meine whichplayer variable nicht dabei ist.

sollte ich möglicherweise meine whichplayer variable löschen und gleich eine global variable verwenden, wie müsste das dann aussehen, oder wie könnte ich sonst auf meine variable über dieses auswahlmenü zugreifen?

ich hoffe das ganze ist nicht zu verwirrend formuliert, und es kennt sich irgendwer aus, was ich meine. :D
Sharalamude

Beitrag von Sharalamude »

Ja ..... es ist verwirrend ..... Wie meinste das jetzt?

Code: Alles auswählen

if (GetPlayerCharacter() == EGO) {
  diesunddas();
  }
else if (GetPlayerCharacter() == MUMIE) {
  dasunddies();
  }
So wird doch ganz einfach abgefragt, welchen Spielercharacter du gerade spielst... Oder meinst du was anderes?
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

wie funktioniert die verwendung von den global variables im interactions Editor?
bzw. Wie kann ich im Interaction Editor, darauf zugreifen?
Wennn ich eine neue Aktion mit einem charakter setzten will, komm ich zu diesem fenster Bild
soweit so gut, jetzt will ich da über den oberen punkt variable auf meine globalen variablen zugreifen, nur sind dort drinnen weder meine eigens erstellten globalen variablen zu finden, noch solche, die ich im hauptscript zB. Mit SetGlobalInt erstellt hab.
Wie funktioniert das?
Sharalamude

Beitrag von Sharalamude »

Du brauchst den ganzen Interactionquark nicht. Du regelst das mit SCRIPTS! Von den ganzen anderen Funktionen halt dich fern, die sind für Anfänger, und du bist keiner!

Beispiel: Betrachte Hyroglyphen

Code: Alles auswählen

if (GetPlayerCharacter() == AEGYPTOLOGE) { 
  DisplaySpeech (AEGYPTOLOGE,"Da steht: Gehe sieben Meilen nach Osten.");
  }
else if (GetPlayerCharacter() == PENNER) { 
  DisplaySpeech (PENNER,"Ick kann det net lesen.");
  }
else if (GetPlayerCharacter() == GERHARDSCHROEDER) { 
  DisplaySpeech (GERHARDSCHROEDER,"Ich bin Bundeskanzler und kein Altägypter");
  DisplaySpeech (GERHARDSCHROEDER,"Was weiss ich, was da steht.
  }
So, das ist komplett _alles_.
Wenn es immer noch Probleme gibt, dann komm bitte zwischen jetzt (09:20) und 11:30 in den http://www.scummunity.de-Chat

MFG,
Sharalamude
Sharalamude

Beitrag von Sharalamude »

Hab das mit den globalen Variablen überlesen... was willst du denn mit denen?

Code: Alles auswählen

[...]
else if (GetPlayerCharacter() == PENNER) { 
  if (GetGlobalInt(0190)==2) {
    DisplaySpeech (PENNER,"Ick kann det net lesen."); 
    }
  else if (GetGlobalInt(0190)==1) {
    DisplaySpeech (PENNER,"Jetzt kann ick's lesen.");
    }
  } 
[...]
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Re: Global Variable Frage

Beitrag von Rocco »

Rocco hat geschrieben:also in meinem game, kann man zwischen 2 charakteren umschalten, ich hab das so gelöst, dass ich im global script eine variable definier whichplayer in der ich bei einem charakterwechsel festhalte welcher charakter gesteuert wird, diese variable wird exportiert und im script header importiert, damit sie im gesamten spiel vorhanden ist, dass funktioniert soweit gut und ich kann mittels runscript wunderbar darauf zugreifen. nur wenn ich eine vordefinerte action auswähle funkt es nicht.
dass ich das alles mit runscript machen kann, das weiss ich und funktioniert auch, wie ich ja schon im initialposting geschrieben habe, siehe oben.
nur will ich nicht für jede noch so winzige aktion ein runscript einfügen, sondern den eingebauten interactions editor verwenden weil es einfach praktisch ist und weil ich wissen will wie es funktioniert.
übrigens hast du dir schon mal überlegt wie so ein game aussieht wenn du bei jeder aktion vorher getplayercharakter abfrägst.
sehr umständlich, aber darum gehts mir nicht, und diese befehle kenn ich, danke
Sharalamude

Beitrag von Sharalamude »

Sorry, ich kann dir dann da nicht weiterhelfen.....Ich scripte ganz einfach und dann kann ich dir da leider nicht helfen, sorry :(

Sharalamude

PS:
übrigens hast du dir schon mal überlegt wie so ein game aussieht wenn du bei jeder aktion vorher getplayercharakter abfrägst.
Nun... ich weiß sogar wie es aussieht ^_° Man muss es bloß so coden, das man 'nen gewissen ÜBerblick hat.
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

für alle die es interessiert, die globalen variablen vom interactions editor sind so wie es aussieht ein geschlossene gesellschaft :wink: .
die einzige zugriffsmöglichkeit dürfte sein:

The interaction editor global variables differ from the ordinary globalints. You can only read interaction editor's global variables with the GetGraphicalVariable (string variable_name) function.

ps: Sharalamude - wenn du in einer globalen variable bei jedem charakterwechsel reinschreibst wer gerade dran ist, dann ersparst du dir die ganze abfragerei und hast eine variable auf die du von überall aus zugreifen kannst.
Antworten