Perpetual "quick How To" Thread
Fortuna_Wolf
Join Date: 2003-02-02 Member: 13033Members
<div class="IPBDescription">got a quick problem or an answer?</div> Right, as you've noticed in the past few days I've been spamming questions in the forum, so I thought that creating a thread for these quick "how do I do this?" type of questions and answers would slim it down.
Everyone should post their quick questions here and answers.
To start it off, here's what I've done, I have an elevator with two buttons that raise and lower it. I put a func weldable over one of the buttons completely encasing it. I want it so that when I weld the weldable it breaks the button. But even when I couldn't physically touch the button it still let me press it. So how do I set the triggers up to do this? It would be like in hera's holoroom where you weld the panels, break them, and then can use the button to trigger the vents. Except this time I want it so you weld the button so you can't use it, and the commander can still use the elevator.
Everyone should post their quick questions here and answers.
To start it off, here's what I've done, I have an elevator with two buttons that raise and lower it. I put a func weldable over one of the buttons completely encasing it. I want it so that when I weld the weldable it breaks the button. But even when I couldn't physically touch the button it still let me press it. So how do I set the triggers up to do this? It would be like in hera's holoroom where you weld the panels, break them, and then can use the button to trigger the vents. Except this time I want it so you weld the button so you can't use it, and the commander can still use the elevator.
Comments
Every mapper knows and hate them, and I dont even dare to say this word. L... E.A.K.S
My question is not one of the "How do I find y leak in my map?", instead the question is as follows:
Is there an easier way to find my leaks? At leats when I had to follow the traceline from the 3mb(!!!) pts-file I got sowhat **** off that I quit after 10 minutes "surfing around" with no idea where the leak could possibly be.
Is there any programm that marks the beginning and the end of the traceline, highlights the area where the traceline goes freespace or something like that?
Every mapper knows and hate them, and I dont even dare to say this word. L... E.A.K.S
My question is not one of the "How do I find y leak in my map?", instead the question is as follows:
Is there an easier way to find my leaks? At leats when I had to follow the traceline from the 3mb(!!!) pts-file I got sowhat **** off that I quit after 10 minutes "surfing around" with no idea where the leak could possibly be.
Is there any programm that marks the beginning and the end of the traceline, highlights the area where the traceline goes freespace or something like that? <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
There is <a href='http://saida.lava.nu/do_download.php?fajl=filer/lm01.zip' target='_blank'>Leak Marker</a>, but it's not very reliable. Looking for leak paths leaving your map in Hammer on HL is still the best way as far as I know.
First I select all entities, then I do a fly around the outside of my map, looking for any entities that are touching the void.
If I don't find any leaks, I hide all entities and do another fly by.
I find this works for me because the majority of my leaks come from bouts of absent mindedness, and as a result are 128x128 or larger monsters <!--emo&???--><img src='http://www.unknownworlds.com/forums/html/emoticons/confused.gif' border='0' style='vertical-align:middle' alt='confused.gif'><!--endemo-->
Helps if you put on 3D flat view.
The problem of entities outside world is a 0.0035% in my maps: There is never <!--emo&;)--><img src='http://www.unknownworlds.com/forums/html/emoticons/wink.gif' border='0' style='vertical-align:middle' alt='wink.gif'><!--endemo--> a entitie outside world cause I place them very well. Fly around in my map with hidden entities sounds good but since I hardly use entites (to get better speeds for online gaming) it is nearly useless. How am I suppossed to see a leak in a textured, highly complex environment. But the idea itself is cool <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif'><!--endemo-->
Idea nr.2 (follow pointfile in the editor):
As good as idea one. But the loaded pointfile doesnt show up in 3d view. AND the navigation in 3d view than get me to the point I have to ask myself what a 1800xp is good for when it lames vhe with pointfile loaded.
THX for the help. I think I will try the leakfinder. Only to find a leak that is a moronish noob leak (like to short solids) XD
And btw: I personally like Worldcraft 3.3 more than the Valvehammereditor because its much faster and the Texture placing is more "floatinglike".
I find that the gigantic block method tends to work wonders myself.
Helps if you put on 3D flat view. <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
err right you need the latest hammer beta for this. I have it but never found out how to load a .pts in it.
If you dont want to use killtarget use trigger_changetarget. This works like a trigger_reelay plus it changes the aim of one other entity name.
-> func weldable aims the trigger_changetarget. This changes the target of the button to the void (or to the trigger changetarget again).
1) load the leaking level into VHE normally.
2) Menu system: Map->Load Pointfile
From what I assume, it should work like so...
Example...
6 entities
func_weldable w1 targets trigger_changetarget ct
func_weldable w2 targets trigger_relay r1
trigger_relay r1 targets func_door d1
trigger_changetarget targets r1 newtarget set to d2
Right? if I weld W2 first it should open D1
If I weld W1 then W2 it should open D2.
What happens, I weld W2 first it opens D2
I weld W1 then W2 it opens D1
<!--emo&???--><img src='http://www.unknownworlds.com/forums/html/emoticons/confused.gif' border='0' style='vertical-align:middle' alt='confused.gif'><!--endemo-->
Am I missing something here? how does trigger_changetarget really work?
name: name-of-the-button
aim: name-of-the-elevator
elevator:
name: name-of-the-elevator
func weldable (green):
target to trigger on finish: whatever-the-weldable-aims-on
Trigger_changetarget (blue):
name: whatever-the-weldable-aims-on
aim: name-of-the-button
New Target: whatever-the-weldable-aims-on [OR] any entity that really does nothing.
To make it reset on new round you need a trigger random with min and max time = 0 (this shoots once on any round start).
Make this trigger random aim on a second trigger_changetarget;
trigger_changetarget:
name: whatever-the-trigger_random-aims-on
aim: name-of-the-button
New Target: name-of-the-elevator
This makes the button aim on the elevator after every round start.
Just stick it farther up into the ceiling. If you get a leak you should raise the ceiling then use something like a func_illusionary and a clip brush to make it look like the ceiling is lower.
this is the hardest to find leak ever! the pointfile in vhe really is no help. cann anybody tell me why the hell the pointfile is so large? because its only purpose seems to be finding leaks. a traceline THROUGH the leak would help wonders.
to post 1 up:
my first thought was:
"shorten legs? place the hive higher at the ceiling. there is no problem placing the hive as long as the center of the entitie is inside the world."
shorten the legs of the hive? u will need milkshape to do such work. the question is if its worth the thing. and then it will be a custom hive model that maybe is not allowed on some servers.
think twice if this is really necessary.
btw: I like hiveroom designing funniest <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif'><!--endemo-->
It has to do with what HLBSP does when it detects the leak. After the world has been chopped up into nodes, HLBSP starts at the corner of the mappable area (which it knows should be outside of the map) and begins removing any empty (non-solid) space that is reachable from that point without going through a wall. After it removes a section, it checks each adjacent section to continue the process, so that it slowly "fills" the outside of the map by removing information about open spaces there.
When there's a leak, the fill process will eventually run into a non-solid node that contains an entity; the program assumes that the entity is reachable by the player and is therefore on the inside of the map, so it throws an error saying that there's a leak. The pointfile is a record of the path that HLBSP took when it was filling the level -- the lines are connected along the series of nodes that reached the entity to cause the error.
The tools aren't sure where the leak occured; they just know they can reach an entity from the corner of mappable space and realize that means the player can potentially wander into the void. It might be possible to programmatically deduce likely leak spots by finding the smallest 2D opening that the pointfile path moves through (this isn't equivalent to using node portals, since the edge of a portal can border more open space in the next node along the same axis). It's a more complex problem than it might initially appear, however, especially since the required assumption that a leak is small isn't necessary true.
EDIT: "notes" -> "nodes" in second sentence... ugh.
Still, if you want to find a leak, the best method that works for me is creating a giant block that covers half of the map, if it compiles without a leak, half the size of that block. If it compiles with a leak, move the block to the other size. repeat ad nauseum.
BTW, I've had leaks occur without any reason that I narrowed down to two hallways. as long as I plugged those hallways it would compile without a leak. The only way to stop it I found was to delete the hallways and rebuild them from scratch.
You may have one of these nonsensical leaks, and then if you do, I erally feel sorry for you.
If I was creating a leak finder program - what I am not going to do because I have NO time - I would make it act like a human when searching leaks: Follow the leak line from the entity until you can see the void in 50% of all directions or so. Even if you have a small leak and some world-brushes oversized into the void that almose cover the leak and form a tunnel - a few meters outside the leak the surrounding brushes will be left behind and you can see more void than polys. You might not always be AT the leak but at least nearby. The rest can only be judged by a human eye, when you say: "This texture-allignment looks odd - must be the outside already."
I'll settle for damaging both players and buildings.
Will try something new. I guess its one of my noobish "you have a too short solid u moron!" leaks.
Its funny that all the time of mapping doesnt prevents you from making such mistakes.
@ Fortuna Wolf:
This was a method that I had been using for long time. I think its the fastest way to find leaks in wc/vhe but the problem is with the zoner tools, that neither dont let you find your leak this way, what is REALLY annoying, nor allowing the map to get compiled by the "cordon bounds", that is very useful when you DONT use zoners. BTW: does anybody knows how to get the 8mb texture limit with zoners? Read something anywhere...
Hope to find that "big" leak soon. Now will try an altered technique: Hide all entities except playerstart in a non-leak area. I will add a giant wall splitting the map in half and compile the map till I get my little leak error. Than add some walls to track it down. Sounds good, doesnt it <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
WOOOOOOOOOOOOOOOOOOOOOOOHOOOOOOOOOOOOOOOOOOOOOOOOO!!
OOOOOOOOOOOOWNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGE!!!
I found my leak and Im quite happy about it (look at the first three words) <!--emo&:(--><img src='http://www.unknownworlds.com/forums/html/emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif'><!--endemo--> <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo--> <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif'><!--endemo-->
and only for information: it WAS a noobish "you have a too short solid you moron!" leak.
But I will not rest. I will continue the fight and I will win!
<!--emo&:angry:--><img src='http://www.unknownworlds.com/forums/html/emoticons/mad.gif' border='0' style='vertical-align:middle' alt='mad.gif'><!--endemo--> <!--emo&::asrifle::--><img src='http://www.unknownworlds.com/forums/html/emoticons/asrifle.gif' border='0' style='vertical-align:middle' alt='asrifle.gif'><!--endemo-->
I put a trigger hurt in, it hurts me, but any buildings I put in it are like, ladededadada.
think about this:
trigger_hurt is coded as hurting the player, in ns its like hurting ALL players (cuz there is not this cool flag for team hurt). a building is not a player, right? if u want to damage a building try some big explosions instead. *BOOM!* like this <!--emo&;)--><img src='http://www.unknownworlds.com/forums/html/emoticons/wink.gif' border='0' style='vertical-align:middle' alt='wink.gif'><!--endemo-->
btw does trigger_hurt damage to func_breakables? idea: there is a trigger called presence. so its possible to trigger the trigger_hurt. but keep in mind that ALL players take damage.
however here is a new problem:
if I place an ambience_generic that should play a custom soundfile (even with flag "is not looped" = UNCHECKED) it plays the sound once and finish. if I try the same entity with an standart ns soundfile the looping works without problems. is that a problme of the format? wav format, sample rates like hl soundfiles... WHAT IS THE DAMN PROBLEM?
it sucks...