Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Monsieur OUXX

#2081
Quote from: Crimson Wizard on Fri 14/02/2014 13:39:26
They will fail if game is installed on system disk (usually C)
OK, but I suppose using $SAVEGAME$ allows me to write to "Documents\Saved games" or whatever -- so it should work?


Quote from: Crimson Wizard on Fri 14/02/2014 13:39:26
unless game is run with administrator rights.
Is that common practice, or is it totally unreasonable?
#2082
hi everyone,

The more my scripting progresses, the more modules I have that read and write custom files present in the game's directory. I'm using Windows XP.

But I also know that there are restrictions with Windows Vista/7, and that there are features like $MYDOCS$ or $SAVEGAMEDIR$ to circumvent that.

Did anyone have issues writing extra files to the game's directory?
Does anyone have best practices to recommend?
#2083
AGS Games in Production / Re: Spring Break
Fri 14/02/2014 13:22:10
That looks so lovely. I love the style. So clean. So inviting.
#2084
Quote from: janosbiro on Thu 13/02/2014 01:34:50
The video didn't loaded for me as well, but other videos did.

Hi guys,

The video was indeed recorded using an exotic codec BUT it is hosted on Youtube. Unless I'm mistaken, Youtube applies their own codecs the very second the video gets uploaded.
#2085
I must say your graphics have greatly improved since the old Ben Jordan games... Now they're much cleaner, and the colors are more balanced.

Your character sprites are very nice too. By the way I know it's not the place to discuss it, but if I may (and I may not), I'd only recommend paying extra attention to the shadings in the portraits close-ups: your shades have a tendency to be "plain" black, instead of being "tinted" black (i.e. dark brown for the skin shading). I'd suggest using "plain" black only for edges/outlines (it's what cell shading does to a certain extent), and slightly coloring all other dark parts. In the image below you did it right on the bowtie -- do the same thing to the face.

http://www.grundislavgames.com/_res/images/agoldenwake/agw6.png


#2086
Maybe that got removed with 3.x and never re-introduced afterwards?
#2087
Quote from: Ghost on Wed 12/02/2014 09:55:01
I did export GUIs every now and then since back in 2.72 days. The code always was exported too, and when importing, placed in GlobalScript. Hope that helps :-\

Well that's weird, I did the test myself, and the code didn't travel. And I'm probably not the only one, because in some modules/GUIs I've seen readme's like : "if the buttons don't work, then add this to your global script..."

Crimson Wizard? What is this wizardry?
#2088
Could I just have a confirmation that exporting a GUI is not meant to also export the bound code in the global script?
#2089
About the walking speed, there's only one thing to be said: double-clicking makes you walk faster. That's already been implemented for years. BOOM.

PS: that 2010 demo looks SO DIFFERENT from what the game looks like now, it shouldn't be used for comparison with anything anymore :D



#2090
This is one of those modules that you won't understand at first glance why they can be very useful.

Imagine this : You need to intercept a click on a GUI Control. That happens every day. You can just use the AGS Editor, go to the "Events" pane of your GUI, and bind a custom script to "OnClick". AGS will create automatically a little function in the global script, where you can put all the custom instructions you need.

BUT now imagine that your favorite hobby in life is to release modules for AGS. Modules that come with their own little custom Gui. (for the example's sake: imagine you want to release a "custom saved games" gui: you'll need to release both the Gui and the module that controls it).

Problem: all the binding you did in the global script doesn't get exported alongside the .guf and .scm files. It can quickly get annoying to explain in the readme how to recreate all that got lost. You could retort: "to circumvent this, I export a demo game with both the gui and the module". Well, there are still situations where that's not satisfactory.

Now imagine this: on top of it, you want to implement a small hovering function (that is, when the mouse is over a control, you get the feedback somewhere).
It's very easy to code manually in your custom module. But it can quickly become a mess if you have many controls. Same thing for intercepting the clicks the way this module does it. Anybody can do it. But it's better if it's done once and for all, and moved out of your critical module.

Hence, this module. Import it in your project, and then use it as follows :

Code: ags

// 1) Create your very own module
// 2) Create your very own Gui, with any kind of control. For example: 
//      - a label called "MyLabel". You want to track the clicks on that one
//      - another label called "StatusLine" where you want displayed the control being hovered
// 3) In your module's initialization, add this :
//      StandaloneClick.RegisterControl(MyLabel,  "this text will appear when the label is hovered");    
// 4) In your module's repeatedly_execute_always(), add this: 
//        if (StandaloneClick.ClickDetected(eMouseLeft)) {
//           GUIControl* c = StandaloneClick.GetClick(eMouseLeft);
//           if (c==MyLabel)
//             Display("you clicked on MyLabel with the left mouse button");
//        }
//
//        StatusLine.Text = StandaloneClick.GetHoveredText();
//
// 5) Run the game. Click on your label, and move your mouse over it.




Download module only (.scm)
Download demo game


EDIT : version 1.1
  - added "ClickDetected" to avoid confusing the absence of click with an actual click on nothing
#2091
OK but what does it do? What do you mean by "floating"?
In my head I picture a hotspot levitating up and down up in the air.
#2092
Quote from: Radiant on Tue 11/02/2014 13:25:18
Yes; we became aware of that shortly after the game's release, and have fixed it in v1.1 (which is now available). The newest build has, to our knowledge, no deadlocks or walking dead situations.

(note that telling Regin you won't do his quest won't turn him off; he'll believe and outright say that you'll probably do it anyway, and indeed you can)



I think version 1.1 of your game has truly reached perfection. Now, the only real remaining question is : how many awards will you get? haha!
#2093
Hello Abisso,

Once again I sounded rude in English when I didn't intend to (that's not my native language, so I might have misjudged the level of insulting in the expression "half-baked").

But when I wrote "half-baked" I was only talking about the text area, not the extensive debug interface. I have no idea what yours looks like.

Having said that: What I meant was only really what I wrote  -- we're not aiming at bragging that we're allegedly better than the others, or whatnot: we're not. We're only aiming at creating the best possible debug interface for all future projects, starting with ours. Based on other (very skilled) scripters issues. The idea is to save many game creators a lot of hassle. As I wrote in the description, what you see here is just the text typing Gui control, BUT that will be integrated with this (and that's only the first step to the beta-testing interface, that should record all issues)

Also I didn't get that idea from Forge, I had it on my own, and that's after I told the others about it that selmiak said "hey, they did that in Forge, here is my personal feedback".

I don't get why you get irritated, since Forge is a GREAT game, with a very good level of finish, and I even said that in your "Released Game" thread. Forge is more than great, it's beautiful-looking, and very well written and coded (I love the gloves interface). I was only saying that the lack of good text area (and only the text area, not the whole debug interface) ended up being a problem for beta-testing.

#2094
Every now and then I want to share a module that also relies on a GUI.

Problem is : the action scripts bound to that GUI (e.g. : "click on that button") are placed automatically in the global script by AGS.

Question: Are those bits of code supposed to be exported alongside the GUI, into the .guf file? I think not, but couldn't find a definitive answer.

If they don't get exported, I'll just write a little module to detect the clicks in a GUI that only relies on GetAtMouseXY and repeatedly_execute_always. This way, not one line of code gets out of the module.
#2095
It's truly a problem that you can lock yourself out of several quests, hence being in a deadlock (example: if you say to Liff/lithrasir that you won't help them AND you say to Regin that you won't kill his brother, then you can't complete the game).
#2096
I'm digging up this thread to post a new version.

Version 0.9
- This version is not to replace Monkey's version. My version is a bit buggy (but rather stable -- it shouldn't crash your game)
- This version offers more features

See the demo video by clicking the image below :


VIDEO

Get it here : http://www.adventuregamestudio.co.uk/forums/index.php?topic=51280.msg636500344#msg636500344
#2097
Quote from: Crimson Wizard on Tue 11/02/2014 09:07:40
The font height is calculated as the height of "YpyjIHgMNWQ".

That will come EXTREMELY HANDY. I'm about to release a module that can make the engine explode when used in the wrong conditions.
#2098
I hope there is no function in AGS that does that out-of-the-box or else I just totally ridiculed myself.

Code snippet: How to get the row height in a ListBox

Code: ags

[color=green]// AGS does not provide the height (in pixels) of a listbox row.
// The height depends purely on the font's height. 
// Yet, one cannot access that info either, using scripting only
// (even with GetTextHeight, because you'd need to know in advance the height
// of the tallest character in the entire font, I suppose).

// Hence, this function. It's a MASSIVE HACK
//
// IMPORTANT NOTE: this function can make the game crash because of a bug in AGS' ListBox
// coding. See http://www.adventuregamestudio.co.uk/forums/index.php?topic=48793.msg636466821#msg636466821
// To work around this, you must never call this function before the ListBox has been
// painted at least once.

// This function works with a struct similar to this :
// struct ExtendedListboxType {
//    ListBox* Box;
//    int rowHeight
// };
//
// ExtendedListboxType TextAreas[10];
//

[/color]

int TextAreaType::GetRowHeight()
{
  
  if (this.rowHeight!=0) //We do it only once, but it must be done after game_start
                         //or more generally after the box's first painting
    return this.rowHeight;
  else
  {   
    ListBox* b =  this.Box; //for convenience
    b.Clear();
    b.AddItem("0000000000000000000000000000000");
    b.AddItem("1111111111111111111111111111111");
    
    int i=0;
    
    int start_x=b.X+b.OwningGUI.X+1;
    int start_y=b.Y+b.OwningGUI.Y;

    int lastItem;
    lastItem=b.GetItemAtLocation(start_x, start_y+i);

    while (i<30) //we assume the characters are not higher than 30 pix high
    {
      int item = b.GetItemAtLocation(start_x, start_y+i);
      
      if (lastItem != item && item != -1)
      {
        b.Clear();
        this.rowHeight = i;
        return i;
      }  
      lastItem=item;
      i++;
    }

    Display("WARNING: could not find height of text area rows. The cursor might be off, or maybe your font is taller than 30 pixels?");
    b.Clear();
    this.rowHeight = 10; //arbitrary value
    return this.rowHeight; 
  }   
}
#2099
What to do with the flowers
Spoiler

You're supposed to give them to... what's her name? Lithrasir is it? The owner of the tavern. Then she's supposed to take them, and then there is a new dialog where she says she'd like to meet her boyfriend and she gives you an accurate appointment. If she didn't, then it's a bug. I think she did but maybe you read the dialog too fast and missed the point.
[close]

archery
Spoiler

you're doing it right. Try again a few times, you should eventually manage to succeed.
[close]

frost flower
Spoiler

> I can't pick up the frost flower with my flame aura. It says I'm not powerful enough. What level is required?

Just cast the spell repeatedly to increase your level, until you manage to pick up the flower.
[close]
#2100
As a sorceress :

How to get the cat:
Spoiler

There are two solutions to get fish
1) [I haven't done that myself so I don't know if it really works] use the fishnet on the lake's hole in the ice, after using Blessing. You'll catch a fish
2) (the easier one) Go into the watch tower on the frozen lake's shore (you'll need the teleportation spell first) and take a fish in the barrel.
[close]



How to get the flowers:
Spoiler

The flowers are owned by one the Elves in Svartalfheim. He has them on display, or tells you in a dialog that he owns them (I don't remember).

Spoiler

They are owned by the Svartalf who loves human trinkets. He will exchange them for some totally common human tool - the pick, if I recall properly.
[close]
[close]

How to do archery with Snorri:
Spoiler

Just talk to him, and use the corresponding dialog choice. I won't detail here how to win, though -- it's been explained before. It's a combination of two things.
[close]

To kill the haugbui:
Spoiler

Talk to everyone about haugbui, and read everything you can about that creature (specifically, there's that book in two locations in the game -- I believe in the wizard's lab and in the library, or something)
You will learn how to kill a haugbui "for real". Killing the spector is not enough, he will re-appear every night.
[close]

To get the fox
Spoiler

You can't get the fox but you can get some fox hair :
Here is a semi-detailed solution -- i left the interesting details out.
1) find the fox's lair
2) scare the fox so that it runs out
3) hit it in the proper fashion
[close]

What to do with extra tinderboxes and picks
Spoiler

I can't remember if you can sell them, but you should try giving them to the character who normally sells them (if I recall, the pick is on sale in the blacksmith's workshop, and the tinder is on sale in the grocery shop? I'm not sure anymore). It's worth a try!
[close]

How to pick up a frost flower once it's knocked off the flowers patch:
Spoiler

You can't touch them because they will freeze you. You need to warm it up. Don't you have a spell that does exactly that? It was too weak to use on the whole patch (as explained by the narrator), but it should work on a single flower.
[close]
SMF spam blocked by CleanTalk