ShootersForever.com Forum Index

GoldenEye 007 Nintendo 64 Community, GoldenEye X, Nintendo 64 Games Discussion
GoldenEye Cheats, GoldenEye X Codes, Tips, Help, Nintendo 64 Gaming Community


Knockout!

 
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Q-Lab Hacking Department
View previous topic :: View next topic  
Dragonsbrethren
Hacker
Hacker


Joined: 23 Mar 2007
Posts: 3058

 PostPosted: Sun May 31, 2009 2:53 pm    Post subject: Knockout! Reply with quote Back to top

Earlier, I was conversing with Wreck and mentioned that I wished GE had a way of distinguishing between death by gunshot and "knockout" deaths by unarmed or the taser. A little while later, I decided to see if you could check for the weapon Bond used for the kill, and then set an objective bit if he "killed" that guard rather than knocking them out. It works, but there are a number of small problems you should be aware of:

1. A block is needed that checks for each civilian's death.
2. The default way of checking for civilian/scientist deaths, using action F7, is no longer valid.
3. The block that sets the objective to failed will grow to a ridiculously large size if more than one guard needs to be checked.
4. Civilians' bodies will still fade away as if they had died (because they are dying). It might be worth the trouble to respawn them after a few minutes, if you want them to get back up like knocked out guards did in TWINE.

As such, this is better suited to maps where only one person needs to be knocked out, rather than a map crammed with scientists, or worse yet, allowing any guard to be knocked out.

Here is a demo patch and the action files that can be imported. They can be placed in any 1XXX block, and should be usable in any mission once the objective bits are tweaked.

http://dragonsbrethren.slickproductions.org/files/goldeneye/misc/knockout.zip

Just choose Runway and try slapping a few guards. Then blast one with the PP7 and see what happens. You'll fail as soon as you kill one of the six civilians scattered about the map.
 
View user's profile Send private message
SubDrag
Administrator
Administrator


Joined: 16 Aug 2006
Posts: 6178

 PostPosted: Sun May 31, 2009 3:41 pm    Post subject: Reply with quote Back to top

I like this a lot. So you modified F7 with new assembly code?[/code]
 
View user's profile Send private message
Dragonsbrethren
Hacker
Hacker


Joined: 23 Mar 2007
Posts: 3058

 PostPosted: Sun May 31, 2009 3:47 pm    Post subject: Reply with quote Back to top

No, this is all done via action blocks. There is a block for each civilian, which checks if they're dead or not. If they are, it checks for Bond's current weapon, if it's anything other than unarmed or the taser it sets an objective bit unique to that guard. Despite what I originally thought, it seems to be impossible to fool the game by shooting someone and quickly switching to unarmed (or the opposite), the weapon switch is just too slow for that to work. Block 1006 simply checks if any of those unique objective bits have been set, and if so fails the objective.
 
View user's profile Send private message
SubDrag
Administrator
Administrator


Joined: 16 Aug 2006
Posts: 6178

 PostPosted: Sun May 31, 2009 5:22 pm    Post subject: Reply with quote Back to top

Very cool

http://www.goldeneyevault.com/viewfile.php?id=169
 
View user's profile Send private message
radorn
007
007


Joined: 23 Sep 2007
Posts: 1424

 PostPosted: Sun May 31, 2009 9:19 pm    Post subject: Reply with quote Back to top

Hey this is great!
It should really contribute a great deal to the depth of the missions.

It amazes me how you guys analize the AI system and come up with these things.
 
View user's profile Send private message
Wreck
Administrator
Administrator


Joined: 14 Dec 2005
Posts: 7254
Location: Ontario, Canada

 PostPosted: Mon Jun 01, 2009 11:25 am    Post subject: Reply with quote Back to top

Great to see that you figured out a way to utilize this idea. It's unfortunate that there's still an exploit involving explosives, though. If you set a timed or proximity mine, or toss a grenade, then switch to unarmed / taser quick enough, the person will be blown up without failing the objective. Even PD has an exploit similar to this in one mission. The panel in Carrington's office that you need to laser through to get to the sensitive information you must destroy. You can't damage it unless you have a laser equipped, right? Well, in multiplayer, only one person needs to have a laser armed, and the other can use whatever weapon they want to on the panel. Timed explosives may even work, I didn't check.

Anyways, that's still a really interesting setup you got going for rendering characters unconscious, rather than straight-up killing them. Sorry to point out that problem, but maybe it'll help you to think of a work-around.

Oh, by the way, there's a rather nasty comment on the page for this at the Vault. Hopefully Sub will remove it, once he sees it.
_________________

YOUTUBE | TWITTER/X | FACEBOOK | VAULT | MOD DB | RHDN
 
View user's profile Send private message Visit poster's website
monkeyface
Moderator
Moderator


Joined: 05 Apr 2008
Posts: 275

 PostPosted: Tue Jun 02, 2009 4:58 am    Post subject: Reply with quote Back to top

These small things are great that could potentially make or break the "feeling" of a mission. I don't mind the bugs, only someone trying the break speed records will find a use for that, and honestly, that would make it a technique you'd have to master, instead of an inconvenient bug.
 
View user's profile Send private message Send e-mail MSN Messenger
Dragonsbrethren
Hacker
Hacker


Joined: 23 Mar 2007
Posts: 3058

 PostPosted: Tue Jun 02, 2009 6:16 am    Post subject: Reply with quote Back to top

I'm trying to create a more optimized version of this by taking advantage of the user byte, but I must be doing something wrong because either the objective fails outright or doesn't fail at all. Basically, I set the first user byte to FF at the start of the mission. When one of the civilians dies, the byte should be decreased by one. The fail check simply checks if the byte is less than FF, so it should be working. It doesn't make any sense to me. I'm going to redo it from scratch, sometimes there are little errors in these that I'll spend an entire day staring at without noticing...

Once done though, this will allow you to have an unlimited number of guards that can be knocked out with very little action block overhead. It's a shame explosives have to be a pain about this. I suppose the solution is to only use the blocks on maps where explosives will not be present, and set each guard to have no chance of using grenades. You could still cheat with all guns enabled...but you're already cheating, who really cares?
 
View user's profile Send private message
Wreck
Administrator
Administrator


Joined: 14 Dec 2005
Posts: 7254
Location: Ontario, Canada

 PostPosted: Tue Jun 02, 2009 11:34 am    Post subject: Reply with quote Back to top

The only other possible exception, would be exploding objects. If an enemy is firing at you, destroys a crate, and a civilian (or other) is near it at the time, they'll die. If you're armed during this scenario, it'll just think that they were killed. But if you aren't, it'll consider them having been rendered unconscious. The Enemy Rockets cheat would also be a nuissance. It's stupid little things like this that make you respect the work the programmers did with PD.
_________________

YOUTUBE | TWITTER/X | FACEBOOK | VAULT | MOD DB | RHDN
 
View user's profile Send private message Visit poster's website
Dragonsbrethren
Hacker
Hacker


Joined: 23 Mar 2007
Posts: 3058

 PostPosted: Tue Jun 02, 2009 3:43 pm    Post subject: Reply with quote Back to top

I misunderstood how the user bytes work (I thought they were variables that anything in the mission could manipulate, and not tied to individual guards), so my optimized method, while I've got it working, is worthless unless you want to limit the player to killing one civilian. I suppose that would be alright, but we all know how annoying it'll be when you have to restart a mission for the Nth time because some idiot ran between you and the guard you were shooting at. I don't think I'm going to pursue this farther, as any way of expanding this to cover more than one guard would easily be as bad as my old method using objective bits.
 
View user's profile Send private message
SubDrag
Administrator
Administrator


Joined: 16 Aug 2006
Posts: 6178

 PostPosted: Tue Jun 02, 2009 4:09 pm    Post subject: Reply with quote Back to top

I never realized that either - so it's localized to a block?
 
View user's profile Send private message
Dragonsbrethren
Hacker
Hacker


Joined: 23 Mar 2007
Posts: 3058

 PostPosted: Tue Jun 02, 2009 4:35 pm    Post subject: Reply with quote Back to top

Yeah, and luckily it's not limited to 04XX blocks, it works fine in a 1XXX block. I had a thought right after my last post and managed to get this working using both the objective bits on the civilians and the user byte in a 1XXX block. Here's how it works:

04XX: The guards assigned this block, on death, check if they were killed with a weapon other than unarmed or the taser. If so, this sets objective bit 00000001.

1XXX: This block sets the user byte to FF, and checks for the objective bit to be set. If it is set, it decreases its user byte by 1, unsets the bit, and waits for it to be set again. If the user byte goes below FE (two kills), it sets objective bits 00000200 to fail the objective.

I've tested it, and the action blocks are processed fast enough that even two civilians killed "simultaneously" will be counted as two kills. My current civilian block is minimalist, it does nothing but check for the guard's death. For an actual civilian, this death check should be in every block that civilian can use, ideally after any 03 actions since you don't want the civilian caught in a loop and not checking for their death.

Please replace the blocks on the Vault with these:

http://dragonsbrethren.slickproductions.org/files/goldeneye/misc/knockout-new.zip


Last edited by Dragonsbrethren on Wed Jun 03, 2009 1:26 pm; edited 1 time in total
 
View user's profile Send private message
SubDrag
Administrator
Administrator


Joined: 16 Aug 2006
Posts: 6178

 PostPosted: Tue Jun 02, 2009 6:08 pm    Post subject: Reply with quote Back to top

Ah. Done
 
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Q-Lab Hacking Department All times are GMT - 8 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Cobalt 2.0 BB theme/template by Jakob Persson.
Copyright © 2002-2004 Jakob Persson


Powered by BB © 01, 02 BB Group

 


Please Visit My Other Sites: GoldenEyeForever.com | GrandTheftAutoForever.com

Got kids? Check out my Dora The Explorer site with games and coloring pages!

Our forums feature Nintendo 64 games, GoldenEye 007 N64 New Maps and Missions, GoldenEye Cheats, N64 Emulator, Gameshark, GoldenEye Multiplayer and more!

[ Privacy Policy ]