Re: [hlcoders] This should not be possible, yet it works!?
On Mon, Jan 10, 2005 at 01:12:40PM +0100, S. Hendriks wrote: Rofl, i think its a bi-directional thing here ;) You either change your mod code and destroy plugins... Or plugins force you to code how the sdk is intended to be used... Ie, derive from classes and not just hack into them :P These classes are internal to the game logic (the mod) and you (should) have no business using them. It should even be possible to remove all entity classes in a mod and start from scratch. :-) Obviously this is not useful for plugin authors, but realise that things you may want to view/modify in a plugin may not exist in some mods at all. Example: Perhaps someone makes an instagib mod and removes the health and armor from a player. Players are either alive or dead. What should happen if a plugin tries to modify the health of a player then? Of course there are ways to handle any example like that, but it would require the mod author to implement things he never uses. Perhaps a few interfaces can be defined that a mod author can choose to implement, if they apply to an entity. Maarten -- A: Because it fouls the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail? ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Log console output
Nevermind it is just log. I thought it was logconsole ... r00t 3:16 CQC Gaming www.cqc-gaming.com - Original Message - From: r00t 3:16 [EMAIL PROTECTED] To: hlcoders@list.valvesoftware.com Sent: Tuesday, January 11, 2005 2:28 AM Subject: [hlcoders] Log console output Anyone know the command to turn console output to log to a file? I had found it before but forget the command... r00t 3:16 CQC Gaming www.cqc-gaming.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] New Query Protocol?
Hello On steampowered news (Jan 6) there was mention of a new query protocol: Enabled support for new query protocol (fixes HLTV server not appearing in the server browser) I can't find any details about that.. Is there any information on this? Is it only a protocol for HLTV? Does it do new things like poll a server and collect more player information apart from points and server time? Thanks Gerald ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] This should not be possible, yet it works!?
A plugin should have all of the capabilities of the server module. It makes the game more fun, more diverse, and all around stronger. I just can't imagine any reason to close off things from plugin authors besides jealously guarding your code (or hiding your crappy code :P). Any mod that disables useful plugins from interacting with it frankly deserves to die at the hands of its incredibly short-sighted developers. Regarding your example: plugin authors wouldn't modify player health... That's a really, really bad example, but then again, it's a really bad point as well. Mod-specific plugin and libraries for plugins have always worked, and always will as well. And why would it require the mod author to impliment things he never uses? Well gee, I don't recall plugins shipping with HL2. Why did they impliment the plugin interface if they never use it? Hell, they should have just built the client, server, engine, and all supporting libraries into one monolithic binary! I mean they have everything available to them, why should they give other people capability to build on their work with puny mods, as the peasants call them. Is it really that tough to release your class definitions and include some symbol info? Give us some singletons? Is it really that hard? No, it's not, and it'd help everybody. ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Re: Getting a entity from a trace line
Don't worry bout this, I found the way to get a ent from a edict CBaseEntity *pEnt = CBaseEntity::Instance( tr.pHit ); ** Draco Coder for Perfect Dark http://perfectdark.game-mod.net ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] This should not be possible, yet it works!?
Bots do not have to modify data, they only need to read it ;) I am still doing it the 'proper' way for viewing/walking to vectors, or any kind of processing data. The only thing i am limited to is with reading data. This 'hack' gives me the ability to read the data i need to make my bot function :) === Stefan Hendriks FunDynamic RealBot http://www.fundynamic.nl http://realbot.bots-united.com http://www.bots-united.com === -Oorspronkelijk bericht- Van: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Namens Maarten van der Zwaart Verzonden: dinsdag 11 januari 2005 9:15 Aan: hlcoders@list.valvesoftware.com Onderwerp: Re: [hlcoders] This should not be possible, yet it works!? On Mon, Jan 10, 2005 at 01:12:40PM +0100, S. Hendriks wrote: Rofl, i think its a bi-directional thing here ;) You either change your mod code and destroy plugins... Or plugins force you to code how the sdk is intended to be used... Ie, derive from classes and not just hack into them :P These classes are internal to the game logic (the mod) and you (should) have no business using them. It should even be possible to remove all entity classes in a mod and start from scratch. :-) Obviously this is not useful for plugin authors, but realise that things you may want to view/modify in a plugin may not exist in some mods at all. Example: Perhaps someone makes an instagib mod and removes the health and armor from a player. Players are either alive or dead. What should happen if a plugin tries to modify the health of a player then? Of course there are ways to handle any example like that, but it would require the mod author to implement things he never uses. Perhaps a few interfaces can be defined that a mod author can choose to implement, if they apply to an entity. Maarten -- A: Because it fouls the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail? ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] This should not be possible, yet it works!?
-Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Lance Vorgin Sent: 11 January 2005 09:35 To: hlcoders@list.valvesoftware.com Subject: Re: [hlcoders] This should not be possible, yet it works!? A plugin should have all of the capabilities of the server module. It makes the game more fun, more diverse, and all around stronger. I just can't imagine any reason to close off things from plugin authors besides jealously guarding your code (or hiding your crappy code :P). Any mod that disables useful plugins from interacting with it frankly deserves to die at the hands of its incredibly short-sighted developers. Regarding your example: plugin authors wouldn't modify player health... That's a really, really bad example, but then again, it's a really bad point as well. Mod-specific plugin and libraries for plugins have always worked, and always will as well. And why would it require the mod author to impliment things he never uses? Well gee, I don't recall plugins shipping with HL2. Why did they impliment the plugin interface if they never use it? Hell, they should have just built the client, server, engine, and all supporting libraries into one monolithic binary! I mean they have everything available to them, why should they give other people capability to build on their work with puny mods, as the peasants call them. Is it really that tough to release your class definitions and include some symbol info? Give us some singletons? Is it really that hard? No, it's not, and it'd help everybody. ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] This should not be possible, yet it works!?
Yea I still wasn't able to add CBaseEntity to my project with what you said :( Has anyone else gotten this to work? I wasn't able to compile that bot either, quite a few compiler errors. Josh ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] This should not be possible, yet it works!?
It works, you should be more specific on your compiler errors. For instance, are you sure you extracted the bot/plugin into the utils/ directory? === Stefan Hendriks FunDynamic RealBot http://www.fundynamic.nl http://realbot.bots-united.com http://www.bots-united.com === -Oorspronkelijk bericht- Van: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Namens Josh Verzonden: dinsdag 11 januari 2005 14:47 Aan: hlcoders@list.valvesoftware.com Onderwerp: [hlcoders] This should not be possible, yet it works!? Yea I still wasn't able to add CBaseEntity to my project with what you said :( Has anyone else gotten this to work? I wasn't able to compile that bot either, quite a few compiler errors. Josh ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] PlayerInfoManager Interface?
The playerinfomanager does not always seem to be working for me: I have a line where it keeps updating my bot team index, in case the bot switched teams. This seems to work: // When we already joined the game for one second, only then do this if ((pBot-fJoinTime 0.0f) (pBot-fJoinTime + 1 engine-Time())) { IPlayerInfo* pInfo = playerinfomanager-GetPlayerInfo(pBot-edict); // Set team (in case the game dll changed it for us) pBot-iTeam = pInfo-GetTeamIndex(); } But, when i try to loop through the available players, i seem to get an error at in this code: for ( int i = 1; i = 32; i++ ) // EVIL: shouldn't just assume maxplayers is 32!!! { edict_t *pPlayerEdict = INDEXENT( i ); if (pPlayerEdict) // valid edict { if (pPlayerEdict == pBot-edict) continue; // do not check self if ( !pPlayerEdict-IsFree() ) // valid client // ok, this COULD be our enemy, so check this team status IPlayerInfo* pInfo = playerinfomanager-GetPlayerInfo(pPlayerEdict); if (pInfo == NULL || !pInfo) continue; // Set team (in case the game dll changed it for us) int iTeam = pInfo-GetTeamIndex(); *CRASH * * CRASH * I know i can probably even change teams when watching a proper event , on the FireEvent stuff. But thats not my question, 1) Why does the playerinfomanager work not all the time with the same edict adress(es)? 2) Why does the playerinfomanager seem to return a proper pInfo (as it bypasses the NULL and ! Condition) and then crashes on pInfo-GetTeamIndex() , while it DOES work that way before? Thx in advance for any info, === Stefan Hendriks FunDynamic RealBot http://www.fundynamic.nl http://realbot.bots-united.com http://www.bots-united.com === ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] PlayerInfoManager Interface?
PS. Could it be that the PlayerInfoManager can only handle a specific amount of calls per frame? I noticed, when i did this: if (pInfo == NULL || !pInfo) return; // get out, this wont work :S (so it would stop trying immidiatly after one 'try') With one bot worked fine. With 2 worked fine ( 2 battled each other ). But once i added more, it would crash. Dead bots Do not think btw... So they do not call this function. My guess is though that because this bot is dead , or 'joining' The playerinfomanager is 'too soon' with gathering (invalid) info and makes a crash. But then again, it does not make sense On games that have bots already in th egame and then crashes. :S === Stefan Hendriks FunDynamic RealBot http://www.fundynamic.nl http://realbot.bots-united.com http://www.bots-united.com === -Oorspronkelijk bericht- Van: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Namens S. Hendriks Verzonden: dinsdag 11 januari 2005 15:21 Aan: HL Coders List Onderwerp: [hlcoders] PlayerInfoManager Interface? The playerinfomanager does not always seem to be working for me: I have a line where it keeps updating my bot team index, in case the bot switched teams. This seems to work: // When we already joined the game for one second, only then do this if ((pBot-fJoinTime 0.0f) (pBot-fJoinTime + 1 engine-Time())) { IPlayerInfo* pInfo = playerinfomanager-GetPlayerInfo(pBot-edict); // Set team (in case the game dll changed it for us) pBot-iTeam = pInfo-GetTeamIndex(); } But, when i try to loop through the available players, i seem to get an error at in this code: for ( int i = 1; i = 32; i++ ) // EVIL: shouldn't just assume maxplayers is 32!!! { edict_t *pPlayerEdict = INDEXENT( i ); if (pPlayerEdict) // valid edict { if (pPlayerEdict == pBot-edict) continue; // do not check self if ( !pPlayerEdict-IsFree() ) // valid client // ok, this COULD be our enemy, so check this team status IPlayerInfo* pInfo = playerinfomanager-GetPlayerInfo(pPlayerEdict); if (pInfo == NULL || !pInfo) continue; // Set team (in case the game dll changed it for us) int iTeam = pInfo-GetTeamIndex(); *CRASH * * CRASH * I know i can probably even change teams when watching a proper event , on the FireEvent stuff. But thats not my question, 1) Why does the playerinfomanager work not all the time with the same edict adress(es)? 2) Why does the playerinfomanager seem to return a proper pInfo (as it bypasses the NULL and ! Condition) and then crashes on pInfo-GetTeamIndex() , while it DOES work that way before? Thx in advance for any info, === Stefan Hendriks FunDynamic RealBot http://www.fundynamic.nl http://realbot.bots-united.com http://www.bots-united.com === ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] PlayerInfoManager Interface?
But, when i try to loop through the available players, i seem to get an error at in this code: for ( int i = 1; i = 32; i++ ) // EVIL: shouldn't just assume maxplayers is 32!!! { edict_t *pPlayerEdict = INDEXENT( i ); if (pPlayerEdict) // valid edict { snip // Set team (in case the game dll changed it for us) int iTeam = pInfo-GetTeamIndex(); *CRASH * * CRASH Are you running a 32 player server? If not, (say you're running an 8 player server), entities 9-32 will NOT be players, but you are treating them as they are by trying to get the player info on them. You should add a check to make sure entity X is actually a player (not the EVIL part in the comment from my original code!!!) Jeffrey botman Broome ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] PlayerInfoManager Interface?
DOH *SLAPS WITH HAND AGAINST HEAD, VERY HARD* I'll never try to code till late again :S === Stefan Hendriks FunDynamic RealBot http://www.fundynamic.nl http://realbot.bots-united.com http://www.bots-united.com === -Oorspronkelijk bericht- Van: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Namens jeff broome Verzonden: dinsdag 11 januari 2005 15:37 Aan: hlcoders@list.valvesoftware.com Onderwerp: Re: [hlcoders] PlayerInfoManager Interface? You should add a check to make sure entity X is actually a player (not the EVIL part in the comment from my original code!!!) not == note Jeffrey botman Broome ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] PlayerInfoManager Interface?
I was running an 8 player server. The following code fixed my problem: pEnemyBaseEntity = CBaseEntity::Instance(pPlayerEdict);// get the player entity // Check if its a player. (thx botman for pointing me out on this shame) if (!pEnemyBaseEntity-IsPlayer()) continue; Thx ;) Now on with the ray casting, because sometimes it seems to go straight through a box or something... === Stefan Hendriks FunDynamic RealBot http://www.fundynamic.nl http://realbot.bots-united.com http://www.bots-united.com === -Oorspronkelijk bericht- Van: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Namens jeff broome Verzonden: dinsdag 11 januari 2005 15:36 Aan: hlcoders@list.valvesoftware.com Onderwerp: Re: [hlcoders] PlayerInfoManager Interface? But, when i try to loop through the available players, i seem to get an error at in this code: for ( int i = 1; i = 32; i++ ) // EVIL: shouldn't just assume maxplayers is 32!!! { edict_t *pPlayerEdict = INDEXENT( i ); if (pPlayerEdict) // valid edict { snip // Set team (in case the game dll changed it for us) int iTeam = pInfo-GetTeamIndex(); *CRASH * * CRASH Are you running a 32 player server? If not, (say you're running an 8 player server), entities 9-32 will NOT be players, but you are treating them as they are by trying to get the player info on them. You should add a check to make sure entity X is actually a player (not the EVIL part in the comment from my original code!!!) Jeffrey botman Broome ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Player animation ?
I'm trying to get player animation working with some non-CS models. Specifically, I'd like to get animations working with the models used in HL2DM. I used model viewer to load up the combine models from HL2DM and some of the resistance models from HL2DM. Not only are their animations totally different from CS, they're different from each other. The combine models have different animations than the resistance models. I've been working on converting the animation names in sdk_playeranimstate.cpp to call the animations in combine_solder.mdl, which I think is the one used in HL2DM. I've run into some problems with this though. First off, there's doesn't seem to be any walking or running shooting animations. There are animations like ShootSGs, ShootSGc, ShootSMG1s, ShootSMG1c, etc but there's no walk_upper_mp5 or run_upper_mp5 like in the CS models. There doesn't seem to be any animation to be running and shooting at the same time. Second, the animations seem to only play the first frame and then stop. For example, I changed CalcFireLayerSequence to look like this: int CSDKPlayerAnimState::CalcFireLayerSequence(PlayerAnimEvent_t event) { // Figure out the weapon suffix. CWeaponSDKBase *pWeapon = m_pHelpers-SDKAnim_GetActiveWeapon(); if ( !pWeapon ) return 0; const char *pSuffix = GetWeaponSuffix(); if ( !pSuffix ) return 0; // Don't rely on their weapon here because the player has usually switched to their // pistol or rifle by the time the PLAYERANIMEVENT_THROW_GRENADE message gets to the client. if ( event == PLAYERANIMEVENT_THROW_GRENADE ) { pSuffix = Gren; } switch ( GetCurrentMainSequenceActivity() ) { case ACT_PLAYER_RUN_FIRE: case ACT_RUN: //return CalcSequenceIndex( %s%s, DEFAULT_FIRE_RUN_NAME, pSuffix ); return CalcSequenceIndex( ShootSMG1s ); //FIXME: totally wrong case ACT_PLAYER_WALK_FIRE: case ACT_WALK: //return CalcSequenceIndex( %s%s, DEFAULT_FIRE_WALK_NAME, pSuffix ); return CalcSequenceIndex( ShootSMG1s ); //FIXME: totally wrong case ACT_PLAYER_CROUCH_FIRE: case ACT_CROUCHIDLE: return CalcSequenceIndex( %s%s, DEFAULT_FIRE_CROUCH_NAME, pSuffix ); case ACT_PLAYER_CROUCH_WALK_FIRE: case ACT_RUN_CROUCH: return CalcSequenceIndex( %s%s, DEFAULT_FIRE_CROUCH_WALK_NAME, pSuffix ); default: case ACT_PLAYER_IDLE_FIRE: //return CalcSequenceIndex( %s%s, DEFAULT_FIRE_IDLE_NAME, pSuffix ); return CalcSequenceIndex( ShootSMG1s ); //FIXME: pick the right weapon } } I've set my player model to be combine_soldier. When I spawn in third person and watch my player model, if I run along start shooting it looks like it plays only the first frame or two and then immediately goes back to idle/jittering. If I'm running, it looks even worse since each time I fire it looks like it restarts the ShootSMG1animation but there's no blending between them so it looks all jittery. Has anyone had any luck getting this to work? ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Log console output
You can also start up with -condebug - it logs everything in the console to a console.log file in the game directory. http://valve-erc.com/srcsdk/faq.html#faqGameParams r00t 3:16 wrote: Nevermind it is just log. I thought it was logconsole ... r00t 3:16 CQC Gaming www.cqc-gaming.com - Original Message - From: r00t 3:16 [EMAIL PROTECTED] To: hlcoders@list.valvesoftware.com Sent: Tuesday, January 11, 2005 2:28 AM Subject: [hlcoders] Log console output Anyone know the command to turn console output to log to a file? I had found it before but forget the command... r00t 3:16 CQC Gaming www.cqc-gaming.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] NetworkIDValidated, Is it useless, or is it just me?
Title pretty much says all; I can't seem to do anything useful with this function. You can't scan the server for players by name because the client I'd be looking for isn't in the game yet, so the playerinfomanager for them would be NULL, and since that's apparently the only way to get a players name, this function will do a great job of doing nothing, if I store the name from when they connect (in ClientConnect), there is always a chance the name can change by the time they authenticate. Not only that, looping against all players in the server and looking for the name sure is a lot slower and CPU intensive than just simply passing an edict_t instead of the name of the player. Could someone at valve change the NetworkIDValidated function to pass an edict or an entindex of the player that has validated, rather than the name? I sure hope the engine code isn't as bad as the servers plugin sdk, I have to admit server plugins really got their balls cut off with source, from hundreds of function hooks, to three, and one is completely useless. Just my thoughts. ;) ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] Server Plugins - Interfaces?
I issue a disconnect, and if they are still on the server 2.5/10th seconds later I then issue a kick. Why do I do this? Because I have my own custom way of displaying a useful kick message. (Example: http://www.voogru.com/images/new_ban_message.jpg), if I do a normal kick, they will get the useless Kicked by console message and might miss my custom one. One problem I had when making this work, is if you sent the custom message, and immediately kicked them off the server, they wouldn't see the custom message, I solved this by delaying the disconnect/kick for 1/10th of a second. It would be nice for valve to make a way to boot a player off the server with a useful kick message that doesn't limit me to 5 characters, but I'd be dreaming then. - voogru. -Original Message- From: Christian Marschalek [mailto:[EMAIL PROTECTED] Sent: Monday, January 10, 2005 10:50 AM To: hlcoders@list.valvesoftware.com Subject: [hlcoders] Server Plugins - Interfaces? Hi everyone, If I understood the server plugin example correctly, I can only access certain features through interfaces. Now I wonder if there's a list of interfaces I can use in a server plugin? What I'm looking for especially is a good method of disconnecting a client. I know that the engine interface has a execute client method, but somehow executing a disconnect on a client to kick him from a server does not feel right. I wonder if I have access to the same methods that disconnect a user when I execute an rcon kick command? BTW: Does anyone know of a searchable archive of this list? best regards, Chris ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] Player animation ?
HL2DM player animation uses a different system than is in the sdk. Basically you have a list of base sequences, preblended with 9-way aims and 9-way runs - those are the aim animations and are called in game code via activities ( why you see different animation names in combine vs rebels ). Shooting is done by adding the fire animation as a gesture over top of the base sequence. For Dod we're doing a hybird, with the activities on base sequence and fire/reload/hand signal gestures over top, but non-networked like the sdk does it to reduce net traffic. I would recommend moving at least to using activities for your player animations so avoid all the nasty string construction and comparing. As far as your animations only playing the first and last frame, this function doesn't appear to be causing that. I would check with a a different model/sequence to see if it's a problem in your model. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Patrick Flanagan Sent: Tuesday, January 11, 2005 11:33 AM To: hlcoders@list.valvesoftware.com Subject: [hlcoders] Player animation ? I'm trying to get player animation working with some non-CS models. Specifically, I'd like to get animations working with the models used in HL2DM. I used model viewer to load up the combine models from HL2DM and some of the resistance models from HL2DM. Not only are their animations totally different from CS, they're different from each other. The combine models have different animations than the resistance models. I've been working on converting the animation names in sdk_playeranimstate.cpp to call the animations in combine_solder.mdl, which I think is the one used in HL2DM. I've run into some problems with this though. First off, there's doesn't seem to be any walking or running shooting animations. There are animations like ShootSGs, ShootSGc, ShootSMG1s, ShootSMG1c, etc but there's no walk_upper_mp5 or run_upper_mp5 like in the CS models. There doesn't seem to be any animation to be running and shooting at the same time. Second, the animations seem to only play the first frame and then stop. For example, I changed CalcFireLayerSequence to look like this: int CSDKPlayerAnimState::CalcFireLayerSequence(PlayerAnimEvent_t event) { // Figure out the weapon suffix. CWeaponSDKBase *pWeapon = m_pHelpers-SDKAnim_GetActiveWeapon(); if ( !pWeapon ) return 0; const char *pSuffix = GetWeaponSuffix(); if ( !pSuffix ) return 0; // Don't rely on their weapon here because the player has usually switched to their // pistol or rifle by the time the PLAYERANIMEVENT_THROW_GRENADE message gets to the client. if ( event == PLAYERANIMEVENT_THROW_GRENADE ) { pSuffix = Gren; } switch ( GetCurrentMainSequenceActivity() ) { case ACT_PLAYER_RUN_FIRE: case ACT_RUN: //return CalcSequenceIndex( %s%s, DEFAULT_FIRE_RUN_NAME, pSuffix ); return CalcSequenceIndex( ShootSMG1s ); //FIXME: totally wrong case ACT_PLAYER_WALK_FIRE: case ACT_WALK: //return CalcSequenceIndex( %s%s, DEFAULT_FIRE_WALK_NAME, pSuffix ); return CalcSequenceIndex( ShootSMG1s ); //FIXME: totally wrong case ACT_PLAYER_CROUCH_FIRE: case ACT_CROUCHIDLE: return CalcSequenceIndex( %s%s, DEFAULT_FIRE_CROUCH_NAME, pSuffix ); case ACT_PLAYER_CROUCH_WALK_FIRE: case ACT_RUN_CROUCH: return CalcSequenceIndex( %s%s, DEFAULT_FIRE_CROUCH_WALK_NAME, pSuffix ); default: case ACT_PLAYER_IDLE_FIRE: //return CalcSequenceIndex( %s%s, DEFAULT_FIRE_IDLE_NAME, pSuffix ); return CalcSequenceIndex( ShootSMG1s ); //FIXME: pick the right weapon } } I've set my player model to be combine_soldier. When I spawn in third person and watch my player model, if I run along start shooting it looks like it plays only the first frame or two and then immediately goes back to idle/jittering. If I'm running, it looks even worse since each time I fire it looks like it restarts the ShootSMG1animation but there's no blending between them so it looks all jittery. Has anyone had any luck getting this to work? ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] 'Fake' client command possible? - info?
Probably something very tricky, but here goes: I know that sending of a clientcommand with engine-ClientCommand() does not work. In HL1 there was a possibility to hook up: Cmd_Args (void); Cmd_Argv (int argc); Cmd_Argc (void); For the moment i only found that i could retrieve the info from the engine interface , but i'd rather like to 'catch' it, and do my own thing so i can override it for bots (hence 'fake client command'). Any comments on this? I am still digging, i thought i found something in the base class somewhere with this , but i'd like to keep it as neat as possible :) === Stefan Hendriks FunDynamic RealBot http://www.fundynamic.nl http://realbot.bots-united.com http://www.bots-united.com === ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] BUG:: Eyeangle pitch not working on client
That's the hook for automatically interpolating the eye angles. If you don't call .NoteChanged on the m_iv version of a variable whenever the value changes, then you won't have an interpolation history and the value will probably get set to 0.0f. It's probably a bug in the SDK, but if you remove interpolation, then the eye angle changes could be jittery. I would look at other m_iv variables and how they are handled throughout the client .dll (C_BaseEntity has most of the interesting functionality, as does InterpolatedVar.h) Yahn -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Matthew Lewis Sent: Tuesday, January 11, 2005 3:06 PM To: hlcoders@list.valvesoftware.com Subject: [hlcoders] BUG:: Eyeangle pitch not working on client I discovered a problem with the Eyeangles on the clientside. It seems that the pitch angle is getting forced to zero on the clientside. I traced the problem to the C_SDKPlayer declaration shown below: C_SDKPlayer::C_SDKPlayer() : m_iv_angEyeAngles( C_SDKPlayer::m_iv_angEyeAngles ) { m_PlayerAnimState = CreatePlayerAnimState( this, this, LEGANIM_9WAY, true ); m_angEyeAngles.Init(); AddVar( m_angEyeAngles, m_iv_angEyeAngles, LATCH_SIMULATION_VAR ); } In particular, it seems that the call to AddVar(...) is triggering something that is resetting the pitch angles to 0. If you comment that line out, the pitch angle functions as it should. My question is what does AddVar() do? Can I leave it commented out? A second question is with the linux dedicated server. I have been trying to get Steam to connect and install a basic dedicated server on my linux system. But all I ever get is: ./steam -update Checking *bootstrapper* version ... Connection *Reset* What's going on here (it's not the firewall)? ($#$[EMAIL PROTECTED] Steam) ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Debug info ?
When in developer mode is there a command to show you which way you are looking ? eg: x y z ? Which would show in the console or whatever? r00t 3:16 CQC Gaming www.cqc-gaming.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Debug info ?
(x, y, z) as in view angles or spot on the wall/ground you are looking at? either way, you can easily get these values (eyeangles or traceline .. go figure) and DevMsg( %i %i %i \n, x, y, z) or %f if they are floats. On Tue, 11 Jan 2005 23:54:56 -0500, r00t 3:16 [EMAIL PROTECTED] wrote: When in developer mode is there a command to show you which way you are looking ? eg: x y z ? Which would show in the console or whatever? r00t 3:16 CQC Gaming www.cqc-gaming.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Debug info ?
Yea, I kind of figured I would need to do that. I think this part is probably most confusing to me ... At any rate I have made a toggle for players to go prone. eg: lay on ground The question I guess is how or what should I be looking at to set the view / position of player to lay on the ground ? r00t 3:16 CQC Gaming www.cqc-gaming.com - Original Message - From: Hasan Aljudy [EMAIL PROTECTED] To: hlcoders@list.valvesoftware.com Sent: Wednesday, January 12, 2005 12:06 AM Subject: Re: [hlcoders] Debug info ? (x, y, z) as in view angles or spot on the wall/ground you are looking at? either way, you can easily get these values (eyeangles or traceline .. go figure) and DevMsg( %i %i %i \n, x, y, z) or %f if they are floats. On Tue, 11 Jan 2005 23:54:56 -0500, r00t 3:16 [EMAIL PROTECTED] wrote: When in developer mode is there a command to show you which way you are looking ? eg: x y z ? Which would show in the console or whatever? r00t 3:16 CQC Gaming www.cqc-gaming.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] Server Plugins - Interfaces?
That's the command I use, its crap. Try putting a message that says You have been banned from this server, it might only show You have been been.. or so. It wont display too long of a message, even when \n's are used. I wish they would take out the Kicked by console: Reason: text, since it would be nice to just allow the server plugin to have more room, but once again I'm dreaming. So I did it my own way and I'm quite happy with it :). - voogru. -Original Message- From: Legshot [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 11, 2005 6:41 PM To: hlcoders@list.valvesoftware.com Subject: Re: [hlcoders] Server Plugins - Interfaces? Spencer voogru MacDonald schrieb: It would be nice for valve to make a way to boot a player off the server with a useful kick message that doesn't limit me to 5 characters, but I'd be dreaming then. It's probably not as nice as your richt textbox, but you could issue this server command: kickid - Kick a player by userid or uniqueid, with a message. Usage: kickid userid | uniqueid { message } Chris -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.10 - Release Date: 10.01.2005 ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Debug info ?
CBasePlayer::SetViewOffset( vector ) I think .. but that just moves the virtual eye position of the player. On Wed, 12 Jan 2005 00:41:49 -0500, r00t 3:16 [EMAIL PROTECTED] wrote: Yea, I kind of figured I would need to do that. I think this part is probably most confusing to me ... At any rate I have made a toggle for players to go prone. eg: lay on ground The question I guess is how or what should I be looking at to set the view / position of player to lay on the ground ? r00t 3:16 CQC Gaming www.cqc-gaming.com - Original Message - From: Hasan Aljudy [EMAIL PROTECTED] To: hlcoders@list.valvesoftware.com Sent: Wednesday, January 12, 2005 12:06 AM Subject: Re: [hlcoders] Debug info ? (x, y, z) as in view angles or spot on the wall/ground you are looking at? either way, you can easily get these values (eyeangles or traceline .. go figure) and DevMsg( %i %i %i \n, x, y, z) or %f if they are floats. On Tue, 11 Jan 2005 23:54:56 -0500, r00t 3:16 [EMAIL PROTECTED] wrote: When in developer mode is there a command to show you which way you are looking ? eg: x y z ? Which would show in the console or whatever? r00t 3:16 CQC Gaming www.cqc-gaming.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] Player animation ? Interesant Discussion
This is a multi-part message in MIME format. -- [ Picked text/plain from multipart/alternative ] This is interesant. Can we use the HL2DM models in the SDK?. What is the correct way to do?, cloning the HL2DM weapons to the SDK and using the animation layer sequences of the HL2DM??. Looking in the Model viewer, a lot of models have the weapon activity sequences, like GMAN. Can we use this model with the SDK, for example?. This code is the correct way to do the animation sequences??. Can you post an example using a HL2 model or a HL2DM model ??. Thanks. -Original Message- From: [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] ] On Behalf Of Adrian Finol Sent: Tuesday, January 11, 2005 2:05 PM To: hlcoders@list.valvesoftware.com Subject: RE: [hlcoders] Player animation ? Actually, it looks like he's not loading the HL2DM models but the HL2 ones. In HL2DM Humans and Combine share the same animations. Make sure you are loading from the right *_animations.mdl animation files. Both set of models should have the same animation and activity names. Other than that Major Boone speaks the truth. Using the Weapon's activity translation table is the cleanest way to handle different animations per weapon. -Original Message- From: [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] ] On Behalf Of Matt Boone Sent: Tuesday, January 11, 2005 2:05 PM To: hlcoders@list.valvesoftware.com Subject: RE: [hlcoders] Player animation ? HL2DM player animation uses a different system than is in the sdk. Basically you have a list of base sequences, preblended with 9-way aims and 9-way runs - those are the aim animations and are called in game code via activities ( why you see different animation names in combine vs rebels ). Shooting is done by adding the fire animation as a gesture over top of the base sequence. For Dod we're doing a hybird, with the activities on base sequence and fire/reload/hand signal gestures over top, but non-networked like the sdk does it to reduce net traffic. I would recommend moving at least to using activities for your player animations so avoid all the nasty string construction and comparing. As far as your animations only playing the first and last frame, this function doesn't appear to be causing that. I would check with a a different model/sequence to see if it's a problem in your model. -Original Message- From: [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] ] On Behalf Of Patrick Flanagan Sent: Tuesday, January 11, 2005 11:33 AM To: hlcoders@list.valvesoftware.com Subject: [hlcoders] Player animation ? I'm trying to get player animation working with some non-CS models. Specifically, I'd like to get animations working with the models used in HL2DM. I used model viewer to load up the combine models from HL2DM and some of the resistance models from HL2DM. Not only are their animations totally different from CS, they're different from each other. The combine models have different animations than the resistance models. I've been working on converting the animation names in sdk_playeranimstate.cpp to call the animations in combine_solder.mdl, which I think is the one used in HL2DM. I've run into some problems with this though. First off, there's doesn't seem to be any walking or running shooting animations. There are animations like ShootSGs, ShootSGc, ShootSMG1s, ShootSMG1c, etc but there's no walk_upper_mp5 or run_upper_mp5 like in the CS models. There doesn't seem to be any animation to be running and shooting at the same time. Second, the animations seem to only play the first frame and then stop. For example, I changed CalcFireLayerSequence to look like this: int CSDKPlayerAnimState::CalcFireLayerSequence(PlayerAnimEvent_t event) { // Figure out the weapon suffix. CWeaponSDKBase *pWeapon = m_pHelpers-SDKAnim_GetActiveWeapon(); if ( !pWeapon ) return 0; const char *pSuffix = GetWeaponSuffix(); if ( !pSuffix ) return 0; // Don't rely on their weapon here because the player has usually switched to their // pistol or rifle by the time the PLAYERANIMEVENT_THROW_GRENADE message gets to the client. if ( event == PLAYERANIMEVENT_THROW_GRENADE ) { pSuffix = Gren; } switch ( GetCurrentMainSequenceActivity() ) { case ACT_PLAYER_RUN_FIRE: case ACT_RUN: //return CalcSequenceIndex( %s%s, DEFAULT_FIRE_RUN_NAME, pSuffix ); return CalcSequenceIndex( ShootSMG1s ); //FIXME: totally wrong case ACT_PLAYER_WALK_FIRE: case ACT_WALK: //return CalcSequenceIndex( %s%s, DEFAULT_FIRE_WALK_NAME, pSuffix ); return CalcSequenceIndex( ShootSMG1s ); //FIXME: totally wrong case ACT_PLAYER_CROUCH_FIRE: case ACT_CROUCHIDLE: return CalcSequenceIndex( %s%s, DEFAULT_FIRE_CROUCH_NAME, pSuffix ); case ACT_PLAYER_CROUCH_WALK_FIRE: case ACT_RUN_CROUCH: return CalcSequenceIndex( %s%s, DEFAULT_FIRE_CROUCH_WALK_NAME, pSuffix ); default: case ACT_PLAYER_IDLE_FIRE: //return CalcSequenceIndex( %s%s, DEFAULT_FIRE_IDLE_NAME, pSuffix ); return CalcSequenceIndex( ShootSMG1s );
Re: [hlcoders] Debug info ?
Not sure either. Have to play with it I guess and see see. r00t 3:16 CQC Gaming www.cqc-gaming.com - Original Message - From: Hasan Aljudy [EMAIL PROTECTED] To: hlcoders@list.valvesoftware.com Sent: Wednesday, January 12, 2005 1:30 AM Subject: Re: [hlcoders] Debug info ? CBasePlayer::SetViewOffset( vector ) I think .. but that just moves the virtual eye position of the player. On Wed, 12 Jan 2005 00:41:49 -0500, r00t 3:16 [EMAIL PROTECTED] wrote: Yea, I kind of figured I would need to do that. I think this part is probably most confusing to me ... At any rate I have made a toggle for players to go prone. eg: lay on ground The question I guess is how or what should I be looking at to set the view / position of player to lay on the ground ? r00t 3:16 CQC Gaming www.cqc-gaming.com - Original Message - From: Hasan Aljudy [EMAIL PROTECTED] To: hlcoders@list.valvesoftware.com Sent: Wednesday, January 12, 2005 12:06 AM Subject: Re: [hlcoders] Debug info ? (x, y, z) as in view angles or spot on the wall/ground you are looking at? either way, you can easily get these values (eyeangles or traceline .. go figure) and DevMsg( %i %i %i \n, x, y, z) or %f if they are floats. On Tue, 11 Jan 2005 23:54:56 -0500, r00t 3:16 [EMAIL PROTECTED] wrote: When in developer mode is there a command to show you which way you are looking ? eg: x y z ? Which would show in the console or whatever? r00t 3:16 CQC Gaming www.cqc-gaming.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders