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 - strazer

#81
Then use a text overlay as described in the thread GG linked to.
#82
Try "Border Color".
#83
In the settings you can specify a GUI to display the dialog options on. AGS then uses this GUI's foreground color property as highlight color.
If you don't use a GUI, it's hardcoded to yellow, I'm afraid (there's a tracker entry already).
#84
Why would you need to check the GUI's properties repeatedly? Without knowing what you want to do exactly, the obvious suggestion seems to be to run the check only when needed, in the event functions that can cause the property to change, say a mouse click on the GUI or something. You can put the check/react code in a separate function for easy access.

And if you really need rep_ex, you don't need to iterate to the theoretical maximum number of GUIs, just the ones that actually exist. So only count up to Game.GUICount (see manual).
#85
(Gilbot was faster, posting anyway)

You define charminds in the global script, so only there can it be used. Like any other variable defined in the global script, if you want to also use it in all rooms scripts, you have to export it from there, then import it into the script header (or the specific room where you need it):

Code: ags

// main global script file

Char_Mind charminds[2];
export charminds;


Code: ags
// Main header script

//struct here

import Char_Mind charminds[2];


Btw, you don't need the #sectionstart and #sectionend stuff for your own functions. AGS uses these markers to find its own functions in the script, you don't need them for your own. They don't hurt either, though.
#87
Please post the relevant parts of the code that give you trouble. The error message you get doesn't look like a string conversion problem.

Have you tried something like this:

Code: ags

  String strNumber1;
  String strNumber2:
  while ((strNumber1 != "0") && (strNumber1.AsInt == 0))
    strNumber1 = Game.InputBox("First number:"); // repeat until a number entered
  while ((strNumber2 != "0") && (strNumber2.AsInt == 0))
    strNumber2 = Game.InputBox("Second number:"); // repeat until a number entered

  int intNumber1 = strNumber1.AsInt;
  int intNumber2 = strNumber2.AsInt;

  Display("%d plus %d is %d", intNumber1, intNumber2, intNumber1 + intNumber2);
  Display("%d times %d is %d", intNumber1, intNumber2, intNumber1 * intNumber2);
  //...


Edit:

Btw, you can convert old-style strings to new-style Strings like this:
  String newstring = String.Format("%s", oldstring);
#88
This is not really a technical question.
Seems like you're looking for someone to set up (i.e. make) your game for you, so this post probably better fits in the Recruit A Team thread so I'm moving this to the Adventure-related talk and chat forum so a moderator can merge it in.
#89
Quote
if ((goal_list[n].goal_name != null) && (goal_list[n].goal_name == new_goal)) {

This wouldn't have worked prior to AGS v2.71 since it used to process both expressions, regardless of whether the first one was already false or not. So if goal_list[n].goal_name were null, the second expression would still throw up an error.
That's why you had to break such if-statements up into two parts as SupSuper said.

But as of AGS v2.71, if the first expression is false, the second one won't even be processed. So if you use a current version of AGS your use of the && operator is perfectly fine.
#90
No, the so-called "lazy evaluation" was implemented in AGS v2.71.
#91
If you set the GUI's Visible property to "Popup Modal", the game will be blocked while it is displayed, no interactions on the room background are processed.

If you want the GUI not to pause the game, you could make it as big as the screen so it covers the hotspots. Use a graphic that's transparent on the outer areas so you can still see the room background beneath.
#92
Quote from: Akatosh on Sun 08/04/2007 17:11:06* Put this in game_start:
Code: ags

Character *cOtherguy;
//this creates a pointer we'll use later.


Putting this into a function makes it local and so it gets destroyed when the game_start function finishes running.
You probably mean to put it outside of all functions, on top of the global script?
Have you actually tested this?
#93
As for blocking sounds, you can force the sound into a specific channel using PlaySoundEx and wait until that channel is free again:

Code: ags

  PlaySoundEx(1, 3); // play sound1 in channel 3
  while (IsChannelPlaying(3) == 1) Wait(1); // block until channel 3 is free
#94
No prob! :)
#95
player.ChangeRoom(player.PreviousRoom);
#96
The (link to the) setup program is called winsetup.exe by default.

It is actually built into the game exe so if winsetup.exe (or similar named) doesn't exist, do this:
Create a shortcut to the game exe, then edit the shortcut (Right mouse click -> Properties) and change "C:\Game\Game.exe" (for example) to "C:\Game\Game.exe" --setup
(Be sure to put --setup outside the quotation marks!)
#97
Advanced Technical Forum / Re: 300 Room Limit
Fri 06/04/2007 12:55:22
I was talking about what the OtherRoom module does. Are you saying there's a bug in it?
#98
Advanced Technical Forum / Re: 300 Room Limit
Fri 06/04/2007 10:54:12
Thanks for the kind words.
It's a nice side-effect of the module but not its primary function. Only things you can manipulate using the module's functions are saved, namely these:

On/Off status of hotspots
On/Off status of regions
On/Off status of walkable areas
On/Off status of objects
X and Y positions of objects

So the rooms themselves are still not really state-saving (no background frame status is saved, for example) and I wouldn't depend on it.

Edit:

Quote from: monkey_05_06 on Fri 06/04/2007 05:43:42One way of getting around this would be to use strazer's OtherRoom module which will save information for up to 1000 rooms (by default, though this could be increased within the script if really needed).

The reason I've limited it to 1000 is that, last I heard, you can only have up to 1000 rooms.

Edit 2:

It seems you can actually number them higher, so I think I'll increase the room limit in the module's next update.
#99
Quote from: Tartalo on Thu 05/04/2007 13:24:39If the game doesn't use external incompatible modules it will work perfectly in most of the cases.

To avoid confusion: These external DLLs we call plugins, not modules.
Modules are normal script code packaged for easy adding/removal and thus work on all platforms.
#100
Maybe the Clickteam Patch Maker will be able to create a small patch file, depending on how different the two versions are? I've been able to run these patches using Wine without problems.

Thanks for your efforts, it's nice to know people are thinking of us Linux (and Mac) users. :)

Edit:

I'm able to run Fatman (the original version) which uses the agsCreditz.dll. Ionas tells me it uses the plugin for the end credits. I haven't finished the game but I suppose it will crash when that last room is loaded.
Perhaps if the plugin is referenced in the global script (not confined to a room) the game will crash right at the beginning as Scorpiorus says.
SMF spam blocked by CleanTalk