Hello Community,
I hope you're doing good.
I've been trying to port the Zbots from the reversed engineered CS DS from here:
https://github.com/FWGS/hlsdk-portable/tree/hlzbot-clean to Half-Life 1.
I successfully ported the bots to SDK 2.3 (the one from GitHub, note the link above is for Android/Xash). The bots work fine, they don't crash, the waypoints are also generating fine
The main pros for porting them is that the bots are way better of what we already have and they use the weapons, strife, gather items, claimb on ladders... they will actively hunt you... and many more... I even got the bot to fire the nuke on crossfire...
I however have 1 problem, it more of an inconvenience... that a real problems, but still, I taught some of you, or maybe Solokiller... can help me out with this one...
So here's description of the problem that I would like to find solution to:
The bots use just 1 player model: gordon, and I can't make them to use any other model...
So I was looking at the code for the bot profiles:
https://github.com/FWGS/hlsdk-portable/blob/hlzbot-random-weapons/dlls/bot/manager/bot_profile.cppIt should be able to use the player models in the models/player/ foldesr, if I understand correctly this piece of code:
const char *decoratedName = GetDecoratedSkinName(skinName, filename);
bool skinExists = GetCustomSkinIndex(decoratedName) > 0;
if (m_nextSkin < NumCustomSkins && !skinExists)
{
// decorate the name
m_skins[ m_nextSkin ] = CloneString(decoratedName);
// construct the model filename
m_skinModelnames[ m_nextSkin ] = CloneString(token);
m_skinFilenames[ m_nextSkin ] = new char[ Q_strlen(token) * 2 + Q_strlen("models/player//.mdl") + 1 ];
Q_sprintf(m_skinFilenames[ m_nextSkin ], "models/player/%s/%s.mdl", token, token);
++m_nextSkin;
}
What I don't completely understand is this:
"models/player/%s/%s.mdl"Does it suppose to load models/player/ <model fodler> / <model_name>.mdl ?
Additionally I have attached the BotProfile.db (as .txt file, it's a simple renamed .txt to .db file). If you look there you can see this:
Link to BotProfile.db:
https://www.dropbox.com/s/7fjnxpdatjqtgow/BotProfile.db?dl=0Link to BotProfile.txt (renamed .db to .txt):
https://www.dropbox.com/s/j4qsibu2nmwt7kj/BotProfile.txt?dl=0//
// All profiles begin with this data and overwrite their own
//
Default
Skill = 50
Aggression = 50
ReactionTime = 0.3
AttackDelay = 0
Teamwork = 75
WeaponPreference = none
Cost = 0
Difficulty = NORMAL
VoicePitch = 100
Skin = 0
End
//----------------------------------------------------------------------------
This is supposed to be responsible for the Default bot profile, and the others are created as derivates from it... but the question is... How to specify the player model?
Any help on this one would be greatly appreciated.
Thanks.