From 1ec3d6cdd393217ec72bb395a80f72a4422dc106 Mon Sep 17 00:00:00 2001 From: Mergevos Date: Sun, 22 Feb 2026 16:47:45 +0100 Subject: [PATCH 1/2] Definitions for SetActorSkin and GetActorSkin --- samp/__init__.pyi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/samp/__init__.pyi b/samp/__init__.pyi index d16fd7f..e69a9e7 100644 --- a/samp/__init__.pyi +++ b/samp/__init__.pyi @@ -1896,6 +1896,11 @@ def DestroyActor(actorid: int) -> bool: def IsActorStreamedIn(actorid: int, forplayer_id: int) -> bool: pass +def SetActorSkin(actorid: int, skinid: int) -> bool: + pass + +def GetActorSkin(actorid: int) -> int: + pass def SetActorVirtualWorld(actorid: int, vworld: int) -> bool: pass From 20a3c73db0f00c70a05cb7e2923479de30f498ad Mon Sep 17 00:00:00 2001 From: Mergevos Date: Sun, 22 Feb 2026 16:48:06 +0100 Subject: [PATCH 2/2] Implementation of actor skin getter and setter --- pysamp/__init__.py | 10 ++++++++++ pysamp/actor.py | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/pysamp/__init__.py b/pysamp/__init__.py index 0a6f920..58a073d 100644 --- a/pysamp/__init__.py +++ b/pysamp/__init__.py @@ -97,6 +97,7 @@ GetActorPoolSize, GetActorPos, GetActorVirtualWorld, + GetActorSkin, GetAnimationName, GetConsoleVarAsBool, GetConsoleVarAsInt, @@ -284,6 +285,7 @@ SetActorInvulnerable, SetActorPos, SetActorVirtualWorld, + SetActorSkin, SetCameraBehindPlayer, SetDeathDropAmount, SetGameModeText, @@ -2574,6 +2576,14 @@ def get_actor_virtual_world(actorid: int) -> int: return GetActorVirtualWorld(actorid) +def set_actor_skin(actorid: int, skinid: int) -> bool: + return SetActorSkin(actorid, skinid) + + +def get_actor_skin(actorid: int) -> int: + return GetActorSkin(actorid) + + def apply_actor_animation( actorid: int, animation_library: str, diff --git a/pysamp/actor.py b/pysamp/actor.py index d765540..64ad6c2 100644 --- a/pysamp/actor.py +++ b/pysamp/actor.py @@ -7,6 +7,7 @@ get_actor_health, get_actor_pos, get_actor_virtual_world, + get_actor_skin, is_actor_invulnerable, is_actor_streamed_in, is_valid_actor, @@ -15,6 +16,7 @@ set_actor_invulnerable, set_actor_pos, set_actor_virtual_world, + set_actor_skin ) from typing import Optional, Tuple from pysamp.event import event @@ -138,6 +140,14 @@ def set_invulnerable(self, invulnerable: bool = True) -> bool: def is_valid(self) -> bool: """Check if the actor is valid.""" return is_valid_actor(self.id) + + def set_skin(self, skinid: int) -> bool: + """Sets the actor skin.""" + return set_actor_skin(self.id, skinid) + + def get_skin(self) -> int: + """Gets the actor skin.""" + return get_actor_skin(self.id) @event("OnActorStreamIn") def on_stream_in(cls, actor_id: int, for_player_id: int):