Forum posts

Posted 3 months ago2023-12-23 15:07:31 UTC
in How write sprite path?!?!?!?!? Post #348337
Where can I find the latest actual FGD?
2 years ago, I made a very advanced, most accurate, up-to-date (disappointment, unfortunate project, unpopular, waste of 2 years and no one cares/uses) Half-Life FGD for Hammer.
Advanced Half-Life FGD (for VHE 3.5)
I don’t have a trigger-gravity and an info_compile_parameters...
trigger_gravity is already exist in the original Half-Life FGDs. Check it again in the brush entity list.
And info_compile_parameters is found in the "zhlt.fgd" file that ships with the ZHLT and VHLT compilers.

Advanced Half-Life FGD also includes zhlt-specific entities (such as info_compile_parameters) by default.
Hammer really lacks some functions to just "browse and choose" things
Both VHE and J.A.C.K always had a file browser for sounds, sprites, and models.
The browse feature to be used for the relevant entity attribute must be defined in the FGD.
User posted image
[-TR-] 3mirG [-TR-] 3mirGThe Turkish Half-Life modder.
Posted 4 months ago2023-11-24 12:18:43 UTC
in cant position monster_hevsuit_dead Post #348077
In the first map of Xen, there is a hidden func_wall brush (with rendermode set to texture) on the island you mentioned as (the position of the first dead hev guy you see in xen).
You can even stand on top of it.
User posted image
As you can see in the image, the origin of the entity is exactly on this func_wall. If you somehow remove the func_wall, the entity will fall into the void.
[-TR-] 3mirG [-TR-] 3mirGThe Turkish Half-Life modder.
Posted 8 months ago2023-08-08 09:38:58 UTC
in Gauss jump on singleplayer Post #347764
You have to comment out this lines in gauss.cpp:
if ( !g_pGameRules->IsMultiplayer() )
{
    // in deathmatch, gauss can pop you up into the air. Not in single play.
    m_pPlayer->pev->velocity.z = flZVel;
}
User posted image
[-TR-] 3mirG [-TR-] 3mirGThe Turkish Half-Life modder.
Posted 9 months ago2023-07-14 22:43:50 UTC
in W_ model animation not working Post #347705
Many "weapon_*" entities are not spawned with framerate 1, they must have framerate 1 key.
Try adding weapon_* entity with framerate 1 to a custom map with Hammer.
[-TR-] 3mirG [-TR-] 3mirGThe Turkish Half-Life modder.
Posted 1 year ago2023-03-20 18:00:55 UTC
in Need help with sound modding. Post #347403
I'm giving a link to an answer I gave to someone who had a problem with sound three years ago.

I'm guessing the sound you're making is stereo rather than mono. Unfortunately Goldsrc only plays single channel sounds.
[-TR-] 3mirG [-TR-] 3mirGThe Turkish Half-Life modder.
Posted 1 year ago2023-02-25 11:19:14 UTC
in Let monsters use custom gibs Post #347371
The Gib type is determined by the return value of the HasHumanGibs and HasAlienGibs functions.
And the HasHumanGibs and HasAlienGibs functions are determined by the monster's classify by default.
User posted image
User posted image
If you want to manually change the gib type of certain monsters (without changing the classify value), add the following line to the monster's class:

virtual BOOL HasHumanGibs(void) { return TRUE; }
User posted image
You don't need to add the line "virtual BOOL HasAlienGibs(void) { return FALSE; }" as the HasHumanGibs function will be evaluated first.
[-TR-] 3mirG [-TR-] 3mirGThe Turkish Half-Life modder.
Posted 1 year ago2023-02-22 18:35:11 UTC
in ZBot implementation for Half-Life 1 Post #347365
Maybe it didn't work because we called it before the ClientPutInServer() call.

Try calling it in CHLBotManager::AddBot.

bool CHLBotManager::AddBot(const BotProfile *profile)
{
CHLBot *pBot = CreateBot<CHLBot>(profile);
if (pBot == NULL)
{
return false;
}

ClientPutInServer(pBot->edict());
SET_CLIENT_KEY_VALUE(pBot->entindex(), GET_INFO_BUFFER(pBot->edict()), "*bot", "1");
SET_CLIENT_KEY_VALUE(pBot->entindex(), GET_INFO_BUFFER(pBot->edict()), "model", "gina");

ALERT( at_console, "Added bot %s to server\n", STRING(pBot->pev->netname));
return true;
}


However, I have not yet understood how to get the model name from the bot profile and use it.
[-TR-] 3mirG [-TR-] 3mirGThe Turkish Half-Life modder.
Posted 1 year ago2023-02-22 13:16:32 UTC
in ZBot implementation for Half-Life 1 Post #347362
As I understand it, you need to add something like this:

Skin GmanModel
Model = Gman
End


I'm not entirely sure, but after that you may need to enter the Skin Name as the "Skin" attribute value in the profile.

Edit: I guess there is no code in the bot codes to call the function to change the model of a bot.

If you are modifing bot codes, you can use this function whenever you want to change the model of any bot.
There is an inline function called "SetModel" for CBot.

inline void CBot::SetModel(const char *modelName)
{
SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", (char *)modelName);
}


Or, you can use this macro directly to change the model of any player whether they are bot or not.
SET_CLIENT_KEY_VALUE(<entityindex>, GET_INFO_BUFFER(<edict()>), "model", <modelname>);
The engine will search for the corresponding Model as "models/player/<modelname>/<modelname>.mdl".

Edit 2: Idk if this will work, but I added the SetModel in CHLBot::Initialize.

bool CHLBot::Initialize(const BotProfile *profile)
{
// extend
CBot::Initialize(profile);

SetModel(TheBotProfiles->GetCustomSkinModelname(profile->GetSkin()));

// CS bot initialization
m_diedLastRound = false;
m_morale = POSITIVE; // starting a new round makes everyone a little happy

m_combatRange = RANDOM_FLOAT(325, 425);

m_navNodeList = NULL;
m_currentNode = NULL;

// set initial safe time guess for this map
m_safeTime = 15.0f + 5.0f * GetProfile()->GetAggression();

m_name[0] = '\0';

ResetValues();
StartNormalProcess();

return true;
}
[-TR-] 3mirG [-TR-] 3mirGThe Turkish Half-Life modder.
Posted 1 year ago2023-01-29 20:41:37 UTC
in human grunt health in hammer Post #347269
If you want to increase the health of monster_ entities, you can increase their health using env_laser and info_target.
It is not possible to give an exact health value, but env_laser's beam will increase or decrease the monster's health value each time the beam touches the monster.
Enter a negative value in the "damage" key.Enter a negative value in the "damage" key.
In fact, env_laser also affects entities such as players and func_breakables.
[-TR-] 3mirG [-TR-] 3mirGThe Turkish Half-Life modder.
Posted 1 year ago2022-06-15 10:27:33 UTC
in func_door_rotating doesn't work for me. Post #346636
I tested your map and I noticed this:

If you are too close to the door, you cannot interact with the door when you press the USE button.

That's why you need to interact at some distance from the door.
[-TR-] 3mirG [-TR-] 3mirGThe Turkish Half-Life modder.
Posted 1 year ago2022-06-11 22:20:05 UTC
in Weaponbox entitie not working at all Post #346627
By the way, I see you are using an old Valve Hammer Version (likely 3.4) based on the screenshot you posted.

In this case, it would be better to use VHE 3.5 or J.A.C.K Hammer.

However, if you use VHE 3.5, I highly recommend using the Advanced Half-Life FGD that I published 1 month ago.
Weaponbox Attributes in Advanced Half-Life FGDWeaponbox Attributes in Advanced Half-Life FGD
[-TR-] 3mirG [-TR-] 3mirGThe Turkish Half-Life modder.
Posted 1 year ago2022-06-11 12:23:12 UTC
in Weaponbox entitie not working at all Post #346624
And when I compile map and pick up weaponbox, only gives me the 357 ammo.
Actually, Weaponbox gives you all of it's contents.

The Weaponbox entity (placed on the map with the Hammer) does not actually give the player a weapon. The ammo types you enter will enter the player's inventory as "ammo". So, if the player has not picked up the weapon_handgrenade, weapon_snark, weapon_satchel and weapon_tripmine in time, the player cannot use them.
[-TR-] 3mirG [-TR-] 3mirGThe Turkish Half-Life modder.