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

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

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

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

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

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

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

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

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

Подробнее

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

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

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

Как сделать свой аддон


SLA

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

From the error, your code cannot find the defined unitId. This might be because you have the local embedded in a separate statement. Either define the "local unitId" as a Global, or put the common.LogInfo in the same statement.

Google Translate:

От ошибки, код не может найти определенный unitId. Это может быть потому, что у вас есть местные встроенных в отдельном заявлении. Либо определить "local unitId" как Global, или положить common.LogInfo в том же заявлении.

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

в данном случае аддон не видит твоей переменной. Погляди аддон aospider там используется событие EVENT_AVATAR_SECONDARY_TARGET_CHANGED и функция avatar.GetTarget()

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

локальная переменная внутри объявлена а ты ее пытаешься за пределами блока юзать - объяви глобальную перменную

Code:

Globals ("unitId", nil)

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

Я, честно говоря, уже удалил тот файл с жалкими попытками написать аддон, но вроде как была функция, в которой описывалась эта переменная, а потом в конце

function Init() из которой вызывались функции описанные до, и нигде больше unitId не юзал.

А есть ли какая нибудь возможность выводить переменные в лог, если они не текстовые?

common.LogInfo числовые значения не пишет в лог, ругаясь при этом страшными словами :)

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

You can link your add-on to the SampleAddonBase.lua in Mods/Addons/SampleCommon/ or just take the code from it and then use LogInfo() the defined function to display the information you seek instead of common.LogInfo().

Or, treat it like any other LUA text writing, by converting items to WStrings first; numerical values are converted via the common.FormatInt( number, format ) or common.FormatFloat( number, format).

Google Translate:

Вы можете связать свои дополнения к SampleAddonBase.lua в Моды/Addons/SampleCommon/ или просто взять код из него, а затем использовать LogInfo() функцию для отображения информации вы ищете вместо common.LogInfo().

Или, рассматривать его как любой другой ввода текста LUA, путем преобразования элементов WStrings в первую очередь; численные значения преобразуются с помощью common.FormatInt(число, формат) или common.FormatFloat(число, формат).

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

  • 2 недели спустя...

проблема - почему-то окно двигается только в правой половине экрана ((

Code:
DnD:Init( 558, wtSetPanel, wtSetPanel, true )

вот это окно:

Code:
<Placement>

<X>

<Align>WIDGET_ALIGN_CENTER</Align>

<Size>450</Size>

</X>

<Y>

<Align>WIDGET_ALIGN_CENTER</Align>

<Size>500</Size>

</Y>

</Placement>

или от чего это зависит?

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

You can't move centered widgets, because they are centered. There's no posX/posY/highPosX/highPosY values assigned.

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

как бы сделать так чтобы уникальный ID окон автоматом создавался? а то разные аддоны случайно один и тот же ID ставят и ихние окна двигаются одновременно!!!

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

разработчикам дописывать функцию в свой аддон которая оперирует с глобальной переменной (заданной к примеру в аддонменеджере или вначале проверять на ее наличие, если таковой нет - создавать и писать туда начальный номер) при отработке скрипта т.е. при инициализации его, скрипт будет получать УИД своего виджета отличимый от других.. следующий нагружаемый аддон при проверки на наличии этой глобальной переменной - плюсует адиницу и опять выходит уникальный УИД... и т.д.

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

не сдержался... -=)

ah.gif нет, не скажу что удивлен появлением среди нас девушки... но очень рад этому.. как с технической стороны (а именно у нашей лады - мышление не такое как наше... подход, так сказать...), так и с этической, за что ей благодарен.. а то загнемся, товарищи, в своих убеждениях и предвзятостях...

все выше выраженное имхо, и изложено на правах иммунитета к офтопу... -=)

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

  • 2 недели спустя...

такой вопрос - возможно ли изучить Lua и научитья писать аддоны, имея совсем не большой опыт программирования в HTML и Pascal? очень хочу попробовать... заранее спасибо за ответ :)))

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

Yes. I apologize if some of this doesn't make sense.

My How To: Usage/Development of Add-ons (Google Translated) might help you. If the threads listed in the main post did not already do so.

Google Translate:

Да. Прошу прощения, если некоторые из этих не имеет смысла.

Мой Как: Использование / Развитие Addons (Google переведено) может помочь вам. Если темы, перечисленные в главный пост уже не сделать.

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

Ciuine, thank you, but Google.Translate is very bad translating, and my English is very poor...

PS. Mistakes can be this message :))

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

I figured as much about the Google Translate. : (

Anyways, if you just start from the basics of the SampleAddons and try to read them as trees with the roots being the Init () and the branchs being functions off of that. You should be able to get a simple understanding of how to structure / write add-ons.

This is not to say you'll be able to write complex add-ons without fault, but that you'll be able to understand more and more complex add-ons; the more you take them apart piece by piece, you will become better at writing them in the process.

GUIs do require some spatial coordination however, but with examples in the ResourceSystem folder included in the ModdingDocuments and examples from some add-ons will help you eventually tackle them as well.

Google Translate:

Я понял, как много о Google Translate. : (

В любом случае, если вы просто начать с основами SampleAddons и попытаться прочитать их, как деревья с корнями время Init () и Филиалы являются функциями от этого. Вы должны быть в состоянии получить простое понимание того, как структура / писать дополнения.

Это не значит, что вы сможете писать сложные дополнения без вины, но что вы будете в состоянии понять все более и более сложных дополнений; больше вы принимаете их друг от друга по частям, вы станете лучше при записи их в процесс.

ГПИ требуют некоторой пространственной координации однако, но с примерами из папки ResourceSystem включены в ModdingDocuments и примеры из некоторых дополнений поможет вам в конечном итоге решать их.

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

  • 2 недели спустя...

можно ли в описание процедуры вставлять константы извне? типа такого:

Code:
List = { "a", "b", "c" }

onEvent = {}

for _, val in List

onEvent [val]  = function ( pars )

LogInfo( val,":", pars)

end

end

то есть чтобы значения val в каждой процедуре были разные

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

  • 1 месяц спустя...

для того чтобы функции не были видны из других файлов - объявляем их локальными так

Code:
local CreateElem

...

CreateElem = function( elem )

...

 --- тело функции

...

end

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

  • 3 недели спустя...

Как можно изменить цвет произвольного значения в WidgetTextView

Code:

<body alignx="left" fontsize="18" outline="1">

<rs class="class">

<br><r name="time_value_1"/></br>

<br><r name="time_value_2"/></br>

<br><r name="time_value_3"/></br>

<br><r name="time_value_4"/></br>

<br><r name="time_value_5"/></br>

</rs>

</body>

Мне надо к примеру чтоб time_value_2 был сначала зеленым, потом желтым потом красным, но это не затрагивало остальные значения.

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

прошу тех кто умеет делать аддоны сделать для меня аддон (для торга) чтобы на определённую кнопку из торга уберался первый предмет и на другую ставить/убирать галочку мона было а на третью можно было нажать принять я заплачу кристаллами если нужно за игровыми данными я вам скажу в пм пишите жду с нетерпением!

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

Формат расширить:

Code:
<rs class="className"><r name="time_value_2"/></rs>

Цвет менять в скрипте:

Code:
WidgetTextView:SetClassVal( "className", "tip_green" ) -- "tip_yellow", "tip_red"

Создание GUI

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

  • 2 месяца спустя...

Как вы разбираетесь в этом программировании? Я вот НИЧЕГО из выше сказанного не понял! Пожалуйста, объясните новичку (мне), к примеру: Как сделать аддон, с помощью которого можно было бы смотреть сколько денег (голд, серебра, меди) у выделенного персонажа? Если можно, то в личку пожалуйста:)

Заранее Спасибо!

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

возьми любой аддон - попроще где есть файлы .lua и глянь их и сам поймешь

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

Я попробовал пару экспериментов с использованием coroutine, но выполнение в параллельных потоках не заметил. Вызывал две coroutine подпрограммы переданные в качестве аргументов в LogInfo

У кого-нибудь получалось достичь многопоточности с использованием этой либы?

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

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

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

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

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

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

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

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

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

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