2MaGoth:
Попробуй использовать проверку активного оружия перед торговлей, если оружие активно, т.е. взято Гг в руки, то снимай его функцией спрятать оружие, запуская одновременно торговлю. ;)
|
сделал проще:
Cпойлер(щелкните, чтобы прочесть):
func void Stt_311_Fisk_Trade_Info()
{
* * *AI_Output (other, self, "Stt_311_Fisk_Trade_15_00"); * * *//Покажи мне, что у тебя есть.
* * *AI_UnequipWeapons(other);
};
перед торговлей ВСЁ оружие снимается. проверять на активное и экипированное оружие имеет смысл для того, чтобы по окончании торговли оно автоматом вешалось обратно.
назревает вопрос: как поймать момент окончания торговли?
тогда был бы такой алгоритм:
Cпойлер(щелкните, чтобы прочесть):
// перед торговлей
- получить id экипированного оружия.
- снять всё оружие
- удалить одну единицу оружия из инвентаря (чтоб не продать в куче)
// после торговли
- добавить в инвертарь одну единицу оружия (ранее удаленного)
- повесить его на ГГ
всё это я сделать могу. не могу отследить окончание торговли.