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

Дайджест за июль-сентябрь

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

Сентябрь Август Июль

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

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

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

Бот статистики для Telegram

Удобная аналитика в телефоне.

Подробнее

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

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

Подробнее

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

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

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

Zaam

Пользователь
  • Постов

    101
  • Зарегистрирован

  • Посещение

Весь контент Zaam

  1. Do not take into account the improvement of mortar. Be testing, thank you.
  2. Но, пока модератор не проверил, не факт, что даст скачать.
  3. Zaam

    AlchemyHelper

    Версия 1.15

    37 737 раз скачали

    Показывает что можно сварить из того, что выпало на барабанах и в какую сторону для этого нужно крутить барабаны. Бесплатная версия для пираток опубликована отдельно. Новая версия. Перед установкой старую версию следует удалить. Изменения: Полностью переписан алгоритм поиска совпавших рецептов. Новый заметно быстрее. Добавлена поддержка мандрагоры. Немного переделан вид окна алхимии для более близкого расположения стрелок доворотов. Добавлен файл с настройками - Config.lua. Настройки: MaxPlates - максимальное число выводимых рецептов. Если найдено рецептов больше, чем эта величина, отобразятся только самые высокоуровневые, прочие будут скрыты. Должен быть не меньше 1 Spacer - зазор меж плашками с требуемыми корректировками. 0 - без зазора, на скриншоте Spacer = 1. bMoveButtons - Если true, окно алхимии будет переиначено как на скриншоте. Если false - интерфейс изменяться не будет. Известные ошибки: Аддон спамит в mods.txt когда какой-либо из компонентов заканчивается. Победить можно пересадкой рук на надлежащее место тому, кто решил, что функции проверки наличии item'а в слоте недостаточно вернуть nil для пустого слота, а нужно еще в mods.txt насрать.
    От 10 ₽
  4. Zaam

    AlchemyHelper

    AlchemyHelper Просмотр файла Показывает что можно сварить из того, что выпало на барабанах и в какую сторону для этого нужно крутить барабаны. Бесплатная версия для пираток опубликована отдельно. Новая версия. Перед установкой старую версию следует удалить. Изменения: Полностью переписан алгоритм поиска совпавших рецептов. Новый заметно быстрее. Добавлена поддержка мандрагоры. Немного переделан вид окна алхимии для более близкого расположения стрелок доворотов. Добавлен файл с настройками - Config.lua. Настройки: MaxPlates - максимальное число выводимых рецептов. Если найдено рецептов больше, чем эта величина, отобразятся только самые высокоуровневые, прочие будут скрыты. Должен быть не меньше 1 Spacer - зазор меж плашками с требуемыми корректировками. 0 - без зазора, на скриншоте Spacer = 1. bMoveButtons - Если true, окно алхимии будет переиначено как на скриншоте. Если false - интерфейс изменяться не будет. Известные ошибки: Аддон спамит в mods.txt когда какой-либо из компонентов заканчивается. Победить можно пересадкой рук на надлежащее место тому, кто решил, что функции проверки наличии item'а в слоте недостаточно вернуть nil для пустого слота, а нужно еще в mods.txt насрать. Добавил Zaam Добавлено 16.04.2013 Категория Аддоны  
  5. Заменить циклы рекурсией?
  6. Ну да упустил. Только зачем временная переменная? Почему нельзя вместо "local t = {}" "tbl[n] = {}"?А вообще, получается "Ехал цикл через цикл, видит цикл в цикле цикл..."
  7. Именно это я и подозревал, но не нашел нигде инфы, как передать по значению. Правда, особо и не искал, ибо херня какая-то - в других местах таблицы нормально копируются, а перезапись происходит в пределах неймспейса внутреннего цикла. И значит ли это, что если заменить. tbl[n] = vi tbl[n][4] = vj на for kk, vk in vi do tbl[n][kk] = vk end tbl[n][4] = vj то всё заработает, так как передаются не таблицы?
  8. Не сработает с входными параметрами {{1, 2, 3, 4}, {5, 6, 7, 8}} и {9, 0}, например. И результат {1, , , 7} { , 2, , 8} { , , 3, 9} {4, , , 7} { , 5, , 8} { , , 6, 9} не совсем то, что мне нужно.
  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}} То есть, во внутреннем цикле всё замечательно работает и присваивается, но почему-то на каждой итерации перезаписывает значение добавленного элемента.
  10. Я сегодня весь день этот баг ловил. Тут, так сказать, он кристально чистый. А вот в той лапше, в которую он затесался его найти - у меня уже 3 раза мозг взрывался.
  11. Zaam

    Массивы

    Нарисовал такой вот код: 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?
  12. ИМХО, привязывать замеры времени к какой-либо анимации стоит только тогда больше не к чему привязаться. И то, это способ создать свое событие, а время лучше отдельно вычислять, а не считать, что оно равно величине переданной в "Sleep". В данном случае есть подходящее событие - EVENT_AVATAR_POS_CHANGED. Я сделал через него, и получил гладкую скорость, замеры совпадают почти со всеми известными скоростями в игре. Единственное исключение - скачки скорости при полете на корабле, но там как бы есть родной спидометр.
  13. Копипаст рулит. Да и не в глобалах там дело. Овёс и зайцы - лишнее, а вот километры - нужны.
  14. Вот с этими: 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() Ну и в качестве пожелания - запилить круглый вариант, чтобы можно было его не прислонять к нижней панельке и добавить одометр, тогда ваще отличный аддон будет.
  15. Я остановился на этом: 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/ Он умеет делать и экзешники.
  16. А нафига такой геморрой с фадеэфектами?
  17. Пока только у меня есть, но я жадный и не поделюсь. По крайней мере, пока не повычищу весь говнокод, а то перед людьми стыдно.
  18. Короче, как-то так. Всего то 10 kB индокода. На гуй пока забил. Как снизойдет вдохновение - может допилю. А заодно, поубавлю количество индусов в коде. И, если меня склероз не подводит, максимум видел 7 разных банок, которые можно было довернуть в одной варке.
  19. Рили? А не доводилось варить для соги 400 банок на статы за раз? Все и не нужно.
  20. Еще б подсказка выводилась, куда крутить и что из этого получится - тогда можно было бы вообще стандартный аддон не уродовать.
×
×
  • Создать...

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

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