Oberon Posted October 22, 2015 Share Posted October 22, 2015 (edited) Версия игры 4.0.2. Пробую вот такое: local id = object.GetBuffs( avatar.GetId() )[ 0 ] if id then local buffInfo = object.GetBuffInfo( id ) if buffInfo then LogInfo( buffInfo.name ) LogInfo( buffInfo.description ) end end Судя по документации, у функции GetBuffInfo( Id ) возвращаемые значения name и description имеют формат WString: name: WString - имя буфа description: WString - описание буфа но по факту, у меня в LogInfo( ) поле name (как и прочие другие поля этой функции) выводятся нормально, а вот поле description выдает userdata: ... Что такое userdata и как она работает я в общем то понимаю. Но я не понимаю, почему именно description вместо готовых данных в формате WString выдает таки только ссылку на данные, а не конкретно их? Как мне в этом случае получить эти данные: описание бафа, в "читабельном" виде? Где я ошибся? Спасибо, Edited October 22, 2015 by Oberon Quote Link to comment Share on other sites More sharing options...
Altair Posted October 22, 2015 Share Posted October 22, 2015 userMods.FromWString()? WString - это частный случай userdata так-то. Quote Link to comment Share on other sites More sharing options...
ramirez Posted October 22, 2015 Share Posted October 22, 2015 common.GetApiType( buffInfo.description ) - расскажет подробно, какая именно это userdata. Есть подозрение, что это ValuedText. И по этой причине глупый LogInfo не может придумать ничего лучше, чем сделать tostring и вывести результат. 1 Quote Link to comment Share on other sites More sharing options...
Oberon Posted October 23, 2015 Author Share Posted October 23, 2015 userMods.FromWString()? WString - это частный случай userdata так-то. Это первое, что я попробовал. выдает ошибку: Game::LuaUserModsFromWString: param 1 not a class nstl::basic_string<wchar_t> (type: ValuedText), details: int __cdecl Game::LuaUserModsFromWString(struct lua_State *) Quote Link to comment Share on other sites More sharing options...
Oberon Posted October 23, 2015 Author Share Posted October 23, 2015 (edited) common.GetApiType( buffInfo.description ) - расскажет подробно, какая именно это userdata. Есть подозрение, что это ValuedText. И по этой причине глупый LogInfo не может придумать ничего лучше, чем сделать tostring и вывести результат. все, разобрался. common.ExtractWStringFromValuedText(). спасибо большое, Edited October 23, 2015 by Oberon Quote Link to comment Share on other sites More sharing options...
Recommended Posts