Goto room number...

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
lord of the clans
Frischling
Frischling
Beiträge: 6
Registriert: 08.04.2006, 12:26
Kontaktdaten:

Goto room number...

Beitrag von lord of the clans »

So,
hallo nochmal.
Ich habe volgendes Problem:
Ich möchte das, wenn der Mauszeiger an ner bestimmten stelle ist er sich in einen Pfeil verwandelt un man durch einen Klick in den nächsten Raum kommt.
Soweit die Theorie aber wie siehts aus mit der Praxis?
Wascheinlich gibts ne total einfache lösung aber es hapert bei mir mit dem scripten..
Habter ne idee?



mfg lord of the clans
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

Am Anfang des RoomScript
String orttest="derNamedesHotspotdendudafürverwendest"

In der Rep_ex des Raumes
if (game.GetLocationName(mouse.x,mouse.y)==orttest) {
mouse.Mode (x) //anstelle des x den Mode
}

Damit er dann in den Raum geht einfach bei der Aktion zu dem Cursor-Mode für diesen Hotspot:
player.ChangeRoom(room)

das sollte eigentlich funktionieren, ich hab es jetzt aber nicht ausprobiert. Vielleicht gibts auch noch eine sinnvollere Methode, aber was anderes fällt mir im Moment nicht ein.
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Mein Vorschlag (hab ich schon vorher angefangen, aber konnte ich erst jetzt posten :)):

Eine Region zeichnen, die Folgendes abdeckt:

a) den Teil der walkable area, der den Spieler beim Betreten in den nächsten Raum bringt
b) den Teil des Screens, auf dem der Cursor zum Pfeil werden soll.

Raumskript:

Code: Alles auswählen

Region *reg;

function room_X() {
  // room's rep_ex (über Interaction-Editor erstellen!)
  reg=Region.GetAtScreenXY(mouse.x + GetViewportX(), mouse.y + GetViewportY());
  if (mouse.Mode==eModeWalkto) {
    if (reg.ID>0) mouse.ChangeModeGraphic(eModeWalkto, ?);   // ? = Pfeil-Sprite
    else mouse.ChangeMode(eModeWalkto, ?); // ? = Walk-Cursor
  }
}
Wenn man direkt durch einen Klick im nächsten Raum landen soll (anstatt player walks on region zu verwenden), ist es praktischer, einen Hotspot zu verwenden und in der any click on hotspot-Interaction den Raumwechsel zu machen.
Use gopher repellent on funny little man
Antworten