Function SetObjectMaterial replace the texture of an object with the texture from another model in the game.
Function SetObjectMaterial was added in 0.3e and will not work in earlier versions!
Vertex lighting of the object will disappear if material color is changed.
You MUST use ARGB color format, not RGBA like used in client messages etc.

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

Return Values:
  • 1: The function was executed successfully.
  • 0: The function failed to execute.

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

Related Functions
The following functions may be useful, as they are related to this function in one way or another.

Filterscripts with texturing/text support:
  • Ultimate Creator
  • Fusez's Map Editor by RedFusion