I think we fixed that first bug in my mod by calling PostThinkVPhysics(); in
the Spawn() function of sdk_player, before putting the player into the
observer mode.



On Tue, Dec 23, 2008 at 12:29 PM, Yorg Kuijs <yorg.ku...@home.nl> wrote:

> Hey list,
>
> my previous attemts at making a windnade turned out good :D
> so I'm now going back to fixing some bugs
>
> First bug is been in for a while and I've seen other mods that have it too:
> Now and then spectate is bugged, when you free view into a wall it will
> constantly fall down into the map and you can't stop it, or you are
> stuck on your dead body, though you can get loose if u try hard enough
> but then if u go into a wall again you are back to your own body.
>
> A long time ago I posted this problem and was told to set
> mp_forcerespawn to 1, which was already on 1 and to have the mapper add
> some entity to the map which was done as well, the problem has remained
> since and it wasn't too bad while the mod used deathmatch, but now my
> gametypes are last man standing and last team standing, when a player
> runs out of lives they are now forced to spectate and so they are
> confronted often with the bug, other spectate views work fine until you
> free view into a wall.
>
> Second bug is that rounds aren't ending sometimes, today I happened to
> notice that the last 2 guys alive died at the same time, though I'm not
> 100% sure that's the problem, but the round is supposed to end when
> there's 2 or more players and 1 alive, or if 0 alive then its a draw and
> it ends the round as well.
> However like I said sometimes it doesn't do it.
>
> Players are counted like this:
>    int playercountertotal = 0;
>    int playercounter = 0;
>    int rebelcountertotal = 0;
>    int rebelcounter = 0;
>    int combinecountertotal = 0;
>    int combinecounter = 0;
>
>    for ( int i = 1; i <= gpGlobals->maxClients; i++ )
>    {
>        CHL2MP_Player *pPlayer = (CHL2MP_Player*) UTIL_PlayerByIndex( i );
>
>        if ( !pPlayer || pPlayer->GetTeamNumber() == TEAM_SPECTATOR )
>            continue;
>
>        if( IsTeamplay() == true )
>        {
>            if( pPlayer && pPlayer->GetTeamNumber() == TEAM_COMBINE )
>                combinecountertotal++;
>            if( pPlayer && pPlayer->GetTeamNumber() == TEAM_REBELS )
>                rebelcountertotal++;
>            if( pPlayer && pPlayer->GetTeamNumber() == TEAM_COMBINE &&
> ToHL2MPPlayer(pPlayer)->GetTeamPlayerLives()>0 )
>                combinecounter++;
>            if( pPlayer && pPlayer->GetTeamNumber() == TEAM_REBELS &&
> ToHL2MPPlayer(pPlayer)->GetTeamPlayerLives()>0 )
>                rebelcounter++;
>        }
>        else
>        {
>            if ( pPlayer )
>            {
>                //Total players
>                playercountertotal++;
>
>                //Alive players
>                if( ToHL2MPPlayer(pPlayer)->GetPlayerLives()>0)
>                    playercounter++;
>            }
>        }
>    }
>
> any idea on how to fix these 2 things?
>
> _______________________________________________
> 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