TEMPLATE: 9-verb MI-style 1.6.4 - Last update: 4th April 2019

Started by abstauber, Thu 17/09/2009 16:16:37

Previous topic - Next topic

abstauber

If you are starting a new project, please consider using the succesor of this template over here: http://www.adventuregamestudio.co.uk/forums/index.php?topic=54762.0


Abstract:
  This template adds a 9 Verb GUI to AGS, 
  similar to the ones in classic LucasArts Games.
  The graphics included may be freely used and altered in any way.

Version: 1.6.4

Authors:
   Proskrito - first release
   Lazarus - rewritten for AGS 2.7
   SSH - rewritten for AGS 2.71 and AGS 2.72
   Rulaman - Maniac Mansion Starterpacks
   Lucasfan - Maniac Mansion Starterpacks
   KhrisMUC - AGS 3.0 conversion
   Electroshokker - doubleclick code

   Abstauber      current maintainer


Dependencies:
  AGS 3.1 SP2 or later
  custom dialog rendering supported in AGS 3.2 or later

Screenshot


Downloads
Compiled with AGS 3.4.3 P1
(scripts are compatible with AGS 3.2 and later)
http://shatten.sonores.de/wp-content/uploads/2019/04/9-verb-MI-style_1.6.4.zip

Github repository:
https://github.com/dkrey/ags_9verb-template

GUI-Graphics and Documentation
http://shatten.sonores.de/wp-content/uploads/2014/10/9verb_addon.zip

AGS 3.1 SP2 (not updated anymore, but the script is backwards compatible)
http://shatten.sonores.de/wp-content/uploads/2011/02/9verb_13_AGS31.zip


Revision History
... for the complete changelog, have a look at guiscript.ash
1.5    support for AGS 3.4
       added custom dialog rendering
       adapted eDirection to enum CharacterDirection (and removed eDir_none)
       fixed talk-to and pickup interactions on inv items
1.5.1  switched to 32-bit and D3D9 by default
        exit rooms via doubleclick now works on objects
        option to hide the main gui during dialogs
1.5.2  bugfix regarding inventory using keyboard shortcuts
         added option disable the doubleclick entirely
1.5.3  added (optional) talk-to for objects and hotspots
1.5.4  fixed label description
       Selected action is restored after unpausing
1.6    added running option
        removed invisble mouse cursors
        slight code cleanup
        removed obsolete dialog gui
1.6.1  added dutch translation
       fixed runnnig bug in scrolling rooms
1.6.2  More touchups on running mode
       minor bugfixes
1.6.3  Bugfix regarding roomclicks when gui is disabled

1.6.4 Option GUI wasn't translated if English is not set as default language

Have fun :D

Translations

Spanish - Josemarg, Unai, Poplamanopla
German  - Abstauber
French  - Monsieur OUXX
Italian - Paolo
Portuguese - Miguel
Dutch   - arj0n

If your language has not been added yet and you would like to help out: feel free to send us a PM or post in this thread

Pumaman

Excellent! :)

If this template proves to be stable, would you be happy with it being included in AGS 3.2?

abstauber

Sure, go ahead :)
Although the GUI is not foolproof, I think I could answer most questions/problems related to it.

As for the stability, everything appears pretty solid - I'm using it in my project for quite a while now.
But I'm sure, more people like to test it, after the documentation is ready.

Right now I'm about to describe all of its functions (25 done, 22 more to come), after I'm done with that, I'm thinking about a tutorial.

abstauber

*bump*

I've finally managed to create a manual for this template.
Now, could anyone of you native speakers please proof read it? I'm afraid, it's still full of spelling and grammar mistakes. The file is included inside the zip.

I've also removed the old and possibly copyrighted graphics and replaced them with my own work. So now it's safe to distribute this template with upcoming AGS releases.

Any thoughts?

Pumaman

Good work!

I've given it a quick test and all seems to be well. I've made some minor tweaks to the script code and General Settings in the version that's included in 3.2 RC 1, so please could you continue any further work based on that.

As for the documentation -- where can we find it? Is it the "9verbs.odt" file in the zip, and if so how do you open an ODT file?

abstauber

#5
Awesome :D
Thanks for crawling through the code, I'll gladly base my work on your tweaked version!

Yep, the .odt file is the documentation, I've used OpenOffice 3.1 to create it. It's completely based on style sheets, so converting it to HTML should not be too much work. Converting it to .doc on the other hand might break these sheets.


Pumaman

Yep, an HTML version would be useful, saves people having to install OpenOffice just to read the docs :)

abstauber

Alright, I've exported the docs as pdf and html. I've also updated the template with your tweaks.

btw. could anyone please move this to the modules/plugin section?

Gilbert

Actually I originally decided to move this until the (beta) word is dropped, but after CJ put this into the official AGS package I decided not to move this thread there.
But now I think again. Even that it's not meant to be obtained separately it certainly should better be there for feedbacks.

So, thread moved, and subject line updated. :)

Magnusfuhr

Hi all.
My name is Magnus. I´m from Denmark, where i study on the danish Art Academy.
I´m working on a Art adventure game, how to become a great artist and so on. I found the 9 verb GUI and it fits perfect to the concept. However i need to translate it from 320x200 to 1024x768. Have someone any experience on that?

Thanks for an fantastic program and site.

Don´t hope that this is OT. sry if it is... I´m new... :)

abstauber

Sorry for having spotted your reply so late.

Well of course it's possible to use this GUI in any resolution, and converting it is quite easy. But if this is really going to be your first project in AGS, I'd rather start with something small and simple ;)

If you have already finished a Test-Quest and are still having trouble to use the GUI in 1024x768, I'd be glad to help.

abstauber

Hi everyone!
I've done some changes to the template. In case any of you is already using it, here's the changelog:

* included proskrito's exit extension, added functions: ExtensionEx, GoTo, Go, WalkOffScreen
* removed the obsolete GUI gMessages
* added doubleclick functionality for exits and open doors (doubleclick skips walking)
* Options GUI featuring the new SetAudioTypeVolume function
* minor tweaks
* added a second room to the template to demonstrate the exit extension

There are still two features missing from Proskrito's template: Map screens and a mechanism to walk/don't walk to hotspots.

Would anyone like to see this or do you think this would just bloat the template?

skerrigan

How easily is this adapted to a higher resolution AGS game? The new AGS supports 1024x768 resolution doesn't it?

BlueAngel

Quote from: skerrigan on Fri 12/02/2010 14:49:27
How easily is this adapted to a higher resolution AGS game? The new AGS supports 1024x768 resolution doesn't it?

If you get it adapted to 800X600 would you send me a msg, please.  ;)
I cant do it myself and a error pop up if you just resize it
Error running function 'game_start'
I think the text length is wrong but dont know how to change it.
Code: ags

String clearToSpace(String text) {
  int p=0;
  // ignore white spaces at the beginning
  while (p<text.Length && text.Chars[p]==' ') {
    p++;
  }
  // write white spaces until next white space
  while (p<text.Length && text.Chars[p]!=' ') {
    text=text.ReplaceCharAt(p, ' ');
    p++;
  }
  return text;
}

abstauber

Whoops, I didn't know that this might be a problem. I'll take a look at it this evening and keep you updated.

abstauber

Okay, found it :)

If you don't want to upgrade your template, you can also update the script yourself.

Go to line 410 in guiscript.asc

change these lines:
Code: ags

  if (System.ScreenWidth==320)
    font_info=GetTranslation("font_320: 1  0  0  0  0  0  0  0  3  0  0  0  0  0  0  0  0  0  3  3");
  else if (System.ScreenWidth==640)
    font_info=GetTranslation("font_640: 1  0  0  0  0  0  0  0  3  0  0  0  0  0  0  0  0  0  3  3");


to this
Code: ags

  if (System.ScreenWidth==320)
    font_info=GetTranslation("font_lowres: 1  0  0  0  0  0  0  0  3  0  0  0  0  0  0  0  0  0  3  3");
  else 
    font_info=GetTranslation("font_hires: 1  0  0  0  0  0  0  0  3  0  0  0  0  0  0  0  0  0  3  3");


I'll update the template asap.

@BlueAngel
The function is fine, but as you might see, the template defines a string called "font_info".
But it only does it for a screenwidth of 320 or 640.
So when you tried 800x600 or 1024 the variable "font_info" wasn't even created, so you got a null pointer error.

BlueAngel

 :D
Thanks for looking into this , I will try it as soon as I get home!
I did actually find that line but because I so bad at scripting i had no idea how to change it.
Tho it feels fine knowing that I was on the right way.  ;)
Thank you so much again!!!

abstauber

Okay, I've given in and added AGS 3.1 support. So now nobody is forced to use the release candidate of AGS 3.2 anymore (although it's great and pretty stable).

The first post has been updated with the link.

@Blue Angel
Seems like it worked for you ;)


TheRoger

Where I can add character animation script "cEgo.Animate(2, 2 , eOnce, eBlock, eForwards);, when using doors? I tried before "(any_click_on_door_special(0, oDoor.ID, 640, 420, eDir_Right, 2, 180, 88, eDir_Right, 0, 0, 4, 0)==0) Unhandled();
}" this, but this works with every click like look at, but I want that this would be used only when open and close doors.

abstauber

Well you could do it like this:

Code: ags

  if (UsedAction(eGA_Open) || UsedAction(eGA_Close))
  {
    if (MovePlayer(640, 420)!=0) cEgo.Animate(2, 2 , eOnce, eBlock, eForwards);
  }
  if (any_click_on_door_special(0, oDoor.ID, 640, 420, eDir_Right, 2, 180, 88, eDir_Right, 0, 0, 4, 0)==0) Unhandled();


But this way you would always have to add some lines of code before the actual door script which would undo the benifit of it.
So including the animation inside the function "any_click_on_door_special" itself might be an option as well.


Edit:

I've just updated the template to v1.2:
The included fonts now work in high-res games as well and I moved the options from the header to the script file (thanks to Monkey's coding lessons ;) )

So if you're looking for the options, they're now in guiscript.asc.

SMF spam blocked by CleanTalk