Autor Thema: Global Script für AGS 3.0  (Gelesen 18499 mal)

Nall-chan

  • kleiner Tentakelsaugknopf
  • **
  • Beiträge: 11
  • Geschlecht: Männlich
  • Ich bin keine Katze!
    • ICQ Messenger - 8599887
    • Profil anzeigen
    • Neo-A.M.I.
Global Script für AGS 3.0
« am: 12. Juli 2007, 00:48:16 »
Nachdem ich seit längeren nur passiv im Forum unterwegs war, melde ich mich mal wieder zurück.

Betreffend AGS 2.8 (Beta4), was ja schon in diesem Thread von KhrisMuc angesprochen wurde, habe ich mich entschlossen über meine letzten Aktivitäten in Sachen MMM zu berichten.

Ich bin seit erscheinen der Beta2 dabei das GlobalScript (+GUI) komplett zu erneuern. Gründe gibt es genug. Es wurden viele Sachen für das Interface & Inventory im alten GS manuell verarbeitet, welche CJ in den neueren Versionen von AGS automatisiert hat (z.B. InvWindow.ScrollUp();)
Script-O-Name wurde noch fast gar nicht verwendet, obwohl es einfacher ist sich Namen statt Index-Nummern zu merken.
Objekt-Orientiert war glaube ich gar nichts bisher. Beides verbessert imho die Lesbarkeit des Code deutlich. Außerdem ist unbekannt wie lange die alten Befehle noch unterstützt werden. Zumal der neue Editor einen großen Vorteil hat: Es können gleichzeitig mehrere Sachen bearbeitet werden (z.B.  Script und der Raum ).

Vielleicht habe ich jetzt offene Türen eingerannt, oder mir wird Blasphemie vorgeworfen  ;)

Auf jeden Fall hier mal ein Statusbericht und die Aufforderung an alle die Lust zum Testen haben sich zu melden. Wird aber noch etwas dauern bis ich was fertiges habe, bin bei ca 70%. Benötigt werden dann AGSler welche bereit sind unter 2.8 Beta4 das GS in ein eigenen TestGame zu verwenden oder ein altes Spiel umzuschreiben. Ein altes Spiel anzupassen könnte allerdings aufwendig werden. Da alle Funktionen wo vorher nur Indexnummern übergeben wurden jetzt eine Objekt (bzw. den Pointer auf das Objekt) haben wollen.
if (GoToCharacter(cAchmed, eDir_Left, True, eSemiBlock))
{
  if (player == cBernhard) dBernardToAchmed.Start();
}

Update:

Statusbericht:
1.10.2007
Jetzt sind wir schon bei AGS 3.0 Beta 12.

+neu
-nicht umgesetzt/ungeklärt ob noch benötigt wird
oFertig

o Funktionen für die Übersetzung von Interface & Tastenkürzel
o MainGUI, inkl. ActionBar und Inventory
o Alle OptionGUIs
o Tastenfunktionen
o Variable + Static Extensions für Objekte/Hotspots/Chars
o Alle 'Character go to' Funktionen (z.B. NPCGoToCharacter, Moveplayer ect)
+ Neue 'enumerated types' für z.B. Direction
+ MouseWheel support für das Inventory (optional)
+ Textgeschwindigkeit mir F1 + F2 regulierbar
+ Scrollbare Dialoge
- Hunting


Offene Punkte:

Es fehlen noch die  'any_click_*' Funktionen.
Sowie on_mouse_click und ein paar kleinere Funktionen.
Einbindung Chara-Wechsel.
Fehlerbereinigung Gib-Verb.


Außerdem möchte ich gerne die Verwaltung von Türen vereinfachen, habe dafür auch schon verschiedene Ansätze.

Das neue GS wird wohl nur in Form einer Vorlage für AGS nutzbar sein, da ich auch an den GUIs kleine Anpassungen vornehmen mußte.

Vorschläge, Kritik und Drohbriefe wieder  an mich  ;D
« Letzte Änderung: 02. Oktober 2007, 00:39:23 von Nall-chan »
Die lieben Kleinen:
- Einige Legosteine können das Verdauungssystem eines Vierjährigen passieren.
- Knetmasse und die Mikrowelle sollten niemals im gleichen Satz erwähnt werden.
- Egal, wie viel Götterspeise man in den Swimming Pool tut, es ist nicht möglich, über das Wasser zu gehen.

Cone Arex

  • Mod
  • alter Tentakel
  • **
  • Beiträge: 2307
  • Geschlecht: Männlich
  • Skandal-Entwickler und Idiot
    • Profil anzeigen
    • Conequest
Re: Global Script für AGS 2.8
« Antwort #1 am: 12. Juli 2007, 00:53:08 »
Finde ich gut.
Ich werde mich heute Nacht auch noch an 2.8 setzen obwohl ich müde bin(wer braucht schon schlaf!)


Folge mir auf X und itch.io

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2654
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: Global Script für AGS 2.8
« Antwort #2 am: 12. Juli 2007, 08:04:24 »
tolle sache!
wurde eh langsam zeit, den steinzeit code durch aktuellen syntax zu ersetzen  ;)
hmm, wusste garnicht, dass ags2.8 schon im kommen ist  :D
muss ich mir gleich mal anschaun...

EDIT:
Zitat
* Added script debugger
:D JUHUUUUUUUUUUUU!  ;)
« Letzte Änderung: 12. Juli 2007, 08:20:53 von Bòógieman »
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 988
    • Profil anzeigen
Re: Global Script für AGS 2.8
« Antwort #3 am: 12. Juli 2007, 08:46:53 »
Ne, oder?

Ich hab die ganze Nacht drangesessen und endlich mal das komplette GlobalScript auf ausschließlich OO umgestellt...
Und dann komm ich hierher und sehe "Global Script für AGS 2.8" :o

Verdammt ;D

Rayman

  • Dott-MMM-Entwickler
  • Midlife Crisis Tentakel
  • **
  • Beiträge: 1577
    • Profil anzeigen
Re: Global Script für AGS 2.8
« Antwort #4 am: 12. Juli 2007, 09:35:07 »
Ich frage mich nur, was AGS 2.8 haben wird, was in den vorherigen Versionen nicht dabei war?

steve-o-mat

  • volljähriger Tentakel
  • *****
  • Beiträge: 617
  • Geschlecht: Männlich
    • ICQ Messenger - 481703404
    • Profil anzeigen
Re: Global Script für AGS 2.8
« Antwort #5 am: 12. Juli 2007, 09:50:38 »
@ Rayman:

Schau mal hier.   ;)

Rayman

  • Dott-MMM-Entwickler
  • Midlife Crisis Tentakel
  • **
  • Beiträge: 1577
    • Profil anzeigen
Re: Global Script für AGS 2.8
« Antwort #6 am: 12. Juli 2007, 10:11:17 »
Danke Steve-O-Mat für den Link, jetzt kann ich mich mal schlau machen über AGS 2.8. ;) :D

Interessant: AGS 2.8 wird noch benutzerfreundlicher sein als die vorherigen Versionen.
Ein Grund mehr Visionaire zu vernachlässigen (Kleiner Scherz). ;D

Mister L

  • Boss der T.I.A.
  • Globaler Moderator
  • Ehrwürdiger Tentakel
  • *****
  • Beiträge: 3106
  • Geschlecht: Männlich
  • "R.I.P. Clever & Smart † 1958 -2023"
    • Profil anzeigen
    • Maniac Mansion - Night of the Meteor
Re: Global Script für AGS 2.8
« Antwort #7 am: 12. Juli 2007, 11:20:30 »
- Hunting
- Background queued talking

Also ich fände diese Funktionen auf alle Fälle interessant.  :)

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 988
    • Profil anzeigen
Re: Global Script für AGS 2.8
« Antwort #8 am: 12. Juli 2007, 12:30:05 »
"Mein" Pack steht jetzt fast, inklusive Background queued talking; die Hunter-Funktionen hab ich rausgenommen. Die waren afaik eh unvollständige Reste aus MMD und ziemlich spezifisch.

To-Do:
-Türen
-CharacterChange

Außerdem hab ich eine Version aus einem EmptyGame hochgezogen, d.h. keine Räume, nur Dave, sowie keine überflüssigen Sprites oder GUIs und vor allem keine ellenlange dummy-Liste bei Inventargegenständen und Views.

Ich warte aber eh auf Nall-Chan, bevor ich das veröffentliche. Er war zuerst dran und kriegt somit selbstverständlich den Vortritt.

Achja: Wie schon neulich erwähnt kann man bei Version 2.8 die vorhandenen Typen erweitern:
function FaceDirection(this Character*, eDirection dir) {
  if (dir==eDir_Down) this.FaceLocation(this.x, this.y+1);
  ...
}

->  cBernard.FaceDirection(eDir_down);
« Letzte Änderung: 12. Juli 2007, 12:34:34 von KhrisMUC »

steve-o-mat

  • volljähriger Tentakel
  • *****
  • Beiträge: 617
  • Geschlecht: Männlich
    • ICQ Messenger - 481703404
    • Profil anzeigen
Re: Global Script für AGS 2.8
« Antwort #9 am: 12. Juli 2007, 12:56:55 »
Das ist ja echt mal ne tolle Sache! Hab mir auch schon die Beta4 gezogen und werd heut abend mal reinschnuppern.

@KhrisMUC:
Dafür dass das gestern noch ne "Mammutsaufgabe" war, warst du aber ziemlich flott!   ;D

To-Do:
-Türen

Jetzt wo ich die Türenscripte endlich aus'm Schalf runterrattern kann, wollt ihr sie schon wieder ändern!   :P
(kleiner Spass)  ;)



Nall-chan

  • kleiner Tentakelsaugknopf
  • **
  • Beiträge: 11
  • Geschlecht: Männlich
  • Ich bin keine Katze!
    • ICQ Messenger - 8599887
    • Profil anzeigen
    • Neo-A.M.I.
Re: Global Script für AGS 2.8
« Antwort #10 am: 12. Juli 2007, 19:30:57 »
Ne, oder?

Ich hab die ganze Nacht drangesessen und endlich mal das komplette GlobalScript auf ausschließlich OO umgestellt...
Und dann komm ich hierher und sehe "Global Script für AGS 2.8" :o

Verdammt ;D
Vielleicht hätte ich mich mal eher melden sollen.  ;D
Zumal ich schon etliche Tage dabei bin es umzusetzen, und Du das in nur einer Nacht machst... :o

Interessant: AGS 2.8 wird noch benutzerfreundlicher sein als die vorherigen Versionen.
Das hatte mich motiviert es überhaupt umzusetzen. Beim erstellen meines MD-Raum hat es mich genervt immer den Script-Editor zu verlassen.
Und OO geht mir etwas leichter von der Hand als die alten AGS-Befehle. Außerdem hatte ich Lust nach langer Zeit mal wieder ein Script anzufassen, habe vor 3 Jahren mein CMS auf Basis von PHP und MySQL unterbrochen und seitdem nichts mehr getan  :-[

- Hunting
- Background queued talking
Also ich fände diese Funktionen auf alle Fälle interessant.  :)
Wenn der Rest läfut, schaue ich sie mir noch mal an.

"Mein" Pack steht jetzt fast, inklusive Background queued talking; die Hunter-Funktionen hab ich rausgenommen. Die waren afaik eh unvollständige Reste aus MMD und ziemlich spezifisch.
[...]
Ich warte aber eh auf Nall-Chan, bevor ich das veröffentliche. Er war zuerst dran und kriegt somit selbstverständlich den Vortritt.

Achja: Wie schon neulich erwähnt kann man bei Version 2.8 die vorhandenen Typen erweitern:
function FaceDirection(this Character*, eDirection dir) {
  if (dir==eDir_Down) this.FaceLocation(this.x, this.y+1);
  ...
}

->  cBernard.FaceDirection(eDir_down);
Du kannst Dein Pack gerne veröffentlichen. Vielleicht lerne ich noch was und kopier mir was raus  ;) ;)

Ja die Erweiterung der Typen ist es super. Habe ich aber auch bisher nur teilweise umgesetzt.
Um meinem Beispiel von gestern zu Folgen, würde das dann so aussehen.
cBernard.GoToCharacter(cAchmed, eDir_Left, True, eSemiBlock);
NPCGoToCharacter wird dann auch entfallen.

« Letzte Änderung: 12. Juli 2007, 19:33:37 von Nall-chan »
Die lieben Kleinen:
- Einige Legosteine können das Verdauungssystem eines Vierjährigen passieren.
- Knetmasse und die Mikrowelle sollten niemals im gleichen Satz erwähnt werden.
- Egal, wie viel Götterspeise man in den Swimming Pool tut, es ist nicht möglich, über das Wasser zu gehen.

Mister L

  • Boss der T.I.A.
  • Globaler Moderator
  • Ehrwürdiger Tentakel
  • *****
  • Beiträge: 3106
  • Geschlecht: Männlich
  • "R.I.P. Clever & Smart † 1958 -2023"
    • Profil anzeigen
    • Maniac Mansion - Night of the Meteor
Re: Global Script für AGS 2.8
« Antwort #11 am: 14. Juli 2007, 22:21:59 »
Jetzt wo sich so fähige Leute am GlobalScript austoben, mal eine Frage:

Ist es möglich die Dialogoptionen so wie z.B. in Monkey Isand zum scrollen zu gestalten?
Bis jetzt kann man ja nur 6 Dialogoptionen gleichzeitig aktivieren ohne dass sie im unteren Bildschirmrand verschwinden...  :-\

Das würde ich noch als sehr sinnvolle Erweiterung betrachten.  :)

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 988
    • Profil anzeigen
Re: Global Script für AGS 2.8
« Antwort #12 am: 15. Juli 2007, 14:48:01 »
Es gibt ein Modul, mit dem das möglich ist, leider kann man dann das eingebaute Dialogsystem nicht mehr nutzen.
Als Alternative könnte man aber das Dialog-GUI hochschiebbar machen, z.B. mit dem Mausrad.

Mister L

  • Boss der T.I.A.
  • Globaler Moderator
  • Ehrwürdiger Tentakel
  • *****
  • Beiträge: 3106
  • Geschlecht: Männlich
  • "R.I.P. Clever & Smart † 1958 -2023"
    • Profil anzeigen
    • Maniac Mansion - Night of the Meteor
Re: Global Script für AGS 2.8
« Antwort #13 am: 15. Juli 2007, 15:23:02 »
Das wäre doch eine gute Möglickeit!  :)
Wäre echt stark wenn das jemand umsetzen könnte...  ;)

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 988
    • Profil anzeigen
Re: Global Script für AGS 2.8
« Antwort #14 am: 15. Juli 2007, 18:28:51 »
Schade, haut nicht hin.
Dialoge blockieren alles, der Code müsste also in rep_ex_always. Leider funktioniert mouse.IsButtonDown aber nicht mit eMouseWheelNorth/South.

Ich hab noch ne andere Idee, werds mal testen.