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 - Dr Lecter

#1
I have begun a quest to find the name of a game demo that I played over 10 years ago. I can't remember the name of the game but here's a description of what happens (as far as I can remember):

Firstly, I believe the game was an adventure game, point and click, but from and aerial point of view. You started in a hotel lobby, and had to get to the penthouse suite and for some reason kill the man staying there. So you had to get a room on the floor below the penthouse suite, go there, nick the fire axe, screw with the lift so it wouldn't move, climb on the roof of the lift and "open" the door with the axe.

Now, I know this is a pretty vague description, but if anyone can remember what this game was called, that would be awesome because I've wanted to get the full version of this game since I played it all those years ago but lost the demo and the name before I could. I had this same problem with Manic Mansion 2, it wasn't until I stumbled across a screenshot till I recognised it.
#2
I was watching South Park eariler, and I was thinking, what if you wanted to create a character that was basically a composite character, such as Mr. Garrison and Mr Hat. I've been trying to think of a way to impliment such a character, but short of changing their talking views before every line they say, or having one character also follow the other gets abit messy, is there any other way to do it?
#4
AGS Games in Production / The Genesis Gemini
Mon 02/01/2006 18:18:11
The story is set in a unknown city, the main character is Steve Gordon. A regular guy until he recieves a phone call from someone who will only refer to himself as "The Programmer", he says that unless he does exactly as he says, everyone he knows and loves will die. As a demonstration of his power a man standing right next to our hero is shot by a Sniper.

It's not long before Steve realizes that these "missions" are not what they seem, almost like they are to test him, rather than to achieve certain goals. During one of these missions he meets a man (known only as M at this point) whom offers him an answer to why he was choosen to perform these tasks.

The has my resently posted shooting code... I have started programming the AI for shoot-outs.

It will hopefully be a mixture of shooting and adventure, mostly adventure but I've already planned about 3 or 4 gunfights in the game. The format is going to be abit like Indiana Jones and the Fate of Atlantis... since there will be missions that you can complete using either guns, or other methods.

It may not sound all that funny, but it will be... I have a couple of screens below:



#5
Beginners' Technical Questions / GUI in 2.7
Sun 01/01/2006 01:26:21
I get the deeling this so simple someone must have asked it before but I can't find it... so... since interface_click is obsolete in v2.7... where exactly do I put the code for my GUI?
#6
Ponch did one of these for 6, I don't know if he did an updated version or not, but here's the code I'm using in my latest game. I updated the code to make it more easily work with multiple guns, and for the shotgun, work with multiple impacts. The problem with the old code, after updating was that it could only deal with a target being shot once, if you have a shotgun, you sometimes hit the target more than once. If you want a more detailed explanation of what's going on I'll write a follow-up to this.

This script is pretty copied from this game:
Lt. Head Demo

I clicked the wrong forum, can a mod please move this... thank you in advance....

Global scripts:

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
SetGlobalInt (1, 2); // Number of clips player has
SetGlobalInt (2, 9); // Gun Ammo Status (7-shots in gun)
SetGlobalInt (4, Random(2)+1); // Random number between 1 and 3 (Sound)
SetGlobalInt (21, 0); // Gun type 0 = hand gun, 1 = machine gun 2 shotgun
SetGlobalInt (22, 2); // Number of machine gun clips
SetGlobalInt (23, 30); // Number of bullets remaining in machine gun
SetGlobalInt (24, 4); // Number of shotgun shells (in groups of 7)
SetGlobalInt (25, 7); // Number of shotgun shells remaining in gun
}
#sectionend game_start  // DO NOT EDIT OR REMOVE THIS LINE


Code: ags
#sectionstart repeatedly_execute  // DO NOT EDIT OR REMOVE THIS LINE
function repeatedly_execute() {
  // put anything you want to happen every game cycle here
  if (IsSoundPlaying()==0) {
    mouse.Visible = true;
}

      	 if (IsInteractionAvailable (mouse.x,  mouse.y, eModeShoot) == 1) {
      	   if (mouse.IsButtonDown(eMouseLeft)) {
      	     if (GetGlobalInt(21) == 1) {
      	       if (GetGlobalInt(23)>0) {
      	         		PlaySound(15);
							 int left = Random(15);
					   	 int right = Random(15);
					  	 int up = Random(15);
					  	 int down = Random(15);
					  	 int somethingelse = mouse.x +left -right;
					  	 int somethingelse2 = mouse.y +up -down;
						   ProcessClick (somethingelse, somethingelse2,  eModeShoot);
				  		 RawDrawImage(somethingelse+84,somethingelse2-1,29);
				  		 SetGlobalInt(23, (GetGlobalInt(23)-1));
					   	 Wait(6);
					   	 } else {
								PlaySound(3);
								}
						  }
					  }
			  	}
			 if (GetGlobalInt(30)==1) {
			   if (GetGlobalInt(31)==1) {
			     if (GetGlobalInt(32)==1) {
								cTarget1.Say("Well done, you hit all the targets!");
								cEgo.ChangeRoom (1, 53, 223);
								SetGlobalInt(30, 0);
								SetGlobalInt(31, 0);
								SetGlobalInt(32, 0);
			     }
			   }
			 }
}
#sectionend repeatedly_execute  // DO NOT EDIT OR REMOVE THIS LINE


Code: ags
#sectionstart on_mouse_click  // DO NOT EDIT OR REMOVE THIS LINE
function on_mouse_click(int button) {
// called when a mouse button is clicked. button is either LEFT or RIGHT
   if (IsGamePaused() == 1) {
   // Game is paused, so do nothing (ie. don't allow mouse click)
	 }
	 else if (GetGlobalInt(18) == 1) { // Combat is enabled, so no clicking
	 }
   else if (mouse.IsButtonDown(eMouseRight)) {
      // look:
         if (IsInteractionAvailable(mouse.x,mouse.y, eModeLookat) == 0) {
	 string buffer;
	 GetLocationName(mouse.x, mouse.y, buffer);
	 cEgo.Say("Nice %s.", buffer);
 }
				 else if (IsInteractionAvailable(mouse.x,mouse.y, eModeLookat) == 1) {
				 ProcessClick (mouse.x, mouse.y, eModeLookat);
   } 
   }
   else if (mouse.IsButtonDown(eMouseLeft)) {
      // use, shoot or walk
      	 if (IsInteractionAvailable (mouse.x,  mouse.y, eModeShoot) == 1) {
      	   if (GetGlobalInt(21) == 0) {
      	     if (GetGlobalInt(2)>0) {
      	       		PlaySound(1);
						 int left = Random(10);
					 	 int right = Random(10);
						 int up = Random(10);
						 int down = Random(10);
						 int somethingelse = mouse.x +left -right;
						 int somethingelse2 = mouse.y +up -down;
						 ProcessClick (somethingelse, somethingelse2,  eModeShoot);
						 RawDrawImage(somethingelse+84,somethingelse2-1,29);
						 SetGlobalInt(2, GetGlobalInt(2)-1);
						 } else {
						 PlaySound(3);
						}
				}
					else if (GetGlobalInt(21) == 2) {
				     if (GetGlobalInt(25)>0) {
				     PlaySound(17);
						 int left = Random(10);
					 	 int right = Random(10);
						 int up = Random(10);
						 int down = Random(10);
						 int somethingelse = mouse.x +left -right;
						 int somethingelse2 = mouse.y +up -down;
						 ProcessClick (somethingelse, somethingelse2,  eModeShoot);
						 RawDrawImage(somethingelse+84,somethingelse2-1,29);
						 left = Random(10);
					 	 right = Random(10);
						 up = Random(10);
						 down = Random(10);
						 somethingelse = mouse.x +left -right;
						 somethingelse2 = mouse.y +up -down;
						 ProcessClick (somethingelse, somethingelse2,  eModeShoot);
						 RawDrawImage(somethingelse+84,somethingelse2-1,29);
						 left = Random(10);
					 	 right = Random(10);
						 up = Random(10);
						 down = Random(10);
						 somethingelse = mouse.x +left -right;
						 somethingelse2 = mouse.y +up -down;
						 ProcessClick (somethingelse, somethingelse2,  eModeShoot);
						 RawDrawImage(somethingelse+84,somethingelse2-1,29);
						 SetGlobalInt(25, GetGlobalInt(25)-1);
						 Wait(12);
					} else {
					  PlaySound(3);
					}
					}
			}
         else if (IsInteractionAvailable(mouse.x,mouse.y, eModeInteract) == 0) {

				 ProcessClick (mouse.x,  mouse.y, eModeWalkto);
         }
				 else {
				 ProcessClick (mouse.x, mouse.y, eModeInteract);	
         }
 }
}
#sectionend on_mouse_click  // DO NOT EDIT OR REMOVE THIS LINE


Code: ags
#sectionstart character1_a  // DO NOT EDIT OR REMOVE THIS LINE 2,0, 124

int health1=1;

function character1_a() {
  // script for Character 1 (Target1): Shoot character
  
  // Shoot Target1
			if (GetGlobalInt(4) == 1) {
			PlaySound(9);
			}
			else if (GetGlobalInt(4) == 2) {
			PlaySound(10);
			}
			else {
			PlaySound(11);
			}
			health1=health1-1;
		  cTarget1.StopMoving(); // Move Target off Screen off screen
		  cTarget1.ChangeRoom (2, 0, 124);
			if (health1<1) {
					SetGlobalInt(30, 1);
					}
}
#sectionend character1_a  // DO NOT EDIT OR REMOVE THIS LINE


#sectionstart character2_a  // DO NOT EDIT OR REMOVE THIS LINE 2, 523, 176

			int health2;

function character2_a() {
  // script for Character 2 (Target2): Shoot character
  // Shoot Target2
			if (GetGlobalInt(4) == 1) {
			PlaySound(9);
			}
			else if (GetGlobalInt(4) == 2) {
			PlaySound(10);
			}
			else {
			PlaySound(11);
			}
			health2=health2-1;
		  cTarget2.StopMoving(); // Move Target off Screen off screen
		  cTarget2.ChangeRoom (2, 523, 176);
			if (health2<1) {
					SetGlobalInt(31, 1);
					}
}
#sectionend character2_a  // DO NOT EDIT OR REMOVE THIS LINE

#sectionstart character3_a  // DO NOT EDIT OR REMOVE THIS LINE 2, 523, 74

int health3=1;

function character3_a() {
  // script for Character 3 (Target3): Shoot character
  // Shoot Target3
			if (GetGlobalInt(4) == 1) {
			PlaySound(9);
			}
			else if (GetGlobalInt(4) == 2) {
			PlaySound(10);
			}
			else {
			PlaySound(11);
			}
			health3=health3-1;
		  cTarget3.StopMoving(); // Move Target off Screen off screen
		  cTarget3.ChangeRoom (2, 523, 74);
			if (health3<1) {
					SetGlobalInt(32, 1);
					}
}
#sectionend character3_a  // DO NOT EDIT OR REMOVE THIS LINE



Reload and weapon change code:

Reload:
Code: ags
  if (GetGlobalInt(21)==0) {
if (GetGlobalInt(1)>=1) { // If the player has a clip left
 SetGlobalInt(1, GetGlobalInt(1)-1);//lose one clip
 PlaySound(2); // Play reload sound
 SetGlobalInt (2, 7);
 //AnimateObject - Reloading Graphic
 mouse.Visible = false; // so the player can't shoot while reloading
  }
} else if (GetGlobalInt(21)==1) {
  if (GetGlobalInt(22)>=1) { // If the player has a clip left
 SetGlobalInt(22, GetGlobalInt(22)-1);//lose one clip
 PlaySound(16); // Play reload sound
 SetGlobalInt (23, 30);
 //AnimateObject - Reloading Graphic
 mouse.Visible = false; // so the player can't shoot while reloading
 }
  } else if (GetGlobalInt(21)==2) {
  if (GetGlobalInt(24)>=1) { // If the player has a clip left
 SetGlobalInt(24, GetGlobalInt(24)-1);//lose one clip
 PlaySound(18); // Play reload sound
 SetGlobalInt (25, 7);
 //AnimateObject - Reloading Graphic
 mouse.Visible = false; // so the player can't shoot while reloading
  }
} else { // the player is out of ammo
 Display ("I'm out of Clips!");
  }  


Change to Handgun, Machine gun, Shotgun:
Code: ags
SetGlobalInt (21, 0); 

Code: ags
SetGlobalInt (21, 1); 

Code: ags
SetGlobalInt (21, 2); 
#7
Beginners' Technical Questions / Exports
Mon 03/10/2005 21:05:14
I've searched the forum but none of them seem to explain it, and the manual doesn't work for me either. When I try to export some variables, I get this:

---------------------------
Compile Error
---------------------------
There was an error compiling your script. The problem was:
In: 'Global script'
Error (line 136): invalid export symbol 'somethingelse'

Code: ags
      	 if (IsInteractionAvailable (mouse.x,  mouse.y, eModeShoot) == 1) {
           int left = Random(5);
           int right = Random(5);
           int up = Random(5);
           int down = Random(5);
           int somethingelse = mouse.x +left -right;
           int somethingelse2 = mouse.y +up -down;
				 ProcessClick (somethingelse, somethingelse2,  eModeShoot);	
					export somethingelse;
					export somethingelse2;	 
				 }

I also tried putting the export at the end of the global script but it said the variable wasn't defined.
#8
I don't see any posts about this so I thought I'd start one.
I ordered myself a PassMe a few days ago, so when it comes in I'll be playing games like Monkey Island and such like on DS. I was just wondering if CJ would support a DS port of the engine to let you play AGS games on it. They ported scummvm to the DS:

http://scummvm.drunkencoders.com/

I think that you could easily move the game itself onto the DS, but I think you would need an engine port to change the controls and resolution, etc.

Just imagine... Mmmmm... Erm, anyway... it would be cool
On another note, I may infact finish this game. I'm still working on my combat engine but damnit I keep needing to change variables back and forward from int to strings and vice versa.
#9
Beginners' Technical Questions / Not equal to
Thu 11/08/2005 11:11:05
Is there a function for having a random variable not equal to another variable, such as:
a=random(4)
b=random(4) not equal to a
c=random(4) not equal to a or b, etc

If someone could tell me how this is possible it reduce the amount of code I have to write by alot. I don't believe this is covered in the manual, but I may well have missed it.
#10
I'm having a problem making a reloading script for my game, its pretty much an exact copy of that by Ponch, apart from using non-redundant code but I don't know why the timer won't expire. Yes, yes I know this has been asked before but nothing seems to make it work ??? heres the code:

Code: ags
function repeatedly_execute() {
  // put anything you want to happen every game cycle here
if (IsTimerExpired(1) == 1) {   
 mouse.Visible = true;
}
}


Code: ags
function hotspot2_a() {
  // script for Hotspot 2 (Hotspot 2): Shoot hotspot
  // Reload
if (GetGlobalInt(1)>=1) { // If the player has a clip left
 SetGlobalInt(1, GetGlobalInt(1)-1);//lose one clip
 SetTimer(1, 90); // Set Reload Timer
 //AnimateObject - Reloading Graphic
 mouse.Visible = false; // so the player can't shoot while reloading
  } 
else { // the player is out of ammo
 Display ("I'm out of Clips!");
  }   
}

Once you shoot the hotspot, the mouse is disabled, but the timer won't expire and hence the mouse doesn't get re-enabled.
SMF spam blocked by CleanTalk