diff --git a/shared/sdk/FArrayProperty.cpp b/shared/sdk/FArrayProperty.cpp index 1ef41f63..9d5dfeab 100644 --- a/shared/sdk/FArrayProperty.cpp +++ b/shared/sdk/FArrayProperty.cpp @@ -62,6 +62,11 @@ void FArrayProperty::update_offsets() { continue; } + if (s_inner_offset == 0) { + SPDLOG_ERROR("[FArrayProperty::update_offsets] Failed to find property inner offset"); + return; + } + SPDLOG_INFO("[FArrayProperty::update_offsets] Done"); } } \ No newline at end of file diff --git a/shared/sdk/FObjectProperty.cpp b/shared/sdk/FObjectProperty.cpp index c8a6f282..81c13ffb 100644 --- a/shared/sdk/FObjectProperty.cpp +++ b/shared/sdk/FObjectProperty.cpp @@ -48,6 +48,11 @@ void FObjectProperty::update_offsets() { continue; } + if (s_property_class_offset == 0) { + SPDLOG_ERROR("[FObjectProperty::update_offsets] Failed to find property class offset"); + return; + } + SPDLOG_INFO("[FObjectProperty::update_offsets] Done"); } } \ No newline at end of file diff --git a/src/mods/UObjectHook.cpp b/src/mods/UObjectHook.cpp index 5ee1a6e7..36e6bdbd 100644 --- a/src/mods/UObjectHook.cpp +++ b/src/mods/UObjectHook.cpp @@ -1164,12 +1164,18 @@ void UObjectHook::ui_handle_material_interface(sdk::UObject* object) { //auto components = actor->get_all_components(); for (auto comp_obj : components) { - auto comp = (sdk::UObject*)comp_obj; + auto comp = (sdk::UActorComponent*)comp_obj; if (comp->is_a(mesh_component_t)) { if (comp == comp->get_class()->get_class_default_object()) { continue; } + auto owner = comp->get_owner(); + + if (owner == nullptr || owner->get_class()->get_class_default_object() == owner) { + continue; + } + struct { int32_t num{}; } get_num_materials_params{};