پرش به مطلب اصلی

SetObjectMaterial

توضیحات

جایگزینی بافت یک آبجکت با بافت مدل دیگری در بازی.

نامتوضیحات
objectidشناسه آبجکتی که قرار است بافت آن تغییر کند
materialIndexشاخص متریال روی آبجکت برای تغییر (۰ تا ۱۵)
modelidشناسه مدلی که بافت جایگزین روی آن قرار دارد. از ۰ برای شفافیت استفاده کنید. از -۱ برای تغییر رنگ متریال بدون تغییر بافت استفاده کنید.
const textureLibrary[]نام فایل txd که شامل بافت جایگزین است (در صورت عدم نیاز از "none" استفاده کنید)
const textureName[]نام بافتی که به عنوان جایگزین استفاده می‌شود (در صورت عدم نیاز از "none" استفاده کنید)
materialColourرنگ آبجکت که تنظیم می‌شود، به صورت عدد صحیح یا هگزادسیمال در فرمت رنگ ARGB. استفاده از ۰ رنگ موجود متریال را حفظ می‌کند.

مقدار بازگشتی

true - تابع با موفقیت اجرا شد.

false - تابع در اجرا شکست خورد.

مثال‌ها

public OnPlayerCommandText(playerid,cmdtext[])
{
if (!strcmp(cmdtext, "/mycommand", true))
{
new
Float:x, Float:y, Float:z,
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);
// بافت آبجکت ما را با بافت آبجکت 19341 جایگزین می‌کند
return 1;
}
return 0;
}

نکات

نکته

نور vertex آبجکت در صورت تغییر رنگ متریال ناپدید خواهد شد.

هشدار

شما باید از فرمت رنگ ARGB استفاده کنید، نه RGBA که در پیام‌های کلاینت و غیره استفاده می‌شود.

توابع مرتبط

ویرایشگرهای نقشه پیشرفته