diff --git a/addons/source-python/data/source-python/entities/bms/CBaseEntity.ini b/addons/source-python/data/source-python/entities/bms/CBaseEntity.ini old mode 100644 new mode 100755 index 6fcaae92d..faa2a2b2b --- a/addons/source-python/data/source-python/entities/bms/CBaseEntity.ini +++ b/addons/source-python/data/source-python/entities/bms/CBaseEntity.ini @@ -1,5 +1,11 @@ [virtual_function] + # _ZN11CBaseEntity8SetModelEPKc + [[set_model]] + offset_linux = 27 + offset_windows = 26 + arguments = STRING + # _ZN11CBaseEntity9SetParentEPS_i [[set_parent]] offset_linux = 38 diff --git a/addons/source-python/data/source-python/entities/csgo/CBaseEntity.ini b/addons/source-python/data/source-python/entities/csgo/CBaseEntity.ini old mode 100644 new mode 100755 index 3c70b08d6..aeab5154e --- a/addons/source-python/data/source-python/entities/csgo/CBaseEntity.ini +++ b/addons/source-python/data/source-python/entities/csgo/CBaseEntity.ini @@ -3,6 +3,12 @@ srv_check = False [virtual_function] + # _ZN11CBaseEntity8SetModelEPKc + [[set_model]] + offset_linux = 28 + offset_windows = 27 + arguments = STRING + # _ZN11CBaseEntity9SetParentEPS_i [[set_parent]] offset_linux = 40 diff --git a/addons/source-python/data/source-python/entities/gmod/CBaseEntity.ini b/addons/source-python/data/source-python/entities/gmod/CBaseEntity.ini old mode 100644 new mode 100755 index d21dad3f7..d401cf60b --- a/addons/source-python/data/source-python/entities/gmod/CBaseEntity.ini +++ b/addons/source-python/data/source-python/entities/gmod/CBaseEntity.ini @@ -1,5 +1,11 @@ [virtual_function] + # _ZN11CBaseEntity8SetModelEPKc + [[set_model]] + offset_linux = 25 + offset_windows = 24 + arguments = STRING + # _ZN11CBaseEntity9SetParentEPS_i [[set_parent]] offset_linux = 35 diff --git a/addons/source-python/data/source-python/entities/l4d2/CBaseEntity.ini b/addons/source-python/data/source-python/entities/l4d2/CBaseEntity.ini old mode 100644 new mode 100755 index a7f8e38b4..c05ee3d7a --- a/addons/source-python/data/source-python/entities/l4d2/CBaseEntity.ini +++ b/addons/source-python/data/source-python/entities/l4d2/CBaseEntity.ini @@ -1,5 +1,11 @@ [virtual_function] + # _ZN11CBaseEntity8SetModelEPKc + [[set_model]] + offset_linux = 28 + offset_windows = 27 + arguments = STRING + # _ZN11CBaseEntity9SetParentEPS_i [[set_parent]] offset_linux = 38 diff --git a/addons/source-python/data/source-python/entities/orangebox/CBaseEntity.ini b/addons/source-python/data/source-python/entities/orangebox/CBaseEntity.ini old mode 100644 new mode 100755 index df4ddc2ea..3e6705de7 --- a/addons/source-python/data/source-python/entities/orangebox/CBaseEntity.ini +++ b/addons/source-python/data/source-python/entities/orangebox/CBaseEntity.ini @@ -1,5 +1,11 @@ [virtual_function] + # _ZN11CBaseEntity8SetModelEPKc + [[set_model]] + offset_linux = 25 + offset_windows = 24 + arguments = STRING + # _ZN11CBaseEntity9SetParentEPS_i [[set_parent]] offset_linux = 35 diff --git a/addons/source-python/packages/source-python/entities/_base.py b/addons/source-python/packages/source-python/entities/_base.py old mode 100644 new mode 100755 index 094c0c2e8..67dab393b --- a/addons/source-python/packages/source-python/entities/_base.py +++ b/addons/source-python/packages/source-python/entities/_base.py @@ -425,17 +425,21 @@ def get_model(self): return Model(model_name) + @wrap_entity_mem_func def set_model(self, model): """Set the entity's model to the given model. - :param Model model: - The model to set. + :param str/Model model: + The model path or model to set. """ - self.model_index = model.index - self.model_name = model.path + if isinstance(model, Model): + model = model.path + + return [model] model = property( - get_model, set_model, + get_model, + lambda self, model: self.set_model(model), doc="""Property to get/set the entity's model. .. seealso:: :meth:`get_model` and :meth:`set_model`""")