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

Topics - Gal Shemesh

#21
Hi everyone,

Is there a way to align a sprite image of a button to either any of the sides / corners / center of a GUI button boundaries, the same as can be done for the text of a button?

I have a circled image button and I want that the hovering area of it will have padding in either direction, so it will be easier to hover and click on as the circle is only 26x26 pixels in size. It should also cover a text label below it which I want to highlight when the mouse cursor is hovering on the button.

Thanks
#22
Completed Game Announcements / Going Home
Tue 25/07/2023 22:03:37
"Going Home" is a very short point-and-click adventure game, with full speech acting and a funny plot:

You're Roger. When the game starts you find yourself in an unknown place, somewhere in the universe. But, you're not alone - there's someone else there with you! Will you dare and check who that is and find a way to get back home? Or maybe this is not even about you!





I made this game during learning my way in the AGS engine. The idea was to re-create the Sierra-style AGS template from a complete scratch, to learn bit-by-bit how it is made, and then to take it from there and make an actual mini game that includes full speech acting and a funny plot. I hope you'll like it the same as I had making it. :)

Many thanks to the AGS community for their kindness helping me out with all my queries. This game wasn't possible without your assistance, and I look forward that it will be one of many from my future creations.

*The game has been also fully translated to Hebrew.

Available for download in the AGS game database:
https://www.adventuregamestudio.co.uk/site/games/game/2682-going-home/
#23
Hi everyone,

Tried to look for this in the forum but can't seem to find that anyone has asked about it.

I would like to know if there's an opition in AGS to take the current state of a given room (meaning the exact frame of everything in it), and to make it gradually turn into a grayscale form of itself - like a cross-fade between 2 rooms?

I was thinking about 2 scenarios of using this:

1. When the player takes a close-up look on an inventory item, and then everything but the close-up item turns into a greyscale color, and so the player can be focued only on the colored image of the item; there's this "The Riddle of Master Lu" game that I really like which behaves like this when using/looking on inventory items. Here's a direct link for a specific time in a YouTube walkthrough video showing what I mean.

2. A colored credits rollup, showing on a froze frame of a room.

For the second scenario - I could just take a screenshot of the frame that I want in a given room and make a whole new room from it. And then to have a cross-fade between the rooms and have my colored credits rollup showing on top of it. But that's not an ideal way to achieveing this, as it will be only for that specific frame screenshot that I took. And if I decide to make some changes to the room I'll have to re-create that screenshot. And for the first scenario that will not work as I want this to happen dynamically in every place and state that the player is in.

Thanks
#24
Hi everyone,

Is there way that global strings of generic messages, such as "That doesn't work" which is commonly used in else statements when using items on random things, could be included in the translation file?

I made some global strings in a game I'm working on so I'll only have to write them once, and then I call for them from any scenario that I like, preventing any duplications of the same line in the translation file. Though, I found that they don't get included when the translation file is generated...

If not, where would you put your generic messages in a way that they will be included in the translation file?

I've read here and found that I can just create a new script in the Scripts tree and that as long as the script will be above the other scripts, that I could call for things in it from the entire project. However, when I try to declare a string variable name and set it to store the actua text string that I wish to show to the screen, I get the error that type 'string' is no longer supported; use String instead. But when I try String with capital 'S', I get the error "cannot assign initial value to global pointer", so I'm not sure what I'm doing wrong.

Would appreciate some help.

Thanks
#25
Hi everyone,

Using AGS Editor .NET (Build 3.6.0.50)
v3.6.0, July 2023

Just wanted to report that if I open a few tabs in the editor, then go to a previous tab that was opened, change stuff and save my project (CTRL+S), the editor jumps to the most recent tab that was opened. Quite abnormal when saving your project regulary during each change you make and want to keep working on the same tab.

Thanks
#26
Hi everyone,

Been reading about dialogues in AGS in a few places, but can't find information on this topic:

I would like to have my characters greet each other for the first time they talk, but on their second talk and on I wish their greetings (whatever I write within the @S of the first dialogue) to change, as they already know each other.

What would be the correct way to doing this? I'm thinking about making a bool of 'wasTalkedWith' for each NPC, which will launch the first dialogue when the players talk with other characters, and then to turn it to true. Then, any further talk to the other NPC will launch a different greeting dialogue with an 'already know each other' greetings.

Is this the right way to doing this? Or perhaps there's a simpler way to change the @S greetings of a given dialogue?

Thanks
#27
Hi everyone,

A small question that may or may not be a bug - does thinking view supposed to loop or just to play once? I have set a thinking view to my character, and use the player.Think("some message");, however the view plays only once and then stops at the last frame. Unlike the Speech view which loops forever.

I reached these old threads: this and also this one where people asked about it, but the questions remain opened.

Maybe not many people use the thinking option so it was forgotten?

Kindly let me know.

Thanks
#28
Hi everyone,

I viewed the other threads about something similar, but found the information there a little overwhelming. I'm pretty sure there is a simple solution to what I'm after and would appreciate some assistance.

I copied the code of the Save Game panel from the Sierra-style template and I'm trying to make it a little better:

1. I've added a message if players click on Save while the text box is empty.

2. I tweaked the 'else if' statement before it actually save so it will check if the lstSaveGamesList.SelectedIndex == -1, to make sure that there is no save slot selected in the list box. If there is, it goes to the final 'else' statement where it shows an overwrite confirmation GUI. The problem is that if the players write a game save name which already exists in the list box, it overwrites it no matter what. I'm willing to make it show the overwrite confirmation GUI if the text box is equal to any of the save slots in the list box, but can't figure out how to compare the text... Here's my code:

Code: ags
function btnSaveGame_OnClick(GUIControl *control, MouseButton button)
{
  int gameSlotToSaveInto = find_save_slot(txtNewSaveName.Text);
  if (gameSlotToSaveInto < 0)
  {
    Display("No more free save slots!");
  }
  // game save cannot be empty message
  else if (txtNewSaveName.Text == "")
  {
  Display("Game save cannot be empty!");
  }
  // check if no save slot was clicked on in the saves list box
  else if (lstSaveGamesList.SelectedIndex == -1)
  {
    SaveGameSlot(gameSlotToSaveInto, txtNewSaveName.Text);
    close_owning_gui(control);
  }
  // show the confirm overwriting dialogue
  else
  {
    open_gui(gOverwriteSave);
  }
}

Thanks
#29
Hi everyone,

Trying to solve this by my own for hours. Would appreciate some assistance.

I'm working on a Sierra-style game with a top icon-bar, and a button with an empty sprite graphic for representing a selected inventory item graphic on-top of it. I followed the manual and set the button's text to (INVSHR). Now the problem is, once I pick an inventory item and close the inventroy GUI, if I then hover with the mouse cursor to reveal the top icon bar, the empty button that should represent the item's sprite remains empty - that is until I actually click on it that the graphic updates; and there must be a different graphic for the 'pushedImage' variable, or else it doesn't update the graphic at all.

I checked the Sierra-style template that comes with AGS and it behaves the same way. In Sierra games like "King's Quest V & VI" the empty button changes to the selected item from the inventory instantly.

Is this a bug or something that I'm doing wrong? To me it seems like the (INVSHR) in general works, but that it requires a manual intervention to actually 'refresh' the button's graphic, instead of refreshing it automatically.

Thanks

UPDATE:
I think that I solved it for now, but it's a workaround. I updated the normal graphic of the button to something else within the function that hides the icon bar, like so:

Code: ags
btnIconCurInv.NormalGraphic = 0;

The 0 sprite will be invisible to the player as it occurs when the icon bar is hidden. And then I used the same trick within the function that shows the icon bar, while setting its graphic sprite back to what it should be. And then the button's graphic refreshes every time the icon bar is showing.
#30
Hi everyone,

Sorry if this was asked before but I just can't find an exact thread about this issue.

I'm trying to make a Sierra "King's Quest 5/6" style game, where apart from regular character speech, there's an 'invisible' narrator that gives text information to the player upon looking / doing stuff, within a text box like the "Display" function. The thing I don't get is how to make this text box to show along with voice speech in the background, and that the speech will be based on the voice pack the game is set to run with.

I managed to import a voice sound to the engine and used its name with .play() and put it before the Display("string") line of code, but it's only for 1 language and it keeps playing even when the player interrupts and closes the text box. Besides, it's more complicated to work that way as I'll have to import all sound files to the engine. It also lacks the ability to pick sound files based on different languages. So I prefer to use speech as it pulls the sounds from the external Speech folder and its sub-folders for other langauges.

So I read a bit online and found that some are suggesting to use an invisible character as the narrator, and to position it in the center of the screen for presenting the text. So I tried it - after finding out that I can't use the 'cNarrator' script name for the character as it's already defined in the engine as a special character for dialogues, I gave my new narrator character the script name 'cNar'. I managed to achieve what I want, placing the narrator character in the middle of the screen and passing text and speech to it which works great in all languages. The only problem is that I don't want the text to be shown as speech text above its head but in a text box with a frame and all, that will also pause the game when shown, just like the "Display" function.

UPDATE:
I've just managed to write the code this way which is almost great, but the message displays only after the sound finish playing. The '&1' is the first sound file of the cNar character, pulled from either the 'Speech' folder for English or from the sub-folder 'Speech\Hebrew' for Hebrew:

Code: ags
function cEgo_Look()
{
  cNar.say("&1") & Display("Damn, you're looking good!");
  
}


Would appreciate some help.

Many thanks!
#31
Hi everyone,

I think I've found another bug when working with translation in buttons that change their text from within scripts, like the 'Voice and Text' button in the settings panel of the Template game for changing between 'Voice and Text', 'Voice only' and 'Text Only.

I'm currently making an updated version of the template game and I made it with an option to switch between English and Hebrew during runtime, along with speech for both languages so it will give a better starting point for users with a multilanguage game in mind.

I made a Hebrew translation file and traslated all three modes of the 'btnVoice'. They all show up correctly when running the game in Hebrew. Clicking on the button in English works flawlessly and cycles back up when it reaches its last 'else if' statement. However, when the game shows the text based on the translation file, the function seems to break after 1 click on any of the modes and the button stops working - I checked them all by changing to English, putting the button on the state I wanted to check, reverted to Hebrew and clicked on it. The buttons changes to the text from the translation file, but the function breaks. It doesn't matter what text I fill in the translation file - it can be either Hebrew, English or a number. As long as the text is not the same as written in the function, the function breaks instead of go looking for the text in the translation file. This is the code:

Code: ags
function btnVoice_OnClick(GUIControl *control, MouseButton button)
{
  if (btnVoice.Text == "Voice and Text")
  {
    Speech.VoiceMode = eSpeechVoiceOnly;
    btnVoice.Text = "Voice only";
  }
  else if (btnVoice.Text == "Voice only")
  {
    Speech.VoiceMode = eSpeechTextOnly;
    btnVoice.Text = "Text only";
  }
  else if (btnVoice.Text == "Text only")
  {
    Speech.VoiceMode = eSpeechVoiceAndText;
    btnVoice.Text = "Voice and Text";
  }
}

Is this a bug? I'm not sure if it's related to the same cause, but I posted another issue that the buttons also don't get translated correctly and are showing their Hebrew text from Left-to-Right instead of from Right-to-Left, and it's although all the rest of my game looks from Right-to-Left. Here's the thead link: https://www.adventuregamestudio.co.uk/forums/advanced-technical-forum/buttons-text-remains-left-to-right-rtl-when-the-game-runs-in-right-to-left/msg636655887/#msg636655887]https://www.adventuregamestudio.co.uk/forums/advanced-technical-forum/buttons-text-remains-left-to-right-rtl-when-the-game-runs-in-right-to-left/msg636655887/#msg636655887

Thanks
#32
Hi everyone,

I'm having an issue setting up a specific font style for the 'normal font' text in my Hebrew translation file. According to the 'Translation settings' section, these are the instructions:

// ** Translation settings are below
// ** Leave them as "DEFAULT" to use the game settings
// The normal font to use - DEFAULT or font number
//#NormalFont=DEFAULT
// The speech font to use - DEFAULT or font number
//#SpeechFont=DEFAULT
// Text direction - DEFAULT, LEFT or RIGHT
//#TextDirection=RIGHT


I wish to have separated English and Hebrew fonts in my game, and not a mix of one font that has the characters of both languages, as I found that if my English letters are taller than my Hebrew ones, the Hebrew letters will have more 'empty space' on their top / bottom side and vise versa.

I understand that if the values above remain as DEFAULT the engine will use the default fonts in index 0 and 1 (there's also index 2 for the outline font for which I have another question below). So I added 3 additional fonts that contain the Hebrew letters in index 3 (for normal font), 4 (for speech) and 5 (for outline), and I wish that the engine will pick them up if the game is run in Hebrew from the game setup.



So I went into the Translation file and set the NormalFont line to 3 and the SpeechFont to 4, however the engine still go and pick the Normal font in index 0 even if Hebrew is picked for the game language in the game setup, and so the game appears in gibberish since there's no Hebrew letters drawn in the normal font index 0. If I import the Hebrew font over the normal font index 0 then everything appears fine of course.

Any idea of why the engine doesn't pick the new index font numbers even if it's set up in the Translation file?

As for the outline font question, since it's not mentioned in the translation file instructions, is whether there's a "//#SpeechOutlineFont=" option for setting up a custom outline font for the engine to pick if run in Hebrew from the game setup?

Thanks
#33
Hi everyone,

I've made a 'Right to Left' (RTL) Hebrew version for the template game that comes with AGS, with a translation file (Hebrew.trs), as explained in the manual, and it works quite fine. The only problem I encounter with is that although most of the text switches to be written from 'Right to Left', all the buttons text remains written from 'Left to Right'.

I've set the TextDirection to RIGHT in my translation file as all other text strings (as far as I found) appears correctly, so I'm in doubts what goes wrong...

Thanks
#34
Hi everyone,

I'm working on a Hebrew game template and encountered an odd issue when trying to import a Hebrew SCI font of 256 characters that my local friends had created in SCI Companion. The font looks like this:


When I import it into AGS, all the characters after the 128 English characters turn into question marks as shown here:


Is this a bug?

Thanks
#35
Hi everyone,

I was trying to find this one out in the manual and online, but didn't find anything that matches my issue. If it was discussed somewhere in the forum please kindly direct me to the appropriate thread:

I'm looking for a way to be able to position smaller rooms than the gameplay resolution on the X and Y axis. For example, a gameplay in a 320x200 resolution and backgrounds in 320x190 (10 pixels short, like in Sierra's "King's Quest VI"). Currently when I import for example a 320x190 background it sticks to the top left corner of the screen, leaving me with a black bar of 320x10 pixels at the bottom of my background. I wish to have this "black space" ABOVE my background and not below it, so I'm looking for a way to position my rooms's at 0 on the X axis and at 11 on the Y axis. Is there a way to achieve this?

The above is just one example. I can think of other examples this may be useful. For example, when you want to have much smaller rooms than the game resolution, such as a room that takes only 30% of the screen, and you wish to have the freedom positioning that room around the rest 70% area within the engine if you changed your mind on the initial position that you set it up, and so the room will move with all its pre-defined properties you worked hard to set up; such as Edges, Characters, Objects, Hot Spots, Walkable Areas, Walk-behinds and Regions.

Attached below screenshots from the original "King's Quest VI" and its currently equivelant appearance in AGS.

Thanks!



#36
Hi everyone! Thought this would be the right place to make this thread.

@CrashPL, I suppose you will like it too.

So, I very like the AGS engine in particular and other people games made with it in general. But what I like even more is creating home-made boxes for favorite games that don't have any. And what about you? Do you also make your own home-made boxes for non-boxed AGS games?

I'd like to share with you the latest box I just made of the cute AGS game "Zniw Adventure". Let me know what you think. :)

SMF spam blocked by CleanTalk