コード例 #1
0
ファイル: CLuaPedDefs.cpp プロジェクト: GDog1985/mtasa-blue
int CLuaPedDefs::GetPedTotalAmmo ( lua_State* luaVM )
{
    CPed* pPed;
    unsigned char ucSlot = 0;

    CScriptArgReader argStream ( luaVM );
    argStream.ReadUserData ( pPed );

    if ( !argStream.HasErrors () )
        argStream.ReadNumber ( ucSlot, pPed->GetWeaponSlot () );

    if ( !argStream.HasErrors () )
    {
        CWeapon* pWeapon = pPed->GetWeapon ( ucSlot );
        if ( pWeapon )
        {
            lua_pushnumber ( luaVM, pWeapon->usAmmo );
            return 1;
        }
    }
    else
        m_pScriptDebugging->LogCustom ( luaVM, argStream.GetFullErrorMessage () );


    lua_pushboolean ( luaVM, false );
    return 1;
}
コード例 #2
0
ファイル: CLuaPedDefs.cpp プロジェクト: GDog1985/mtasa-blue
int CLuaPedDefs::GetPedWeapon ( lua_State* luaVM )
{
    CPed* pPed;
    unsigned char ucSlot;

    CScriptArgReader argStream ( luaVM );
    argStream.ReadUserData ( pPed );
    argStream.ReadNumber ( ucSlot, 0xFF );

    if ( !argStream.HasErrors () )
    {
        if ( ucSlot == 0xFF )
            ucSlot = pPed->GetWeaponSlot ();

        CWeapon* pWeapon = pPed->GetWeapon ( ucSlot );
        if ( pWeapon )
        {
            unsigned char ucWeapon = pWeapon->ucType;
            lua_pushnumber ( luaVM, ucWeapon );
            return 1;
        }
    }
    else
        m_pScriptDebugging->LogCustom ( luaVM, argStream.GetFullErrorMessage () );

    // Failed
    lua_pushboolean ( luaVM, false );
    return 1;
}