Umfrage

Sind weitere Starterpacks für AGS3 sinnvoll?

Ja, auf jeden Fall!
11 (68.8%)
Wäre schön mehr als eines zu haben.
4 (25%)
Ist mir egal.
0 (0%)
Eines reicht doch!
1 (6.3%)
Ich nehme grundsätzlich nicht an Umfragen teil.
0 (0%)

Stimmen insgesamt: 16

Umfrage geschlossen: 28. November 2008, 19:47:21

Autor Thema: Weitere Starterpacks für AGS3  (Gelesen 107647 mal)

rulaman

  • Mod
  • Teenie Tentakel
  • **
  • Beiträge: 354
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Weitere Starterpacks für AGS3
« Antwort #135 am: 05. September 2010, 18:37:55 »
So, jetzt gibt es das Mansion-Starterpack als offizielle Version für AGS3.2

Es sollte noch etwas getestet werden, bevor es endgültig freigegeben wird.

MansionSP-v1_1-AGS3_2_RC3

Grüße
Rulaman
Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

Endres

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1264
  • Geschlecht: Männlich
  • En|dres, der
    • ICQ Messenger - 230191486
    • MSN Messenger - enni_puschner@hotmail.de
    • Profil anzeigen
    • e7p.de
    • E-Mail
Re: Weitere Starterpacks für AGS3
« Antwort #136 am: 05. September 2010, 18:54:34 »
In manchen Raumskripten steht (hier z.B. Kerker):
cFred.SayIfIsEdison("Das ist die erste Tür zu meinem Geheimlabor.");
cEdna.SayIfIsEdison("Das geht es in das Geheimlabor von meinem Schatz.");
cEd.SayIfIsEdison("Da geht es in das Geheimlabor von Papa.");
player.SayIfNotEdison("Das ist die äußere Tür zum Labor.");
Da müsste denke ich folgendes stattdessen hin:
cFred.SayIfPlayer("Das ist die erste Tür zu meinem Geheimlabor.");
cEdna.SayIfPlayer("Da geht es in das Geheimlabor von meinem Schatz.");
cEd.SayIfPlayer("Da geht es in das Geheimlabor von Papa.");
player.SayIfNotEdison("Das ist die äußere Tür zum Labor.");

Vielleicht könnte man die Funktion SayIfEdisonElse (bzw. sogar nur SayIfEdison) zu dem Zweck auch nochmal (rückwärtskompatibel) überarbeiten, also die Syntax z.B.:
player.SayIfIsEdisonElse(String message, optional String messageNotEdison, optional String messageFred, optional String messageEdna, optional String messageEd);Als zugehörige Funktion würde ich mir sowas in der Art vorstellen:
bool SayIfIsEdisonElse(this Character*, String message, String messageNotEdison, String messageFred, String messageEdna, String messageEd) {
 // Weitere Edisons einfügen, wenn Chars importiert sind.
 if(this!=cFred||this!=cEdna||this!=cEd) this.Say(message);
 else {
  if(this==cFred) {
   if(messageFred) this.Say(messageFred);
   else if(messageNotEdison) this.Say(messageNotEdison);
  } else if(this==cEdna) {
   if(messageEdna) this.Say(messageEdna);
   else if(messageNotEdison) this.Say(messageNotEdison);
  } else {
   if(messageEd) this.Say(messageEd);
   else if(messageNotEdison) this.Say(messageNotEdison);
  }
 }
}
Hab ich jetzt nicht getestet, aber dann könnte man im Kerker das schonmal (zumindest von der Anzahl der Befehle) radikal verkürzen:
player.SayIfIsEdisonElse("...zum Labor.","","...meinem Geheimlabor.","...meinem Schatz.","...Papa.");

Bei den Tür-Lookats hattest du dich auch einmal vertan, leider weiß ich nicht mehr wo, weil ich das schon überschrieben habe.
Wenn ich noch mehr wichtiges sehe, werde ich dich benachrichtigen. ;)

Zitat
Dann noch die Funktion "Variable Extension" ersetzen durch:
Das reicht nicht, denn um das neue Tür-Skript in ältere (3.0.2) Starterpacks zu integrieren muss man zudem noch die DoorType-Funktionen aus einem neueren einfügen und DOORS_MAX definieren, das war mir noch aufgefallen, denn nur mit den Extensions ist einem ja noch nicht geholfen. ;)
« Letzte Änderung: 05. September 2010, 19:00:03 von Endres »


Domi:"irc hab ich mir viren geholt.. icq hab ich nimmer"

rulaman

  • Mod
  • Teenie Tentakel
  • **
  • Beiträge: 354
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Weitere Starterpacks für AGS3
« Antwort #137 am: 03. Oktober 2010, 12:27:24 »
Hi Endres,

hab den Thread erst jetzt entdeckt.

Zu den Raumskripten:
Werde ich korrigieren.

Zu den Funktionserweiterungen:
Ich habe mich bewusst dagegen entschieden so einen Bandwurm zu machen, da sonst die Zeilen zu lang werden.
Außerdem ist manchmal es nicht ersichtlich, welcher Kommentar wohin gehört.

Zu den Variable Extensions:
Verstehe ich nicht ganz. Hast du dir die alten 3.0.2er Packs mal angeschaut.
Soweit ich weiß sind die schon dafür vorgesehen. Sprich es ist mindestens eine Tür als Beispiel drin. Die DOORS_MAX ist doch definiert.

Übrigens gibt's zwei. DOORS_MAX und MAX_DOORS. Habe ich leider übersehen. DOORS_MAX ist für die alte Türenskript-Funktionen, MAX_DOORS ist für die neuen Türen-Funktionen.
Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

Endres

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1264
  • Geschlecht: Männlich
  • En|dres, der
    • ICQ Messenger - 230191486
    • MSN Messenger - enni_puschner@hotmail.de
    • Profil anzeigen
    • e7p.de
    • E-Mail
Re: Weitere Starterpacks für AGS3
« Antwort #138 am: 03. Oktober 2010, 17:21:49 »
Also im leeren SP musste ich das komplette Door-Skript erweitern. Aber eigentlich benutzt man ja nicht das leere SP, hatte damit nur MMMNetwork angefangen, weil es da noch kein Villa SP gab und ich schlecht mit soviel umgebautem Code nochmal neuanfangen wollte.
Du hattest nur was von VariableExtensions gesagt, aber die Türfunktionen sind ja in den 3.1er Packs auch im Globalscript, und in den 3.0ern noch nicht. ;)

DOORS_MAX ist für die alte Türenskript-Funktionen, MAX_DOORS ist für die neuen Türen-Funktionen.
Kann auch sein, dass ich dann einfach alle MAX_DOORS durch DOORS_MAX ersetzt hab. ;D
« Letzte Änderung: 03. Oktober 2010, 17:22:51 von Endres »


Domi:"irc hab ich mir viren geholt.. icq hab ich nimmer"

rulaman

  • Mod
  • Teenie Tentakel
  • **
  • Beiträge: 354
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Weitere Starterpacks für AGS3
« Antwort #139 am: 03. Oktober 2010, 23:03:47 »
Dann ist die Homepage nicht aktuell.
Habe gerade nocheinmal nachgeschaut. Ich habe die aktuellen Versionen bereits im Forum gepostet.
Dort wurde auch das leere SP nachgezogen.
Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

1mal_volltanken

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1250
  • Geschlecht: Männlich
  • Traue niemals einem glatzköpfigen Friseur!
    • ICQ Messenger - 327646596
    • Profil anzeigen
Re: Weitere Starterpacks für AGS3
« Antwort #140 am: 08. Oktober 2010, 15:01:49 »
Ich habe ja noch mal nachgeschaut. Es ist noch kein Starterpak für 3.1.x dabei, die anderen sind ja auf 3.0.2 .
Wäre evtl. noch ganz praktisch, dafür noch ein Starterpak rauszubringen.

Das muss ja kein großes Ding sein. Es reichen dafür ja 5 Räume incl. Startseite schon aus, um sämtliche Grundfunktionen unterzubringen.
Gerade, wenn man etwas ganz eigenes machen möchte und sich ein Starterpak dafür aussucht ist es ohnehin von Vorteil, wenn nicht ganz so viele Räume da sind und man nicht noch die vielen Ints rausfischen muss. ;)
Also optimal wäre schon, wenn es jetzt kein ganz leeres Starterpak ist, sondern eben ein kleines. :) Und eben für 3.1.x .


BG
der Volltanker
"Tage sind eigentlich wie Nächte...nur nicht ganz so spät!"...hörte ich einmal einen sehr klugen, alten Mann beim Erdnüsse sortieren in der Kneipe sagen, kurz bevor er vom Hocker rutschte.


"Nicht jeder, der aus dem Rahmen fällt, war vorher im Bilde!"

Endres

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1264
  • Geschlecht: Männlich
  • En|dres, der
    • ICQ Messenger - 230191486
    • MSN Messenger - enni_puschner@hotmail.de
    • Profil anzeigen
    • e7p.de
    • E-Mail
Re: Weitere Starterpacks für AGS3
« Antwort #141 am: 08. Oktober 2010, 15:08:16 »
Also die Starterpacks für 3.0.2 müssen auch so schon mit 3.1. gehen, so hab ichs gemacht.
Ansonsten finde ich nicht unbedingt, dass überhaupt richtige Räume fürs Gameplay (4 sind ja auch so schon drin) darin sein müssten. Ich würde das so machen, dass ich mir dann einfach ein fertiges Starterpack ansehe und mithilfe dessen Räume eigene mache. (Bei MMMN habe ich das zwar auch mit dem leeren Starterpack gemacht, da aber ganz anders ;))
« Letzte Änderung: 08. Oktober 2010, 15:09:25 von Endres »


Domi:"irc hab ich mir viren geholt.. icq hab ich nimmer"

rulaman

  • Mod
  • Teenie Tentakel
  • **
  • Beiträge: 354
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Weitere Starterpacks für AGS3
« Antwort #142 am: 09. Oktober 2010, 16:53:43 »
Ich habe ja noch mal nachgeschaut. Es ist noch kein Starterpak für 3.1.x dabei, die anderen sind ja auf 3.0.2 .
Wäre evtl. noch ganz praktisch, dafür noch ein Starterpak rauszubringen.[...]

Es steht ja in den Starterpacks, was für 3.1 zu tun ist.

[...] wenn nicht ganz so viele Räume da sind und man nicht noch die vielen Ints rausfischen muss. ;)[...]

Ints ??? ??? ??? ??? ??? ???
GlobalInts  ??? ??? ??? ??? ??? ???
ES GIBT KEINE GLOBALINTS MEHR!! (ZEFIX)



[...]Ansonsten finde ich nicht unbedingt, dass überhaupt richtige Räume fürs Gameplay (4 sind ja auch so schon drin) darin sein müssten.[...]

Da stimmte ich Endres zu.


Grüße
Rulaman
Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

rulaman

  • Mod
  • Teenie Tentakel
  • **
  • Beiträge: 354
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Weitere Starterpacks für AGS3
« Antwort #143 am: 21. November 2010, 13:00:28 »
So, ......

da das Police Molest Starterpack schon einige Zeit auf meiner Festplatte herumlungert, wird es langsam Zeit die BETA-Phase einzuläuten.
Wer das Ganze BETA-Testen will soll sich bei mir Melden.
Per PM oder im Forum.


Grüße
Rulaman
Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

KhrisMUC

  • Mod
  • volljähriger Tentakel
  • **
  • Beiträge: 989
    • Profil anzeigen
Re: Weitere Starterpacks für AGS3
« Antwort #144 am: 25. November 2010, 19:56:38 »
Ich hab mal ein paar Fragen zum neuen Türensystem:

Warum muss eine Tür wissen, welche Hotspots sie hat?
Und warum braucht eine Tür zwei Objekte (Door.o_Objekt, Door.o_NewObjekt)?

Soweit ich sehen konnte, wurde der Hotspot im Türcode nie verwendet; auch ein zweites Objekt ist doch eigentlich unnötig, da nur dasjenige im aktuellen Raum bekannt sein muss, oder vertue ich mich da?

Und sollten die Türfunktionen nicht eher mit ins Türmodul, anstatt im Globalskript zu bleiben? (Gut, dass ist Geschmackssache.)

Endres

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1264
  • Geschlecht: Männlich
  • En|dres, der
    • ICQ Messenger - 230191486
    • MSN Messenger - enni_puschner@hotmail.de
    • Profil anzeigen
    • e7p.de
    • E-Mail
Re: Weitere Starterpacks für AGS3
« Antwort #145 am: 25. November 2010, 20:05:20 »
Warum muss eine Tür wissen, welche Hotspots sie hat?
Für die ">v" Erweiterung, denk ich mal.

Und warum braucht eine Tür zwei Objekte (Door.o_Objekt, Door.o_NewObjekt)?
Würde mich wundern, wenn die Tür nur auf einer Seite aufgeht. ;)
Das andere Objekt ist im neuen Raum.


Domi:"irc hab ich mir viren geholt.. icq hab ich nimmer"

rulaman

  • Mod
  • Teenie Tentakel
  • **
  • Beiträge: 354
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Weitere Starterpacks für AGS3
« Antwort #146 am: 25. November 2010, 21:04:08 »
Treffend erklärt Endres.

Ich habe mir schon was dabei gedacht. ;D
Eine Tür gibt es immer einmal, aber es gibt zwei Räume von denen aus man durchgehen kann.
Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

KhrisMUC

  • Mod
  • volljähriger Tentakel
  • **
  • Beiträge: 989
    • Profil anzeigen
Re: Weitere Starterpacks für AGS3
« Antwort #147 am: 25. November 2010, 23:13:12 »
Für die ">v" Erweiterung, denk ich mal.

Ah, richtig, hab mir gerade die geänderte VariableExtensions angeschaut.
Zwei Hotspots sind nötig, damit ich den Hotspot eindeutig einer Tür zuordnen kann.

Aber:
Würde mich wundern, wenn die Tür nur auf einer Seite aufgeht. ;)
Das andere Objekt ist im neuen Raum.

Schon klar ::) ;D
Ich behaupte jedoch einfach mal, dass eine Tür nur das aktuelle Objekt kennen muss. Schließlich komme ich über den Hotspot zur Tür-ID und von dort eindeutig auf das richtige Objekt, da es ja vorher mit Door[X].Init() zugewiesen wurde. Es ist also beim Objekt unnötig, zwischen den beiden Räumen zu unterscheiden.

Das wird auch deutlich, wenn man sich den relevanten Code ansieht:

// init
if ( this.l_Room == player.Room )
{
this.o_Objekt = o_Objekt;
}
else if ( this.l_NewRoom == player.Room )
{
this.o_NewObjekt = o_Objekt;
}

 // ClickSpecial()
if ( player.Room == this.l_Room )
{
                ...
o_Objekt = this.o_Objekt;
                ...
}
else if ( player.Room == this.l_NewRoom )
{
                ...
o_Objekt = this.o_NewObjekt;
                ...
        }

Und nur der Vollständigkeit halber, ich poste das nicht, weil ich in fremden Code auf Fehlersuche gehe; ich will es nur 100%ig verstehen und frage nach. :D

Endres

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1264
  • Geschlecht: Männlich
  • En|dres, der
    • ICQ Messenger - 230191486
    • MSN Messenger - enni_puschner@hotmail.de
    • Profil anzeigen
    • e7p.de
    • E-Mail
Re: Weitere Starterpacks für AGS3
« Antwort #148 am: 26. November 2010, 13:39:04 »
Ich habe nochmal nachgesehen und dabei festgestellt, das die Objekte bei mir auch gar nicht definiert wurden. Diese werden ja sowieso beim Init gesetzt, also ist eine Vordefinierung nicht nötig.

Im Header sind trotzdem beide Objekte drin, damit man auf diese zurückgreifen kann, wenn sie durch das Init gesetzt werden. Sonst könnte man selbst im Raum ja nicht Türen öffnen und schließen und dabei noch ausgehen, dass das Bild sich ändert. Hoffe, du verstehst was ich meine. ;)


Domi:"irc hab ich mir viren geholt.. icq hab ich nimmer"

KhrisMUC

  • Mod
  • volljähriger Tentakel
  • **
  • Beiträge: 989
    • Profil anzeigen
Re: Weitere Starterpacks für AGS3
« Antwort #149 am: 26. November 2010, 22:23:36 »
Klar, ganz ohne den Objekt-Pointer geht es auch nicht. Hab ich ja auch nicht behauptet.
Aber ich sags gerne nochmal: man braucht nur ein (1) Objekt, nämlich das im aktuellen Raum. Ich muss nämlich anders als bei den Hotspots nicht zwischen den beiden Räumen unterscheiden.
In dem Moment, in dem ich das Tür-Objekt ansprechen muss (um die Türgrafik zu ändern), weiß ich ja bereits, um welche Tür es geht (this). Door.Init() setzt das Tür-Objekt der Tür im aktuellen Raum, und Click() schaltet es dann ein oder aus.
Anders bei den Hotspots, bei denen ich eine eindeutige Kombination Hotspot/Raumnummer haben muss, um vom Hotspot eindeutig auf die richtige Tür zu kommen.
(Kann gut sein, dass ich immer noch einen Denkfehler drin habe. Sehe ihn nur nicht.)

Die Hotspots werden übrigens genauso wenig vordefiniert; eine Tür hat erst beide Hotspots gesetzt, sobald man einmal durchgegangen ist. Reicht aber auch.

Übrigens fand ich es erst etwas unpraktisch, dass die Türverbindungen alle in einer langen Liste an einem Fleck gesetzt werden; andererseits habe ich festgestellt, dass ich nur dann mein nächstes kleines Projekt durchziehen kann, dass diesmal hoffentlich auch beendet wird :)

Ich hab nämlich nochmal Maniac Mansion Begins gespielt, und die Lauforgien sind wirklich extrem nervtötend. Deswegen wollte ich ein Kartenmodul schreiben, mit dem man direkt in einen erreichbaren(!) Raum springen kann. Auch Spezialfälle sind dabei vorgesehen (z.B. der Goblin als Türöffner), und es klappt soweit schon ganz gut, braucht aber noch ein bisschen.
« Letzte Änderung: 26. November 2010, 22:24:49 von KhrisMUC »