Nurick
15.05.2014, 20:38
Многие кто играл на Advance RP наверно видели то что у них мост сливаеться с тексутарми вокзала.
http://s57.radikal.ru/i158/1405/60/f52ae5e6309c.png
Это и есть текстуры объектов, по этому примеру я покажу как менять текстуры у объектов.
Для начало нам нужно скачать программу Map Editor (http://www.mathpudding.com/topsecretsamp/old_editor.rar)
Работать будем с функцией SetObjectMaterial: http://wiki.sa-mp.com/wiki/SetObjectMaterial
Открываем наш Map Editor жмём LOAD летим на то место куда хотите поставить объект в моём случаи это ЖД Вокзал Los Santos, всё достигли своего пункта назначения далее жмём Insert Object в открывшемся окне вписываем ид объекта у которого хотите заменить текстуру в моём случаи это ид 18806(мост)
http://s020.radikal.ru/i717/1405/55/e2b34bf88091.png
Перед нами появился объект которой мы будем присваивать текстуру другого объекта, жмём на него два раза и открываеться у нас окно:
http://s019.radikal.ru/i634/1405/a5/a5c566ae1b15.png
Где написано Material: ... это индексы у нас их 4, придёться подпибирать индексы в моём случаи я уже подобрал, 0 и 4. Далее нажимаем на объект 2 раза у которого хотим взять текстуру у меня это ЖД Вокзал ид объекта 4821
http://s57.radikal.ru/i156/1405/c4/eb362579ead2.png
Видим строку Texture: ... в моём случаи это union_las. Далее нам придёться подобрать саму модель объекта
http://s020.radikal.ru/i722/1405/99/68a0b1f63f86.png
Видем строку Model texstures: в этом столбике надо подбирать модель я уже подобрал, у меня это lasunion994 и tarmacplain_bank(всё зависиь от вашего объекта, я объясняю на примере ARP)
Теперь из исходного материала составим наш код.
new- наша переменная
переменная = CreateDynamicObject(18806,1782.5500488,-1993.0169678,8.1239996,0.0000000,0.0000000,90.0000000);
SetDynamicObjectMaterial(переменная с которой работаем, индекс, ид объекта у которого брали текстуру, "текстура", "модель текстуры", это можем не трогать);
В итоге получаем такой код:
new Object_bridge;
Object_bridge = CreateDynamicObject(18806,1782.5500488,-1993.0169678,8.1239996,0.0000000,0.0000000,90.0000000);
SetDynamicObjectMaterial(Object_bridge, 4, 4821, "union_las", "tarmacplain_bank", 0);
SetDynamicObjectMaterial(Object_bridge, 0, 4821, "union_las", "lasunion994", 0);
http://i057.radikal.ru/1405/7a/c941f14cbe1f.png
Не судите строго за столь не внятное объяснение, просто сегодня только начал изучать функцию SetObjectMaterial. и может еще многое не понял в этой функции.
http://s57.radikal.ru/i158/1405/60/f52ae5e6309c.png
Это и есть текстуры объектов, по этому примеру я покажу как менять текстуры у объектов.
Для начало нам нужно скачать программу Map Editor (http://www.mathpudding.com/topsecretsamp/old_editor.rar)
Работать будем с функцией SetObjectMaterial: http://wiki.sa-mp.com/wiki/SetObjectMaterial
Открываем наш Map Editor жмём LOAD летим на то место куда хотите поставить объект в моём случаи это ЖД Вокзал Los Santos, всё достигли своего пункта назначения далее жмём Insert Object в открывшемся окне вписываем ид объекта у которого хотите заменить текстуру в моём случаи это ид 18806(мост)
http://s020.radikal.ru/i717/1405/55/e2b34bf88091.png
Перед нами появился объект которой мы будем присваивать текстуру другого объекта, жмём на него два раза и открываеться у нас окно:
http://s019.radikal.ru/i634/1405/a5/a5c566ae1b15.png
Где написано Material: ... это индексы у нас их 4, придёться подпибирать индексы в моём случаи я уже подобрал, 0 и 4. Далее нажимаем на объект 2 раза у которого хотим взять текстуру у меня это ЖД Вокзал ид объекта 4821
http://s57.radikal.ru/i156/1405/c4/eb362579ead2.png
Видим строку Texture: ... в моём случаи это union_las. Далее нам придёться подобрать саму модель объекта
http://s020.radikal.ru/i722/1405/99/68a0b1f63f86.png
Видем строку Model texstures: в этом столбике надо подбирать модель я уже подобрал, у меня это lasunion994 и tarmacplain_bank(всё зависиь от вашего объекта, я объясняю на примере ARP)
Теперь из исходного материала составим наш код.
new- наша переменная
переменная = CreateDynamicObject(18806,1782.5500488,-1993.0169678,8.1239996,0.0000000,0.0000000,90.0000000);
SetDynamicObjectMaterial(переменная с которой работаем, индекс, ид объекта у которого брали текстуру, "текстура", "модель текстуры", это можем не трогать);
В итоге получаем такой код:
new Object_bridge;
Object_bridge = CreateDynamicObject(18806,1782.5500488,-1993.0169678,8.1239996,0.0000000,0.0000000,90.0000000);
SetDynamicObjectMaterial(Object_bridge, 4, 4821, "union_las", "tarmacplain_bank", 0);
SetDynamicObjectMaterial(Object_bridge, 0, 4821, "union_las", "lasunion994", 0);
http://i057.radikal.ru/1405/7a/c941f14cbe1f.png
Не судите строго за столь не внятное объяснение, просто сегодня только начал изучать функцию SetObjectMaterial. и может еще многое не понял в этой функции.