Beiträge anzeigen

Diese Sektion erlaubt es ihnen alle Beiträge dieses Mitglieds zu sehen. Beachten sie, dass sie nur solche Beiträge sehen können, zu denen sie auch Zugriffsrechte haben.


Themen - 1mal_volltanken

Seiten: 1 [2] 3 4 ... 10
16
Technik / player.ChangeRoom ohne Funktion !
« am: 24. Oktober 2014, 17:57:32 »
Hallo Community!

Eigentlich ist der

player.ChangeRoom

ja ein von AGS vorgegebener Standard-Befehl.

Wie kommt es, dass bei folgendem Code

if (Action == aWalkTo){
  player.ChangeRoom(103, 400, 138);
  player.FaceNorth();
}

nichts passiert?


Oder muss man die Funktion dieses Befehls auch noch einmal von Grund auf definieren?


BG
der Volltanker

17
Technik / Probleme mit Scripten aus veralteten Starterpacks
« am: 20. August 2014, 11:07:39 »
Hallo Community!

Da ich derzeit an einem Starterpack herumwerkel, das mal ein Kanadier für mich geschrieben hat, möchte ich gerne auf Basis dessen einige vertraute Befehle und Funktionen aus den MMM-Starterpacks mit integrieren.

Das klappt leider nicht immer reibungslos, so wie im Beispiel mit dem EnterRoom:

function EnterRoom (int room, int x, int y, int dir){
  FaceDirection (GetPlayerCharacter (), dir);
  NewRoomEx (room, x, y);
}

Dachte, der 'GetPlayerCharacter'-Parameter gehöre schon zum AGS-Default-Syntax. Dem ist ja leider nicht so.

Denn als ich diesen Code im anderen Script eingefügt habe, erhielt ich die Fehlermeldung undefined parameters 'GetPlayerCharacter()' oder so in etwa.

Allerdings habe ich selbst nach mehrmaligen Durchforsten des Scripts keinen Code gefunden, wo 'GetPlayerCharacter' eindeutig und klar definiert wurde.
Könnte jemand einen Code beisteuern, der dieses Problem löst und eine identische Funktionsweise hat wie im ursprünglichen Starterpak?
Und überhaupt: Wird diese FaceDirection-Zeile im EnterRoom-Script überhaupt benötigt?

Für Hilfe sage ich schon einmal vielen Dank im voraus!



--------------------------------------------------------------------------------------------------------------------------------


An diesem Beispiel sind schon die Nachteile der alten Starterpacks ganz klar zu erkennen.

Die Scripts sind einfach viel zu überladen. Ich schätze mal, dass es daran liegt, dass diese damals auf der Version 1 von AGS geschrieben wurden und war dieses Kuddelmuddel damals nicht anders zu lösen war.
Jetzt haben wir inzwischen schon AGS 3.3 und da wäre mal ein Neuanstrich sicher fällig. ;)
ZAK hatte zwar ein Bernard-SP auf AGS 3.2.1 aufgesetzt, nur ist da immer noch sehr viel alter Syntax drin vorhanden.

Das Problem an den alten Starterpaks ist: Ab einen gewissen Grad steigt man da schon nicht mehr durch. Jedenfalls habe ich da schon erhebliche Probleme.

Vielleicht denkt sich jetzt der ein oder andere "warum soll man etwas an den alten Starterpaks ändern, wenn sie doch einwandfrei funktionieren"?

Das ist zwar korrekt, aber nach heutigem Standard sind sie in vielerlei Hinsicht nicht mehr sehr bedienerfreundlich.

Es fängt schon damit an, dass man an den GUIs was Fonts und Colors betrifft, im Editor nichts verändern kann, so dass es eine Auswirkung in der Darstellungsweise hätte. Und zwar deshalb, weil diese Styles im Script definiert sind und man dies auch im Script ändern muss.  --> sehr umständlich

Ein großes Dilemma wird es, wenn man noch versucht, im GUI noch Buttons hinzuzufügen, sie umpositionieren oder gar inhaltlich verändern möchte.
Dann hagelt es nur noch so vor Fehlermeldungen und es wird eine echte Mammutaufgabe, dies soweit hinzubekommen, bis sämtliche Fehlermeldungen ausgemerzt sind und nach der 5. Fehlermeldung verlässt einen auch schon langsam der Mut, in diese Richtung noch weiterzuarbeiten.

Fakt ist, es ist nur soweit bediener- und anfängerfreundlich, solange man nicht versucht, an den GUI-styles etwas zu verändern. Vielleicht wird da so mancher auch einwenden "Ist doch alles super so. Warum muss da denn überhaupt etwas verändert werden?!". ->  Weil es eben auch User gibt, die gerne auch einen anderen Style verwenden möchten.


Ich bin mit meinem derzeitigem AGS-Projekt erstmal ziemlich eingespannt.
Vielleicht gibt es hier aber jemanden, der sich evtl noch motiviert fühlt, auf AGS 3.3 ein MMM-Starterpak von Grund auf (leeres Template) neu aufzusetzen. Es muss ja gar nicht zu umfangreich sein. Ein 3-bis-5-Räume-SP reicht ja vollkommen.
Syd's Wohnung ohne das Treppenhaus wäre z.B. dafür ja schon wirklich ideal.


Also ich meine, dass die Scripts noch einmal viel schlanker gemacht werden müssten. Wer weiss, vielleicht sehen es viele andere User auch so wie ich.


Bin auf Eure Rückmeldungen gespannt.



BG
der Volltanker


18
Allgemeine Diskussionen / Fußball: WM-Thread
« am: 09. Juli 2014, 20:32:43 »
Hi Community!

Ich war etwas erstaunt, dass hier noch kein WM-Thread geöffnet wurde. So mache ich ihn jetzt (erst nach dem Halbfinale) auf und hoffe, dass die hier im Forum aktiven Österreicher, Schweizer, Tschechen, Polen, Dänen, Belgier und Luxemburger sich hierdurch nicht gestört oder genervt fühlen, weil einige darunter nicht mit bei der WM waren (soll jetzt keine Häme sein).

Bis auf das 4:0 gegen Portugal hatten wir Deutschen bis zum Einzug ins Halbfinale minimalistischen aber dafür effizienten und erfolgreichen Fußball zeigen können.


Das 7:1 lässt sich nicht mehr in Worte fassen. Das Ergebnis war schon absurd und surreal.

Deutschland hat wirklich sehr starken Fußball gezeigt, die Brasilianer hatten es unseren Spielern auch entsprechend leicht gemacht, da von denen kaum einer wusste, was der Mitspieler machte und niemand für den anderen da war.
Deutschland war als Mannschaft, als Einheit aufgelaufen und Brasilien mit 11 Individualisten.

Dass Brasilien mit Thiago Silva und Neymar deutlich besser ausgesehen hätte, darf bezweifelt werden. Das kann kein Auslöser für einen 6-Tore-Unterschied sein. Die meisten anderen Akteure Brasiliens spielen in europäischen Top-Vereinen. Mit ihrer Erfahrung hätten sie das kompensieren MÜSSEN.

Natürlich freut mich dieser historische Sieg gegen die größte Fußball-Nation.
Doch als das 0:4 fiel, überkamen mich langsam gemischte Gefühle. Mir taten die Brasilianer schon wirklich leid.
Als Fan die eigene Mannschaft im eigenen Land so zu sehen und zu erleben, dürfte wohl so manchem das Herz brechen.
Natürlich wären sicher auch Tränen geflossen, wäre Brasilien nur mit 1:2 oder im Elfmeterschießen ausgeschieden.
Aber dieses Ergebnis dürfte wohl auch noch 4 Jahre später und darüber hinaus an Mannschaft und den Fans nagen.

Dies war nicht einfach nur eine Niederlage, sondern ein gefühlter Gesichtsverlust für Brasilien. Mein Mitgefühl!

Klar, in einem Halb-Finale darf man nicht auf Rücksichtnahme des Gegners hoffen. Es geht um den Finaleinzug, es geht um den Titel. Es ist nunmal ein Wettkampf. Im Finale 2002 wurden wir auch von den Brasilianern mit 2:0 geschlagen. Aber das ist natürlich kein Vergleich zum 1:7.


Nach diesem Ergebnis bin ich schon wirklich hin- und hergerissen:

Einerseits können wir als Deutsche wirklich mehr als stolz auf unsere Mannschaft sein.
Manchmal glaube ich allerdings, dass es mir lieber wäre, wir hätten nur mit 3:1 gewonnen.
Wie soll man jetzt unbeschwert den Sieg feiern, wenn man seinem Gegner eine Niederlage solchen Ausmaßes beigebracht hat, die einer ganzen Nation auf sportlicher Ebene für längere Zeit sämtliche Zukunftsvisionen zerschlagen hat?


Nun, freuen wir uns jetzt aufs Finale. Wenn es diesmal nicht mit dem Titel klappt, dann weiss ich auch nicht mehr, wann es denn mal wieder klappen soll.

Gespannt bin ich jetzt noch auf das noch anstehende Halbfinale heute um 22 Uhr. Nach dem gestrigen Ergebnis dürfte sich jetzt wohl niemand mehr um den Einzug ins Finale reissen.


Wie habt Ihr die WM bisher erlebt? Wie ist es Euch gestern ergangen?




19
Drumherum / WICHTIGE MITTEILUNG !!! (Sicherheit)
« am: 15. April 2014, 12:48:28 »
Hallo Community!

Eigentlich gehört dieses Thema schon in die "News", nur bin ich leider nicht authofiziert (oder wie das heisst), dort Beiträge zu verfassen.

Soeben hatte ich mir über den Download-Link von rulaman aus diesem Thread:
http://www.maniac-mansion-mania.de/forum/index.php?topic=2205.msg46749#new


...unglücklicherweise Schad-Software zugezogen, die ich jetzt mit einigem Aufwand jedenfalls wieder bereinigt bekommen habe. Gott sei Dank!


Damit sowas nicht noch einmal und ggf. auch anderen Usern passiert, halte ich es für sinnvoll, dass wir uns auf die Verwendung von bestimmten Diensten einigen, die sich nach bisherigen Erkenntnissen als unproblematisch erwiesen haben.

Für Bilder gab es mit http://imageshack.us zwar keine Probleme, doch mittlerweile kann man dort ohne Account scheinbar nichts mehr machen.

Was File-Uploader anbetrifft, gab es bisher mit http://megafileupload.com noch keine Probleme.


Ich wäre dafür, dass wir bei der Verwendung solcher Host-Dienste entsprechende Vorgaben und Einschränkungen einführen, damit alle MMM-User in Zukunft bedenkenlos Link-Verweise anklicken können. Generell wären mMn alle Dienste zu meiden, die die hochgeladenen Dateien automatisch in eine EXE-Datei umwandeln. Hierbei bekommt man nämlich allzu gerne Malware, Spyware, Toolbars oder gar Trojaner untergejubelt, die sich ohne Vorankündigung selbst installieren und selbst ausführen.

Einen allgemeinen MMM-DropBox-Ordner halte ich auch nicht für verkehrt.


BG
der Volltanker

20
Allgemeine Diskussionen / Thema: Volksverdummung
« am: 12. April 2014, 12:16:35 »
Hallo Community!

Zwar hat es nichts mit dem Thema dieser Seite zu tun, aber dieses Forum ist ja Off-Topic. ;)

Habe hier ein interessantes, 15-minütiges Video entdeckt, das wirklich zum Überlegen anregt und den Nagel wirklich auf den Kopf trifft:



https://www.youtube.com/watch?v=eOOhQfCCGWU

Einfach mal anschauen!


BG
der Volltanker

21
Tipps und Tricks / Codes aus MM ( Vorsicht Cheating ! )
« am: 12. April 2014, 11:59:07 »
Hallo Leute,

mir ist hier wieder eine alte Notiz in die Hände gefallen, wo ich mal die verschiedenen, per Zufallsgenerator erstellten Zahlenkombinationen aufgeschrieben hatte, die im originalen Maniac Mansion Spiel so vorkommen und möchte sie hiermit mal zum Besten geben:


Meteor-Polizei

0525, 1138, 1977, 3412, 9111


Telefon Edna

1547, 2275, 3444, 5235, 7537


Safe

0120, 1029, 1230, 3621


Labor

3300, 3301, 5858, 7572, 8640



Falls jemandem noch andere Zahlenkombinationen untergekommen sind, die hier noch nicht genannt wurden, mag sie gerne noch hinzuposten.

Offizielle Cheats gab es ja meines Wissens für MM ja nicht.



BG
der Volltanker
 

22
Technik / Pallette in AGS importieren und C64-Farben / Flashlight
« am: 06. April 2014, 12:23:33 »
Hallo!

Ich habe mal zum Test eine C64-Palette als BMP in AGS importiert.

Dies hat allerdings wohl nur Auswirkungen auf die Einstellung von Text-Elementen.

Die Raumgrafiken, Sprites, etc. werden in ihrer farblichen Darstellung nicht beeinflusst.

Ein Problem würde dies in der Hinsicht darstellen, dass laut AGS in einem absolut dunklen Raum nicht alles komplett Schwarz ist, sondern die Raumgrafiken, Objekte, Charaktere, Figuren alle in etwa mit einer Helligkeit irgendwo zwischen 5-10% dargestellt werden. Kann man irgendwo einstellen, das der Raum in ganz Schwarz dargestellt wird und in dem Verhältnis die anwesenden Charaktere in einem Grau-View gezeigt werden, so wie das beim C64 der Fall ist?

Ein C64 verfügt über diese Farbabstufungen nicht. Kann also dieses Feeling dadurch ruinieren.

Eine weitere Hürde stellt das Flashlight-PlugIn dar, da es ebenfalls bei der Beleuchtung mit Farbabstufungen arbeitet.
- Ließe sich das nicht unterbinden? So dass das Flashlight-PlugIn den anvisierten Bereich nur in den Original-Farben zeigt?
- Lässt sich auch die Form des Flashlight-Effekts verändern? Ursprünglich ist dieses ja kreisförmig. Auf dem C64 zeigt das Flashlight den anvisierten Bereich in einem Rechteck von 48x32 Pixel. Ließe sich das nicht auch umändern?


Dies ist die ursprüngliche Flashlight.ash:
// Script header for module 'Flashlight'

#ifdef AGS_SUPPORTS_IFVER     
#ifver 3.1.2                 
#define FLASHLIGHT_VERSION 2.0
#define FLASHLIGHT_VERSION_200
#endif                       
#endif                       
#ifndef FLASHLIGHT_VERSION_200
#error Flashlight module error: This module now requires AGS version 3.1.2 or higher! Please upgrade to a higher version of AGS to use this module.
#endif                       

struct FlashlightType {
  writeprotected GUI *AGSGUI;
  writeprotected Overlay *AGSOverlay;
  writeprotected DynamicSprite *BeamSprite;
  int DrawingColor;
  bool Enabled;
  writeprotected Character *FollowingCharacter;
  writeprotected bool IsFollowingMouse;
  writeprotected bool IsFollowingCharacter;
  writeprotected bool IsFollowingPlayer;
  writeprotected bool IsGUIMode;
  writeprotected bool IsOverlayMode;
  writeprotected bool IsStatic;
  float Radius;
  bool ScaleBeam;
  import void SetBeamSprite(DynamicSprite *beamSprite);
  import void SetFollowCharacter(Character*, bool followPlayer=true);
  import void SetFollowMouse();
  import void SetGUIMode(GUI*, DynamicSprite *beamSprite=0);
  import void SetOverlayMode(DynamicSprite *beamSprite=0);
  import void SetStatic();
  writeprotected DynamicSprite *ScreenSprite;
  int Transparency;
  int X;
  int Y;
};

import FlashlightType Flashlight;


Dies ist die ursprüngliche Flashlight.asc:
// Main script for module 'Flashlight'

FlashlightType Flashlight;
export Flashlight;

int get_max(int a, int b) {
  if (a > b) return a;
  return b;
}

DrawingSurface *Flashlight_SpriteSurface;

bool Flashlight_ValidateSurface() {
  if (Flashlight.ScreenSprite == null) return false;
  if (Flashlight_SpriteSurface != null) return true;
  Flashlight_SpriteSurface = Flashlight.ScreenSprite.GetDrawingSurface();
  return true;
}

void Flashlight_SetColor(int colour) {
  if (!Flashlight_ValidateSurface()) return;
  Flashlight_SpriteSurface.DrawingColor = colour;
}

import void Flashlight_ClearSprite(int colour=COLOR_TRANSPARENT);

void Flashlight_ClearSprite(int colour) {
  if (!Flashlight_ValidateSurface()) return;
  Flashlight_SpriteSurface.Clear(colour);
}

void Flashlight_DrawRectangle(int x1, int y1, int x2, int y2) {
  if (!Flashlight_ValidateSurface()) return;
  Flashlight_SpriteSurface.DrawRectangle(x1, y1, x2, y2);
}

void Flashlight_DrawImageResized(int x, int y, int spriteSlot, int width, int height) {
  if (!Flashlight_ValidateSurface()) return;
  Flashlight_SpriteSurface.DrawImage(x, y, spriteSlot, 0, width, height);
}

void FlashlightType::SetBeamSprite(DynamicSprite *beamSprite) {
  if (beamSprite != null) {
    this.BeamSprite = beamSprite;
    this.BeamSprite.Resize(get_max(this.BeamSprite.Height, this.BeamSprite.Width), get_max(this.BeamSprite.Height, this.BeamSprite.Width));
    this.Radius = IntToFloat(this.BeamSprite.Height) / 2.0;
  }
}

void FlashlightType::SetOverlayMode(DynamicSprite *beamSprite) {
  this.SetBeamSprite(beamSprite);
  if (this.AGSGUI != null) this.AGSGUI.Visible = false;
  this.AGSGUI = null;
  if (this.AGSOverlay != null) this.AGSOverlay.Remove();
  this.AGSOverlay = null;
  this.IsGUIMode = false;
  this.IsOverlayMode = true;
}

void FlashlightType::SetGUIMode(GUI *AGSGUI, DynamicSprite *beamSprite) {
  this.SetBeamSprite(beamSprite);
  if (AGSGUI == null) {
    this.SetOverlayMode();
    return;
  }
  this.AGSGUI = AGSGUI;
  if (this.AGSOverlay != null) this.AGSOverlay.Remove();
  this.AGSOverlay = null;
  this.IsGUIMode = true;
  this.IsOverlayMode = false;
}

void Initialize(this FlashlightType*) {
  this.AGSOverlay = null;
  this.BeamSprite = DynamicSprite.CreateFromFile("flashlight.bmp");
  if (this.BeamSprite != null) {
    this.BeamSprite.Resize(get_max(this.BeamSprite.Height, this.BeamSprite.Width), get_max(this.BeamSprite.Height, this.BeamSprite.Width));
    this.Radius = IntToFloat(this.BeamSprite.Height) / 2.0;
  }
  else this.Radius = 0.5;
  this.Enabled = false;
  this.FollowingCharacter = null;
  this.IsFollowingCharacter = false;
  this.IsFollowingMouse = true;
  this.IsFollowingPlayer = false;
  this.IsGUIMode = false;
  this.IsOverlayMode = true;
  this.IsStatic = false;
  this.ScreenSprite = null;
  this.Transparency = 0;
  this.X = mouse.x;
  this.Y = mouse.y;
  #ifdef FLASHLIGHT_GUI
  this.SetGUIMode(FLASHLIGHT_GUI);
  #endif               
}

function game_start() {
  Flashlight.Initialize();
}

void FlashlightType::SetFollowMouse() {
  this.FollowingCharacter = null;
  this.IsFollowingCharacter = false;
  this.IsFollowingMouse = true;
  this.IsFollowingPlayer = false;
  this.IsStatic = false;
}

void FlashlightType::SetFollowCharacter(Character *characterToFollow, bool followPlayer) {
  if ((characterToFollow == null) || (characterToFollow.Room != player.Room)) {
    this.SetFollowMouse();
    return;
  }
  this.FollowingCharacter = characterToFollow;
  this.IsFollowingCharacter = true;
  this.IsFollowingMouse = false;
  this.IsFollowingPlayer = ((characterToFollow == player) && (followPlayer));
  this.IsStatic = false;
}

void FlashlightType::SetStatic() {
  this.FollowingCharacter = null;
  this.IsFollowingCharacter = false;
  this.IsFollowingMouse = false;
  this.IsFollowingPlayer = false;
  this.IsStatic = true;
}

void Update(this FlashlightType*) {
  if ((this.AGSOverlay != null) && (this.AGSOverlay.Valid)) this.AGSOverlay.Remove();
  this.AGSOverlay = null;
  if (this.BeamSprite == null) this.Enabled = false;
  if ((this.DrawingColor < 0) && (this.DrawingColor != COLOR_TRANSPARENT)) this.DrawingColor = 0;
  if (this.IsGUIMode) {
    this.AGSGUI.BackgroundGraphic = 0;
    this.AGSGUI.Clickable = false;
    int i = 0;
    while (i < this.AGSGUI.ControlCount) {
      this.AGSGUI.Controls[i].Visible = false;
      i++;
    }
    this.AGSGUI.Height = System.ViewportHeight;
    if (this.Transparency < 0) this.Transparency = 0;
    if (this.Transparency > 100) this.Transparency = 100;
    this.AGSGUI.Transparency = this.Transparency;
    this.AGSGUI.Visible = this.Enabled;
    this.AGSGUI.Width = System.ViewportWidth;
  }
  else this.Transparency = 0;
  if ((this.IsFollowingPlayer) && (this.FollowingCharacter != player)) this.FollowingCharacter = player;
  if ((this.FollowingCharacter != null) && (this.FollowingCharacter.Room != player.Room)) this.SetFollowMouse();
  if (FloatToInt(this.Radius * 2.0) < 1) this.Radius = 0.5;
  float r = this.Radius;
  if (this.IsFollowingCharacter) {
    if (this.ScaleBeam) r = r * (IntToFloat(this.FollowingCharacter.Scaling) / 100.0);
    this.X = (this.FollowingCharacter.x - GetViewportX()) - FloatToInt(r);
    ViewFrame *frame = Game.GetViewFrame(this.FollowingCharacter.View, this.FollowingCharacter.Loop, this.FollowingCharacter.Frame);
    this.Y = ((this.FollowingCharacter.y - GetViewportY()) - (((Game.SpriteHeight[frame.Graphic] * this.FollowingCharacter.Scaling) / 100) / 2)) - FloatToInt(r);
  }
  else this.ScaleBeam = false;
  if (this.IsFollowingMouse) {
    this.X = mouse.x - FloatToInt(r);
    this.Y = mouse.y - FloatToInt(r);
  }
  if (this.ScreenSprite != null) this.ScreenSprite.Delete();
  this.ScreenSprite = null;
  if (!this.Enabled) return;
  this.ScreenSprite = DynamicSprite.CreateFromExistingSprite(this.BeamSprite.Graphic, true);
  this.ScreenSprite.Resize(FloatToInt(r * 2.0), FloatToInt(r * 2.0));
  this.ScreenSprite.ChangeCanvasSize(System.ViewportWidth, System.ViewportHeight, this.X, this.Y);
  Flashlight_SpriteSurface = this.ScreenSprite.GetDrawingSurface();
  Flashlight_SetColor(Flashlight.DrawingColor);
  if (this.X > 0) Flashlight_DrawRectangle(0, 0, this.X, System.ViewportHeight);
  if ((this.X + FloatToInt(r * 2.0)) < System.ViewportWidth) Flashlight_DrawRectangle(this.X + FloatToInt(r * 2.0), 0, System.ViewportWidth, System.ViewportHeight);
  if (this.Y > 0) Flashlight_DrawRectangle(0, 0, System.ViewportWidth, this.Y);
  if ((this.Y + FloatToInt(r * 2.0)) < System.ViewportHeight) Flashlight_DrawRectangle(0, this.Y + FloatToInt(r * 2.0), System.ViewportWidth, System.ViewportHeight);
  Flashlight_SpriteSurface.Release();
  Flashlight_SpriteSurface = null;
  if (this.IsGUIMode) this.AGSGUI.BackgroundGraphic = this.ScreenSprite.Graphic;
  else if (this.IsOverlayMode) this.AGSOverlay = Overlay.CreateGraphical(0, 0, this.ScreenSprite.Graphic, true);
}

function repeatedly_execute() {
  Flashlight.Update();
}

function on_event(EventType event, int data) {
  if (event == eEventEnterRoomBeforeFadein) Flashlight.Update();
}



Ich weiß, ich bin in dieser Hinsicht ein Erbsenzähler, aber wenn möglich, möchten wir doch wenn schon denn schon 100% erreichen und nicht irgendwo zwischen 85-90% bleiben. ;)


BG
der Volltanker



23
Ressourcen / 15-Verben-GUI
« am: 03. April 2014, 11:29:12 »
Hallo Community!

Ich wollte mal wieder einen Versuch starten, ein Starterpack mit einem 15-Verben-GUI zu erstellen.

siehe Screenshot (deutsch):



Screenshot (englisch):



Ich glaube mal, Verben wie "Unlock", "Fix" oder "What is" können wir wohl schon mal getrost vergessen. Die ersten beiden davon sind sicher kompliziert zu programmieren, das dritte überflüssig.

Ich bin noch am überlegen, ob man den Befehl "Eat/Drink" bzw. "Verzehr" evtl. auch durch "Wear" oder "Zieh an" ersetzen könnte.

Doch würd gern von Euch noch n paar Vorschläge oder Feedbacks hören. Schließlich sollte das Ergebnis dann ja den Kern-Teil der Community befriedigen.

Kritiker des 15-Verben-GUIs möchte ich schon mal vorweg nehmen:
"Ja. 9 Verben reichen völlig. Es geht hier nicht um die Funktionalität, sondern nur um das Old-School-Feeling." ;)


BG
der Volltanker

24
Drumherum / DropBox (ing)
« am: 11. März 2014, 12:00:33 »
Hallo Community!

Kennt Ihr DropBox?

Das ist ein Tool, mit der man auf dem eigenen Desktop eine virtuelle Festplatte foldern kann, auf die alle Personen, mit denen man per DropBox verknüpft ist zugreifen kann.
Für jeden in der "FriendList" wird ein separater Ordner angelegt. Wenn man mit jemanden dann Daten / Files austauschen möchte, kann man diese genauso wie bei einem Ordern auf der eigenen Festplatte in den jeweiligen User-Ordner hineinkopieren.
Und der jeweilige User kann von seiner eigenen Festplatte aus auf den Inhalt dieses Ordners (also auf die hinterlegten Dateien) wieder zugreifen und dieser kann wiederum für Dich wieder Dateien in den Ordner hineinlegen.

Das ist absolut easy und erspart dieses mühselige ftp-uploading über diverse Drittanbieter.

Das Tool lässt sich unter:

http://www.dropbox.com

herunterladen.


Auf diese Weise kann man auf einfachste Weise unter Entwicklern Grafiken, Sounds oder sonstige Files hin- und hertauschen.

Wer Interesse hätte, sich mit mir über DropBox zu verknüpfen, kann mir mal seine E-Mail-Adresse per PM schicken.


BG

der Volltanker
 

25
Technik / Room-Template bei AGS 3.2.1 anlegen
« am: 10. Dezember 2013, 11:29:25 »
Hallo Leutz!

Ich weiss noch, dass ich irgendwie noch (ich weiss jetzt nicht bei welcher AGS-Version) ein Room-Template anlegen konnte, hatte das auch mal gemacht, ich weiss aber nicht mehr, wie ich das gemacht habe.

Also die Möglichkeit, einen Room als Template abzuspeichern, so dass ich die Funktionen, Events, Areas eines Rooms für einen neuen Room einfach mit einladen kann, so dass ich nicht alle Areas neu anlegen und definieren muss, sondern lediglich bearbeiten und dem neuen Raum entsprechend anpassen.

Kann mir jemand noch mal verraten, wie das funktionierte?


BG
der Volltanker




26
Technik / Wirtschaftssimulationen mit AGS
« am: 04. Dezember 2013, 06:40:04 »
Hallo AGS-Crackz!

Zunächst nur einmal aus Neugier:

AGS, das allgemein als Adventure-Maker gilt, kann ja durch das clevere Script deutlich mehr, als "nur" Adventures erstellen.

Wie gut würde AGS sich für die Erstellung von Wirtschaftssimulationen nach Art von Fugger 2 oder Patrizier eignen?

Was mir jetzt nur einfällt, wäre, dass man einen Befehl bräuchte, um Zahlen auf Währungsgrößen zu runden, entweder auf zwei Stellen nach dem Komma oder ganz ohne Nachkommastelle.

Auch weiß ich jetzt nicht, ob in AGS die Prozentrechnung so mit integriert ist, oder ob man das dann mit der  x/100-Formel einbauen müsste.

Ansonsten ließe sich der Rest ja auch mit Hotspots & Objects erstellen.

Habe ich sonst noch etwas vergessen?


Danke schon mal im voraus!



BG
der Volltanker

27
Technik / Font / Zeichensatz als PNG ?
« am: 24. Juni 2013, 19:48:23 »
Hallo!

Ich überlege grad noch, wie man den C64-Style noch verbessern könnte.
Zwar gibt es einen Commodore-64-Font, allerdings hält ein TTF sich nicht an die 8x8-Größenregel, wie sie der originalen C64-Vorlage entspricht.

Gibt es bei AGS alternativ die Möglichkeit einen Zeichensatz bspw. als PNG unterzubringen?
Wenn nicht direkt als Font (TTF-Datei) aber evtl. ein Script für eine modifizierte Textdarstellung, dass bspw. ein geschriebenes A an der selben stelle durch ein A.png ersetzt wird?


Danke schon mal im voraus!


28
Technik / Frage zu "FollowCharacter"
« am: 03. Juli 2012, 12:45:36 »
Hallo Leutz!

Eine Frage:
Wenn man den "FollowCharacter" einsetzt, erfolgen dann für die folgenden Charactere die Raumwechsel auch automatisch oder wirkt dieses Script nur für den Raum, wo das Script aktiviert wurde?


BG
der Volltanker

29
Allgemeine Diskussionen / Der EM 2012 Thread
« am: 04. Juni 2012, 15:03:25 »
Hallo Leute!

Dieses Wochenende ist es endlich soweit! Die EM wird eröffnet.
Und da wir auch 304 fußballbegeisterte MMM-Forenmitglieder haben, eröffne ich hier auch mal einen Thread, um einen regen Plausch über das anstehende Fußballereignis einzuleiten.

Über 3 Wochen Fußballfieber und hoffentlich spannende Spiele.

Und am Ende wird Deutschland Europameister! :) :) :)


BG
der Volltanker


30
Hallo Leute!

Endlich ist es soweit! Das Bernard-C64-Starterpak ist endlich fertiggestellt und bereit zum Download.
Vor allem ist es jetzt reif, in die offizielle Liste der Ressourcen aufgenommen zu werden.
Hier der Link:

http://www.file-upload.net/download-4425247/Bernard_C64_v1_0.rar.html




WAS GILT ES BEIM ARBEITEN MIT DEM STARTERPAK ZU BEACHTEN:

1) Für die Sprachausgaben (Speeches) gilt nun der Befehl "Talk", anstelle von "Display...".

2a) Beim erstellen von Grafiken, egal ob Sprites oder Hintergründe, ist zu berücksichtigen, dass jeder Pixel in der Breite 2 Punkte breit sein muss.
2b) Ausnahmen gelten für Zeichensätze. Dafür besteht ein Zeichen komplett nur aus einer Farbe. Ein Zeichenblock hat eine Größe von 8x8.
2c) Der Grafik des C64 stehen nur 16 Farben zur Verfügung, die fest vorgegeben und nicht variierbar sind. Die Farbpalette sieht folgendermaßen aus:



3a) Sprites, die in Form von Charakteren, Objecten, InventoryItems, zum Einsatz kommen, dürfen aus maximal 3 Farben bestehen. 2-Punkt-Pixel-Breite dabei berücksichtigen!
3b) Die 3-Farben-Regel bei Sprites darf unter dem Vorwand gebrochen werden, wenn man "einen" Sprite bspw, übereinanderlappend aus 3 Sprites zusammensetzt (was in dem Beispiel insgesamt 9 Farben erlauben würde). Bei Maniac Mansion ist diese Technik allerdings nicht angewendet worden. Im Zak-McKracken-Demo von Onslaught bspw. kann man diese Technik begutachten:



Des weiteren habe ich eine Änderung der DoorScripts vorgenommen, da diese ja NUR dann korrekt hingehauen haben, wenn man Bernards Zimmer als Startkulisse hatte. Startete man in einem anderen Raum, so kam es vor, dass eine Tür grafisch als geöffnet angezeigt wurde, im Script aber noch geschlossen war. Durch das neue DoorScript passiert das jetzt nicht mehr. Das neue DoorScript sieht nun folgendermaßen aus:

[ags]MovePlayer(270, 133); FaceDirection(GetPlayerCharacter(), DIR_RIGHT);
if (UsedAction (A_WALK_TO)) {
  if (DoorBritneysRoom == 1) {
    Wait(5);
    EnterRoom(2, 48, 133, DIR_DOWN);
  }
}

else if (UsedAction(A_OPEN)) {
  if (DoorBritneysRoom == 1) player.Talk("Die Tür ist bereits offen!");
  else {
    ObjectOn(0);
    PlaySound(2);
    DoorBritneysRoom = 1;
  }
}

else if (UsedAction(A_CLOSE)) {
  if (DoorBritneysRoom == 1) {
    ObjectOff(0);
    PlaySound(3);
    DoorBritneysRoom = 0;
  }
  else player.Talk("Die Tür ist bereits zu!");
}

else Unhandled();[/ags]


Features:

- Alle Hintergründe vom Bernard-Starterpak im C64-Look
- 32 Charaktere im C64-Look
- Verben-GUI optisch angepasst nach dem Prinzip der Blockgrafik mit Hilfe von Zeichensatzänderung
- Sound und Music im C64-SID-Style
- Original mit C64-Ladebildschirm

Also in diesem Starterpak steckte schon die Arbeit einer ganzen Episode.

Wer sich also an eine C64-Episode heranwagen möchte und noch Unterstützung beim Erstellen von Grafiken oder noch C64-Sounds und Music benötigt, der darf sich gerne bei mir melden.


P.S.: Über eine Nominierung für die Veröffentlichungen des Jahres 2012 würde ich mich auch sehr freuen. :)


BG
der Volltanker



Seiten: 1 [2] 3 4 ... 10