Классы
Статы, идеальное соотношение · Умения и вехи, как получить · Души · Сравнение классов
Воин · Жрец · Некр · Лучник · Шаман · Мист · Бард · Инж · Демон
Игровой процесс
Как одеваться · Драконий облик · Наследие Богов · Фарм золота
Прохождения локаций
Мониторинг серверов и редактор аддонов
Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.
Подсказки из игры на вашем сайте
Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.
Zaam
Пользователь-
Постов
101 -
Зарегистрирован
-
Посещение
Тип контента
Загрузки
Форумы
Статьи и объявления
Гардероб
Маунты
Сообщения Allods Team
Магазин
Галерея
Весь контент Zaam
-
Do not take into account the improvement of mortar. Be testing, thank you.
-
Но, пока модератор не проверил, не факт, что даст скачать.
-
Версия 1.15
37 737 раз скачали
Показывает что можно сварить из того, что выпало на барабанах и в какую сторону для этого нужно крутить барабаны. Бесплатная версия для пираток опубликована отдельно. Новая версия. Перед установкой старую версию следует удалить. Изменения: Полностью переписан алгоритм поиска совпавших рецептов. Новый заметно быстрее. Добавлена поддержка мандрагоры. Немного переделан вид окна алхимии для более близкого расположения стрелок доворотов. Добавлен файл с настройками - Config.lua. Настройки: MaxPlates - максимальное число выводимых рецептов. Если найдено рецептов больше, чем эта величина, отобразятся только самые высокоуровневые, прочие будут скрыты. Должен быть не меньше 1 Spacer - зазор меж плашками с требуемыми корректировками. 0 - без зазора, на скриншоте Spacer = 1. bMoveButtons - Если true, окно алхимии будет переиначено как на скриншоте. Если false - интерфейс изменяться не будет. Известные ошибки: Аддон спамит в mods.txt когда какой-либо из компонентов заканчивается. Победить можно пересадкой рук на надлежащее место тому, кто решил, что функции проверки наличии item'а в слоте недостаточно вернуть nil для пустого слота, а нужно еще в mods.txt насрать.От 10 ₽ -
AlchemyHelper Просмотр файла Показывает что можно сварить из того, что выпало на барабанах и в какую сторону для этого нужно крутить барабаны. Бесплатная версия для пираток опубликована отдельно. Новая версия. Перед установкой старую версию следует удалить. Изменения: Полностью переписан алгоритм поиска совпавших рецептов. Новый заметно быстрее. Добавлена поддержка мандрагоры. Немного переделан вид окна алхимии для более близкого расположения стрелок доворотов. Добавлен файл с настройками - Config.lua. Настройки: MaxPlates - максимальное число выводимых рецептов. Если найдено рецептов больше, чем эта величина, отобразятся только самые высокоуровневые, прочие будут скрыты. Должен быть не меньше 1 Spacer - зазор меж плашками с требуемыми корректировками. 0 - без зазора, на скриншоте Spacer = 1. bMoveButtons - Если true, окно алхимии будет переиначено как на скриншоте. Если false - интерфейс изменяться не будет. Известные ошибки: Аддон спамит в mods.txt когда какой-либо из компонентов заканчивается. Победить можно пересадкой рук на надлежащее место тому, кто решил, что функции проверки наличии item'а в слоте недостаточно вернуть nil для пустого слота, а нужно еще в mods.txt насрать. Добавил Zaam Добавлено 16.04.2013 Категория Аддоны
-
Ну да упустил. Только зачем временная переменная? Почему нельзя вместо "local t = {}" "tbl[n] = {}"?А вообще, получается "Ехал цикл через цикл, видит цикл в цикле цикл..."
-
Именно это я и подозревал, но не нашел нигде инфы, как передать по значению. Правда, особо и не искал, ибо херня какая-то - в других местах таблицы нормально копируются, а перезапись происходит в пределах неймспейса внутреннего цикла. И значит ли это, что если заменить. tbl[n] = vi tbl[n][4] = vj на for kk, vk in vi do tbl[n][kk] = vk end tbl[n][4] = vj то всё заработает, так как передаются не таблицы?
-
Не сработает с входными параметрами {{1, 2, 3, 4}, {5, 6, 7, 8}} и {9, 0}, например. И результат {1, , , 7} { , 2, , 8} { , , 3, 9} {4, , , 7} { , 5, , 8} { , , 6, 9} не совсем то, что мне нужно.
-
Вот собственно и интересует, почему не катит. for i=1,3 do if t==i then ... t=t+1 end n = n + 1 end Зачем тут эти пляски с условием, если оно всегда будет выполняться? Нет, не покатит, так как длина таблиц в первой таблице и длина второй таблицы переменная. Это я для того, чтобы убедиться, что баг именно в этом участке кода, написал тест с простыми входными данными.Более того, если код доработать: local n = 1 local tbl = {} for ki, vi in {{1, 2, 3},{4, 5, 6}} do for kj, vj in {7, 8, 9} do tbl[n] = vi tbl[n][4] = vj LogTable(tbl[n]) n = n + 1 end end LogInfo("-------------------------") LogTable(tbl) то он выдаст: {1, 2, 3, 7} {1, 2, 3, 8} {1, 2, 3, 9} {4, 5, 6, 7} {4, 5, 6, 8} {4, 5, 6, 9} ------------------------- {{1, 2, 3, 9}, {1, 2, 3, 9}, {1, 2, 3, 9}, {4, 5, 6, 9}, {4, 5, 6, 9}, {4, 5, 6, 9}} То есть, во внутреннем цикле всё замечательно работает и присваивается, но почему-то на каждой итерации перезаписывает значение добавленного элемента.
-
Я сегодня весь день этот баг ловил. Тут, так сказать, он кристально чистый. А вот в той лапше, в которую он затесался его найти - у меня уже 3 раза мозг взрывался.
-
Нарисовал такой вот код: local n = 1 local tbl = {} for ki, vi in {{1, 2, 3},{4, 5, 6}} do for kj, vj in {7, 8, 9} do tbl[n] = vi tbl[n][4] = vj n = n + 1 end end ожидаю, что на выходе tbl будет равна {{1, 2, 3, 7}, {1, 2, 3, 8}, {1, 2, 3, 9}, {4, 5, 6, 7}, {4, 5, 6, 8}, {4, 5, 6, 9}} но внезапно получаю {{1, 2, 3, 9}, {1, 2, 3, 9}, {1, 2, 3, 9}, {4, 5, 6, 9}, {4, 5, 6, 9}, {4, 5, 6, 9}} WTF?
-
ИМХО, привязывать замеры времени к какой-либо анимации стоит только тогда больше не к чему привязаться. И то, это способ создать свое событие, а время лучше отдельно вычислять, а не считать, что оно равно величине переданной в "Sleep". В данном случае есть подходящее событие - EVENT_AVATAR_POS_CHANGED. Я сделал через него, и получил гладкую скорость, замеры совпадают почти со всеми известными скоростями в игре. Единственное исключение - скачки скорости при полете на корабле, но там как бы есть родной спидометр.
-
Копипаст рулит. Да и не в глобалах там дело. Овёс и зайцы - лишнее, а вот километры - нужны.
-
Вот с этими: upd: Скачал, поглядел, так и не понял, с какой же скоростью персы бегают пешком. Я точно теперь не буду заниматься гуем в своем аддоне, потому поделюсь кодом: Global( "pos" , nil ) Global( "sp" , 0.0) -- Скорость Global( "dst" , 0.0) -- Суммарный пройденный путь Global( "mseconds" , 0) Global( "SPwork" , false) Global( "wtMessage", nil ) function ShowSpeed() wtMessage:SetVal( "speed", common.FormatFloat(sp, "%.2f" )) wtMessage:SetVal( "dist", common.FormatFloat(dst, "%.1f" )) end function OnSlashCommand( params ) if userMods.FromWString(params.text) == "/ызв" or userMods.FromWString(params.text) == "/spd" then if SPwork==false then SPwork = true common.RegisterEventHandler(OnPosChanged, "EVENT_AVATAR_POS_CHANGED") common.RegisterEventHandler(OnEventTimer, "EVENT_SECOND_TIMER") pos = avatar.GetPos() mseconds = mission.GetPlayTimeMs() dst = 0 ShowSpeed() wtMessage:Show(true) else SPwork=false common.UnRegisterEventHandler(OnPosChanged, "EVENT_AVATAR_POS_CHANGED") common.RegisterEventHandler(OnEventTimer, "EVENT_SECOND_TIMER") wtMessage:Show(false) end end end function OnPosChanged(params) local newpos = avatar.GetPos() local newmseconds = mission.GetPlayTimeMs() local dX = newpos.posX - pos.posX local dY = newpos.posY - pos.posY local dT = newmseconds - mseconds pos = newpos mseconds = newmseconds local dS = math.sqrt(dX * dX + dY * dY) if dS < 50 then sp = dS * 1000 / dT dst = dst + dS ShowSpeed() end end function OnEventTimer(params) if mission.GetPlayTimeMs() - mseconds > 100 then -- Если положение не менялось больше, чем 0,1 с, то sp = 0 -- персонаж стоит на месте. ShowSpeed() end end function Init() common.RegisterEventHandler( OnSlashCommand, "EVENT_UNKNOWN_SLASH_COMMAND") wtMessage = mainForm:GetChildChecked( "Announce", false ) wtMessage:Show( false ) end Init() Ну и в качестве пожелания - запилить круглый вариант, чтобы можно было его не прислонять к нижней панельке и добавить одометр, тогда ваще отличный аддон будет.
-
Я остановился на этом: if FileExists ( "GameCenterLight\[email protected]" ) Then FileMove ( "GameCenterLight\[email protected]", "GameCenterLight\[email protected]" ) EndIf Run("Launcher.exe") WinWaitActive("[CLASS:NIVAL_MMO_ENGINE]") FileMove ( "GameCenterLight\[email protected]", "GameCenterLight\[email protected]" ) ProcessClose("[email protected]") Запуск - http://www.autoitscr...om/site/autoit/ Он умеет делать и экзешники.
-
А нафига такой геморрой с фадеэфектами?
-
Пока только у меня есть, но я жадный и не поделюсь. По крайней мере, пока не повычищу весь говнокод, а то перед людьми стыдно.
-
Короче, как-то так. Всего то 10 kB индокода. На гуй пока забил. Как снизойдет вдохновение - может допилю. А заодно, поубавлю количество индусов в коде. И, если меня склероз не подводит, максимум видел 7 разных банок, которые можно было довернуть в одной варке.
-
Рили? А не доводилось варить для соги 400 банок на статы за раз? Все и не нужно.
-
Еще б подсказка выводилась, куда крутить и что из этого получится - тогда можно было бы вообще стандартный аддон не уродовать.
