Jump to content

Вопрос о CStaticFunctionDefinitions::SetWeaponProperty


Recommended Posts

Вот почему половина параметров не работает.

bool CStaticFunctionDefinitions::SetWeaponProperty ( eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, float fData ) 
{ 
    if ( eProperty == WEAPON_INVALID_PROPERTY ) 
        return false; 
  
    CWeaponStat* pWeaponInfo = g_pGame->GetWeaponStatManager()->GetWeaponStats( eWeapon, eSkillLevel ); 
    if ( pWeaponInfo ) 
    { 
        switch ( eProperty ) 
        { 
        case WEAPON_WEAPON_RANGE: 
            { 
                if ( fData >= 0 && fData <= 350 ) 
                    pWeaponInfo->SetWeaponRange ( fData ); 
                else 
                    return false; 
                break; 
            } 
        case WEAPON_TARGET_RANGE: 
            { 
                if ( fData >= 0 && fData <= 300 ) 
                    pWeaponInfo->SetTargetRange ( fData ); 
                else 
                    return false; 
                break; 
            } 
        case WEAPON_ACCURACY: 
            { 
                if ( fData >= 0 && fData <= 10000 ) 
                    pWeaponInfo->SetAccuracy ( fData ); 
                else 
                    return false; 
                break; 
            } 
        case WEAPON_MOVE_SPEED: 
            { 
                if ( fData >= -1 && fData <= 100 ) 
                    pWeaponInfo->SetMoveSpeed ( fData ); 
                else 
                    return false; 
                break; 
            } 
        default: 
            return false; 
        } 
    } 
    else 
        return false; 
  
    pWeaponInfo->SetChanged( true ); 
  
    CBitStream BitStream; 
    BitStream.pBitStream->Write ( static_cast < unsigned  char > ( eWeapon ) ); 
    BitStream.pBitStream->Write ( static_cast < unsigned  char > ( eProperty ) ); 
    BitStream.pBitStream->Write ( static_cast < unsigned  char > ( eSkillLevel ) ); 
    BitStream.pBitStream->Write ( fData ); 
    m_pPlayerManager->BroadcastOnlyJoined ( CLuaPacket ( SET_WEAPON_PROPERTY, *BitStream.pBitStream ) ); 
  
    return true; 
} 

Link to comment
Это был вопрос, как вызывать методы класса?

Нет, это был не вопрос.

Вот почему половина параметров не работает.

Подразумевает, что вы напишите причину, почему половина параметров не работает. Ну и где она?

И вы не знаете как вызывать методы класса, С++ программер?

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...