PDA

Просмотр полной версии : [Вопрос] SetDynamicObjectMaterialText



_MegaMix_
14.07.2017, 07:14
Возник вопрос с наложением текста на объект:


new
Float: x, Float: y, Float: z;

GetPlayerPos(playerid, x, y, z);

break_[playerid] = CreateDynamicObject(19980, x, y, z-1, 0, 0.00000, 0.00000);

SetDynamicObjectMaterialText(break_[playerid], 0, inputtext, OBJECT_MATERIAL_SIZE_512x256 , "Impact", 130, 0, -32256, -16777216, 1);

С обратной стороны плаката - текст виден, а с другой нет

http://s014.radikal.ru/i326/1707/f0/b522eefbf194.png (http://radikal.ru)

http://s011.radikal.ru/i317/1707/96/4ef60bbbe8c3.png (http://radikal.ru)

semen7907
14.07.2017, 10:05
Нужно его просто чуть передвинуть, попробуй так, break_[playerid] = CreateDynamicObject(19980, x+1.0, y+1.0, z-1, 0, 0.00000, 0.00000);

_MegaMix_
14.07.2017, 14:09
Нужно его просто чуть передвинуть, попробуй так, break_[playerid] = CreateDynamicObject(19980, x+1.0, y+1.0, z-1, 0, 0.00000, 0.00000);

А причём тут сам объект? Ведь при наложении он возьмёт координаты объекта и так же не покажется

Nexius_Tailer
14.07.2017, 15:27
Если ты не создаёшь промежуточный объект чисто под текст, а написал его сразу на этой табличке, то видимо ты выбрал не тот "слой" с текстурой (materialindex) для наложения текста, попробуй вторым аргументом вместо нуля указать другие значения, примерно до 10-15.

_MegaMix_
14.07.2017, 16:40
Если ты не создаёшь промежуточный объект чисто под текст, а написал его сразу на этой табличке, то видимо ты выбрал не тот "слой" с текстурой (materialindex) для наложения текста, попробуй вторым аргументом вместо нуля указать другие значения, примерно до 10-15.

Указывал, но результата нет

Geebrox
14.07.2017, 16:49
Как альтернативный вариант, можно использовать 2 объекта. Создаешь этот объект и еще один объект (есть специальные объекты, прозрачные, которые предназначены для нанесение текстов) далее наносишь текст второму объекту и прикрепляешь его к первому.

StevenH
14.07.2017, 21:28
У меня точно такая же табличка в моде, и она кстати с Advance :3, вот тебе код, работать должно:


new Float:X, Float:Y, Float:Z;

GetPlayerPos(playerid, X, Y, Z);

break_[playerid] = CreateDynamicObject(19980, x, y, z-1, 0, 0.00000, 0.00000);

SetDynamicObjectMaterialText(break_[playerid], 2, inputtext, 90, "Arial", 48, 1, -1, -16776961, 1);