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; }
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; }