av661194
Так, нужен файл level_script.cpp
Нужно найти:
void g_change_community_goodwill(LPCSTR _community, int _entity_id, int val)
{
CHARACTER_COMMUNITY c;
c.set (_community);
RELATION_REGISTRY().ChangeCommunityGoodwill(c.index(), u16(_entity_id), val);
}
После этой функции вставить так:
void g_change_community_goodwill(LPCSTR _community, int _entity_id, int val)
{
CHARACTER_COMMUNITY c;
c.set (_community);
RELATION_REGISTRY().ChangeCommunityGoodwill(c.index(), u16(_entity_id), val);
}
int g_get_personal_goodwill(int _who_id, int _to_whom_id) { return RELATION_REGISTRY().GetGoodwill(u16(_who_id), u16(_to_whom_id)); }
void g_set_personal_goodwill(int _who_id, int _to_whom_id, int _amount) { RELATION_REGISTRY().SetGoodwill(u16(_who_id), u16(_to_whom_id), _amount); }
void g_change_personal_goodwill(int _who_id, int _to_whom_id, int _amount)
{
CHARACTER_GOODWILL gw = RELATION_REGISTRY().GetGoodwill(u16(_who_id), u16(_to_whom_id));
RELATION_REGISTRY().SetGoodwill(u16(_who_id), u16(_to_whom_id), gw + _amount);
}
Это сами функции. get возвращает числовое значение личного отношения, set позволяет установить числовое значение личного отношения, change изменить на _amount.
Потом нужно экспортировать эти функции для использования в скриптах.
Находим:
module(L,"relation_registry")
[
def("community_goodwill", &g_community_goodwill),
def("set_community_goodwill", &g_set_community_goodwill),
def("change_community_goodwill", &g_change_community_goodwill)
];
Добавляем наши функции:
module(L,"relation_registry")
[
def("community_goodwill", &g_community_goodwill),
def("set_community_goodwill", &g_set_community_goodwill),
def("change_community_goodwill", &g_change_community_goodwill),
def("get_personal_goodwill", &g_get_personal_goodwill),
def("set_personal_goodwill", &g_set_personal_goodwill),
def("change_personal_goodwill", &g_change_personal_goodwill)
];
Собираем движок.
Теперь можно вызывать эти функции через
relation_registry.get_personal_goodwill (who, to_who)
relation_registry.set_personal_goodwill (who, to_who, number)
relation_registry.change_personal_goodwill (who, to_who, number)
Должно работать.