Forum posts

As I suggested in the other thread, have the scripted_sequence target its own targetname.
Posted 1 year ago2023-12-12 08:32:04 UTC
in weapon_satchel problem Post #348206
Just tested that satchels work fine in HLDM running on the anniversary edition.

So first thing first: Are you pressing alternate fire (right-click by default) to detonate the satchels? The behaviour was changed in the anniversary edition to do this.

If not that, then you'll need to provide the details you left out of your post:
  • Is this running the anniversary edition or the legacy branch?
  • Is this HLDM or multiplayer in a mod?
  • Are you using any plugins?
Posted 1 year ago2023-12-11 16:38:51 UTC
in HELP WITH HL1 scfripted sequences Post #348194
It's entirely possible to use several scripted_sequences for the same monster, just not at the same time.
That means that only one can use the Idle Animation, the rest must use Action Animation only.

You can kind of hack a looping Action Animation by having the scripted_sequence target its own targetname (scripted_sequences fires their target when Action Animation finishes)
Posted 1 year ago2023-12-04 08:03:50 UTC
in Errorless funnels Post #348141
First you'll want to make a hollow cylinder using the Arch Primitive
User posted image
and make some duplicates of it (or use Clip Mode to subdivide it)
User posted image
then in Vertex Manipulation Mode select all except the top layer of vertices and right-click and hit Scale Vertices (Alt+E)
Here I'm locking the Z axis so vertices aren't displaced verticallyHere I'm locking the Z axis so vertices aren't displaced vertically
and repeat that previous step leaving out the next uppermost layer of vertices and so on until you have your funnel
User posted image
Posted 1 year ago2023-11-25 13:54:11 UTC
in Finding out how a map works Post #348086
I haven't used Crafty in many years, but it's possible it's geometry-only or might need some configuration set up for your game/mod.

Give BspGuy a try (you'll find it in the Viewers section of Tools and Resources) and potentially the Unified SDK decompiler (Decompile Tools section of the same page).

If these two don't work out, try using Ripent. If the entities are there, it'll export them to the entity list.
Posted 1 year ago2023-11-25 13:44:20 UTC
in My decal spray logo doesn't look good in-game Post #348085
The303 has a great guide for this type of sprays, you can find the article here.
It should help you set it up correctly.
Posted 1 year ago2023-11-25 13:25:03 UTC
in Finding out how a map works Post #348083
At the very least, as long as the triggers exists in the BSP you should be able to read their data using Ripent or a viewer like BspGuy, but they should also show up when using a decompiler.

You said you already tried decompiling and using a viewer. Which were they? Did any entities show up or was it just the trigger that didn't show up?
Do you remember anything about your setup (what kind of triggers used etc)?
Posted 1 year ago2023-11-19 22:38:30 UTC
in please help Half-Life can't find my map Post #348066
As UrbaNebula says, read the compile log. It will tell you exactly the reasons why it failed.
Keep an eye out (or use text search) for the key word Error, and good to check for Warning as well as it might tell you about issues that didn't prevent compile but might affect the map nonetheless.
Posted 1 year ago2023-11-02 09:21:42 UTC
in Mapping game of telephone Post #347989
Definitely will need both time and map size constraints. I'd say tops 5 days per mapper. Perhaps instead of pre-decided chain we could ask the remaining links who's available that following week to be the next link.

Unfortunately there's a probability of ghosters. I hope those that suddenly find themselves lacking in time or motivation or otherwise want to opt out let the rest of us know as soon as possible so we can either find a replacement or re-order the chain. 🙂

If someone has a loose lip they cannot help, I hope they can find somewhere else to be than here and ruining the fun for the rest of us. :p
Posted 1 year ago2023-11-01 09:54:15 UTC
in Mapping game of telephone Post #347985
So Foxo came with the idea of a mapping game of telephone and I think it would make for a very fun collab.

Of course, there's many ways it could be executed so it's important to find a plan that keeps the essentials of the game (i.e. transmission chaining, or how information changes when sequentially told and interpreted) while keeping it fun to do.
In case there's enough mappers interested, I guess I can propose a plan just to kick off the brainstorming:
  • I think we should keep our messages limited to an one-sentence idea, and each link in the chain is a pair of an interpreter and a mapper.
  • The interpreter's job is to receive the last map, play it, and describe it as an one-sentence idea and tell their mapper this idea, and otherwise keep the idea secret.
  • The mapper's job is to take the interpreter's idea and make a small map based on it, with a beginning and an end, and send it to the next interpreter in the chain, and otherwise keep the map secret.
  • A secret "original idea" is given to the first mapper in the list, and consequently sent through each link in the chain.
When the last link in the chain has finished, the maps are combined and each map starts with a title showing the idea it was based on. That way you get to play through this evolution of the original idea.
Having the interpreter and mapper separated would also help keeping visuals and themes hidden, and hopefully produce some interesting results.
Posted 1 year ago2023-10-30 20:01:53 UTC
in Modify names in Counter Strike Post #347979
Please post your solution, so that others looking for it can find it here.
Posted 1 year ago2023-10-26 14:47:59 UTC
in wally not working Post #347976
Try to use drag-and-drop from explorer instead of copy-and-pasting.
Posted 1 year ago2023-10-23 07:45:00 UTC
in Problem using -nowadtextures Post #347971
Oh right, mixed up nowadtextures and wadinclude, my mistake.

Still, the main issue was CSG being run twice, the second time without the command, so it was the latter that counted for the rest of the compilation.
Posted 1 year ago2023-10-21 20:52:57 UTC
in Problem using -nowadtextures Post #347968
After that just add the name of the wad after the argument. The entire command should look like
$csg_exe "$bspdir/$file" -nowadtextures de_heights
Posted 1 year ago2023-10-21 20:50:00 UTC
in Problem using -nowadtextures Post #347967
You're running CSG twice. Remove the first command from the list and add -nowadtextures to the second occurrence of CSG, like so:
User posted image
FortressOne should be standalone. As for getting it to work or modding it, your best option there is to join their Discord server and ask there instead.

For the code there's a link to their GitHub on the website. As for which repo is relevant for modding, again the Discord server should be the place to ask or look around in (they likely have channels and pinned messages for this already).
Yeah, Admer's playlist, and this series of tutorials are of great help when learning to use the SDK.
You might also check out this tutorial for setting up a HL mod as well.

As for why FortressOne would be easier to mod, it's because it's open source (the game code is publicly available and free) so you won't need to go through recreating anything as you would need to with HLSDK.

Lastly, the Windows Defender message is likely because of a missing app signature on the executable. Apparently Windows requires this sort of signature on applications now for Defender not to alarm you about it. But since it's open source, you can look through the code yourself and even compile it yourself to make sure there's nothing nasty in there, and then if you trust it click on Advanced (or something like that) and click on Run It Anyway (might say something else along those lines).
TFC did start out as a HL1 mod, a port of the original Team Fortress from Quake, and later released as a standalone game (although pretty much still just a HL1 mod, which becomes fairly obvious considering all the shared assets and the Hunted map being modified parts of a section of HL1's campaign).

So the timeline of the games goes something like:
  • Team Fortress (Quake and later QuakeWorld)
  • Team Fortress Classic (Half-Life 1 mod and later standalone GoldSrc game)
  • Team Fortress 2 (Source)
Although the name "Team Fortress" might be used to refer to any of these, disambiguating by using the full name matters when talking about modding these as there are major differences in the approach due to the different engines used.

So if you want to make a mod that's similar to TFC in terms of gameplay and feel etc, starting out with HLSDK and recreating the mechanics would be the way to go.

As for FortressOne, it's just an open source version of the original TF using the QuakeWorld engine (which has better networking than Quake) and would be the easiest base game to mod, but its code could possibly be used as a guideline on how to implement certain mechanics into your own mod.
Since there's no publicly available game code for TFC, there's likely not much you can do other than recreating the mechanics in HLSDK as its own mod as Shepard says.
There's an open source fork of the original Team Fortress which may or may not come in handy.
New classes and weapons sounds like code territory. As far as I know we only have HL1, Op4 and BS code SDKs but none for TFC and I'm unsure what options we have there.
Perhaps something like Metamod could be used? I've never messed around with that sort of stuff myself so can't really tell how much it could help you here.

Doors and keycards (regardless of class) is vanilla goldsrc so that's definitely doable.
Making it class-specific, on the other hand, iirc the TFC entities only had logic for team-specificity so might need code work to get that.
As for Valve's approval, don't worry about that. I don't think they even acknowledge TFC anymore, and even if they did they'd just be positive about it as they've always been about mods*.

(*except for HDTF, but you can't really call that a mod, and besides we don't talk about that dumpster fire anyway)
TFC is still being played. It's not as popular as it used to be, but there's at least a couple communities still around with regular players.

I'm not sure if there's any game code available, and engine code is definitely off the table, but if all you want to do is add new maps then all that isn't needed. If you're not changing anything code-wise you can just use TFC as the base game (iirc you can put "fallback_dir" "tfc" in liblist.gam), but if custom maps is all you're planning on making you don't even need to make a mod for that. Just publish those maps on their own and anyone already owning TFC can play those without getting a separate game/mod for it!

The making of and publishing of custom TFC maps is over two decades old and I'm sure the remaining players (including me) would be very grateful to try out new maps 😊
LLMs such as ChatGPT should only be used as entertaining novelties, not as actual sources of information.

They don't know anything, they don't provide any guaranteed correct information. All they're good for is making convincingly enough human-like text.
Posted 1 year ago2023-09-30 18:10:49 UTC
in Is it possible to decrease player's width? Post #347896
That's bounding boxes that you're thinking of, not hulls.
Posted 1 year ago2023-09-25 06:33:56 UTC
in How do you kill an npc after a scripted_sequence Post #347883
Using KillTarget will remove the monster from the game instead of killing it, which may or may not be what you want depending on whether you want it to leave a corpse or not.

If you want it to leave a corpse, the most consistent way would be using the 1000 event at the end of the animation's sequence (event 1000 tells the game the actor died on the event's frame). If the animation doesn't already have this event and if you're making a mod you can modify your mod's barney model directly, or if making a map pack you may make a copy and name it something else.

A less reliable way would be using trigger_hurt with a high damage and non-gibbing damage type (e.g. DROWN),
or if you want the monster gibbed you can just use KillTarget as above and target a gibshooter/env_shooter which should be more reliable than using trigger_hurt.
What UbOh said.
Having Ignore Group on makes you select the brush itself instead of the entity.
Posted 1 year ago2023-09-22 16:27:04 UTC
in Is it possible to decrease player's width? Post #347872
If the walls around the doors aren't used for sealing the map, they could be made into func_detail and use zhlt_hull1 and zhlt_hull3 pointing to narrower info_hullshapes (for standing and crouching respectively, with the defaulthulls key set to 0). That way it's only those specific doorways that will behave as if there was a narrower player, and not mess with any other cliphulls (and probably save some clipnodes too, relative to using global info_hullshape).
Posted 1 year ago2023-09-22 16:13:40 UTC
in Is it possible to decrease player's width? Post #347870
Oh almost forgot! There's also player-entity collisions, I think those used bounding boxes. That should be in game code somewhere.
Posted 1 year ago2023-09-22 15:23:25 UTC
in Is it possible to decrease player's width? Post #347869
When it comes to interacting with the world, the player doesn't really have a width or height. It's just a point.
Instead it's the collision models (clip hulls) of the world that are expanded outwards by half the player's height and width. In other words, the invisible cliphulls of the game world are expanded so they meet this point in the center of the player.
User posted image
These cliphulls are baked into the maps themselves during compilation, so it is kind of hard-coded into the compiler. The latest VHLT (available here) does come with the source so you could change the compilers themselves to generate cliphulls according to your new player size, though an even easier way would be using info_hullshape which is a VHLT map entity that can define a new shape (including size) for the player.
Posted 1 year ago2023-09-12 19:13:37 UTC
in Hammer Face Alignment in Blender Post #347859
Great to hear it worked when done manually, hope the script works!

As for normal vectors, it's just a vector that stands perpendicular out from a plane, basically the plane's orientation (technically it's a vector standing perpendicular from a pair of vectors, but in this context a plane is just that pair of vectors).

Had to mess with this sort of stuff when making Map2Prop. 😄
Posted 1 year ago2023-09-12 12:04:58 UTC
in Hammer Face Alignment in Blender Post #347856
For the world planes, you can find a vertex's corresponding UV (assuming no scaling/shift/rotation) by projecting the vertex coordinates flatly onto the nearest world plane (e.g. XY for a upward facing face) divided by the texture's dimensions (since UV coords are relative to texture dimensions).

Problem is just figuring out which world plane to use (XY / XZ / YZ) which depends on the face angle.
Posted 1 year ago2023-09-12 10:04:16 UTC
in Hammer Face Alignment in Blender Post #347854
Have you tried, instead of projecting, to transform the face's world UV coordinates by the face's normal vector?
Essentially you want the UV coordinate plane to become aligned to the face's plane.
Glad it helped, scripted_sequence isn't the most intuitive entity to work with. It's Entity Guide entry can be very helpful, especially the Notes section. 🙂
When you give a scripted_sequence an Idle Animation it changes how it behaves. Walk and Run Move to Position types won't work anymore, and it will perform the Idle Animation until triggered.

In your scenario you want to use two scripted_sequences: One with the Idle Animation ("studycart") and Move to Position type set to Instantaneous (let's name it ss_idle), and second one with no animations set but with a Move to Position set to Walk (name this one ss_walk).

The ss_idle needs to be triggered before the scientist will react to ss_walk being activated (the scientist needs to be "released" from it).
So in ss_idle's Target key we can put ss_walk and lastly in the trigger_once's Target we can put ss_idle.
Now ss_idle should activate ss_walk on its own when activated.
Posted 1 year ago2023-09-01 18:45:40 UTC
in My map is not updating Post #347821
Firstly, Base Game Directory should be ...\steamapps\common\Half-Life\valve

Not important but Source Map Directory shouldn't be the game/mod's maps folder but instead a project folder holding the RMF/JMF project files (keeping it separate from your game data will help making things more tidy, for example in a folder like C:\hl_modding\28daysdemo\maps).

Secondly, I asked you if you compiled using Expert Mode, and if so what does the compile setup look like.
I'm asking since the paths in the log implies incorrect/incorrect parameter use in the compile tool arguments.
Posted 1 year ago2023-09-01 06:04:05 UTC
in My map is not updating Post #347819
London.$ext8daysdemo\maps\London.map
This looks like a strange mess. Are you compiling in Expert Mode?
If so, could you post a screenshot of how your compile setup looks like?

Oh and double-check your Directories in game config as well. It should look something like
[Game Executable]
...\steamapps\common\Half-Life\hl.exe

[Base Game Directory]
...\steamapps\common\Half-Life\valve

[Mod Directory]
...\steamapps\common\Half-Life\8daysdemo
(Assuming your mod is called "8daysdemo")
Posted 1 year ago2023-07-27 12:27:58 UTC
in How do i fix this black box? Post #347735
To get around it you can either cover it up with a wall/cliff/fence etc,
or you can use a corner corridor to block VIS from seeing into the underground room from the outside room.
You can read more about VIS here.
Posted 1 year ago2023-07-27 12:25:01 UTC
in How do i fix this black box? Post #347734
The problem is that SKY doesn't block VIS and also renders behind everything else.
So everything's that's rendered from your leaf will be visible in the SKY.
Ooh DoD! Haven't touched DoD mapping in over a decade and a half I think.
I think maybe Rust had some tutorials for it back in the day? I can try taking a look and see if I can find anything from back then.

Otherwise you could open a capture-the-flag in a bsp viewer or decompile it to see how the author made it work.
Posted 1 year ago2023-07-17 18:19:41 UTC
in HOW THE HECK do I link a CPP file to an FGD file? Post #347717
Where you should place the file, and many other questions you have, is already answered in the tutorial Penguinboy shared with you in the Shoutbox.

Further, I'd suggest looking at other monster classes in the SDK. There's a lot to be learned looking at the code that's already there.
Posted 1 year ago2023-07-17 05:27:13 UTC
in HOW THE HECK do I link a CPP file to an FGD file? Post #347714
I'd discourage using uppercase in the classname. Instead of monster_Charizard you should use monster_charizard.

There are other issues with the code in your post, but let's ignore that for now and focus on what actually registers the class as an entity for use in the .fgd file:
The LINK_ENTITY_TO_CLASS(mapClassName, DLLClassName) function.
First argument is the .fgd name you want to give your entity, and the second argument is the name of the code class for your entity.

In your case it should be:
LINK_ENTITY_TO_CLASS(monster_charizard, Charizard)
Posted 1 year ago2023-07-16 10:04:02 UTC
in How do I change the player's height? Post #347710
A common way to make the player smaller is a clever use of relativity: Just make everything else bigger. Just double the size of your levels, monsters, items etc.
Of course, doubling the size of your level in vanilla goldsrc might not be too optimal as you're halving how big you can make your maps which is already pretty limited in goldsrc, but at least it's an easy method that doesn't require coding.

As for coding it, it might be possible to halve the height of the view (v_origin perhaps?) though I haven't looked much into the view part of the code so I might be wrong there.
After that, the map compilers will still generate cliphulls for a normal player's size but you could use info_hullshape to halve the collision box experienced by the player.
Or since you're already coding stuff, use the source code that comes with VHLT and, if I'm not mistaken, change g_hull_size in hlcsg/hullfile.cpp. The three vectors are hull0, hull1, hull2, and hull3 respectively, but we only want to change hull1 (commented as 32x32x72, standing hull) and hull3 (commented as 32x32x36, crouching hull). Just halve the Z value in these vectors (i.e. {-16, -16, -36} => {-16, -16, -18}). Then using this new compiler, any new maps compiled with it will produce cliphulls for a player half the original height.
If you're making changes to player.mdl for something like this, it's best to save the modified version as a new file.
Now, when translating the model in Blender, did you apply All Transformations afterwards?

It should be noted it's not necessary to even open the model in Blender at all. With a model viewer like HLAM you can apply transformations directly to the model without any decompilation.

An alternative is to just decompile the model and add the $origin 0 0 -36 option in the .qc file.
That's not a problem with monster_generic but rather that player models have their origin in the center of the model, unlike monsters which have the origin at their feet.

Just move the monster_generic up by 36 units (half of the player height, 72 units).
Posted 1 year ago2023-07-03 08:22:17 UTC
in Is GoldSource still cool Post #347681
You're not too late at all! Whether you're here to enjoy goldsrc content, or to make your own, welcome!
Posted 1 year ago2023-06-28 21:02:47 UTC
in My model cant walk Post #347664
Great! 👌
Posted 1 year ago2023-06-28 10:35:43 UTC
in My model cant walk Post #347662
In the 3D editor you've used to create your model, does the walk animation actually physically move the root bone of the skeleton? If the root bone remains stationary then so will the headcrab.

If you're unfamiliar with this concept, then I suggest decompiling the model and opening it in a 3D editor and viewing the walk sequence and see how it causes the root to physically move away from the editor's world origin.
Yeah, scripted_sequence would definitely be the way to go.
Since it's a mod you're working on, you can perfectly use a modified version of stock NPC models (such as scientists and barneys) that are given window climbing sequences if the default sequences don't work for you.

Here's a simple example I made you could take a look at.
Oh and you can check out the Monsters Programming - Classifications and Relationships guide for more info about this