Описание класса game object. Часть III. — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
K.D. (обсуждение | вклад) (Новая страница: «{| border="0" cellpadding="3" align="right" width="250" cellspacing="1" style="background:#ccc;" |- ! style="background:#eaf1dd;" align="left"|Навигация ...») |
K.D. (обсуждение | вклад) м |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 41: | Строка 41: | ||
<div class="NavHead">'''function get_current_outfit() const''' </div> | <div class="NavHead">'''function get_current_outfit() const''' </div> | ||
<div class="NavContent"><cpp>game_object* get_current_outfit() const</cpp> | <div class="NavContent"><cpp>game_object* get_current_outfit() const</cpp> | ||
− | возвращает | + | возвращает клиентский объект итема в шестом слоте (броня). Возвращается скриптовый аналог CInventoryItem. Для сталкеров и монстров возвращает nil, для актора работает.<br /><br /></div></div> |
<div class="NavFrame collapsed"> | <div class="NavFrame collapsed"> | ||
Строка 302: | Строка 302: | ||
*ini_file - дескриптор ltx файла, откуда читаем конфиг | *ini_file - дескриптор ltx файла, откуда читаем конфиг | ||
*section - секция, откуда читаем.<br /><br /></div></div> | *section - секция, откуда читаем.<br /><br /></div></div> | ||
+ | ---- | ||
+ | Написано [[Участник:K.D.|K.D.]] 15:52, 18 декабря 2011 (UTC) по материалам malandrinus, материалам [http://www.amk-team.ru/forum/index.php?showtopic=7450 форума АМК] и собственным изысканиям. | ||
+ | |||
+ | [[Категория:Скрипты]] |
Текущая версия на 18:11, 18 декабря 2011
Навигация |
---|
Описание класса game object. Часть I. |
Содержание
CInventoryOwner
Эти методы можно применять только для живых объектов с инвентарем - сталкеров, монстров, актора.
float accuracy()возвращает точность стрельбы объекта.
void transfer_item(game_object* pItem, game_object* pForWho)
передает предмет от одного объекта к другому. Аргументы:
- pItem - передаваемый предмет. Должен наследовать от класса CInventoryItem.
- pForWho - объект, которому передаем предмет. Должен наследовать от класса CInventoryOwner, то есть тоже иметь инвентарь.
void set_relation(enum ALife::ERelationType relation, game_object* pWhoToSet)
устанавливает отношение обрабатываемого объекта к объекту, передаваемому вторым аргументом pWhoToSet. Первый аргумент - член перечисления ALife::ERelationType. В Lua оно экспортировано в виде констант класса game_object.
const friend = 0 const neutral = 1 const enemy = 2 const dummy = -1
Есть еще две неэкспортированных константы:
eRelationTypeWorstEnemy = 0x3 eRelationTypeLast = 0x4
game_object* get_current_outfit() constвозвращает клиентский объект итема в шестом слоте (броня). Возвращается скриптовый аналог CInventoryItem. Для сталкеров и монстров возвращает nil, для актора работает.
float get_current_outfit_protection(int hit_type)возвращается текущая защита от типа хита, передаваемого аргументом hit_type, для данного костюма. Для сталкеров и монстров возвращает nil, для актора работает. Типы хита см. в классе hit.
int object_count() constвозвращает количество предметов в инвентаре.
game_object* object(int iIndex)возвращает скриптовый объект предмета из инвентаря по его индексу, задаваемому аргументом iIndex.
game_object* object(string caObjectName)возвращает скриптовый объект предмета из инвентаря по его имени, задаваемому аргументом caObjectName. В ЗП нет.
void activate_slot(int slot_id)делает слот slot_id активным.
int active_slot()возвращает номер активного слота.
game_object* item_in_slot(int slot_id) constвозвращает клиентский объект итема в слоте с номером slot_id. Возвращается скриптовый аналог CInventoryItem. Если в слоте ничего нет, вернет 0.
game_object* active_item()возвращает клиентский объект итема в активном слоте. Возвращается скриптовый аналог CInventoryItem.
void change_character_reputation(int char_rep)увеличивает репутацию объекта на char_rep.
int character_reputation()возвращает репутацию объекта.
void change_goodwill(int delta_goodwill, game_object* pWhoToSet)
изменяет отношение объекта к объекту. Аргументы:
- delta_goodwill - величина изменения отношения.
- pWhoToSet - клиентский объект, к которому изменяем отношение.
int goodwill(game_object* pToWho)возвращает отношение объекта к объекту, передаваемому указателем pToWho.
void set_goodwill(int goodwill, game_object* pWhoToSet)
устанавливает отношение объекта к объекту. Аргументы:
- goodwill - отношение.
- pWhoToSet - клиентский объект, к которому устанавливаем отношение.
int general_goodwill(game_object* pToWho)возвращает полное отношение данного объекта к объекту, передаваемому по указателю pToWho. Вычисляется по формуле:goodwill + community_goodwill + reputation_relation + rank_relation + community_relation. Объект, передаваемый по указателю pToWho, также должен наследовать от CInventoryOwner.
string character_community()возвращает текущую группировку, к которой принадлежит объект. Аргументов не принимает.
void set_character_community(string comm, int squad, int group)
определяет объект в группировку. Аргументы:
- comm - название группировки
- squad - отряд, в который определяется объект
- group - группа, в которую определяется объект.
string profile_name()возвращает имя профиля объекта. Аргументов не принимает.
bool give_info_portion(string info_id)выдает объекту инфопоршень. Возвращает состояние операции (успех/неуспех).
bool disable_info_portion(string info_id)удаляет у объекта инфопоршень. Возвращает состояние операции (успех/неуспех).
void enable_talk()включает возможность разговора для объекта. Аргументов не принимает.
void disable_talk()отключает возможность разговора для объекта. Аргументов не принимает.
void stop_talk()убирает окно разговора для объекта. Аргументов не принимает.
bool is_talk_enabled()возвращает true, если с объектом разрешено разговаривать. False - если запрещено. Аргументов не принимает.
bool is_talking()возвращает true, если объект находится в активном диалоге. Аргументов не принимает.
void enable_trade()разрешает объекту вступать в торговлю. Аргументов не принимает.
void disable_trade()запрещает объекту вступать в торговлю. Аргументов не принимает.
bool is_trade_enabled()возвращает true, если с объектом разрешено торговать. False - если запрещено. Аргументов не принимает.
bool dont_has_info(string info_id)возвращает true, если у объекта нет инфопоршня info_id.
bool has_info(string info_id)возвращает true, если у объекта есть инфопоршень info_id.
void mark_item_dropped(game_object* item)устанавливает предмету в инвентаре объекта флажок Fdrop, для того, чтобы объект не удалялся death manager'ом. Аргумент item должен наследовать от класса CInventoryItem.
bool marked_dropped(game_object* item)проверяет, стоит ли у предмета флажок Fdrop, то есть будет ли он удаляться при смерти непися. Аргумент item должен наследовать от класса CInventoryItem.
void drop_item(game_object* pItem)выбрасывает предмет из инвентаря объекта. Аргумент pItem должен наследовать от класса CInventoryItem.
void drop_item_and_teleport(game_object* pItem, vector position)выбрасывает предмет из инвентаря объекта и телепортирует этот предмет по координатам, указанным в position. Аргумент pItem должен наследовать от класса CInventoryItem.
void iterate_inventory(function<void> , object)перебор объектов в инвентаре. function<void> - функтор, который вызывается для каждого предмета.
void inventory_for_each(const function<void>&)
перебор объектов в инвентаре. Перебираются не все предметы, а только те, которыми можно торговать (не-квестовые и у которых не выставлено в конфиге can_trade = false). Имеется определенный порядок перебора:
- рюкзак
- пояс
- слоты (которые доступны для управления).
CTime* get_info_time(string info_id)В ЗП нет. Возвращает время получения инфопоршня info_id в виде объекта CTime.
void give_money(int money)увеличивает количество денег у объекта на money.
int money()возвращает количество денег у объекта. Аргументов не принимает.
void transfer_money(int money, game_object* pForWho)
передает от обрабатываемого объекта объекту количество денег, равное money. Аргументы:
- money - количество денег.
void set_character_rank(int char_rank)устанавливает ранг объекта равным char_rank.
int character_rank()возвращает ранг объекта. Работает также для объектов CBaseMonster.
string character_name()возвращает имя персонажа (из character_desc_***.xml).
void buy_condition(ini_file* ini_file, string section)
прописывание торговцу конфига с доступностью и ценами предметов на покупку. Аргументы:
- ini_file - дескриптор ltx файла, откуда читаем конфиг
- section - секция, откуда читаем.
void buy_condition(float friend_factor, float enemy_factor)устанавливает параметры покупки для объекта (friend_factor, enemy_factor).
void sell_condition(ini_file* ini_file, string section)
прописывание торговцу конфига с доступностью и ценами предметов на продажу. Аргументы:
- ini_file - дескриптор ltx файла, откуда читаем конфиг
- section - секция, откуда читаем.
void buy_condition(float friend_factor, float enemy_factor)устанавливает параметры продажи для объекта (friend_factor, enemy_factor).
void show_condition(ini_file* ini_file, string section)
прописывание торговцу конфига с видимостью предметов при торговле (дополнительный фильтр). Аргументы:
- ini_file - дескриптор ltx файла, откуда читаем конфиг
- section - секция, откуда читаем.
void buy_supplies(ini_file* ini_file, string section)
обновить ассортимент в соответствии с конфигом. Аргументы:
- ini_file - дескриптор ltx файла, откуда читаем конфиг
- section - секция, откуда читаем.
Написано K.D. 15:52, 18 декабря 2011 (UTC) по материалам malandrinus, материалам форума АМК и собственным изысканиям.