I was going to say the same thing, but then didn't because the
implementation of the Render function for CSteamID is not included in the
SDK so he'd end up adding the same code anyways.

I will recommend "& 0x01" instead of "% 2" and ">> 1" instead of "/ 2"
though the compiler probably does that for you anyways.

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Saul Rennison
Sent: Monday, January 04, 2010 2:08 PM
To: Discussion of Half-Life Programming
Subject: Re: [hlcoders] How to find SteamID

Garry there's no need to do it manually, I think there's a CSteamID class
which does it all for you I think... although that might be server-side :/

Thanks,
- Saul.


2010/1/4 Garry Newman <[email protected]>

> This probably isn't useful to anyone, but I had to get the SteamID of
other
> players clientside - and couldn't find a way to do it (without networking
> them from server)
>
> But eventually I found a way to convert the FriendsID to a SteamID..
>
> const char* C_GMOD_Player::GetNetworkIDString()
> {
> if ( !engine->GetPlayerInfo( entindex(), &m_SavedPlayerInfo ) )
> {
> return "NULL";
> }
>
> if ( !m_SavedPlayerInfo.friendsID )
> return "NULL";
>
> Q_snprintf( m_SavedPlayerInfo.guid, sizeof( m_SavedPlayerInfo.guid ) - 1,
> "STEAM_0:%u:%u",
> (unsigned int)(m_SavedPlayerInfo.friendsID % 2),
> (unsigned int)(m_SavedPlayerInfo.friendsID / 2));
>
> return m_SavedPlayerInfo.guid;
> }
>
> garry
>
> On Mon, Jan 4, 2010 at 9:31 PM, Tony Paloma <[email protected]>
> wrote:
>
> > Well as long as we're coming up with alternatives:
> >  - Read HKEY_CURRENT_USER\Software\Valve\Steam\LastGameNameUsed
> >  - Enumerate HKEY_CURRENT_USER\Software\Valve\Steam\Users for a matching
> > friends\PersonaName value
> >   - The keys under Users are account IDs. You can use them to get a
> > SteamID.
> >
> > Infallible? Hardly. But it's the best out-of-game, no-steam-dlls
solution
> I
> > could come up with besides mucking around in the blob file.
> >
> > If you know where Steam is installed
> > (HKEY_CURRENT_USER\Software\Valve\Steam\SteamPath), you can load
> > steamclient.dll and get the SteamID easy. If you want more details,
reply
> > and ask.
> >
> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]] On Behalf Of Darien
> Hager
> > Sent: Monday, January 04, 2010 1:06 PM
> > To: Discussion of Half-Life Programming
> > Subject: Re: [hlcoders] How to find SteamID
> >
> > Just to toss out an alternative... I think the "current user name" is
> > probably somewhere in the clientregistry.blob file after the user is
> > logged-in... but parsing that thing directly isn't very fun and likely
> > won't be as stable making your own exe/dll. (I'm working on phasing out
> > some clientregistry-using code for those reasons.)
> >
> > --Darien
> >
> > Alexander Hirsch wrote:
> > > It does work. I did some stuff with that already.
> > > The code down there is just on top of my head though. Still, should
> > > work like that.
> > >
> > >
> >
> >
> > _______________________________________________
> > 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

Reply via email to