Objects That Selectivly Clip
#107 posted by Preach on 2006/11/23 14:27:47
We're going to learn a new field we can add to almost any entity to change how it blocks other entities in the game. And that field is
owner n
Where n is the number of the entity that you want to "own" this entity. What does this mean? Well, it's easiest to understand by example. When an monster/player fires a projectile, the owner field of the projectile is set to the firing entity. This means that the two object will no longer clip or touch, they ignore each other for all collision purposes. The purpose is so that your own rockets don't explode on you as soon as you fire. Side effects include that you can't use a vore's own voreballs against it(directly).
So, what can we do with this? Well, you can set it on almost anything(doors being the big exception that already have owner specified in their own code). If you set, say, a monster's owner to 1, then it'll be noclip to the player. Kinda stupid, but cute, especially if you do it to a knight as it leaves them incapable of attacking you. You can't hit them with hitscan weapons, but you can get them with nails. This is because a traceline is in some ways a collision between yourself and the target entity.
So that's neat but not all that useful. A better use would be to have monsterclip that only clips selected monsters, like I suggested in mapping help. But surely you can only set the monsterclip to have one entity as it's owner? Yes, but that's the wrong way round to do it. What you do is make it so that all of the monsters you don't want to clip against it have the monster's owner set to the monsterclip. It's a symmetric relationship, so now all those monsters will disregard that one entity. Of course, they'll still hit all the other monsterclips in the map equally. You'll have to place them so that all the monsterclip they are likely to encounter that you want them to ignore is grouped as one entity.
The owner field might suggest that there's some kind of hierarchy going on here, but it's not the case. If the ogre has the player as an owner, and it's grenades have the ogre as their owner, the grenades still clip against the player. So you're basically limited to one link per object, it can be noclip to one entity of it's choice, and as many entities as you like can be noclip to it. The trick is to use the limited resource as creatively as possible.
What else could you do with this? Well, probably some good(evil) traps, shame this wasn't about for the speedmap pack last week. You could add HL2 style combine force fields that the player can't move through but the monsters can. I'm sure other people can think of things I can't. Maybe you could do something really clever for a coop only map, where player 1 and player 2 (entity 1 and entity 2 on the map) aren't treated symmetrically? It'd be cool to hear people's ideas.
Sounds Awesome
#108 posted by than on 2006/11/24 05:45:44
Preacher, you are the don of hacks. That one sounds particularly prime though, and it will get used.
Levitating Enemies
#109 posted by ijed on 2006/11/24 07:37:33
how about a shalrath (or shambler?) stood on an invisible func_train that only it can touch - either flying around a room and landing now and again to use its normal walking movement or else with a series of func trains causing it to jump around like in nehahra or the end of azure agony.
.
#110 posted by anonymous user on 2006/12/03 11:20:37
MONSTER_FISH FRAG COUNT FIX !!! (sort Of)
#111 posted by Omus on 2007/01/11 17:29:49
Here's something I just came up with.
Don't you hate not getting 100% kills due to the infamous monster_fish error? Well this doesn't stop the fish being counted twice, but you can manually increase the killed monsters count. Create an entity with these properties:
classname info_notnull
use boss_death10
Trigger it and the killed monster count will magically go up by one. BTW this method also kills the info_notnull, so you'll need one for every fish in your level. I suggest making each fish target one so they automatically call it on death.
Fish Frag Count Fix
#112 posted by Orl on 2007/01/13 14:51:13
Awesome hack Omus. I've always waited for something like this, and it works like a charm.
Nice Find
#113 posted by negke on 2007/01/14 03:06:45
though on the other hand, it will screw up the monster count if playing with a fixed progs.dat
A Very Basic Trick
#114 posted by frag.machine on 2007/02/11 15:32:34
It's very likely that most of you already know that...
You can manually set the skin field for any regular Quake monster. This, combined with the armorvalue/armortype and super_damage_finished tricks can lead to some new mini bosses (like a super shambler, for instance).
How?
#115 posted by Spirit on 2007/02/11 16:23:19
It's Very Simple, Actually
#116 posted by frag.machine on 2007/02/12 03:47:10
Assuming you have a soldier.mdl with 2 skins (0 is regular grunt and 1 is your boss grunt):
{
"classname" "monster_army"
"armorvalue" "1000"
"armortype" "1"
"skin" "1"
"super_damage_finished" "9999"
}
His shotgun will deliver 4x the normal damage, but without the quad damage sound. And this sucker can take more than 1000 hit points.
The idea can be extended to any regular monster.
Useful, But...
#117 posted by Omus on 2007/02/12 12:40:14
If you have new skins you to include external files for the custom model right? In that case you might as well create a custom progs and run it as a mod.
Not Necessarily
#118 posted by Lardarse on 2007/02/15 00:46:21
A lot of modern engines support replacement model textures, and these can be used to add skins to a model that doesn't have them.
But...
#119 posted by metlslime on 2007/02/15 05:21:33
can you replace skins that don't exist in the original mdl?
Odd Occurance, I Noticed
#120 posted by HeadThump on 2007/02/15 06:01:44
some months ago I was dicking around with Air Quake source and Dark Places with the intention of making some high(er) poly md3 models for it. I added a func_model type entity to the Air Quake source, designed a bouy type model and texture to test it with, and I added it to a map.
The md3 model showed up, but the texture didn't. I tried the various recommendations in the vast DP literature, and none of them worked to bring the skin in.
So I then converted the model to a Quake mdl, and indexed the colors of the skin texture to the Quake pallette. It showed up in game perfectly, not the mdl model, but the md3 and the md3 skin! So, apparently you need to have an mdl version for DP to recognize an external
skin.
Metl
#121 posted by aguirRe on 2007/02/15 09:33:40
I'm not sure, but I think you can from QC request skins/frames from ext texes that don't exist in the 8-bit mdl/spr.
Of course, it won't work so well then if you disable ext texes or don't support them.
#122 posted by Omus on 2007/02/15 14:37:26
I see about the engines allowing external skins, and metlslime, I imagine you would use some sort of naming convention (eg: wizard_skin00.tga, wizard_skin01.tga) to support multiple additional skins in these engines.
Still, you have to include these new files somehow. I have always imagined these map hacks were useful mainly for maps that you don't want to bother zipping up properly or include a readme (speedmaps) or maps you want to run on vanilla Quake with no extra assets.
HeadThump - I know that with md2 models and some engines, you have to preserve the original paths of a model (where to look for the skin is hard-coded in the model). So if Quake 2 installs a model at: models/monsters/gladiator/tris.md2 (model) models/monsters/gladiator/gladiator.pcx (skin)
... you have to rename the files (the skin at least) and preserve these paths under a Q1 mod directory. The same may be true of Q3.
Oh Yeah..
#123 posted by Omus on 2007/02/15 14:40:28
.. sounds like when you converted your md3 to mdl, it was able to find the skin (treating it as an external skin) because mdl models aren't as fussy about paths.
Thanks Omus
#124 posted by HeadThump on 2007/02/15 15:48:59
It's been a while since I visited my little project, but I think I'll see if that possibilaty is the case.
I checked the paths at the time to see if they matched up, but I may have only done so relative to the mod path and not the models internal structure, thus missing a crucial subdirectory.
I Guess...
#125 posted by metlslime on 2007/02/15 21:08:08
the thing I'm worried about is that "replacing a texture that exists in the mdl" might be a feature of a number of engines, but it seems completely up to chance whether each implementation happens to work even when the texture isn't in the mdl file.
So you could try it, and it could work in some engines, but who knows which ones.
Omus
#126 posted by frag.machine on 2007/02/19 16:43:23
[quote]
If you have new skins you to include external files for the custom model right? In that case you might as well create a custom progs and run it as a mod.
[/quote]
Yeah, but the thread theme is about making new stuff without new progs.dat, so I believe it's still on-topic :).
Player Weapon Damage
#127 posted by ijed on 2007/02/28 22:17:58
Can I increase it with superdamagefinished as for monsters? If so how - because it'll need to be set for coop as well. I'm guessing this will be more difficult than a standard monster hack . . .
The idea is to boost the players close combat attack to make it a viable alternative to the SSG and not just the SG. And make it a choice against tougher creatures, since I've omitted knights from my pack.
I reckon about the same damage as a rocket, so two hits would kill and ogre, four a shalrath - though I'd have to playtest alot so as not to unbalence the game.
Not Without Modifying The QC
#128 posted by Lardarse on 2007/03/03 04:11:31
Also, quad wwould affect all weapons, not just the axe.
Ah Well
#129 posted by ijed on 2007/03/03 23:32:05
It was just a thought, maybe for the next time. It�d also affect alot of things, eg. it�d be easy to lose ammo backpack pickups by gibbing too many monsters.
Question
#130 posted by mechtech on 2007/04/09 04:22:58
Any way to use stuffcmd in a map ent??
Mechtech
#131 posted by JPL on 2007/04/09 08:09:50
it is possible in Quoth Pack. Just use info_command or trigger_command, and and your command in the message field. Maybe you should ask Kell or necros for further details.
|