Noch ein MI-Fan-Adventure
- LAF
- Oldschool RPG King
- Beiträge: 6361
- Registriert: 30.03.2005, 20:13
- Wohnort: Tulln(Ö)
Ich habe keine Ahnung vom Scripten oder sonstwas deshalb sehe ich das anders, ob das jetzt so oder so ist, ich spiele nur deshalb kann ich auch nicht mehr sagen
Just the old one's
Oldschool RPG's: auf http://www.rpg-atelier.net/
Oldschool RPG's: auf http://www.rpg-atelier.net/
Mal sehn was sich machen lässt ... werd noch n bisl dran rumspielen ....khrismuc hat geschrieben: Wegen des Blickwinkels:
Augenhöhe=Horizont, d.h. die Palme sieht man tatsächlich mehr von der Seite als von oben.
Die Insel dagegen ist wirklich zu steil gezeichnet, die Ellipse zeigt ungefähr die "Küstenlinie". Ich würde die Insel allerdings größer machen, auch bildschirmfüllend wirkt sie noch klein genug, dass der Miniinsel-Humorfaktor nicht verlorengeht.
Ich hab sie mal etwas hügelartiger gemacht, wirkt IMO besser.
Mal was anderes: Gibt es irgendwo eine Anleitung, wie man bei AGS eine MI2-typische Steuerung einbaut? Also 9 Verben ...
- AlphaBolley
- Verpackungs-Wegwerfer
- Beiträge: 53
- Registriert: 07.03.2006, 15:52
- Wohnort: Iserlohn
- Kontaktdaten:
Man bin ich blöd *lol*
http://www.adventure-treff.de/fanadv/tu ... asarts.php
PS: Ähm, ich habe jetzt diese ags_mi1.zip geladen und entpackt, aber die darin enthaltene agt kann ich garnicht öffnen Oô
PS: Habs hinbekommen ^^
http://www.adventure-treff.de/fanadv/tu ... asarts.php
PS: Ähm, ich habe jetzt diese ags_mi1.zip geladen und entpackt, aber die darin enthaltene agt kann ich garnicht öffnen Oô
PS: Habs hinbekommen ^^
- AlphaBolley
- Verpackungs-Wegwerfer
- Beiträge: 53
- Registriert: 07.03.2006, 15:52
- Wohnort: Iserlohn
- Kontaktdaten:
Ist allerdings in AGS vor V2.7 geschrieben.
Wenn du's im neuen AGS haben willst (das ich aufgrund seiner Objekt-orientiertheit deutlich angenehmer finde) musst du's wohl oder übel selber umschreiben.
Hab ich auch gemacht und es war eine wunderbare Übung, das AGS-Skripten zu erlernen.
PS: was für ein genialer Avatar!
Wenn du's im neuen AGS haben willst (das ich aufgrund seiner Objekt-orientiertheit deutlich angenehmer finde) musst du's wohl oder übel selber umschreiben.
Hab ich auch gemacht und es war eine wunderbare Übung, das AGS-Skripten zu erlernen.
PS: was für ein genialer Avatar!
100,5% Sinnlos
So ... ich bin gerade dabei das GUI um zuschreiben (zumindest versuch ich's^^).
Bin jetzt soweit:
Geht auch soweit ... nur dummer Weise fängt er immer an im Stehen zu laufen, wenn er anfängt zu sprechen Oô
Bin jetzt soweit:
Code: Alles auswählen
// main global script file
#sectionstart game_start // DO NOT EDIT OR REMOVE THIS LINE
function game_start() {
SetGlobalInt(299,8);
//game.items_per_line=4;
//game.num_inv_displayed=8;
game.text_speed=7;
// called when the game starts, before the first room is loaded
}
#sectionend game_start // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart repeatedly_execute // DO NOT EDIT OR REMOVE THIS LINE
function repeatedly_execute() {
// Die Variablen werden initialisiert
String buffer;
int cur_mode, mode;
mode = GetGlobalInt(299);
cur_mode = GetCursorMode();
String text = "";
// Je nach Cursor-Modus wird jetzt ein Verb in die Statuszeile geschrieben
if (cur_mode == MODE_WALK) text = text.Append("Gehe zu ");
else if (cur_mode == MODE_LOOK) text = text.Append("Schau an ");
else if (cur_mode == MODE_USE) {
if (mode == 7) text = text.Append("Benutze ");
if (mode == 2) text = text.Append("Gib ");
}
else if (cur_mode == MODE_TALK) text = text.Append("Rede mit ");
else if (cur_mode == 5) text = text.Append("Nimm ");
else if (cur_mode == 4) {
if (mode == 7) {
text = text.Append("Benutze ");
buffer = text.Append(player.ActiveInventory.Name);
text = text.Append(buffer);
text = text.Append(" mit ");
}
if (mode == 2) {
text = text.Append("Gib ");
buffer = text.Append(player.ActiveInventory.Name);
text = text.Append(buffer);
text = text.Append(" an ");
}
}
else if (cur_mode == 8) {
if (GetGlobalInt(299) == 1) text = text.Append("Schliesse ");
if (GetGlobalInt(299) == 2) {
text = text.Append("Gib ");
text = text.Append(" mit ");
}
if (GetGlobalInt(299) == 3) text = text.Append("Oeffne ");
if (GetGlobalInt(299) == 4) text = text.Append("Druecke ");
if (GetGlobalInt(299) == 5) text = text.Append("Ziehe ");
}
// Das Objekt unter dem Cursor finden und an die Statuszeile anhängen
buffer = Game.GetLocationName(mouse.x, mouse.y);
text = text.Append(buffer);
SetLabelText (0, 12, text);
// put anything you want to happen every game cycle here
}
#sectionend repeatedly_execute // DO NOT EDIT OR REMOVE THIS LINE
function show_inventory_window () {
// This demonstrates both types of inventory window - the first part is how to
// show the built-in inventory window, the second part uses the custom one.
// Un-comment one section or the other below.
// ** DEFAULT INVENTORY WINDOW
// InventoryScreen();
// ** CUSTOM INVENTORY WINDOW
//gInventory.Visible = true;
// switch to the Use cursor (to select items with)
mouse.Mode = eModeInteract;
// But, override the appearance to look like the arrow
mouse.UseModeGraphic(eModePointer);
}
#sectionstart on_key_press // DO NOT EDIT OR REMOVE THIS LINE
function on_key_press(int keycode) {
// called when a key is pressed. keycode holds the key's ASCII code
if (IsGamePaused() == 1) keycode=0; // game paused, so don't react to keypresses
if (keycode==17) QuitGame(1); // Ctrl-Q
if (keycode==363) SaveGameDialog(); // F5
if (keycode==365) RestoreGameDialog(); // F7
if (keycode==367) RestartGame(); // F9
if (keycode==434) SaveScreenShot("scrnshot.bmp"); // F12
if (keycode==9) show_inventory_window(); // Tab, show inventory
if (keycode==19) Debug(0,0); // Ctrl-S, give all inventory
if (keycode==22) Debug(1,0); // Ctrl-V, version
if (keycode==1) Debug(2,0); // Ctrl-A, show walkable areas
if (keycode==24) Debug(3,0); // Ctrl-X, teleport to room
}
#sectionend on_key_press // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart on_mouse_click // DO NOT EDIT OR REMOVE THIS LINE
function on_mouse_click(MouseButton button) {
if (IsGamePaused() == 1) {} // Wenn das Spiel pausiert ist, dann passiert nix
else if (button == LEFT) {
ProcessClick(mouse.x, mouse.y, GetCursorMode() );
SetCursorMode(MODE_WALK);
}
else if (button==RIGHT) {
if (GetLocationType(mouse.x, mouse.y) == 2) {
SetGlobalInt(299,9);
ProcessClick(mouse.x, mouse.y, MODE_TALK);
SetGlobalInt(299,0);
}
else {
FaceLocation(GetPlayerCharacter(), mouse.x, mouse.y);
ProcessClick(mouse.x, mouse.y, MODE_LOOK);
SetCursorMode(MODE_WALK);
}
}
}
#sectionend on_mouse_click // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart interface_click // DO NOT EDIT OR REMOVE THIS LINE
function interface_click(int interface, int button) {
if (interface == 0) {
if (button == 0) { // gib
SetCursorMode(2);
SetGlobalInt(299,2);
}
if (button == 1) { // oeffne
SetCursorMode(8);
SetGlobalInt(299,3);
}
if (button == 2) { // schau
SetCursorMode(1);
SetGlobalInt(299,8);
}
if (button == 3) { // benutze
SetCursorMode(2);
SetGlobalInt(299,7);
}
if (button == 4) { // schliesse
SetCursorMode(8);
SetGlobalInt(299,1);
}
if (button == 5) { // druecke
SetCursorMode(8);
SetGlobalInt(299,4);
}
if (button == 6) { // nimm
SetCursorMode(5);
SetGlobalInt(299,6);
}
if (button == 7) { // rede
SetCursorMode(3);
SetGlobalInt(299,9);
}
if (button == 8) { // ziehe
SetCursorMode(8);
SetGlobalInt(299,5);
}
if ((button == 10) & (game.top_inv_item < game.num_inv_items - 7))
game.top_inv_item = game.top_inv_item + 4;
if ((button == 9) & (game.top_inv_item > 0))
game.top_inv_item = game.top_inv_item - 4;
}
}
#sectionend interface_click // DO NOT EDIT OR REMOVE THIS LINE
/*
#sectionstart btnInvUp_Click // DO NOT EDIT OR REMOVE THIS LINE
function btnInvUp_Click(GUIControl *control, MouseButton button) {
invCustomInv.ScrollUp();
}
#sectionend btnInvUp_Click // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart btnInvDown_Click // DO NOT EDIT OR REMOVE THIS LINE
function btnInvDown_Click(GUIControl *control, MouseButton button) {
invCustomInv.ScrollDown();
}
#sectionend btnInvDown_Click // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart btnInvOK_Click // DO NOT EDIT OR REMOVE THIS LINE
function btnInvOK_Click(GUIControl *control, MouseButton button) {
// They pressed the OK button, close the GUI
gInventory.Visible = false;
mouse.UseDefaultGraphic();
}
#sectionend btnInvOK_Click // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart btnInvSelect_Click // DO NOT EDIT OR REMOVE THIS LINE
function btnInvSelect_Click(GUIControl *control, MouseButton button) {
// They pressed SELECT, so switch to the Get cursor
mouse.Mode = eModeInteract;
// But, override the appearance to look like the arrow
mouse.UseModeGraphic(eModePointer);
}
#sectionend btnInvSelect_Click // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart btnIconInv_Click // DO NOT EDIT OR REMOVE THIS LINE
function btnIconInv_Click(GUIControl *control, MouseButton button) {
show_inventory_window();
}
#sectionend btnIconInv_Click // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart btnIconCurInv_Click // DO NOT EDIT OR REMOVE THIS LINE
function btnIconCurInv_Click(GUIControl *control, MouseButton button) {
if (player.ActiveInventory != null)
mouse.Mode = eModeUseinv;
}
#sectionend btnIconCurInv_Click // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart btnIconSave_Click // DO NOT EDIT OR REMOVE THIS LINE
function btnIconSave_Click(GUIControl *control, MouseButton button) {
SaveGameDialog();
}
#sectionend btnIconSave_Click // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart btnIconLoad_Click // DO NOT EDIT OR REMOVE THIS LINE
function btnIconLoad_Click(GUIControl *control, MouseButton button) {
RestoreGameDialog();
}
#sectionend btnIconLoad_Click // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart btnIconExit_Click // DO NOT EDIT OR REMOVE THIS LINE
function btnIconExit_Click(GUIControl *control, MouseButton button) {
QuitGame(1);
}
#sectionend btnIconExit_Click // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart btnIconAbout_Click // DO NOT EDIT OR REMOVE THIS LINE
function btnIconAbout_Click(GUIControl *control, MouseButton button) {
Display("Adventure Game Studio v2 run-time engine[[Copyright (c) 1999-2005 Chris Jones");
}
#sectionend btnIconAbout_Click // DO NOT EDIT OR REMOVE THIS LINE
*/
function unhandled_event (int what, int type) {
if (what == 1) {
if (type == 1) Display("Ich sehe nichts Besonderes.");
else if (type == 2) Display("Das kann ich nicht benutzen.");
else if (type == 3) Display("Diese Sachen passen nicht zusammen.");
else if (type == 4) Display("Es antwortet nicht.");
else if (type == 7) Display("Ich kann das nicht nehmen.");
else Display("Nein.");
}
if (what == 2) {
if (type == 0) Display("Ich sehe nichts Besonderes.");
else if (type == 1) Display("Das kann ich nicht benutzen.");
else if (type == 2) Display("Damit kann ich nicht reden.");
else if (type == 3) Display("Diese Sachen passen nicht zusammen.");
else if (type == 5) Display("Ich kann das nicht nehmen.");
else Display("Nein.");
}
if (what == 3) {
if (type == 0) Display("Hübsch, hübsch.");
else if (type == 1) Display("Das lasse ich lieber.");
else if (type == 2) Display("Keine Antwort. Hmm...");
else if (type == 3) Display("Das kann ich so nicht benutzen.");
else if (type == 5) Display("Wie bitte? Nehmen?");
else Display("Nein.");
}
if (what == 4) {
if (type == 1) Display("Da ist nichts.");
else if (type == 2) Display("Da ist nichts.");
else if (type == 3) Display("Nein, wirklich nicht.");
else Display("Die Luft ist kein sehr angenehmer Gesprächspartner.");
}
if (what == 5) {
if (type == 0) Display("Was für ein Prachtstück.");
else if (type == 1) Display("Jetzt nicht.");
else if (type == 2) Display("Damit reden??? Freak!");
else if (type == 3) Display("Die beiden Dinge passen nicht zusammen.");
else Display("Nein.");
}
}
- AlphaBolley
- Verpackungs-Wegwerfer
- Beiträge: 53
- Registriert: 07.03.2006, 15:52
- Wohnort: Iserlohn
- Kontaktdaten:
Ich hatte erst die Anleitung befolgt und dann getestet ... da wo Felher kamen, hab ich nach her Lösung gesucht (In der Hilfe stehen ja ein paar der Unterschiede zwischen dem alten und dem heutigen AGS.). Und ein paar Programmier-Kentnisse hab ich ja (PHP, HTML, CSS etc.).
Kann es was damit zu tun haben, dass ich noch keine Spite für's sprechen drin hab?
Kann es was damit zu tun haben, dass ich noch keine Spite für's sprechen drin hab?
- AlphaBolley
- Verpackungs-Wegwerfer
- Beiträge: 53
- Registriert: 07.03.2006, 15:52
- Wohnort: Iserlohn
- Kontaktdaten:
Hattest recht ^^ Danke ...AlphaBolley hat geschrieben:Ja, das wird's wohl sein.Maku hat geschrieben:Kann es was damit zu tun haben, dass ich noch keine Spite für's sprechen drin hab?
Schau bei deinem Charakter mal, was als Speech View angegeben ist.
Da wird wahrscheinlich die Nummer des Walk-View eingetragen sein.
PS: Ich habe jetzt mal eine zweite Insel gezeichnet ... gefällt die besser?
- Brush
- Rätselmeister
- Beiträge: 1567
- Registriert: 13.06.2004, 15:58
Gefällt mir jetzt besser! Der Strand darf am Rand natürlich nicht dick gezeichnet werden, sondern in einem Farbverlauf ins Wasser übergehen, aber das ist wohl eh nur Skizzentechnik.
Tipp: Halt dich nicht an soo vielen Kleinigkeiten auf. Über sowas kann man bei einem Spiel, bei dem die Story und so weiter stimmt gerne wegsehen. Ist ja ein Fanadventure. Wenn du für einen Screen so lang brauchst, verlierst du schnell die Lust. Aber im Moment kommt ja echt schnell viel von dir. So ists gut
Tipp: Halt dich nicht an soo vielen Kleinigkeiten auf. Über sowas kann man bei einem Spiel, bei dem die Story und so weiter stimmt gerne wegsehen. Ist ja ein Fanadventure. Wenn du für einen Screen so lang brauchst, verlierst du schnell die Lust. Aber im Moment kommt ja echt schnell viel von dir. So ists gut
Hast ja recht ^^ Jedoch ist dies der erste "Raum" des Spiels (ausgenommen das Intro) und da arbeite ich mich erstmal in AGS rein und übe mich im Zeichnen und der Animation ... ist das erstmal i.O. beginnt der schöne Teil mit den Rätseln^^Brush hat geschrieben:Gefällt mir jetzt besser! Der Strand darf am Rand natürlich nicht dick gezeichnet werden, sondern in einem Farbverlauf ins Wasser übergehen, aber das ist wohl eh nur Skizzentechnik.
Tipp: Halt dich nicht an soo vielen Kleinigkeiten auf. Über sowas kann man bei einem Spiel, bei dem die Story und so weiter stimmt gerne wegsehen. Ist ja ein Fanadventure. Wenn du für einen Screen so lang brauchst, verlierst du schnell die Lust. Aber im Moment kommt ja echt schnell viel von dir. So ists gut :)
Wenn "Mini-Island" fertig ist (inkl. Intro) hab ich mir gedacht den Teil mal als "Demo" zu veröffentlichen :)
Danach werde ich mich sicher nicht mehr soooo lange mit Kleinigkeiten aufhalten lassen ;)
PS: Bin aber schon weiter als ich gedacht hab am Anfang: Das GUI ist fertig (Fertig?), XY hat ein Gesicht und kann laufen, Ablauf und Story von Mini-Island+Intro sind erdacht. Jetzt noch die Insel selbst, die Animationen, die Gegenstände etc. pp und ich kann den Teil abschließen ;-)
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Das komplette Zitierenkhrismuc hat geschrieben:Wenn Du jetzt noch das Zitieren des unmittelbar vorhergehenden Beitrages unterläßt, steht dem Erfolg nichts im Wege
Die neue Insel schaut auch gut aus, bin mal auf die fertige Version gespannt... und auf das Spiel natürlich
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
- AlphaBolley
- Verpackungs-Wegwerfer
- Beiträge: 53
- Registriert: 07.03.2006, 15:52
- Wohnort: Iserlohn
- Kontaktdaten: