Forum posts

Thanks
You are so helpful
func_wall_toggle will alternate between two states when triggered:
  • Solid and visible
  • Non-solid and invisible
You can make it always be invisible by using NULL texture.

I also recommend experimenting with these entities on your own. Testing, trying and failing are the best ways to learn. 🙂
Ah ok cool thanks

If Is not solid i can walk trought?

Can i make a func_wall solid and non solid resting invisible?

Urby: ...edited to one post ...again
Ok i Will try thanks
You don't need to repeatedly self reply to bump your threads. The forums are less popular than the Discord server, but sooner or later somebody will pick up your question and respond.

As for your question: idle animations will always start as soon as a map is loaded in game. They start enabled and need to be triggered to stop.

If you are using a scripted_sequence to teleport a scientist when triggered, I assume using the Instantaneous move to setting, you may need to simply trigger an additional animation to play once the scientist arrives. Have the scripted_sequence target another sequence which will play straight after.

Having said that, I don't believe I've seen this issue before and would need to see the map or try copying the setup myself.
monster_urby monster_urbyGoldsourcerer
Both I and Archie linked to the Entity Guide page for the entity, but basically it's a brush entity that toggles between a solid visible state and a non-solid invisible state.
Essentially triggering it makes it disappear from the game, and triggering it again makes it re-appear.
What does a func_wall_toggle?
Posted 3 months ago2024-01-07 21:05:05 UTC
in New item changes players speeds for movements Post #348423
No, guess I have to trick in the mapping to have the user not duck. Still the forwardspeed and centering the view which are important for me can be set via console.
If I put the console-commands in an own config that is triggered with a button but dont bind the button, can it still be triggered by an Entity? It should only be set for one specific map and not manuall by the player.
Posted 3 months ago2024-01-07 15:52:08 UTC
in The Rimpository Post #348422
I'm just excited to see you back home at TWHL
Archie ArchieGoodbye Moonmen
If it's just to stop them killing the scientist until the player gets there, the easiest ways would be either using a monstermaker to only spawn either the zombie or the scientist once the player reaches a certain point or, as described above, a func_wall_toggle that prevents them from seeing each other until the player arrives.
Archie ArchieGoodbye Moonmen
ok thanks
Posted 3 months ago2024-01-07 13:35:31 UTC
in New item changes players speeds for movements Post #348419
Do ducking have it's own max speed?
Meerjel01 Meerjel01I want to be a Meerjel
Programming a relationship changer can work too but that requires it to be a mod and that you can program it in. Just giving out a thought.
Meerjel01 Meerjel01I want to be a Meerjel
Or instead of a func_door, an invisible (for example using {invisible texture and Render Mode set to Solid) func_wall_toggle can work to keep the zombie and scientist from "seeing" each other until it's triggered.
Posted 3 months ago2024-01-07 10:37:38 UTC
in New item changes players speeds for movements Post #348416
Nobody has an idea? :-( I saw there are some console-commands that would do the trick but it seems there is no way to make an entity (item) to trigger them. In Source there is the point_clientcommand but in Goldsource there is not. Is it possible to get this into my mod?
The prisoner flag can not be removed after a while. You should try to have the zombie execute a scripted sequence with an idle-animation. Once it is triggered, the sequence will stop and the Zombie will behave normal.
Or you build a full transparent box around it as a func_door and remove it when the zombie should start attacking.
Is there way After some time, to uncheck the prisoner flag of a zombie?
Posted 3 months ago2024-01-06 23:47:38 UTC
in The Rimpository Post #348413
Yeah so I’ve been conglomerating prefabs and made a huge pack. Also made 48 plants models of different kinds.

I’m no longer able to spend many hours adding to it like I have been, but I got it started with SassyRoss’s help with his contributions.

If you want to help and get credited, make prefabs or share props made (with the default wads only) and I’ll insert them in. Doesn’t take much to copy and paste things.

Areas that need some love are the exterior building parts and various prefabs there, and the machinery section like pumps and generators.

If you decide to contribute, make sure the prefab face right on the top view, that’s 0 degrees.

Let me know what you guys think of this little project.
Rimrook RimrookSince 2003
It's a scientist and Is selected to get teleported to the scripted sequence, but to prevent the scientist to frozee, i selected an idle animation. When i enable idle the scripted sequence starts when game loaded, when i didn't use a idle animation, the scripted sequence starts normalità on a trigger, but the scientist freezes. I am so confused
Pls help
Yes, i want the zombie attack the scientist later.
That's the problem though. We don't know exactly what Combined wants because he hasn't described that yet. Just wait for him to elaborate.
What if he wants the zombie to attack the scientists later though?
Then use scripted_sequences to swap the prisoner zombie out for a regular one.
monster_urby monster_urbyGoldsourcerer
What if he wants the zombie to attack the scientists later though?
Meerjel01 Meerjel01I want to be a Meerjel
What do you mean by "static"? If you want it to idle in place and not attack nearby scientists, you could set the Prisoner (16) flag.
Is it a mod or a map? If it's a mod then you could probably program it in.

If not then I'm not useful here.
Meerjel01 Meerjel01I want to be a Meerjel
help pls
Ok thanks
To be more precise, trigger_relay allows you to trigger entities in a specific mode. Normally all triggers trigger using "Toggle", but with trigger_relay you can specify "On" or "Off", not just Toggle, which is useful if you want to make sure you trigger, for example, an env_sprite off in a specific case, regardless of whether previously it was turned on or not. In such a case triggering with "Toggle" will turn it on, but triggering an env_sprite that is already off with "Off" mode will not turn it on.
The trigger_once make you triggered something, a trigger relay is like it's name says a relay, it's triggered by something to make like the intermediate among few entities, useful in some cases.
neophus775 neophus775Goldsrc mapper
What's the difference between them?
Posted 3 months ago2024-01-04 15:51:49 UTC
in Christmas themed maps & servers Post #348395
Ok thanks

how you created a server?
I have Half-Life (app id: 70) installed. It ships build 9911 with hl.so (SHA1:a9f5d8eef0b206524167028a792ddcbb28f746d2).
A fresh HLDS install via SteamCMD (app id: 90) ships build 9907 with hl.so (SHA1:fde38762b7258cdbb92b10802ecdf6b7dc280ccc).

I noticed that HLDS is usually behind the Half-Life client installation, so basically I have to run outdate dedicated servers.

Why?
Posted 3 months ago2024-01-03 17:49:55 UTC
in func_pushable with a model instead of a brush Post #348393
Thank you all. Using the model key did not work, but zhlt_usemodel did when pointing to a env_sprite. As you said, I could still move it with "use" but not by running into it. Funny, I didn't know that.

@Erty, I meant to say that I hadn't found the code for func_pushable in the SDK, but I've located it now, it's inside func_break.cpp as it inherits from func_breakable. I think it will be easier to modify it so the entity uses a .mdl than to keep using nasty hacks to achieve the same.
Posted 3 months ago2024-01-03 11:31:25 UTC
in New item changes players speeds for movements Post #348392
Update: so I entered
pPlayer->pev->maxspeed = X;
and this works, but I need the ducktime, forwardspeed etc. and those dont work this way :-( Any idea what I have to do please?
Posted 3 months ago2024-01-03 11:10:23 UTC
in func_pushable with a model instead of a brush Post #348391
oh yeah, Featureful has a motion_manager that can do this
Posted 3 months ago2024-01-03 09:17:55 UTC
in func_pushable with a model instead of a brush Post #348390
Using the model key (or zhlt_usemodel targetting an env_sprite using the model for example) you can set most brush entities to use a model instead (remember to give them an ORIGIN brush where you want the model's origin to be), but that'll replace the entire brush model including the cliphulls resulting in it having no collisions as kimilil says.
(Also if using model you need to make sure the model is already precached in the map somewhere otherwise it'll crash).

Using game code would be the better way to go. That it's not already in the SDK doesn't mean it cannot be done.

You could implement a sort of "attach model" key directly in func_pushable for your mod that places a model at the origin and updating its position within the pushable's Move() method, or even more useful would be implementing an entity that can "parent" one entity to another so they move together, like trigger_setorigin in Sven Co-Op or the movewith (iirc) feature in Spirit of Half-Life.
It's possible the Featureful SDK already has some entity parenting feature that you could use, so that's worth checking out.
Posted 3 months ago2024-01-03 05:33:50 UTC
in func_pushable with a model instead of a brush Post #348389
using a model is possible, but it would have no collision. it'd still movable with use key though.
Posted 3 months ago2024-01-02 19:53:32 UTC
in func_pushable with a model instead of a brush Post #348388
Hi all, I know that func_pushable is a brush-based entity, but I'd like to know if there's a trick to use a .mdl instead, so the movable object would have more detail than anything made out of brushes in Hammer.

If the answer is no, could this be done in code? (Probably not, I don't recall seeing this in the SDK)
Thanks. You helped me!
Posted 3 months ago2024-01-02 15:00:12 UTC
in Christmas themed maps & servers Post #348386
Start Half-Life, open the server list with Find servers, look for „Christmas Coralie” and join.
Alternatively, open up the console (it's '~' or '0' NOT on the numpad) and enter the
connect addon.coralie.megabrutal.com:27019
command to join.

I'll be running it until Epiphany at least.
Posted 3 months ago2024-01-02 10:22:18 UTC
in New item changes players speeds for movements Post #348385
As a non-coder to my own suprise I was able to clone the longjum-item to get a new item for the player to pick up. The effects should be a changing of players speeds and heights but I dont know how to do that :-(
The relevant part of the class in items.cpp looks like this:

{
pPlayer->m_fMYITEM = true; // player now has the Item
???
MESSAGE_BEGIN(MSG_ONE, gmsgItemPickup, NULL, pPlayer->pev);
WRITE_STRING(STRING(pev->classname));
MESSAGE_END();
return true;
}

What do I need to enter for the ??? to change the cl_forwardspeed, flDuckTime etc please? I am unable to make the correct entries :-(
awkook's method is better done just using an invisible func_breakable (e.g. covered entirely in NULL texture), or completely replaced by a gibshooter, as it's only there to spawn gibs.

Either way, for the first step you'll use the func_train as both UrbaNebula and awkook already suggested (for how to use it, check the entity guide page UrbaNebula already linked). This will make a brush that moves any path you define for it (such as straight down in your case) and rest at the end.
If this is all you need, then no more is needed to be done.
Any step after that is for creating any secondary effects, for example the brush breaking into pieces when it hits the scientist (this is what awkook was explaining). If you wish to do this, there's at least 3 ways to trigger the effects:
  1. Timed from when the brush starts falling
  2. Using the Fire On Pass (message) key of a carefully placed path_corner
  3. Have the scientist trigger it using its Take Damage TriggerCondition
For the effects themselves, as I said earlier you could use an invisible func_breakable or a gibshooter to spawn whatever gibs you want (even from the ceiling where the brush starts falling from, to simulate it breaking from/through there). An env_render targetting the brush can be used to turn it invisible, or a trigger_relay can KillTarget it to remove it from the game, if you want your brush to "break" on collision. It's up to you to find out exactly what you want to happen and when.

1 Timed:

When you trigger the brush to start falling, have a delayed trigger for your effects. You can calculate this by measuring the distance between the brush' start position and its position when it collides with the scientist (for example 100 units). If you made it fall with a speed of 800 units/second, then the delay should be distance / speed = time. In this example, 100 / 800 = 0.125 seconds.

2 Fire On Pass:

path_corner has a Fire On Pass key that can be used to trigger something when a func_train, well, passes it. Just place it where the geometric center of the train would be when it collides with the scientist.

3 TriggerCondition:

If the scientist is never going to be hurt in any other way, you can use it's TriggerTarget key set to trigger the effects and TriggerCondition set to Take Damage (2) and it'll trigger the effects once the train starts hurting it.
Maybe easier for beginning would be a func_door. Put the brush where it should be at the beginning (above the sicientist), make it a func_door with a name, downwoards-direction, a 100-damage when blocked, high movement-speed and set the flags to 'start open' and 'monster cant'. Depending on the size and position you need to try out which entry in LIP works best. Set another brush close to the player, make it a trigger_once and enter the name of the func_door as target. When the player passes through it, the func_door will move down and crash the scientist.
Can you explain Better? I am very new here
You could use a func_train to have a box fall onto a scientist, then use env_render to make it invisible when it hits the scientist, all the while having an invisible (via env_render) func_breakable on top of the scientist that becomes visible when the func_train goes invisible, and have it trigger to break, creating crate gibs. kind of a hacky way to do it, but you could sell the effect this way.
awkook awkookaka vhetutor
Posted 3 months ago2024-01-01 16:47:43 UTC
in TWHL Tower: Source Post #348380
Hey, everyone! I'm now looking for testers for the Alpha 3 build of TWHL Tower: Source. This will probably be the last alpha, so I'm looking for some new testers to make sure everything plays smoothly on a first playthrough. Let me know if you want to be a tester by sending me a direct message on the TWHL Discord server (my username is @dr._orange) or the TWHL website!
Dr. Orange Dr. OrangeSource good.
I think the only option is to use a func_train for the falling debris. You can set a high Damage on Crush value that will gib the scientist (or any other NPC) that is caught under it.
monster_urby monster_urbyGoldsourcerer
Posted 3 months ago2023-12-31 16:52:13 UTC
in Christmas themed maps & servers Post #348378
How to join?
Any help appreciated and if possible can you explain me step by step. Thanks for all the responses
Posted 3 months ago2023-12-30 16:26:31 UTC
in Same Damage in Radius for grenade explosions Post #348376
I cloned the weapon_handgrenade for HL1 (Solokillers SDK) with all settings and want to have it only give 1 Damage in the whole radius of the explosion. The DMG-skill is to 1 and in the ggrenade.cpp I tried these two settings:

void CSTUNGrenade::Spawn()
{
pev->movetype = MOVETYPE_BOUNCE;
pev->classname = MAKE_STRING("grenade");

pev->solid = SOLID_BBOX;

SET_MODEL(ENT(pev), "models/grenade.mdl");
UTIL_SetSize(pev, Vector(0, 0, 0), Vector(0, 0, 0));
* pev->dmg = 100;*
m_fRegisteredSound = false;
}

and

CSTUNGrenade* CSTUNGrenade::ShootTimed(entvars_t* pevOwner, Vector vecStart, Vector vecVelocity, float time)
{
CSTUNGrenade* pSTUNGrenade = GetClassPtr((CSTUNGrenade*)NULL);
pSTUNGrenade->Spawn();
UTIL_SetOrigin(pSTUNGrenade->pev, vecStart);
pSTUNGrenade->pev->velocity = vecVelocity;
pSTUNGrenade->pev->angles = UTIL_VecToAngles(pSTUNGrenade->pev->velocity);
pSTUNGrenade->pev->owner = ENT(pevOwner);

pSTUNGrenade->SetTouch(&CSTUNGrenade::BounceTouch); // Bounce if touched

// Take one second off of the desired detonation time and set the think to PreDetonate. PreDetonate
// will insert a DANGER sound into the world sound list and delay detonation for one second so that
// the grenade explodes after the exact amount of time specified in the call to ShootTimed().

pSTUNGrenade->pev->dmgtime = gpGlobals->time + time;
pSTUNGrenade->SetThink(&CSTUNGrenade::TumbleThink);
pSTUNGrenade->pev->nextthink = gpGlobals->time + 0.1;
if (time < 0.1)
{
pSTUNGrenade->pev->nextthink = gpGlobals->time;
pSTUNGrenade->pev->velocity = Vector(0, 0, 0);
}

pSTUNGrenade->pev->sequence = RANDOM_LONG(3, 6);
pSTUNGrenade->pev->framerate = 1.0;

// Tumble through the air
// pGrenade->pev->avelocity.x = -400;

pSTUNGrenade->pev->gravity = 0.5;
pSTUNGrenade->pev->friction = 0.8;

SET_MODEL(ENT(pSTUNGrenade->pev), "models/w_grenade.mdl");
  • pSTUNGrenade->pev->dmg = 100;*
return pSTUNGrenade;
}


I tried different values but either the damage is high in the radius (like normal) or 0 in the radius but 1 at the center of explosion. Also the scale of the explosion (spr) is scaled bigger when the values are lower.

Is it possible to have the damage 1 in the whole radius no matter where and not automatically upscaling the spr?