Спаун торговца |
Автор статьи: Torionel |
Должен сразу вас предупредить, что первый способ совершенно бесполезен в практическом плане, и может быть интересен только для углубленного изучения структуры файлов игры. Если вас это не интересует, вам просто нужен работающий торгаш, то сразу переходите к способу 2.
Способ 1
Товары торговца задаются в CShopDef, и в CREATURE торговца прописана ссылка на него.
Внутреннее устройство CShopDef
Открываем CShopDef, жмем в новом окне на CShopDef - первые пять полей пропускаем, даже имея самые малые познания в английском можно понять, что там указывать. Переходим к полю DefaultStock. В поле ItemForSell указываем ID нужного предмета. Значения остальных 14 полей под этим вы можете заполнить, скопировав значения из других CShopDef, или оставив то, что было. Нас здесь интересует только Amount In Stock (т.е. количество предмета в продаже) и Days Until Restocked (через сколько дней после покупки предмет снова появляется у торговца). Чтобы добавить еще один предмет в продажу, нажмите Add чуть выше поля, где указывали ID предмета.
Этот способ бесполезен для моддеров, потому что после установки fmp с вашим торговцем и новыми предметами в shopdef ID'ы новых предметов не будут совпадать с копией игры, на которой вы делали мод. Хотя на вашей игре это работать будет.
Способ 2
Скачиваем мод Scripted Shopkeeper из нашего файлового архива и устанавливаем его.
После этого нужно открыть TNG-файл нужной локации Блокнотом и вставить скрипт:
NewThing AICreature;
Player 2;
UID 18446741873886729499;
DefinitionType "CREATURE_TRADER_STOCKED_SCRIPTED";
ScriptName NULL;
ScriptData "NULL";
ThingGamePersistent FALSE;
ThingLevelPersistent FALSE;
StartCTCPhysicsNavigator;
PositionX 44.23291;
PositionY 121.32250;
PositionZ 31.91408;
RHSetForwardX 0.00000;
RHSetForwardY 1.00000;
RHSetForwardZ 0.00000;
RHSetUpX -0.00216;
RHSetUpY -0.00030;
RHSetUpZ 1.00000;
EndCTCPhysicsNavigator;
StartCTCTargeted;
Targetable TRUE;
EndCTCTargeted;
StartCTCContainerRewardHero;
EndCTCContainerRewardHero;
StartCTCEnemy;
FriendsWithEverythingFlag FALSE;
EnableFollowersEnemyProxy TRUE;
FactionName "";
EndCTCEnemy;
StartCTCShop;
StockItemDefsKeys[0] "OBJECT_****";
StockItemDefsQuantity[0] 1.0;
StockItemDefsMaxStock[0] 1.0;
StockItemDefsKeys[1] "OBJECT_****";
StockItemDefsQuantity[1] 1.0;
StockItemDefsMaxStock[1] 1.0;
EndCTCShop;
Health 200.0;
EnableCreatureAutoPlacing FALSE;
EndThing;
Красные значения надо обязательно изменить.