Помощь - Поиск - Пользователи - Календарь
Полная версия: Item Appearens
Город Мастеров > РЕДАКТОРЫ > Шарды рунета
2GoDoom
Я знаю что можно добавлять к вещам эффекты, но мне интересно - как менять внешний вид предмета? (стандартный армор крафт позволяет это делать - и даже добавлять робу)...

ЗЫ
Сорри за то что создаю тему специально для этого, но я думаю это будет интересно.
ЗЫЫ
И за одно - какой конверсейшн у стандартного крафта в НВНе?
Аваддон
Хех, я задавал такой вопрос в скриптах но безрезультатно. Открой диалоги нвновского крафта и глянь какая там система.. Я открыл вот.. посмотрел bad.gif и сразу закрыл. А была просто идея - когда плащь одеваешь чтоб он на броню добавлялся.
_kaa_
Функции для работы с itemproperty довольно медлены и используют чтение из 2da файлов, используй аккуратно.

#include "x2_inc_itemprop" - там собраны полезные функции.

IPGetNumberOfAppearances(ITEM_APPR_ARMOR_MODEL_*) - вернет тебе количество различных апирансов для данного _ARMOR_MODEL_
Вот что она делает в реальности:
Neverwinter Script Source
int IPGetNumberOfArmorAppearances(int nPart)
{
   int nRet;
   //SpeakString(Get2DAString(X2_IP_ARMORPARTS_2DA ,"NumParts",nPart));
   nRet = StringToInt(Get2DAString(X2_IP_ARMORPARTS_2DA ,"NumParts",nPart));
   return nRet;
}

т.е. просто читает из 2да-таблицы

Основная функция: CopyItemAndModify()

Neverwinter Script Source
// Creates a new copy of an item, while making a single change to the appearance of the item.
// Helmet models and simple items ignore iIndex.
// iType                            iIndex                      iNewValue
// ITEM_APPR_TYPE_SIMPLE_MODEL      [Ignored]                   Model #
// ITEM_APPR_TYPE_WEAPON_COLOR      ITEM_APPR_WEAPON_COLOR_*    1-4
// ITEM_APPR_TYPE_WEAPON_MODEL      ITEM_APPR_WEAPON_MODEL_*    Model #
// ITEM_APPR_TYPE_ARMOR_MODEL       ITEM_APPR_ARMOR_MODEL_*     Model #
// ITEM_APPR_TYPE_ARMOR_COLOR       ITEM_APPR_ARMOR_COLOR_*     0-63
object CopyItemAndModify(object oItem, int nType, int nIndex, int nNewValue, int bCopyVars=FALSE)


В ней константами задаешь что менять и на что.

Вот еще нужная функция: GetItemAppearance() - смотри в лексиконе полное описание.

Вот и все. В самом простом случае - берется исходный item, CopyItemAndModify() и получается то, что нужно. Старый item не забываем удалять.
Создать новый предмет с задаными свойствами - не выйдет, нет таких функций пока.
Да, один момент. Библиотека "x2_inc_itemprop" использует служебный ящик, где все замены и происходят (т.е. создание новых вещей и т.п.). Тег у него "x2_plc_ipbox", он есть в палитре и его _ОБЯЗАТЕЛЬНО_ нужно поставить в модуле, в недоступной для игрока локации.
2GoDoom
Большое спасибо!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2025 Invision Power Services, Inc.