Problem mit Inselkarte

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
Lak
Rätselmeister
Rätselmeister
Beiträge: 1586
Registriert: 27.02.2005, 10:43
Wohnort: London (England)

Problem mit Inselkarte

Beitrag von Lak »

Jaha, ich lebe!

Moin.

Habe auch gleich mal wieder ein Problem, das mich sehr differiert:

Ich habe eine Monkey-Island-1/2-ähnliche Karte in einem kleinen Template. Auf dieser Karte kann man nicht überall kreuz und quer langlaufen, sondern muss einen entsprechenden Weg nutzen, ähnlich wie in Monkey Island 1 bspw. auf Meele Island (hab ich kurz mal nachgeschaut, dort ist es genauso!) Soooo: Wenn der Spieler nun irgendwo auf der Karte steht und man einen bestimmten Ort anklicken möchte, zu dem er gehen soll, dann muss sich der Spieler logischerweise in Richtung dieses Punktes auf der Karte begeben, damit anschließend der neue Raum geladen wird. Problem: Wenn er irgendwo ganz weit weg steht, geht er nicht erst zu dem Punkt und wechselt dann den Raum, sondern wechselt ihn sofort, da AGS den Weg zu dem Punkt nicht automatisch findet, man müsste erst um zweidrei Kurven gehen, damit es das tut.

Verstanden? ^^

Hilfe! ^^

MFG.
Und guten Rutsch btw ;d
...
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Das Pathfinding von AGS funktioniert auch mit riesigen Räumen und total labyrinthförmigen walkable areas.

Voraussetzung ist allerdings, dass die WA überall mindestens 3 Pixel "dick" ist.
Wenn das bereits der Fall ist, mach doch mal einen Screenshot von dem Raum im Editor.
Use gopher repellent on funny little man
Benutzeravatar
Lak
Rätselmeister
Rätselmeister
Beiträge: 1586
Registriert: 27.02.2005, 10:43
Wohnort: London (England)

Beitrag von Lak »

Ich hatte eben erst die Vermutung, dass es wohl keine 3 Pixel sind. Habe aber nachgeguckt und musste nun feststellen, dass es fast überall sogar 4-5 Pixel sind. Screenshot kann ich nich machen :/ Mache das leider nicht allein. Kanns andere Gründe haben?

Ich nutze AGS 2.71

MFG
...
Benutzeravatar
Kaktus
Tastatursteuerer
Tastatursteuerer
Beiträge: 658
Registriert: 17.02.2006, 01:45
Wohnort: Wüstä
Kontaktdaten:

Beitrag von Kaktus »

Das einzige wäre noch, dass der Char außerhalb der WA steht, aber das hast du warscheinlich schon gecheckt.

Also wenn es nicht klappt, kannst du es z.b. mit regions lösen und den char erst zu einer Kreuzung laufen lassen und dann zum eigentlichen Zielort:

if(Region.GetAtRoomXY(player.x, player.y) == region[nr der Region]){
player.AddWaypoint(Position der Kreuzung);
player.AddWaypoint(Position des Zielortes);
}
Benutzeravatar
Lak
Rätselmeister
Rätselmeister
Beiträge: 1586
Registriert: 27.02.2005, 10:43
Wohnort: London (England)

Beitrag von Lak »

Okay, danke. Ich probier's mal aus und meld mich dann nochmal. :)

MFG
...
Benutzeravatar
Lak
Rätselmeister
Rätselmeister
Beiträge: 1586
Registriert: 27.02.2005, 10:43
Wohnort: London (England)

Beitrag von Lak »

Moin.

Erst nochmal danke für die schnelle Hilfe.

Mein Programm funktioniert dennoch leider immer noch nicht wie gewünscht :/

Kurze Erläuterung: Ich benutze die von LF für MMM entwickelte GUI um mit den Funktionen UsedAction -> MovePlayer usw. einen Raum zu wechseln. Es fiel mir schon ein wenig schwer, den Script für die Regions dort an der geeigneten Stelle zu platzieren. Das Gewünschte funktioniert aber dennoch nicht: Der Spieler wechselt bei zuviel vorhandenen Eckpunkten bzw. Kurven - wie ich die entsprechenden Punkte mal bezeichnen möchte - die Kulisse, ohne vorher zum entsprechenden Punkt zu gehen.

Ich bin ein wenig ratlos. Könnte man das noch komplizierter schreiben müssen?

MFG

edit:

Wenn ich "while(character[...].walking) Wait (1);" hinter deinen Script setze, läuft er zwar hin, aber durchgehend, ohne dass man das Erreichen dieses Punktes noch per Mausklick auf die Karte verhindern kann, was aber eigentlich Sinn der Used_Action WALK_TO wäre (hoffe du verstehst das so). Es ergibt durchaus Sinn, dass er das beim Einsetzen dieser Zeile tut, ist aber doof ^^

MFG
...
Benutzeravatar
Kaktus
Tastatursteuerer
Tastatursteuerer
Beiträge: 658
Registriert: 17.02.2006, 01:45
Wohnort: Wüstä
Kontaktdaten:

Beitrag von Kaktus »

Vielleicht könntest du ja in den Script vom Zielpunkt sowas schreiben, wie:
if(character[...].walking == 0) ChangeRoom(...);

Ansonsten fiele mir jetzt auch nichts ein.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Wie hast Du die Region denn eingezeichnet?
Ist sie nur ein kleiner 4x4-Fleck am Ende der WA?
Der Charakter dürfte eigentlich nicht vor Erreichen wechseln.
Ich probier das mal eben aus.

Edit:
So, ich hab mal mit einem 5x5-Brush verschlungene Wege gemalt. Roger hat sich nicht vom Fleck bewegt, wenn das Ziel zu weit von seiner aktuellen Position weg war.
Mit einem 10x10-Brush hats dann sofort geklappt.

Ich bin mir trotzdem noch nicht sicher, dass ich Dein Problem genau verstehe, Lak. Könntest Du mal Screenshots von deinen WAs und Regions posten?
Use gopher repellent on funny little man
Antworten