Перейти к содержанию

Дайджесты за январь-февраль

Обновления гайдов и аддонов

Январь Февраль

Мониторинг серверов и редактор аддонов

Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.

Мониторинг серверов Редактор аддонов

Подсказки из игры на вашем сайте

Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.

Подробнее

Апдейтер аддонов

Представляем вам программу для автообновления аддонов и делимся подробностями.

Подробнее Скачать

Вопрос по userdata


Oberon

Рекомендуемые сообщения

Версия игры 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 выдает таки только ссылку на данные, а не конкретно их?
 
Как мне в этом случае получить эти данные: описание бафа, в "читабельном" виде? Где я ошибся?
 
Спасибо,
Изменено пользователем Oberon
Ссылка на комментарий
Поделиться на другие сайты

common.GetApiType( buffInfo.description )

- расскажет подробно, какая именно это userdata. Есть подозрение, что это ValuedText. И по этой причине глупый LogInfo не может придумать ничего лучше, чем сделать tostring и вывести результат.

Ссылка на комментарий
Поделиться на другие сайты

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 *)

Ссылка на комментарий
Поделиться на другие сайты

common.GetApiType( buffInfo.description )

- расскажет подробно, какая именно это userdata. Есть подозрение, что это ValuedText. И по этой причине глупый LogInfo не может придумать ничего лучше, чем сделать tostring и вывести результат.

 

все, разобрался. common.ExtractWStringFromValuedText(). спасибо большое,

Изменено пользователем Oberon
Ссылка на комментарий
Поделиться на другие сайты

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...

Важная информация

Пользуясь сайтом, вы принимаете Условия использования