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 - Nine Toes

#1
This didn't feel like a noobie question.

I'm scripting some simple interactions with hotspots in a room. I'm trying to figure out if there's a way I can dynamically grab some sort of reference to the hotspot in question.

I tried this...
Code: ags
function hHotspot3_Talk(Hotspot *theHotspot, CursorMode mode)
{
  Display("You can't talk to the %s", theHotspot.GetTextProperty("Description"));
}

And this...
Code: ags
function hHotspot3_Talk(Hotspot *theHotspot, CursorMode mode)
{
  Display("You can't talk to the %s", this.GetTextProperty("Description"));
}

Neither work.

And, even though this isn't what I was aiming for, I tried this...
Code: ags
function hHotspot3_Talk(Hotspot *theHotspot, CursorMode mode)
{
  Display("You can't talk to the %s", hHotspot3.GetTextProperty("Description"));
}

This sort of works, but I'm getting an error message that "Description" isn't a property of that hotspot?

I figured, instead of manually typing out in every "silly" interaction, "you can't look at/talk to/open/take the...", that I'd eliminate repeating code and make a couple global functions that I could plug the reference for the hotspot into, and it would deliver the message to the player. Like this:
Code: ags
function youCantTalkToThe(hotspotRef){
  Display("You can't talk to the %s", hotspotRef.GetTextProperty("Description"));
}

// In my room script
function hHotspot3_Talk(Hotspot *theHotspot, CursorMode mode)
{
  youCantTalkToThe(thisHotspotRef);
}

Which would output to the player:
QuoteYou can't talk to the porch.

So what am I doing wrong?
#2
Hello.

I used to frequent this forum back in the day; like, 20 years ago. Game dev, like most of my other interests and hobbies, fell to the wayside when I got married, had children, and started working my life away.

My son is an adult now and in his last month of high school. The war ended up never happening, so he never got to lead humanity in the resistance against the machines... (joke. you had to be there.)

So now that I'm going to soon have plenty of free time on my hands, I'm trying to reconnect with things I used to get into. I've still got a handful of unfinished games and ideas that I want to finish stashed away somewhere. I'm wondering if they'll even work on current AGS builds?

Was hoping someone would be kind enough to give me the low-down on everything that has happened with AGS in the last two decades? A link of some sort will do, if it exists. I've popped in here and there over the years, but I haven't kept up with goings-on at all. Another thing is that unfortunately I haven't kept up with technology as much as I would have liked either.

It appears that AGS is now open source? Is that right? lol If so, I remember that being a big April Fool's joke once upon a time.

I was also kind of hoping to find out if anybody from back then is still around? I see AGA, Darth Mandarb, and Gilbot are still here. Looking at the member list, it looks like quite a few people I used to see around have been on in the last couple years at least.

...and it just occurred to me, some of those people may very well have passed away by now...
#3
I haven't been back here in a while.  I've been working on this little toy of mine off and on for a few months, and I've finally become kind of frustrated with it.  So, I've returned hoping I could get some more good advice from my old, favorite forum.

I've built an isometric field of tiles using HTML5's canvas.  I won't say I built it all by myself, I had to take some hints from a few different sources - namely, some of the calculation algorithms.  The whole project is a mixture of nostalgia and a desire to understand how isometric games work.

http://www.geiertech.com/etc/isometric/phase_3/

So far, it's working just fine (albeit, a little choppy or sluggish).  The only problem I'm having with it is the translation of the mouse coordinates to map coordinates.  The mouse cursor is drawn on the map, and it does move with the mouse.  But if you click the link and look, you'll see (and mind you, you'll have to keep the mouse arrow over towards the left half of the screen so you can see the tile cursor being drawn on the map) that there is a large gap between the mouse arrow and the tile cursor.

The value missing, I'm positive, is the offset value of the map:
Code: ags

var $Map = {
	offset: [0,0]
}


This value is being set as the distance from the 0,0 coordinates of the canvas to the 0,0 coordinates of the map.

Now, you have the mouse coordinates, which are taken directly from the browser, and any borders, margins, or padding of the page or canvas are subtracted.  Below are the calculations I'm currently using to calculate the map coordinates, in psuedocode:
Code: ags

MapX = Round(((MouseY - (TileH / 2)) / TileH) - ((MouseX - (TileW / 2)) / TileW));
MapY = Round(((MouseY - (TileH / 2)) / TileH) + ((MouseX - (TileW / 2)) / TileW));


I've tried adding/subtracting the offset values in various combinations to the above equations, but it always seems to end up throwing the tile cursor position way off in the Delta Quadrant.

If you need to for whatever reason, here are some key controls:
PgUp = zoom in
PgDn = zoom out
Home = reset zoom to default
X = toggle wireframe mode
Arrow keys = move the map in whichever direction by 1px

You can move the map by left-clicking and dragging.  Click the mouse wheel to center again.

I thought I could get this to work on my own, but I'm ready for some suggestions.  So, any ideas about how to make both cursors line up?
#4
Would it be more efficient to:
A) Have my PHP script draw information from a database every time a user views the web page, or
B) Set up a cron job to run a PHP script that generates an XML document with the appropriate database information every so often, so that the web page can draw it's information from it instead, or
C) There is no difference.

Both the database and the XML document will be stored on the server, along with the PHP script (where it will also be run, before the actual page is delivered to the user), so I'm almost thinking that there is no difference.  But, I'm also trying to keep in mind security (trying to eliminate SQL injection), and for whatever reason, it just seems like bad practice to have a web page query a database every time a user wants to view it, especially if that information only changes once a week.

Thoughts? Ideas?
#5
General Discussion / CSS: "float" issues.
Sat 30/10/2010 00:34:44
I'm building the following website for my employer. Something to put in my portfolio: http://www.jgeier-it.com/semester_project/week09/home.php  ...oh yeah, it's also a semester project for two of my classes.

If you view this page in the most current version of Firefox, it looks just fine - minus all of the things I haven't finished working on.

If you view it in Internet Explorer, it doesn't work properly - no big surprise there... You will see that the navigation on the left side of the screen spills over into the footer of the page.

Just to save you some thinking power, I'll explain what's going on behind the scenes on this page: the middle section of the page is a DIV, which contains 2 more DIVs, one for the navigation, which is an element that floats on the left, and the other being the content of the page.

Now, to get the middle section to resize itself to contain all of the floating navigation, or all of the content, should it exceed the height of the navigation, I've tried using the "clear" selector on all three of these elements, but I don't recall it having any effect.  Then I found something online, telling me to use "overflow:auto;" on the middle container itself.  That worked like a charm, and I could have swore I had it working perfectly in IE and FF, but I changed a few things, and somehow I must have cut something important, and now I don't remember what I changed.  :-\ ...yeah, I know... dummy!  Obviously, you can look at the source of the page, and the stylesheet itself for more info.

I'd like to know if anybody else has any ideas to solve the problem?  I'm not gonna go picking anything apart or changing anything until I figure out what I screwed up.
#6
I'm trying to translate this script (ActionScript 2) to ActionScript 3 - which, it seems, is quite a mental workout, especially if you don't know much ActionScript to begin with.

Here is what I have so far (slightly modified):
Code: ags

var tileMap001:Array = new Array();
tileMap001 = [
	[  0,   0,   0,   0,   0,   0,   0,   0,   0,  0],
	[  0, 101, 101, 101, 101, 101, 101, 101, 101,  0],
   	[  0, 101, 101, 101, 101, 101, 101, 101, 101,  0],
	[  0, 101, 101,   0, 101, 101, 101, 101, 101,  0],
	[  0, 101, 101, 101, 101, 101, 101, 101, 101,  0],
	[  0, 101, 101, 101, 101, 101, 101, 101, 101,  0],
	[  0, 101, 101, 101, 101, 101,   0, 101, 101,  0],
	[  0, 101, 101, 101, 101, 101, 101, 101, 101,  0],
	[  0, 101, 101, 101, 101, 101, 101, 101, 101,  0],
	[  0,   0,   0,   0,   0,   0,   0,   0,   0,  0]
	];

var game = {tileW:32, tileH:32};
game.Tile1 = function(){};
game.Tile1.prototype.walkable = false;
game.Tile1.prototype.frame = 1;
game.Tile101 = function(){};
game.Tile101.prototype.walkable = true;
game.Tile101.prototype.frame = 101;

var tileSet001:mcTileSet001 = new mcTileSet001();

function buildMap(map:Array, tileSet:MovieClip){
	var emptyField:mcEmptyField = new mcEmptyField();
	this.addChild(emptyField);
	game.clip = this.emptyField;
	var mapWidth:Number = map[0].length;
	var mapHeight:Number = map.length;
	for (var i = 0; i < mapHeight; ++i){
		for (var j = 0; j < mapWidth; ++j){
			var tileID:String = new String();
			tileID = "tile_" + i.toString() + "_" + j.toString();
			trace("TileID '" + tileID + "' created."); //for debugging purposes
			
			// ...I've narrowed the problem down to the next 5 lines of code... 
                        // ...everything else works just fine until you remove the comment block from the next line only...
			/*game[tileID] = new game["Tile"+map[i][j]];
			game.clip.addChild(tileSet);
			game.clip[tileID].x = (j * game.tileW);
			game.clip[tileID].y = (i * game.tileH);
			game.clip[tileID].gotoAndStop(game[tileID].frame);*/
		}
	}
}

buildMap(tileMap001, tileSet001);
stop();


If I uncomment just the first line of that block of code, I get an error in the output:
TileID 'tile_0_0' created.
TypeError: Error #1007: Instantiation attempted on a non-constructor.
   at flashisogame_fla::MainTimeline/buildMap()
   at flashisogame_fla::MainTimeline/frame2()
   at flash.display::MovieClip/gotoAndStop()
   at flashisogame_fla::MainTimeline/startGame()


Most of what I've translated, I learned all on my own through research and trial and error.  It's just that one little block; I wouldn't even know what to search for.  I know it works perfectly in AS2, but I'm learning, and I'm trying to keep it current.  The ActionScript part of my Flash class only covers the basics.

I'm pretty sure I shouldn't be using "game" or "game.clip" like an array... but I just don't know why, or how it can be fixed.

So, I was wondering if someone could kind of explain to me what is going on there, and toss me a few hints as to how it should be scripted?
#7
I'm looking for some help with how to script something - I've looked through the manual, but I'm not even sure AGS has a command for something like this.  I'm not even sure how to properly explain what I'm trying to do, but...

I've got a struct+array of variables.  Like this, for example:
Code: ags

struct Characteristics {
  bool gender; //"0" or "false" for female, "1" or "true" for male
  //etc... (the rest of the variables aren't important)
};

Characteristics people[100];


Then I use this struct+array in conjunction with all of the characters in the game:
Code: ags

function game start {
people[cJohn.ID].gender = true;
people[cMary.ID].gender = false;
people[cJennifer.ID].gender = false;
people[cMathew.ID].gender = true;
people[cDavid.ID].gender = true;
// etc...
}

You get the idea, right?

Now, I'm trying to script a function that will cycle through all of those variables, and pick out only one that meets a certain condition, something like this:
Code: ags

function pick_a_female (int random_character) {
  if (people[random_character].gender != false) {
    random_character = Random(99);
  }
}


Then I would use the function like this:
Code: ags

Character[pick_a_female(Random(99))].changeroom(2, 200, 200);

So, as you see, if the function doesn't at first pick a "female" character, then it will cycle through it again once more to try and find another character that is "female".

I'm pretty sure this script would work for the most part.  However, what if (by luck of the draw) the function picks a  "male"? (Lets say that out of the 100 characters in the game, only 25 of them are female.)  I could pop a few more "if" statements into the function to avoid that, but I'm looking for a way to keep the script to a minimum, in addition to looking for a definitive way to pick out the right variable.  I've had a quite long break from AGS, so my scripting skills have atrophied some - If anyone has a better idea how to do this, I'd like to hear it.

Any ideas?
#8
I tried drawing a background in MSPaint, 5760px x 5760px*.  It really bogged my computer down.  I was wondering what is the limit as to what dimensions a room's background can be?

I did a little bit of digging, and I found this old thread.

Also, I came across this as well:
Quote from: AGS Wiki: Tidbits and Snippets
CJ: The maximum room height is 1400 pixels (at 320x200 resolution - you could have a 2800-tall 640x400 room).

    I asked CJ for clarification:

CJ: The pathfinder uses an 1400-sized array for storing potential routes, and there's one row for each line.

    That means in 320x200 and 320x240 the maximum room background height is 1400 pixels, in 640x400, 640x480 and 800x600 it's 2800 pixels. In theory, there's no width limit.

However, the reason why I bring up this question, is because it's been quite a few years since that thread was posted, and AGS has gone through several upgrades since then, notably, the implementation of native coordinates.

Has this changed since AGS~2003, or is the background height limit still 1400px for 320x200 res (2800px for 640x400 res)?

*Just so you know: I don't actually need a background that big, I was just experimenting, and would like to know what my limits are.
#9
I get this message when I test out my game:

Quote
---------------------------
Illegal exception
---------------------------
An exception 0xC0000005 occurred in ACWIN.EXE at EIP = 0x00403946 ; program pointer is -42, ACI version 3.12.1074, gtags (0,2)

AGS cannot continue, this exception was fatal. Please note down the numbers above, remember what you were doing at the time and post the details on the AGS Technical Forum.

in "GlobalScript.asc", line 19
from "GlobalScript.asc", line 34

An error file CrashInfo.dmp has been created. You may be asked to upload this file when reporting this problem on the AGS Forums. (code 0)

Here is my script:

Code: ags

// main global script file
#define MAP_TILES_HIGH 9
#define MAP_TILES_WIDE 9
#define MAP_TILES_TOTAL 81
#define TILE_HEIGHT 32
#define TILE_WIDTH 32

int tile[MAP_TILES_TOTAL];

DrawingSurface *surface;

function SetTile (int x,  int y,  int value) {
  if (x<0 || x>MAP_TILES_WIDE || y<0 || y>MAP_TILES_HIGH) {
    Display ("Error: Out of bounds");
    QuitGame (0);
  }
  tile[y*MAP_TILES_WIDE+x] = value;
  surface = Room.GetDrawingSurfaceForBackground();
  surface.DrawingColor = Game.GetColorFromRGB(255, 0, 0);  // <---Illegal exception, line 19
  surface.DrawRectangle(x, y, x+TILE_HEIGHT, y+TILE_WIDTH);
  surface.Release();
}

function GetTile (int x,  int y) {
  if (x<0 || x>MAP_TILES_WIDE || y<0 || y>MAP_TILES_HIGH) {
    Display ("Error: Out of bounds");
    QuitGame(0);
  }
  return tile[y*MAP_TILES_WIDE+x];
}

#sectionstart game_start  // DO NOT EDIT OR REMOVE THIS LINE
function game_start() { // called when the game starts, before the first room is loaded
  SetTile(0, 0, 0);  // <--- Illegal exception, line 34
  SetTile(32, 0, 0);
  SetTile(64, 0, 0);
  SetTile(96, 0, 0);
  SetTile(128, 0, 0);
  SetTile(160, 0, 0);
  SetTile(192, 0, 0);
  SetTile(224, 0, 0);
  SetTile(256, 0, 0);
  SetTile(0, 32, 0);
  SetTile(32, 32, 0);
  SetTile(64, 32, 0);
  SetTile(96, 32, 0);
  SetTile(128, 32, 0);
  SetTile(160, 32, 0);
  SetTile(192, 32, 0);
  SetTile(224, 32, 0);
  SetTile(256, 32, 0);
  SetTile(0, 64, 0);
  SetTile(32, 64, 0);
  SetTile(64, 64, 0);
  SetTile(96, 64, 0);
  SetTile(128, 64, 0);
  SetTile(160, 64, 0);
  SetTile(192, 64, 0);
  SetTile(224, 64, 0);
  SetTile(256, 64, 0);
  }
#sectionend game_start  // DO NOT EDIT OR REMOVE THIS LINE


I've got no idea why I'm getting this message, I was literally doing everything by the book.

EDIT:  Sorry, I forgot to mention what I was doing when this happened - Um, well, this script is supposed to be for a tile-based game.  I got the original script from Scorpiorus, in this thread.  I really don't know what I'm doing, but I'm trying to learn as I go.

Basically what I was trying to do is to see if I could get these tiles to represent themselves on screen by using the DrawRectangle command.
#10
General Discussion / How to be cold.
Wed 14/05/2008 06:42:50
How do some people in this world just... not care?

How do you turn and walk away from someone when you realize that they're no good for you? How do you go about putting them behind you, and make yourself never look back, or concern yourself with their affairs ever again?  What if this is somebody who you will not be able to escape completely?  What if you will still have to deal with them regularly?

What if you absolutely cannot talk to this person and have them understand you at all?
#11
General Discussion / Name that film!
Fri 02/05/2008 09:50:07
I'm doing some research on zombie films for a paper that I'm writing.  I'm having a hard time remembering the name of one film in particular (I might possibly have to rent or buy it so that I can watch it).

I remember seeing this movie a few times on HBO or Cinemax when I was a kid, but unfortunately, I only remember bits and pieces of the movie.

I've even scoured IMDB, and a list of zombie movies on wikipedia.  Nothing has jogged my memory so far.

So, here's what I think I remember:
- The film was made in the late 80's to early 90's.
- The film had two young protagonists, one male, and the other female.
- Four young adults, at least two of them were male and at least one was female, all died after some sort of car accident.  I think their car might have plunged off a bridge...?
- I think the victims and the protagonists were all supposed to go to a prom or dance, because I think they were all dressed in suits and dresses.
- The four accident victims became zombies.  I don't remember how... I think it had something to do with their bodies being "electrocuted" back to life.
- I remember a scene inside the coolers of the morgue where the four victims' bodies were stored.  The male protagonist had to climb inside for some odd reason.  I think this is where one of the male victims moved or opened his eyes or something, and startled the male protagonist.
EDIT: I just remembered one more thing about the scene I just mentioned: the male protagonist then went and told someone that one of the bodies had moved.  This person (I don't even remember if it was male or female) then tried to tell him that it was the body thawing (...?).  The person then held one of the corpse's hands above a cigarette lighter, and the corpse's hand loosened as it thawed (...?).  (Wierd... I have no idea why I suddenly just remembered that...)

- I remember, one of the female victims had dark hair, and a black dress.  She ended up getting her head split open with an axe by the female protagonist, who then said something along the lines of "take that bitch" or "stupid bitch".
- I remember, one of the male zombies had a horribly mangled face.
- I don't remember what the plot was.  I seem to remember the title possibly having the words "night", or "creeps", or "freaks" in it.  I thought it might have been "Night of the Creeps", but based on the information I found on IMDB, I don't remember the movie I'm thinking of having anything to do with alien brain parasites turning people into zombies.
- As a matter of fact, the only cast I remember this movie having was the two protagonists, and the four zombies.

Hopefully someone has seen this movie, and can tell me the title.  I know my clues are awfully vague, but I tried to be as detailed as possible.
#12
General Discussion / Earthquake in Illinois?
Sat 19/04/2008 05:06:09
I heard on the radio today that Illinois got hit with an earthquake.  I've always thought that Illinois and the surrounding states, including mine, would be the last place that you would have to worry about an earthquake happening.

The ABC news story.

It was between a 5.2 and a 5.4 as I understand, so it was moderate.  The radio broadcaster said it was even felt in places such as Milwaukee and Madison.  Nobody was hurt, and no major damage was reported.

Is there even anybody on this forum from Southern Illinois?
#13
I guess you could call this a rant.  So, if you don't wanna hear it, please don't read any further...

I've been feeling a little bored with my CD collection lately, so I did a little digging around on MySpace (...shuddup, I don't know where else to look).  I kind of hoped to find something new and interesting.

But there is nothing.

I've listened to countless artists and bands, and I can't honestly say I've found a new favorite.  I certainly didn't find anything I would spend money on.

What really makes the whole situation worse... does everything have to be a fucking gimmick?  Or a bad ripoff?

Here's some examples of what I'm talking about:
Alestorm - "True Scottish Pirate Metal"  Are you shitting me?...
Oomph! -  Some industrial/gothic metal band from Germany.  Sounds like a really bad version of Rammstein.
Sonic Syndicate - This one really disappointed me.  I read the review on their page, about how they're "among the hottest and strongest newcomers of 2007", and I read all about their "groundbreaking killer riffs".  After listening to a few of their songs, I thought to myself, "Didn't I just hear this same shit on some other band's page?".  I was kind of interested at first because of the keyboards, but then their singer opened his mouth...  And the guitarwork seemed pretty straightforward and dull.  Nothing "groundbreaking" or "killer".
Job For A Cowboy - Very fast, intricate guitar work, but nothing catchy.  Plus, death metal's not on my list of favorites.  Gives me a headache.
Dir En Grey - Japanese metal?  Interesting, strange, but... I'm sorry... it's just kind of weird to me...
Demon Hunter - Christian heavy metal?  Isn't that a contradiction of some type?  Well, that's a stereotype (sorry 'bout that), but to me it's a match not made in heaven.

I did, however, find a few bands that weren't gimmicks, clones, or just hype:
Bury Your Dead - Decent rhythm.  Sort of catchy.  But again with the barking... I can't stand it when singers do nothing but that.
Periphery - Interesting guitar work, sounds a bit like Meshuggah at a times.  Would be a new favorite, but I don't like the singer.  He kind of sounds like he doesn't know what the hell he's doing.
Dark Tranquility - As close as I'm going to get to a new favorite.  Catchy, rhythmic... figures.  All the best heavy music comes from Sweden.  But it may be a little too somber for my liking.

EDIT:  Pressed the "save" button too soon.  Oops.

I know that musical interests differ from person to person, and maybe I'm just being to picky, but to me, it feels like there is absolutely nothing worth listening to.

A few things I've noticed about a lot of bands these days:
1. The singer - Usually the singer is what seals the deal if you already like the rest of the music.  But I haven't heard a lyricist who actually moves me.  I don't think to myself, "Whoa!  I know exactly what he was feeling when he wrote that!"  Hooks are another thing, they're not super-important, but I haven't heard a good hook that I've actually wanted to sing along to in a long time.  It doesn't feel like too many of them actually "sing" anymore either.  All I hear is barking, shrieking, whining, etc.  Bands like Symphony X, and Firewind might not be so bad if they didn't have singers who sound like they've had their nuts forcefully removed, or used to do jingles for Budweiser commercials.

2. Guitarists -  Where's a really good guitarist when you need one?  Repetetive power chord riffs, and tons of distortion/effects don't make you the next Eddie Van Halen.  A little rhythm is good too.  I heard once, a long time ago, "you know you're really good with a guitar when you stop playing the guitar, and the guitar starts playing you".  Kinda cheesy zen-talk, but I think it's true.

Alrighty, then.  I'm out of steam.  I'll just leave it at that.  Thanks for listening.
#14
I just need some help in figuring out a new way to script this.

Ok, let's say that, in my game, I have about 10 (or possibly many more) characters, any one of which could be the player character at any given time.  Every character in the game has it's own default interactions, but for the player character, I have a specific set of interactions I'd like to use.

I could script it like this:
Code: ags

function cZachary_Interact()
{
  if (player.ID == cZachary.ID) {
    DisplayMessage(998);
  }
  else {
    cZachary.Say ("Pervert!");
  }
}

I already know that this will work just fine.  It will take extra scripting efforts, having to go through every interaction on every possible character that could be the player, and inputting the "(player.ID == character.ID)" if/else statement.

However, what if there is an interaction that's available for the player character, but isn't available for that specific character alone?
Code: ags

function cZachary_Talk()
{
  if (player.ID == cZachary.ID) {
    DisplayMessage(997);
  }
  else {
    // do nothing
  }
}


The only reason why this poses a problem in my game is because of my interaction interface; it's a verb coin-kind of deal.  I use the IsInteractionAvailable command to enable, or disable certain buttons on the verb coin.  If I use the above codes, and I click on a character who isn't the player character, and that character doesn't posess a specific interaction (like the "talk to" interaction listed above), the button would still show up on the verb coin, but upon clicking on it, it does absolutely nothing.

So, I suppose that I could start by making a function for each interaction that is unique to the player character, but how would I go about making AGS ignore the character's default interactions, and just focus on the player interactions?

EDIT:  Sorry I wasted the bandwidth to post this... about an hour or so after I posted this, I finally came up with an idea to solve my problem.
#15
Advanced Technical Forum / Tile-based?
Wed 13/02/2008 06:53:43
I hope this is the right forum for this.  If not, sorry.

About a month ago, I was tinkering with AGS trying to make a tile-based rpg (2D/top-down, not isometric).  The result was  something sort of like that, but all it was was a mouse cursor constrained to 16x16px squares on the background.  I don't know how it's supposed to be done, but I figured that wasn't it.  I wasn't happy with it, so I deleted the codes from my script, and just continued working on the rpg itself.

But I was wondering, has anybody actually tried making a game of that kind?  I would give a few examples of what I'm talking about, but nothing's coming to mind right now...  Something like the games you can make with RPG Maker?
#16
I don't know how to ask for help with this, because it seems fairly complicated to me, but I'm having some problems with animations not animating, and key presses not responding.

I made this Active Time meter for an RPG that I'm working on.
Code: ags

  function active_timer_first() {
    if (human[party.first].deceased == true) {
      // DO NOTHING!!!!
    }
    else if (party.AT_first <= 99){
      party.AT_first_count = party.AT_first_count + human[party.first].speed;
      if (party.AT_first_count >= 100) {
        party.AT_first ++;
        party.AT_first_count = 0;
      }
      btn_AT_first.NormalGraphic = (500 - party.AT_first);
    }
    else if (party.AT_first == 100) {
      party.active = party.first;
    }
  }


I figured the only logical place to run this code would be in repeatedly_execute:
Code: ags

    else if (party.active == -1) {
        active_timer_first ();
    }


During battle mode, I always have to hit alt+x to exit the game, because ctrl+q doesn't work.  I used the debug feature, and the key press is registering (ascii code 17, I believe), but it doesn't bring up the exit gui.

As far as animations go, when the meter hits 100, a pointer is supposed to appear above the character's head.  The pointer won't animate no matter what I try.  Here's the code for that too, just in case:
Code: ags

  function setup_active () {
    object[0].SetPosition ((character[party.active].x - 4), (character[party.active].y - 34));
    object[0].SetView (2, 1, 0);
    object[0].Animate (1, 0, eRepeat, eNoBlock, eForwards);
    object[0].Visible = true;
    PlaySound (0);
  }

(The only reason why this bugs me is because if that pointer's not animating, I fear that nothing else will animate in battle mode either).

And that code is also in repeatedly execute, right above the one I just showed you:
Code: ags

  else if (battle_mode_on == true) {
    if (party.active != -1) {
      setup_active ();
    }
    else if (party.active == -1) {
        active_timer_first ();
      }
    ...


I know it's all a big, horrible sloppy mess, but if anyone could offer any sort of advice, it would really help.
#17
Critics' Lounge / Designing a band logo.
Sat 03/11/2007 08:54:23
I drew up this logo for a local band in MSPaint:


I thought it looked kinda crappy and pixelated, so I've been trying to re-create it in GIMP.  This time I opted for a spiffy glowing text:

Only thing is, I'm having a little trouble fabricating the reverse-glow-line-through thing that the original design has.  Any ideas, suggestions?

While you're at it, thoughts on either design?
#18
Well, it sort of looks like Boyd.

Drifting.

Anyway, I just came across this guy's videos tonight.  It's almost hypnotizing to watch him, let alone hear him.

Here's another favorite of mine: The Art Of Motion.

I've never heard of this guy before.  Which is unbelievable, because he's awesome.  He makes Laurence Juber look like a noob.

#19
I got this error when I run my game:
Error: run_text_script1: error -6 running function 'repeatedly_execute':
Error: Null pointer referenced
In Global Script (Line 71)


Here's my script:
(the asterisk is the line where I get the error)
Code: ags

function repeatedly_execute() {
  if (maincharacter == 0){
*     Jactiveitem.Text = cJohn.ActiveInventory.Name;
      Jdescription.Text = item[cJohn.ActiveInventory.ID].description;
  }
}


Basically what I'm trying to do is display an item's description on a GUI label.
#20
I'd like to suggest the ability to display the amount that you have of a given inventory item on top of the item when it's in an inventory (a-la Morrowind, or the older Resident Evil games).

See, AGS already has the ability to display multiple inventory items multiple times, or, if you leave the option box unchecked, you will only see that you have one of that given item, even though you may have two or more of it.  It just seems logical to have this option if someone decides that they don't want 14 of the same item cluttering up their inventory, but they still want to know how many there is.

On the other hand, is there a way to do this already, such as a module, or a script that someone wrote?  I've been playing around with it, using a label and an integer, but I've been having to come up with ways to make the label move with the item's graphic every time a new, different item is added to the inventory.  I'm just looking for a way to save myself an obvious ton of scripting.

EDIT:
Okay.  Now that I've thought about it some more, I could just have a stationary label outside of the actual inventory window itself, and whenever I select an item, I could have AGS set the label's text to the amount of the active inventory item.

BUT... I still say it's a sound idea to have the option to display the amount of the item in some manner if you don't have that box checked.

Let me know what you think.
SMF spam blocked by CleanTalk