DiSlord
-
Постов
56 -
Зарегистрирован
-
Посещение
Тип контента
Загрузки
Форумы
Статьи и объявления
Гардероб
Маунты
Сообщения Allods Team
Трекер ошибок
Магазин
Галерея
Сообщения, опубликованные DiSlord
-
-
Говорит о том что реализовать возможно, все в ваших руках
-
Хотел в аддон добавить хоткей, не напишите в ПМ как это в данном аддоне реализовано?
-
А мне вот кажется что дело в обычном рас..ве.
Как с патчем на HTML тэги в сообщениях (и многими подобными) что якобы в одном из патчей фиксят, а потом почему то ошибка опять всплывает.
-
Записывать урон пета отдельно - имхо бредово в принципе + дополнительно усложняет код.
Я вот чтото не уверен что правильно подсчитываете если в рейде более 1 мистика, даже с таким извратом в коде, а если точности все равно нет, то толку от такого? Ну даст это прибавку 1-2к дпс, все равно в пределах погрешности.
unit.GetFollowerMaster - есть в документации.
ЗЫ все мое ИМХО, в программировании предпочитаю простоту, любой костыль в коде - это куча проблем при исправлении, дополнении, читабельности кода.
-
Quote:работает с версией 3.0.05.30 - избавился от avatar.GetUnitList()
Ммм а вы не думали что функция unit.GetActivePet вернет пета только если друид/некр в одной пате с вами? Просто есть небольшие сомнения в правильном подсчете ДПС в рейде от друлей если они не в одной пате.
Посмотрел код добавления ПУ - шедеврально
Добавлено
PS сори посмотрел код, вы пета прямо в бою добавляете
я думаю что проще решил проблему с ПУ и петами, пример во вложенииFile: LDPSData.zip -
Нет мейн форма имеет размер 200х32
Code:<WidgetForm><Name>BuildManagerButton</Name>
<Priority>8191</Priority>
<Children>
<Item href="ButtonShow.(WidgetButton).xdb#xpointer(/WidgetButton)" />
</Children>
<BackLayer href="" />
<FrontLayer href="" />
<Placement>
<X>
<Align>WIDGET_ALIGN_LOW</Align>
<Size>200</Size>
</X>
<Y>
<Align>WIDGET_ALIGN_LOW</Align>
<Size>32</Size>
</Y>
</Placement>
<Visible>true</Visible>
<Enabled>true</Enabled>
<TransparentInput>false</TransparentInput>
<PickChildrenOnly>true</PickChildrenOnly>
</WidgetForm>
В ней кнопка (имеет размер на всю мейн форму)
Code:<WidgetButton><Name>ButtonShow</Name>
<Priority>10000</Priority>
<Header>
<Prototype href="/Mods/SampleCommon/Button/ButtonRegular.Prototype.(WidgetButton).xdb#xpointer(/WidgetButton)" />
</Header>
<Placement>
<X>
<Align>WIDGET_ALIGN_BOTH</Align>
</X>
<Y>
<Align>WIDGET_ALIGN_BOTH</Align>
</Y>
</Placement>
<Variants>
<Item>
<TextFileRef href="DefaultValue.txt" />
<Reaction>bild_show_click</Reaction>
<ReactionOnUp>true</ReactionOnUp>
</Item>
</Variants>
<PickChildrenOnly>false</PickChildrenOnly>
</WidgetButton>
Как только я делаю в мейн форме выравнивание по центру, она пропадает с виджета (уходит в центр экрана).
ЗЫ прикрепил исходники аддона кнопки
ЗЗЫ изначально кнопка была не в ContextTalents->Parent (имеет размер на весь экран, а глубже в ContextTalents->Parent->BaseWindow (имеет нужный размер). Я ее передвинул чтобы была видна и при наборе талантов.
File: BuildManager.pak -
если вносиш изменения в xdb файл, то да надо (да я знаю что мона и кодом двигать, но я на тот момент настолько за...ся искать пути обхода своей проблемы (сделав один костыль, приходилось делать другой уже для него), что пару раз изменив xdb даже не стал уже заморачиватся, и прописал координаты напрямую.
Quote:С мейн формой - странно. Т.е. она пихалась ребенком окну, скажем, скиллов, но при этом вылезала за его границы?именно (я по 1 времени даже не знал получилось или нет ее добавить, кнопочки не было видно, эт потом я ее увидел в центре экрана, когда растянул размер родительской панели).
-
Code:Выравнивание любого виджета идет относительно его родительского виджета.
Прааавда? а то я не знал(( Перечитайте предыдущие сообщения чтоб быть в курсе вопроса.
Когда я делал кнопку, она ну никак не хотела выравниваться по окошку куда я ее впихнул, причины мне были не понятны, как только я делал выравнивание по центру кнопка уползала в центр экрана, а не окошка.
Я еще раз повторюсь мне нужно было поместить кнопочку в панель набора талантов, чтоб при нажатии ее мне пришло событие, кнопка должна быть внутри мейн формы, мейн форма должна быть на том окошке (просто пихнуть кнопку туда не вариант, события от ее нажатия мне приходить не будут), проблема была в том что мейн форма имея выравнивание по центру выравнивалась относительно всего экрана (причина возможна в том что ее перемещение на виджет талантов идет уже в коде).
ЗЫ Я не стал долго думать над "правильным" решением, уж больно утомительно пере запускать каждый раз клиент на моем калькуляторе. -
Если это ответ на мой предыдущий пост, то я в курсе как задавать позицию и выравнивание.
Моя проблема (точнее рукожопость разработчиков) заключалась в том что мейн форма выравниваться по центру или низу другого окна (идет выравнивание относительно всего экрана, по его размерам). А запихнуть нужно было именно ее чтоб шли сообщения о нажатии кнопки.
-
Самое смешное что это не такая существенная функция для получения списка юнитов вокруг (я ее использовал только для обновления списка при сбросе аддона). Такое впечатление что сверху поступила команда чтоб к МАП ассист манагеры не работали, и однмин отвлешшись от просмотра порнухи недолго думая решил эту проблему отпилив первое что пришло в голову.
-
От поэтому выкладывать чтото для общего пользования - зло.. Когда используется только для себя (ну в узком кругу людей) наамного безопаснее.
Ведь отпиливанием пары тех фунций херят не только таргет мэнеджеры (ну запретили бы выделять игроков не из пати, рейда), но ведь нет пошли самым простым путем, убрать!!!!
-
Code:Так что - дарите счастье тем, кто еще может и хочет. Или сами делайте что хотите
Года 1.5-2 назад когда не было такого срача в игре, еще было желание делать что-то, для всех, сейчас уже такого нет -
Code:Ну, собственно, за последние полгода кое-что успели по(резать)менять
Или ошибки были всегда?
Не в укор к кому либо, просто когда одного согильдийца достало чистить mods.txt от спама ошибок в одном из аддонов, и он попросил исправить это, я даже не взялся, код абсолютно ничитаем. Ошибки были всегда (хотя я понимаю что в аддонах для аллодов без этого никуда, уж очень криво там все), но их ведь можно минимизировать? Но с другой стороны хорошо хоть так но есть -
Ну вот конкетный пример:
Сделан аддон для загрузки билда и панелек (уж очень меня достало каждый раз после сброса билда КМВ, набирать его снова и раскидывать умения). На аддон было затрачено N-ое кол-во времени (восновном афкал пока меня возили до островов и фармили на перевозках). И скажи от зачем мне выкладывать его просто так в паблик, зная что возможно аддону потом отпилят его функционал (не дай бог разработчикам покажется что это слишком облегчает жизнь игрокам).
Тот аддон хоть и работает только внутри гилдии, но и это не защита от взлома (другой аддон с подобной защитой уже взломали). Lua слабо защищен от декомпиляции, тут поможет только шифрование и обфускация кода, а вот это уже намного сложнее (на написание защиты у меня ушло гораздо больше времени чем на сам код аддона).
ЗЫ народ идеями просто фонтанирует, но вот взять и сделать что то сложно, а мысль что за это надо платить (пусть и весьма символическую плату) вызывает дикий агр.
-
Code:как в аддоне не словить ошибку теперь?
Впечатлен такой постановкой вопроса..
ЗЫ теперь более менее понятны причины дикого спама ошибок в аддонах made by icreator -
у меня уже есть готовый вариант аддона для загрузки билдов, но в паблик выкладывать не вижу смысла (как показывает практика, слишком удобные вещи часто отпиливают).
-
?? отключите этот аддон (для надпсией) через к примеру AddonManager называется если не ошибаюсь ContextWarnings както так/
-
Еще раз про кнопку в одном из окон системных аддонов.
Понадобилось мне сделать такую кнопочку в панельке талантов, казалось бы что проще? Пихнул ее через AddChild и все, ан нет, тогда сообщения о нажатии не поступают в скрипт. Чтобы сообщения поступали в скрипт, добавлять нужно только mainForm, Но вот незадача, помимо кнопки у меня там и другие панельки, и пихать их туда вместе с кнопой ну не вариант(.
Вобщем решил пойти извращенным путем что написал выше, сделал ОТДЕЛЬНЫЙ аддон на кнопку (уже изврат, но что поделаеш), запихнул форму аддона на нужную панельку и .... и тут облом, ну не хочет мейн форма выравниваться по центру или низу, ну никак (хотя работает). Вобщем подсчитал ее расположение вручную, запихал, и вроде успокоился..
Код для желающих во вложении...
File: BildManagerButton.pak -
Вобщем пока вижу один выход делать для кнопки отдельный аддон, и мейн форму добавлять в качестве ребенка в нужное окошко. Ну потом уже слать эвенты оттуда своему основному аддону.
-
Quote:Вопрос знатокам.
Есть аддон с MainForm в которой находятся все его элементы.
Необходимо в форму системного аддона добавить дочернюю кнопку, чтоб ее мог обрабатывать аддон.
Насколько я помню, при нажатии кнопки сообщение передается материнскому виджету (в нашем случае системному аддону). Единственным возможным вариантом вижу создание еще одной формы, которая и будет привязана к системному аддону.
Теперь вопрос: как обратиться ко второй, не MainForm форме? Ну или какие возможные варианты решения задачи.
Столкнулся с такой же проблемой,
Переношу кнопку на виджет другого аддона, и мне перестают приходить сообщения ее нажатии.Code:
stateMainForm:GetChildChecked("ContextTalents", false):GetChildChecked("Parent", false):AddChild(show_button)
Там кнопку нажать можно уже, но вот сообщения нажатии нет -
Уж проще текстурку прицела сменить (что я у себя и сделал)
Code:wCanonTarget = stateMainForm:GetChildUnchecked("ContextShipDeviceCrosshair",false)wCanonTarget:SetBackgroundTexture(common.GetAddonRelatedTexture("Aura01A"))
wCanonTarget:SetBackgroundBlendEffect( BLEND_EFFECT_ALPHABLND )
wCanonTarget:SetBackgroundColor( {r = 1, g = 0, b = 0, a = 1} )
setSize(wCanonTarget, 96, 96)
-
Хотел сделать (хотя думаю переделаю под себя данный аддон) что то подобное...
Посмотрел код, немного удивил метод поворота координат, все гораздо проще..
Code:local angle = - transport.GetDirection( getMyShipID() ) + math.pi
local dX = pos.posX - avatarPos.posX
local dY = pos.posY - avatarPos.posY
local dist = math.sqrt(dX*dX + dY*dY)
local cos = math.cos(angle)
local sin = math.sin(angle)
local x = dX * sin + dY * cos
local y = dX * cos - dY * sin
local rr = 175 - ( uInfo.targ and 0 or 25 )
wtSetPlace( w, { posX= rr / dist * x, posY= rr / dist * y} )
end
Надеюсь помог (подправил код, исправил знаки)..
-
Как можно изменить цвет произвольного значения в 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 был сначала зеленым, потом желтым потом красным, но это не затрагивало остальные значения.
-
Мне нужны баффы не только на аватаре, но и в пати/рейде, ну и некоторых мобов.
Смысл ошибки мне понятен (да я запомнил бафф и объект при его появлении, и когда произошло изменение баффов в ивенте EVENT_OBJECT_BUFFS_CHANGED на этом объекте, пытаюсь проверить существует ли он еще, если нет то сделать чтото), но вот нафига при этом чтото писать в файл? просто думал что есть аналог try/catch.
А вот что за потоки? Я не большой спец в lua, так почутка интересуюсь..
PS да я уже пришел к тому что приходится искать бафф при помощи object.GetBuffs(), это медленней, но чтож делать как обычно через костыль..
Идиотская нумерация секторов, например.
в Вопросы и ответы
Опубликовано
Спс очень пригодилось