Jump to content

List of mapping questions


Hudaw

Recommended Posts

Hey guys. This is like the fourth post I've made so I'm gonna just rattle off questions I've got so I can get them all in. 

1. I'd like to have atmospheric effects that aren't triggered by an FX runner. For instance, I want idle room noise so that the map has some character. What entity to I use for this?
2. How do I restrict a func_plat to player_use or to a switch so that it doesn't auto-move?

3. Can I make a force field brush that only stops projectiles but doesn't stop bodies or anything else? I've tried shot only clip but it doesn't seem to work.
4. Is there a way to create a shader that CASTS light but doesn't EMIT light? I don't want to be able to see the light or the shader itself, but I want any person or object who walked into the shader to have the light cast on it. I want to put shaders at the edge of the space portion of the map so that the ship turns darker shades of red as they approach the teleport edge. I want to use a shader because I don't want to use entities if I can help it.
5. For trigger_space, do "inside" brushes counteract this so that I can more easily block out space areas, or do I have to get a bit hacky on that?

SECONDARY QUESTION:
The entity limit for servers is 1022. Is this a simultaneous limit? Can the map have more than 1022 entities but perhaps some of them aren't loaded due to intelligent design / vis work? 

Link to comment

#1, you can use a SoundSet key in the worldspawn for sounds that can be heard all over the map, and target_speakers set to loop on for area specific sounds.

#2: It looks like func_plat can be set to player_use in the entity menu.  But if you have another button that you want to control it, make a trigger_multiple around the button, link the ents so the button targets the plat, and make the button usable.

#4: This shader might work, it'll cast light in the shape of the brush you use it on, but the surface will be invisible and nonsolid.  Change the "q3map_lightRGB 1 1 1" part so it's red.  I feel like this is a pretty hacky shader the more I look at it, but if it works it works.

textures/racepack8/rp8_brushlight
{
qer_editorimage	textures/racepack8/editor/brushlight
qer_trans	0.7
surfaceparm nomarks
surfaceparm nonsolid
surfaceparm nonopaque
surfaceparm trans
surfaceparm nolightmap
q3map_lightRGB 1 1 1
q3map_nolightmap
q3map_surfacelight 500
{
map $whiteimage
rgbGen const ( 0 0 0 )
blendFunc GL_ONE GL_ONE
}
}

Dunno about #3 or your last question!

Link to comment

#1, you can use a SoundSet key in the worldspawn for sounds that can be heard all over the map, and target_speakers set to loop on for area specific sounds.

#2: It looks like func_plat can be set to player_use in the entity menu.  But if you have another button that you want to control it, make a trigger_multiple around the button, link the ents so the button targets the plat, and make the button usable.

#4: This shader might work, it'll cast light in the shape of the brush you use it on, but the surface will be invisible and nonsolid.  Change the "q3map_lightRGB 1 1 1" part so it's red.  I feel like this is a pretty hacky shader the more I look at it, but if it works it works.

textures/racepack8/rp8_brushlight
{
qer_editorimage	textures/racepack8/editor/brushlight
qer_trans	0.7
surfaceparm nomarks
surfaceparm nonsolid
surfaceparm nonopaque
surfaceparm trans
surfaceparm nolightmap
q3map_lightRGB 1 1 1
q3map_nolightmap
q3map_surfacelight 500
{
map $whiteimage
rgbGen const ( 0 0 0 )
blendFunc GL_ONE GL_ONE
}
}

Dunno about #3 or your last question!

Thanks a ton, Artemis! I was familiar with Worldspawn but I just wasn't sure if target_speaker worked without being hooked to something else. 

 

I'll try out that shader and see if that sucker works. I honestly feel like it'd be great to know that you're about to hit the edge of the space box before you get teleported, or alternatively seeing if trigger_shipboundary actually works and is more functional there. 

 

I'll need to see your image, though, because I don't have "racepack" in here by default, so you must have somethin I don't. The big question is whether or not it will cast light on the ships that move into them, not so much the brushes in that zone because I don't plan to have any brushes at the edge of space. 

 

RE: the func_plat, I did set it to player_use but it was still triggering on touch.

Also, I added another question ;) 

Link to comment

Oh!  This is a custom shader with no actual image.  You can name the shader anything, like if you have a "spacemap" folder and shader for custom textures, just call it textures/spacemap/redlight or whatever you want in the shader.  It'll show up in that texture folder in Radiant as a missing texture image unless you make a specific image to use in the editor or point it to one that already exists, which is what qer_editorimage is for.  Assuming you also have a "spacemap.shader", you'll want to add it to your shaderlist.txt file.  It should cast light on the ships but otherwise be invisible, just make brushes around the edges of your space with the shader applied.

Hudaw and Smoo like this
Link to comment

I can promise you, from experience, that the 1022 entity limit is a hard limit. All other limits are meaningless when you are talking about the total entity count, as they are merely smaller limits in limited areas of the engine inside of the larger overall limit. The maximum entity limit includes things like saber clash effects, players, NPCs, weapons, movers, triggers, target_ entities (Target_speaker, target_relay, target_print, target_position, etc). Anything included during compile time, AND everything generated at run time.

 

It does *not* include some entities, like info_null and lights, as these are removed during compile.

 

Vis has it's own cap on the limit of simultaneously visible entities at 256, but this is completely unrelated to the total entity count. Both limits are important if you want your map to run well, however. This limit also incorrectly includes things like target_speaker, target_delay and target_relay, which are not visible entities.

 

If you want to get more mileage from your existing entities, use scripts liberally. Specifically, using usescript on a trigger instead of firing some target_relays or target_delays will save you a lot of entities when applied across an entire map. (Scripts can even be substituted for a target_print!). If you can use them, scripts are your best friend on an entity-filled interactive map.

 

 

 

 

As far as trigger_space - I'm pretty sure the "Inside" shader is for weather. Could be wrong on that, though. When I used trigger_space, I just CSG subtracted it into a nightmarish rat's nest of messed up brushes. But don't do that unless you have no other choice.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...