Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 28

Тема: Использование SetObjectMaterial

  1. #1
    Почетный пользователь Аватар для EvgeN 1137
    Регистрация
    10.01.2011
    Адрес
    не скажу
    Сообщений
    3,005
    Репутация: 580

    Звание: - это имя известно всем

    Использование SetObjectMaterial

    1. Введение.
    В 0.3e RC6 добавили новую функцию - SetObjectMaterial. Что же она даёт? Она позволяет взять текстуру у другого объекта. Например, вы поставили какой-то объект, он идеально подходит, а сам выглядит не очень. Тогда эта функция то что вам надо! Данная функция имеет 6 параметров:
    objectid - ID существующего на сервере объекта
    materialindex - индекс части объекта
    modelid - ID модели объекта, у которого мы хотим взять текстуру
    txdname - название .txd файла модели объекта
    texturename - имя текстуры для использования в качестве замены
    materialcolor - цвет объекта формата ARGB (не RGBA)

    2. Готовимся.
    Итак, в этом пункте я опишу весь необходимый софт для работы.
    Клиент 0.3e RC6
    Сервер 0.3e RC6 с инклудами
    Чистый мод (хотя бы lvdm из стандартных модов)
    JernejL's Map Editor
    Прямые руки, мозги

    3. Разрабатываем.
    У нас есть всё необходимое для замены модели объекта, и теперь можно начать.

    1. objectid
    ID объекта на сервере. Заменять можно только созданные объекты. Для примера возьмём мой объект. В начало мода:
    PHP код:
    new obj
    . Затем в OnGameModeInit:
    PHP код:
    obj CreateObject(18843315.571715.7769.36,   0.000.00359.96); 
    Затем вписываем в первый аргумент obj и вот что у нас должно получится:
    PHP код:
    SetObjectMaterial(obj, ?, ?, ?, ?, ?); 
    2. materialindex
    Тут нам понадобиться мап едитор. Запускаем его, нам нужно поставить объект у которого вы хотите заменить текстуру. В моём случае это 18843. Нажимаем кнопку Insert и прописываем ID объекта. Нажимаем enter и перед нами появится объект. Кликаем на него два раза и смотрим строчку Model textures:

    Там две строчки, где написано Material 0. Значит, у этого объекта только один индекс и заморочек будет меньше. В противном же случае, если объект большой (не в плане размера, а в плане кол-ва цветов и частей), то придётся подбирать индекс. Другого способа я не знаю. Итак, по этому пункту у нас должно получиться вот что:
    PHP код:
    SetObjectMaterial(obj0, ?, ?, ?, ?); 
    3. modelid
    Следующий пункт, это ID модели, у который мы хотим "стырить" текстуру. В моём случае это танцпол, у которого ID 19129:
    PHP код:
    SetObjectMaterial(obj019129, ?, ?, ?); 
    4. txdname
    Помоему, самый интересный пункт. Чтобы узнать файл текстуры не надо лезть в .img файлы и что-то там искать. Нам всегда поможет Map Editor! Теперь нам нужно уже вставить объект modelid из предыдущего пункта. Нажимаем Insert, пишем ID объекта, нажимаем enter, кликаем два раза на появившийся объект и смотрим строчку Texture:

    В моём случае это "dancefloors":
    PHP код:
    SetObjectMaterial(obj019129"dancefloors", ?, ?); 
    5. texturename
    Предпоследний пункт, в котором нам придётся брать методом подбора в некоторых случаях. Смотрим скрин из пункта 4, только уже в строчку TXD textures. В этом случае мне повезло, т.к. там всего лишь две модели (верхняя и нижняя часть танцпола):
    PHP код:
    SetObjectMaterial(obj019129"dancefloors""DanceFloor1", ?); 
    6. materialcolor
    Последний пункт, с помощью которого можно задать материала. Я не нашёл от него особой пользы, так что его можно пропустить, вставив туда просто 0. А для любопытных - вы можете изменить альфа канал объекта и его цвет. Важное замечание: если вы хотите пропустить изменение текстуры объекта, а изменить лишь только цвет, то вы можете выставить в двух предыдущих аргументах (4 и 5) значение "none". В моём же случае, в 6-й аргумент я просто поставил 0:
    PHP код:
    SetObjectMaterial(obj019129"dancefloors""DanceFloor1"0); 
    4. Заключение.
    Ну вот и всё. Если вы не допустили ошибки, то у вас должно получиться вот что:

    Тому, кому лень ехать до объекта, вот телепорт: SetPlayerPos(playerid, 126.6348,1778.1600,17.6481);
    Урок был написан мною (то есть EvgeN 1137) при помощи этого специально для lightcode.ru
    Если вам этот туториал помог, то скажите спасибо, поставив +
    :)

  2. #2
    Проверенный Аватар для dinnamo1927
    Регистрация
    20.08.2011
    Адрес
    Мелитополь,UA
    Возраст
    35
    Сообщений
    1,329
    Репутация: 211

    Звание: - весьма и весьма положительная личность

    Re: Использование SetObjectMaterial

    Ну скажем так не плохо,постарался да и интересная хрень..Мб и пригодится...

  3. #3
    Почетный пользователь Аватар для EvgeN 1137
    Регистрация
    10.01.2011
    Адрес
    не скажу
    Сообщений
    3,005
    Репутация: 580

    Звание: - это имя известно всем

    Re: Использование SetObjectMaterial

    Цитата Сообщение от Exclusive Посмотреть сообщение
    где сказано, что это перевод? Мой урок написан моими руками, а не был взят и просто переведён
    :)

  4. #4
    Почетный пользователь Аватар для EvgeN 1137
    Регистрация
    10.01.2011
    Адрес
    не скажу
    Сообщений
    3,005
    Репутация: 580

    Звание: - это имя известно всем

    Re: Использование SetObjectMaterial

    пояснение к функции схожи.
    но писались-то они мною, а не переведены были
    последний скриншот заменил разве что, тем более, видел я такой скриншот уже неделю назад, он тоже не твой.
    чтооо? пруф в студию, ибо этот скрин я делал позавчера на своём компе, когда проверял эту функцию. вообще неделю назад ещё и rc6 не было
    :)

  5. #5
    Почетный пользователь Аватар для EvgeN 1137
    Регистрация
    10.01.2011
    Адрес
    не скажу
    Сообщений
    3,005
    Репутация: 580

    Звание: - это имя известно всем

    Re: Использование SetObjectMaterial

    Цитата Сообщение от Exclusive Посмотреть сообщение
    Пардон, видел вчера.
    в теме о 0.3e, где я же этот скрин и выложил? xd
    :)

  6. #6
    ?????????? Аватар для Jeanstonik
    Регистрация
    31.03.2010
    Возраст
    29
    Сообщений
    1,810
    Репутация: 125

    Звание: скоро придёт к известности

    Re: Использование SetObjectMaterial

    евген мудак :3

    с каких пор abgr? что за бред вообще ? Argb вообщето. все тоже самое, только альфа не в конце цвета, а в начале
    Плевать кто лучший в игре
    Молча слушай мой рэп
    Просто, я монстр, как наушники Дре

  7. #7
    Проверенный Аватар для frog163
    Регистрация
    12.04.2010
    Адрес
    Samara
    Возраст
    31
    Сообщений
    4,548
    Репутация: 365

    Звание: - очень-очень хороший человек

    Re: Использование SetObjectMaterial

    Цитата Сообщение от Jeanstonik Посмотреть сообщение
    евген мудак :3

    с каких пор abgr? что за бред вообще ? Argb вообщето. все тоже самое, только альфа не в конце цвета, а в начале
    materialcolor The object color to set, as an integer or hex in ABGR color format. Using 0 keeps the existing material color.
    http://wiki.sa-mp.com/wiki/SetObjectMaterial
    Ничто не ограничивает полет мысли программиста так, как компилятор, сцуко!
    Если в предложении собеседника различного рода смайлов больше чем слов - однозначно, что этот индивид страдает критической, неизлечимой и при этом прогрессирующей формой долбоебизма © лурка
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

  8. #8
    ?????????? Аватар для Jeanstonik
    Регистрация
    31.03.2010
    Возраст
    29
    Сообщений
    1,810
    Репутация: 125

    Звание: скоро придёт к известности

    Re: Использование SetObjectMaterial

    скорее всего опечатка. ибо на офф форуме не раз писалось, именно об arbg
    Плевать кто лучший в игре
    Молча слушай мой рэп
    Просто, я монстр, как наушники Дре

  9. #9
    Почетный пользователь Аватар для EvgeN 1137
    Регистрация
    10.01.2011
    Адрес
    не скажу
    Сообщений
    3,005
    Репутация: 580

    Звание: - это имя известно всем

    Re: Использование SetObjectMaterial

    Цитата Сообщение от Jeanstonik Посмотреть сообщение
    скорее всего опечатка. ибо на офф форуме не раз писалось, именно об arbg
    я брал информацию о аргументах функции в вики

    edit: и сам удивился
    :)

  10. #10
    Проверенный Аватар для Dr.Vandersexxx
    Регистрация
    09.01.2011
    Адрес
    Kherson
    Возраст
    30
    Сообщений
    1,240
    Репутация: 219

    Звание: - весьма и весьма положительная личность

    Re: Использование SetObjectMaterial

    поинтересуюсь, а на fps подобное новшество не сильно давит?
    <3 Sex and flood

Страница 1 из 3 123 ПоследняяПоследняя

Похожие темы

  1. [Урок] Использование PVar
    от Mertos в разделе Pawn WIKI
    Ответов: 7
    Последнее сообщение: 01.08.2012, 15:25
  2. Использование Плагинов
    от Mister_Invisible в разделе Вопросы по скриптингу
    Ответов: 2
    Последнее сообщение: 11.11.2011, 21:36
  3. [C++]Использование if
    от RusKey в разделе C++,C#
    Ответов: 7
    Последнее сообщение: 28.08.2011, 13:27
  4. Использование цветов 0.3c
    от Xa0s. в разделе Вопросы по скриптингу
    Ответов: 5
    Последнее сообщение: 13.07.2011, 11:12

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •