Inside3D tutorials.

Inside3D
 • Front Page
 • Articles
 • Downloads
 • Forums
 • Hosting
 • Help Wanted
 • Interviews
 • Reviews
 • Staff

 
Allied Sites
 - AI Cafe
 - Bot Epidemic
 - Dark Places
 - Flat Earth
 - FrikBot
 - Ghoulish Art
 - Kilbert3D
 - Quake Info Pool
 - QSG: Quake Standards
 - Rusted Fork
 - Stroggs Gone Mad
 - More...
 
Quake
 - Getting Started
 - QuakeC Specs v1.0
 - QuakeC Tutorials
 - Quake Mod Index
 
Quake II
 - Getting Started
 - dll Sourcecode
 - Coding Tutorials
 
.dll Central
 - Getting Started
 - Learning
 - dll Primer
 - dll in C
 - dll in Delphi
 - Compilers
 
Jedi Knight
 - Getting Started
 - COG Specs
 - Sound Specs
 - Tutorials
 
Level Editing
 - Tutorials/Tips
 
 
Telefragged!!!
Created By: ShockMan
eMail: qfiles@quakemania.com
Difficulty Scale: Medium


Intruduction
How to make a mini-gun in 10 + 1 easy step...

This is a really simple patch that changes the super nailgun to a MINIGUN with some other cool effects!!


Step 1
First open up weapons.qc and search for void() W_FireSuperSpikes.


Step 2
Change the W_FireSuperSpikes function so it looks like this:

void() W_FireSuperSpikes =
{
    local vector	   dir;

    sound (self, CHAN_WEAPON, "weapons/spike2.wav", 1, ATTN_NORM);
    self.attack_finished = time + 0.2;
    self.currentammo = self.ammo_nails = self.ammo_nails - 2;
    self.punchangle_x = -2;

    dir = aim (self, 100000);
    FireBullets (1, dir, '0 0 0');
};


Step 3
What does this do, you wonder...

First sound (self, CHAN_WEAPON, "weapons/spike2.wav", 1, ATTN_NORM);
this playes the supernailgun sound, maybe it would be better to change it to the shotgun sound.

Next thing, self.attack_finished = time + 0.2; tells quake that one shot will take 0.2 seconds.

After that is self.currentammo = self.ammo_nails = self.ammo_nails - 2; this removes 2 nails from your ammo per shot.

self.punchangle_x = -2; this makes you shake abit when you shot, you can try to set this to a lower number, just fool around abit with it.

last is: dir = aim (self, 100000);
FireBullets (1, dir, '0 0 0');

this fires the bullets.


Step 4
Compile the patch now. use impulse 9 to get all weapons and select the super nailgun, and fire!! cool, huh?


Step 5
Yea.. its cool, but it could be better...
Lets make the shots go abit wider... change FireBullets (1, dir, '0 0 0'); to FireBullets (6, dir, '0.04 0.04 0'); Maybe you wanna try some different numbers, so i will explain what the numbers do.

The first number (6) is how many bullets that shall be fired...
The second parameter (dir) is just what direction to fire in (dont mess around with it, or maybe do it!! i could be cool) :)
Next it is 3 numbers... the first one is how wide the shots shall go, the second is how much up/down they shall go, the third one is the deept of the shoot... dont know why you would wanna use this... (its mostly set to 0 anyway)


Step 6
Compile and test.


Step 7
Before i said that it might be better with the shot gun sound, so lets change it. just change weapons/spike2.wav to weapons/guncock.wav


Step 8
Test again...


Step 9
Now its really cool, but there is something thats missing...
hmm... why not make you fly back a little bit when you fire!!

ok.. after FireBullets (6, dir, '0.04 0.04 0'); add self.velocity = dir * -300;


Step 11
Compile and test again (try to look down and fire, wow MUCH better that rocket jump!) :)


Step 11 (extra step)
Hmm... if you want to remove that "fly" effect just add self.velocity_z = 0; after self.velocity = dir * -300;
There ya go... now enjoy this cool patch :)







The Inside3D content and design is copyrighted by the Inside3D team, and may not be re-produced or copied without proper consent. All rights reserved. Any work credited to any author not part of InsideQC is copyrighted by that author. If you have any feedback, suggestions or flames please send it in to the author. Inside3D is hosted by telefragged and the design was originated by project-9.