From SA-MP Wiki

Jump to: navigation, search

SetPlayerObjectMaterial was added in SA-MP 0.3e This function was added in SA-MP 0.3e and will not work in earlier versions!


Replace the texture of a player-object with the texture from another model in the game.

(playerid, objectid, materialindex, modelid, txdname[], texturename[], materialcolor)
playeridThe ID of the player the object is associated to.
objectidThe ID of the object to replace the texture of
materialindexThe material index on the object to change (0 to 15)
modelidThe modelid on which replacement texture is located. Use 0 for alpha. Use -1 to change the material color without altering the existing texture.
txdnameThe name of the txd file which contains the replacement texture (use "none" if not required)
texturenameThe name of the texture to use as the replacement (use "none" if not required)
materialcolorThe object color to set, as an integer or hex in ARGB format. Using 0 keeps the existing material color.

Return Values:

This function does not return any specific values.

Example Usage:

public OnPlayerCommandText(playerid,cmdtext[])
        new Float:X, Float:Y, Float:Z;
        new myobject;
        GetPlayerPos(playerid, X, Y, Z);
        myobject = CreatePlayerObject(playerid, 19371, X, Y, Z+0.5, 0.0, 0.0, 0.0, 300.0);
        SetPlayerObjectMaterial(playerid, myobject, 0, 19341, "egg_texts", "easter_egg01", 0xFFFFFFFF);
        // Replaces the texture of our player-object with the texture of model 19341
        return 1;
    return 0;


You MUST use ARGB color format, not RGBA like used in client messages etc.



Vertex lightning of the object will disappear if material color is changed.

Related Functions

The following functions may be helpful as they relate to this function in one way or another.

  • SetObjectMaterial: Replace the texture of an object with the texture from another model in the game.

Filterscripts with texturing/text support