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

#1
Hello, everyone.

Artist Required

The Blue Casket team is coming to the end of their first game, a small, high-concept comedy game that we're confident is going to entertain and enthral. We're going for a graphics-minimal approach, because none of us are established artists, but we do need some visual content, and... this is where you come in? Quite possibly!

We will be needing approximately thirty drawn scenes, all in the same setting (a background with two static characters) but with the character's poses and expressions slightly changed. The resolution is 640x480, and we'd ideally love to see some previous work of yours.

We're very excited about this project, and there are more to follow it. There aren't any screenshots to show, because it's all alpha material visually simply because we have no artists, but get in touch with us if you're interested and we'd be happy to let you know a little more about our project.

Many thanks! Contact me at finalsin7 AT gmail DOT THE COM.
#2
I've had a search for this, and... it's sort of already solved. Sort of. People are raising the question, and someone offers a solution, but it's normally skewed towards some fancy method of speech, which I don't really have.

The problem is quite simple - I have a text-box overlay on the screen, which is just a graphic, onto which I plop my speech. I need the speech to start at the top left corner, left aligned, and work down.

I've got the left aligned part down pat, but once the speech spills into a second line, is pushes the text up, instead of down. This is a common problem, but I can't find a common solution. Any help?
#3
I can't tell you how invaluable this is to me. I'm beginning a course in Computer Science in October, and this kind of analysis and help is just priceless. Thanks.

As for the layout of my code - it's a Java technique that looks really ugly in AGS. I'll lay off the indentation.

Thankyou all so much.
#4
I'll try posting the code, before the game, though apart from this bug the coding has actually reached completion for episode one.

Code: ags
function dialog_request(int parameter) {
  if (parameter == 1)
		{
    SetGraphicalVariable("Intro",  1);
		}
	else{if (parameter == 2)
		   SetGraphicalVariable("Fez",  1);
		   else{if (parameter == 3)
					SetDialogOption(9, 2, eOptionOn);
					else{if (parameter == 4)
					 {
					  //The Big Script
					  character[EGO].Walk(140, 78);
					  character[WAIT].Say("Hey, Officer!");
					  character[OFF1].FaceCharacter(character[6], eBlock);
					  character[OFF1].Say("Yes,  ma'am?");
					  character[WAIT].Say("I got some important evidence for ya.");
					  character[OFF1].Say("Re-really?");
					  character[OFF1].Walk(239, 84, eNoBlock);
					  SetDialogOption(9, 2, eOptionOffForever);
					  SetDialogOption(3, 3, eOptionOn);
					  SetDialogOption(3, 1, eOptionOffForever);
					  character[OFF1].SayBackground("So,  where's the evidence?");
					  character[EGO].Walk(69, 173);
					  character[WAIT].SayBackground("Let me whisper it.");
					  character[BMAN].Say("Thanks,  officer.");
					  character[OFF1].SayBackground("It's WHERE?");
						character[EGO].Say("Don't mention it.");
						SetGraphicalVariable("Fez",  2);
						RunDialog(7);
						}
						else{if(parameter == 5)
							  SetDialogOption(8, 3, eOptionOn);
								else
								player.ChangeRoom(15, 5, 5);
								}
							}
							
						}
					}
			}


I am aware that this is messy code, and that elseifs are supported, and that curly brackets are not going out of style, but please bear with me, as the dialog_request is a new feature for me. run-script 2 is called during a dialogue sequence, which should set Fez to 1.

However, it's worth noting that my frustration led me to place a "SetGraphicalVariable ("Fez", 1)" command in the script for that room, just to see if I could force Fez to change to 1, in case my coding was wrong, and it still hasn't changed the variable.

Many thanks for your continuing patience with me, guys.
#5
Quote from: strazer on Thu 27/07/2006 13:39:42
If you put
  int Fez = 0;
outside of any functions, I don't think it gets reset. The 0 is just the value the variable gets initialized to. But since 0 is the default value anyway, Maverick's way would work as well.

Have you tried putting some Display commands into your functions and conditional statements to see if they are called at all?
At the same time you can output the value of the variable like this:
  Display("Fez is %d", Fez);
Put it in game_start, right after you change its value, and right before you check its value.

I've tried Maverick's suggestion and it doesn't solve the problem. I tried to debugging value earlier, and Fez stays at 0 all the time.
#6
Thanks both of you, I was unsure whether it accepted 'else if's. But surely that was just readability? I still have the problem? I'll try that debug when I get up tomorrow. Thanks.

UPDATE - I've checked the value of the variable, and it doesn't change at all. It's called in the following places:

Code: ags
// main global script file
   int Fez = 0;
    export Fez;


Code: ags
// Main header script - this will be included into every script in
// the game (local and global). Do not place functions here; rather,
// place import definitions and #define names here to be used by all
// scripts.
import int Fez;


And that long string of elseifs, and one run_dialog script. But I don't think they're the problem. Somehow, the variable Fez is being reset.
#7
You mean the curly brackets? Or the normal ones?
#8
Right. The problems are getting simpler and simpler, it's so silly!

When you initiate dialog with a character, AGS runs this script:
Code: ags
character[EGO].Walk(60, 130, eBlock);
if(Fez == 0)
		RunDialog(0);
else
		{
		if(Fez == 1)
			{
			RunDialog(5);
			}
		else
			RunDialog(7);
		}
}


I can't get it to recognise the Fez variable equalling anything except 0. I change the Fez variable to 1 more than once, and I'm sure those triggers are working. But it's not registering with this script. The Fez variable gets changed to 1 twice in another room. Fez is initialised at the top of the global script, and exported. It is imported in the Main Script Header.

I have no idea where the bug is.
#9
Right, I misread the prompting given, I thought it took the integer alone. Many thanks. As for the overlay, it's not needed at all. The reason I didn't put the string in speechmarks was because I was unsure of its relationship to dialogue, where quotation marks aren't needed.

Many thanks for the clarification.
#10
Code: ags
#sectionstart dialog_request  // DO NOT EDIT OR REMOVE THIS LINE
function dialog_request(int parameter) {
  if (parameter == 1)
		{
    SetGraphicalVariable("Intro",  1);
		}
	else
		{
		  if (parameter == 2)
		  {
		  SetGraphicalVariable("Booze",  0);
		 }
			else
			{
					if (parameter == 3)
					SetDialogOption(2, 9, eOptionOn);
					else
					{
					  //The Big Script
					  character[EGO].Walk(140, 78);
					  character[WAIT].Say("Hey, Officer!");
					  character[OFF1].FaceCharacter(6, eBlock);
					  character[OFF1].Say(Yes,  ma'am?);
					  character[WAIT].Say(I got some important evidence for ya.);
					  character[OFF1].Say(Re-really?);
					  character[OFF1].Walk(239, 84, eNoBlock);
					  SetDialogOption(2, 9, eOptionOffForever);
					  Overlay* character[OFF1].SayBackground(So,  where's the evidence?);
					  character[EGO].Walk(69, 173);
					  Overlay* character[WAIT].SayBackground(Let me whisper it.);
					  character[BMAN].Say(Thanks,  officer.);
					  Overlay* character[OFF1].SayBackground(It's WHERE?);
						character[EGO].Say(Don't mention it.);
						RunDialog(7);
					}
			}
}
#sectionend dialog_request  // DO NOT EDIT OR REMOVE THIS LINE


You can (hopefully) ignore the top few and start reading from parameter == 3. I'm being told that the FaceCharacter line attempts to convert an int to a character, and it's causing a type mismatch. I'm using a lot of techniques for the first time, so I've been unable to diagnose it myself.

Need any more info?
#11
Solved.

Thankyou so much. I am learning from these mistakes!
#12
Sorry, I'd posted some of it above, here's the new code.

Code: ags
#sectionstart game_start  // DO NOT EDIT OR REMOVE THIS LINE
function game_start() {
      // called when the game starts, before the first room is loaded
     int Fez = 0;
    export Fez;
}

#sectionend game_start  // DO NOT EDIT OR REMOVE THIS LINE


Code: ags
#sectionstart dialog_request  // DO NOT EDIT OR REMOVE THIS LINE
function dialog_request(int parameter) {
  if (parameter == 1)
		{
    SetGraphicalVariable("Intro",  1);
		}
	else
		{
		  if (parameter == 2)
		  SetGraphicalVariable("Booze",  0);
		 }
}
#sectionend dialog_request  // DO NOT EDIT OR REMOVE THIS LINE


And in the main script header:
Code: ags
import int Fezz;

Though I realise that is in the wrong place.

With all that there, it now tells me that I have an "Invalid export symbol".
#13
I'm now being told I can't have a local variable with the same name as an import. I've followed the above advice though.
#14
I think (I can't even believe I'm saying this, I've already got a load of variables, just not one declared like this) that I need it throughout several rooms, so I'm going to use your first suggestion.

What do you mean by "main script"? The Room Script?
#15
I hate posting here. Moreso now that I've learnt a bit of java, because firstly, I think "You really should be able to work this one out." and secondly, I'm sure there is a hidden section of the manual or this website where all of these things are. I searched - I promise!

It's simple, so I know there's a solution.

I've got a character. When you talk to this character, I want it to run a script to check the status of a particular variable. So I've got this:

Code: ags
  // script for Character 4 (Barkeep): Talk to character
character[EGO].Walk(60, 130, eBlock);
if(Fez == 0)
		{
		RunDialog(1);
		}
else
		{
		RunDialog(5);
		}
}
#sectionend character4_a  // DO NOT EDIT OR REMOVE THIS LINE


It tells me that Fez is not defined. I know what this means from java - it means I haven't initialised the variable. But I don't know where to. I've put it right up at the start (at Run When Game Starts), but that isn't going it. I know this is obvious, and I'm sorry, but it's now a wall in my way...
#16
Quote from: strazer on Sat 22/07/2006 18:49:15
"Run script" actions always run after the interaction editor actions have finished, regardless of their position in the list.
Try using a single "Run script" action and convert all your interaction editor actions to script.

I've tried your suggestion, but I think I've still got the echo. I'll double check and get back - this post is somewhat redundant, sorry.

-solved
#17
This might be a full-blown technical question, but I'll always consider myself a newbie, I'm afraid.

I'm working with what should be a very basic thing - it's just a string of commands. First Time Player Enters Room - do this, then this, then this. No conditionals, and it's done without using the script (except in one place - the first action is to run a script that relocates an NPC to the current room at specific co-ords).

What happens is that the speech runs as normal, but the characters don't move like they should. Then when the sequence of events finishes, it runs again except this time they move properly.

It's odd, and I've not seen it before. I'm running 2.71, downloading the Final 2 of 2.72 now.
#18
Actually, because I'm not completely clued up with the whole scripting thing, I just used the bog standard regions and then altered light levels to 50%. I wonder if its because the previous room I had tagged 'Hide Player Character'?
#19
Quote from: Candle on Sat 23/07/2005 22:14:59
Animation Shop in Paint shop pro can save as Flic animations.

Brilliant, all of you!

I've solved the invisibility problem - I was using a region with light levels at 50%. But I don't understand why it wouldn't work - I swear I've used it before. Any ideas? The strange thing was, it made him invisible in all the following rooms after it.
#20
As usual, Mr. Buddy, you've been extremely useful. He's still invisible, but thanks for the tips with scaling and the direction to the new manual bit.

I'll post back here with some more invisible details if I find them.
SMF spam blocked by CleanTalk