|
Qc Help
#3749 posted by madfox on 2005/06/23 06:51:00
Would you be so kind to look at my rat.qc and see why I can't lay a path_corner on them?
The download has the qc.script I tried sofar.
Could it be because it is an Add-on monster?
I've been looking all day, but I can't find the reason.
I finally got them ingame, but I can't see them jump, although I declared the options.
Also the damage impackt is far too high.
Rat From A Sinking Ship..
#3750 posted by Preach on 2005/06/23 09:47:25
Yeah, sure, either e-mail it to me or post a link here and I'll have a poke around.
Grafixer
#3751 posted by Mike Woodham on 2005/06/23 11:01:54
Just found a problem with Grafixer in that it only handles textures up to 320 x 200. Shame.
Fullbrights Re-visited
#3752 posted by Mike Woodham on 2005/06/23 11:57:55
I have a sense of deja-vu here so if this is repeating myself, sorry.
TexMex has a problem removing colour 255. So, if after doing the above routine you still have a single fullbright (fuscia) you will need something like Photoshop to highlight the offending pixel and change it to another non-fullbright colour.
It is straightforward although long-winded but I don't know how else to do it.
Hacky Way To Convert Textures
#3753 posted by Preach on 2005/06/23 16:38:17
You can use QME(yeah, the modelling program) to eliminate fullbrights at a pinch. Dunno if I'd want to do it on a large batch of textures though. Load up any model and change the skin size to the size of the texture. Import the texture, and go to view -> skin palette map editor. Then uncheck the last two rows of colours, and click ok. Finally, export the skin again, and it's done.
You can also use this to exclude other colour ranges, if the conversion uses a row of colours that look odd, like the grey/greens on a grey patch. It's also very handy if you're making a quake player model, since you can fix the shirt/pants colours easily with it. But yeah, fullbrights is the most useful thing it'll do.
Great Preach!
#3754 posted by madfox on 2005/06/23 20:25:11
I posted a link above with the download zip.
It has a map, Qc, Sound and progs.
You even could game with it by what I sofar gained. Some functions won't work, like the bite distance is to far, as the damage is.
But when I try to put on a path_corner on it the game ceased as I mentioned in post 3713.
Maybe because it is not a monster replacement, but an add-on.
Here is the link once more:
http://members.home.nl/gimli/rat01.zip
Basil The Rat(and A Few Further Things)
#3755 posted by Preach on 2005/06/24 05:24:09
The fix is pretty simple, the explanation a bit more involved. What you want to do is find the following code:
void() rat_run1 =[ $run1, rat_run2 ] {
if (random() < 0.2)
sound (self, CHAN_VOICE, "rat/eep1.wav", 1, ATTN_IDLE); ai_run(8);};
void() rat_run2 =[ $run2, rat_run3 ] {ai_run(8);};
and edit it to this:
void() rat_run1 =[ $run1, rat_run2 ] {
if (random() < 0.2)
sound (self, CHAN_VOICE, "rat/eep1.wav", 1, ATTN_IDLE); ai_walk(8);};
void() rat_run2 =[ $run2, rat_run3 ] {ai_walk(8);};
Why? Well, although these functions are called rat_run1 and rat_run2, they are actually the WALKING frames for the rat. You can see this by looking at
self.th_walk = rat_run1;
in the definition of monster_rat. And why does it matter? Well, ai_run assumes that the monster has a target, and so you get problems when that isn't the case. ai_walk is built for just one thing, and that's following path_corners.
A few other things that you might wanna look at which I noticed while testing. One is the hitbox you use. It's narrower than it is long, which would be a good fit for the model, except that hitboxes in quake don't rotate with the model. So it's always facing the same way, which makes it harder or easier to kill the rat depending on which direction you attack it from. It's hard to explain, but easy to see, get the latest fitzquake and set r_showboxes to 1, and then look at some rats with god or notarget, especially ones who are patrolling. The fix would be to set the size to something like
setsize (self, '-8 -8 -8', '8 8 16');
A further thing, the gibbing death you have in there is bugged. If you do enough damage to gib the rat, the gib gets thrown, but the rat doesn't get removed. So you get an invulnerable rat that continues attacking. Use ThrowHead instead of ThrowGib - ThrowGib creates a new entity for the gib, ThrowHead turns the monster into the gib. Or you might wanna just remove gibbing, it'd probably look better.
Finally, when your models are dying normally, not gibbed, they remain solid. Usually it's best to have make them non solid, change the last death frame to do that.
I wrote the above two paragraphs, then decided to try and test it. Looking more carefully, the whole death sequence is quite buggy. You have a loop where rat_die calls rat_die1, which calls rat_die again. This is why you get that repeated clicking sound from all the dead bodies. Rather than detail all the little fixes, here's what it should look like
void() rat_die1 =[ $squish1, rat_die1 ] {self.solid = SOLID_NOT;};
void() rat_die2 =[ $squishb1, rat_die2 ] {self.solid = SOLID_NOT;};
void() rat_die =
{
// check for gib
if (self.health < -15)
{
sound (self, CHAN_VOICE, "rat/squish.wav", 1, ATTN_NORM);
ThrowHead ("progs/h_gib1.mdl", self.health);
return;
}
//regular death
sound (self, CHAN_VOICE, "rat/squish.wav", 1, ATTN_NORM);
if (random() > 0.5)
rat_die2 ();
else
rat_die1 ();
};
Notice which functions are calling which other functions, rat_die calls one of the two frames, rat_die1 or rat_die2. The frames do not call rat_die again, they call themselves, because the monster no longer needs to animate - it's dead.
One tip for people in general, with a word of warning. If you want to test a new monster quickly without having to create a new level, you can cheat and have it replace an existing monster in all levels. To replace grunts with rats, comment out all the code in monster_army(), and add
self.classname = "monster_rat";
monster_rat();
after the comment. The classname is very important, as if you don't do that the rats will be going around with monster_army as their classname. Some of the quake monsters have hacks in the AI based on their classname(knights are a good example of this), and so you might get odd behaviour that wouldn't occur with a custom map with rats in. It took me months to figure where that bug came from first time I met it...
Wow...
#3756 posted by madfox on 2005/06/24 08:15:36
Thank you very much, Preach for your brilliant explanation of the qc periphericals!
I was looking to it so long now it realy became acracadabra to me.
I had changed something in the RatJumpTouch and then all my rats became earthbound, before they squished to the wall. Some of them kept flying at the skybrush.
It gave me the idea to make bats of them.
Now they're ok, and I can use them with a path_corner. I am very thankfull to you.
Last bugging question of me. How do I cange their damage. I changed ai_charge in the void rat_bite , but it doesn't change a thing.
Damage Dealing
#3757 posted by Preach on 2005/06/24 10:10:15
The lines that do damage are
ldmg = (random() + random() + random()) * 8;
T_Damage (self.enemy, self, self, ldmg);
in rat_bite and much less frequently
ldmg = 10 + 10*random();
T_Damage (other, self, self, ldmg);
in Rat_JumpTouch. Since random produces a number between 0 and 1, the first expression can produce anything from 0 to 24 damage, but is much more likely to lie close to the centre, about 12 damage. The second is uniformly distributed between 10 and 20 damage. Reducing the numbers here is probably wise. You might also want to reduce the attack range, which is set at 100 in rat_bite in:
if (vlen(delta) > 100)
Because this range is measured between the origin of the player and the rat, you can make it smaller than, say, the same range for a knight, as the rat can get closer to the player with it'ssmaller bounding box. 70/80 would probably be good.
Terrain Mapping
Originally i had tried to just use straight vertex manipulation. This looked fine in-editor, but everything was hopelessly broken in-game. I then tried cutting my base structures into triangles before doing my vertex manipulation thing, and it ended up looking decent in-game.
Is this the right way to do it, or am i setting myself up for worse problems down the road?
Tris
#3759 posted by . on 2005/06/24 14:14:33
While time consuming, tris are the way to go.
Thankx
#3760 posted by madfox on 2005/06/24 19:03:37
Thanks again Preach.
You helped me with a thing I was crunching for years with. So glad I found it yet!
Replacing monsters was a tough job, adding even more.
It helped me with understanding a little more
of the qc scripting, which in my opinion still
has something of pure magic.
Clipping Hulls
#3761 posted by cyBeAr on 2005/06/25 19:40:37
Is there any engine out there yet that lets you view the different hulls or is the "-hull #" option of aguire's qbsp the only option available?
CyBeAr
#3762 posted by Tyrann on 2005/06/25 19:48:45
http://disenchant.net/engine.html
(Only implemented in the GL version)
Thanks Tyrann
#3763 posted by cyBeAr on 2005/06/25 22:12:17
I really miss fitzquake/q3 style movment in noclip mode though and I think the hulls would be better displayed as some kind of wireframe or semi-transparent representation. Shouldn't complain though since it is very usefull even as it is.
Now that I've seen the ones I felt and some additiional ones I just have to figure out how to get rid of the evil clipping problems...
Mousetrap
#3764 posted by madfox on 2005/06/26 21:29:14
Glad my attempt, adding a monster, succeeded.
http://members.home.nl/gimli/rat02.zip
Hickory, Dickory, Dock...
#3765 posted by Mike Woodham on 2005/06/27 00:08:33
Two things:-
1) the trap operates on its own once you have triggered it for the first time - about every 12 seconds. Is this intentional?
2) Huston, we have a dead mouse flying.
http://img296.echo.cx/img296/2507/fitz00003il.jpg
I shot this mouse and he flew up in the air and stayed there?
Other than that, they are good, nuisance monsters like spiders and vorlings.
Fidler Of Hameln
#3766 posted by madfox on 2005/06/27 10:49:25
While the Quake engine can't collaps objects (in stead of the Custent) I made the trap like a func_train.
My idea was to hurt the rats, but as they have no pain-frames in it, that won't work.
The flying mouse you see, is one that has fallen on the trap itself. It isn't flying.
Took me some time to make them fall on ground the same way, as the h_gib1.mdl frame and the squish-frame in the rat.mdl aren't in the same position.
ThrowHead function make them land lower, reason why they just disapear.
Would like to make them jump and retreat.
Q1 Console Gfx
#3767 posted by . on 2005/06/27 18:30:42
I looked inside GFX.wad and also the GFX folder of the PAK's and can't seem to find the big console graphic. Where be it? I saw one .LMP that might be it, but QPED said it wasn't viewable.
It's Called
#3768 posted by aguirRe on 2005/06/28 02:27:01
conback.lmp and used to have a limit of about 64k in size, but some paks use larger and might cause some engines/tools to fail (or even crash) to load it. Carved in Flesh is such a pak.
Thought So
#3769 posted by . on 2005/06/28 02:47:38
I found a tool called Adquedit and was able to extract it. So I'll have to keep it under 64k then? The original file is 55.9 KB.
If You Want
#3770 posted by aguirRe on 2005/06/28 04:00:22
to avoid weird behaviour or even crashes in standard engines, you should keep it beneath 64k. There are also similar restrictions on skins and other texes (at least in GL-engines), but the limit is higher then.
In my next engine versions, I've added warnings when exceeding normal limits.
Mini Chthon
#3771 posted by Mike Woodham on 2005/06/28 14:03:21
I wonder if anyone can point me in the right direction...
I remember seeing a mod where Chthon had been shrunk somewhat and could be killed with ordinary weapons. I am not sure if it was part of a larger map or was just an example map showing the mod.
I remember that there were two of these in little lava pools each side of a very small room and you could duck in and out of the room (it may have had a doorway at each end of the room) and lob grenades at them. The room was probably 1024 x 512, or at least that kind of proportion
I've Googled, Copernicked and even Asked Jeeves but only get referred to Chthon10 or Chthon! neither of which are what I am after.
Ring any bells with anyone?
#3772 posted by Kell on 2005/06/28 14:06:44
The mini-chthons in little lava tanks appeared in Mish Pak 2: DoE iirc
Roger Bannister Eat Your Heart Out...
#3773 posted by Mike Woodham on 2005/06/28 14:42:43
Bugger me Kell, bit quicker next time please:-)
Thanks. However... I never bought DOE, so if that was it, it must have been released to the public OR someone used it in a map.
I have a lot of lava in my current map and thought that it could be a useful extra monster type?
|
|
You must be logged in to post in this thread.
|
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.
|
|