Anonymous
Anonymous
то что нужно
Highly Likely
то что нужно
Направление куда копать я дал :-)
Anonymous
А как это в луа реализовать? Я так полагаю tonumber
Highly Likely
https://stackoverflow.com/questions/27294310/convert-hexadecimal-to-decimal-number
Anonymous
Направление куда копать я дал :-)
Большое спасибо, если бы я еще что то понимал 😂
Highly Likely
Большое спасибо, если бы я еще что то понимал 😂
У меня было предположение, что если человек дошел до этого этапа в программировании, он должен примерно понимать что делает и зачем
Highly Likely
А в чем задача то стоит?
Anonymous
Нужно получить число из адресса
Anonymous
Для скрипта
Highly Likely
Большое спасибо, если бы я еще что то понимал 😂
https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4
Highly Likely
Have fun :-)
Highly Likely
Может быть придет @Snusmumriken и даст готовый код, потому что мне лень
Anonymous
Понял, спасибо и на этом
Ivan
local Long = require('long') local longVal = Long.new(0xFFFFFFFF, 0x7FFFFFFF) print(longVal:toString())
Ivan
nubix-io/lua-long: A pure Lua Long class for representing a 64 bit two's-complement integer https://github.com/nubix-io/lua-long
Highly Likely
Тащить лишнюю либу для этого
Ivan
Бегло нагуглил
Ivan
Да пусть тащит
Anonymous
Что то помоему это велосипед получается 😁 Я на самой поверхности lua..
Ivan
Зато ты решишь задачу
Anonymous
Да мне проще сделать так gg.searchNumber((seven[1].address -0x30),gg.TYPE_DWORD) forCheck = gg.getResults(1) где (seven[1].address -0x30) равно CA146450 и forCheck[1].value будет уже как раз нужное число
Anonymous
Это конечно не так грамотно, но снимает уйму гемороя
Anonymous
Я просто думал это с помощью tonumber можно сделать , а оказалось нет
Igor
Я просто думал это с помощью tonumber можно сделать , а оказалось нет
Можно. Если адрес по какой-то причине представлен как HEX строка (что уже само по себе странно), то нужно просто вторым аргументом для tonumber'a передать основание СС, из которой переводишь. Что-то вроде: num = "FFCD99" num = tonumber(num, 16)
Anonymous
Я так пробовал,выдает неверное число
mva
нет
mva
но надо же как-то попытаться изобразить хорошую мину :)
Igor
Я так пробовал,выдает неверное число
В смысле не верное число????
Alexey
Может не умещается в lua_Integer?
Igor
Не думаю, что это возможно
Igor
lua_Integer это тайпдеф от ptrdiff_t
Igor
И вообще, если верить тому, что он написал, то его адрес даже в 32 битное число умещается
Anonymous
В смысле не верное число????
Всмысле a = 'CD1D4B40' print(tonumber(a,16)) это выйдет 3441249088
Anonymous
А мне нужно чтоб вышло -853718208
Alexey
А ну тогда Lua тут не причем :)
Anonymous
А что при чем?))
Denis
А мне нужно чтоб вышло -853718208
попробуй 2 ^ 32 - (твоё число)
Anonymous
Denis
2 ^ 32 - tonumber(a, 16)
Anonymous
a="CD1D4B40" print(2 ^ 32 - tonumber(a, 16))
Anonymous
Anonymous
Теперь бы еще минус добавить)) Ну это уже тупо конкатенацией можно, но спасибо большое
Denis
ну вообще чтобы минус был переставить местами аргументы и всё) tonumber(a, 16) - 2 ^ 32
Anonymous
О,все четко)) Еще раз спасибо большое
🐅🤦‍♂️
В копилочку говнокода function hex2dec_complement(str) local cnvrt = { ["0"] = 0, ["1"] = 1, ["2"] = 2, ["3"] = 3, ["4"] = 4, ["5"] = 5, ["6"] = 6, ["7"] = 7, ["8"] = 8, ["9"] = 9, ["a"] = 10, ["b"] = 11, ["c"] = 12, ["d"] = 13, ["e"] = 14, ["f"] = 15, ["A"] = 10, ["b"] = 11, ["c"] = 12, ["D"] = 13, ["E"] = 14, ["F"] = 15, } local res = 0 for i = #str, 1, -1 do res = res + (16 ^ (#str - i)) * cnvrt[string.sub(str, i, i)] end return 2 ^ 32 - res end
Ivan
опечатка
Ivan
два раза ["c"] в нижнем регистре
Ivan
и b — тоже
Anonymous
a="CD1D4B40" function hex2dec_complement(str) local cnvrt = { ["0"] = 0, ["1"] = 1, ["2"] = 2, ["3"] = 3, ["4"] = 4, ["5"] = 5, ["6"] = 6, ["7"] = 7, ["8"] = 8, ["9"] = 9, ["a"] = 10, ["b"] = 11, ["c"] = 12, ["d"] = 13, ["e"] = 14, ["f"] = 15, ["A"] = 10, ["B"] = 11, ["C"] = 12, ["D"] = 13, ["E"] = 14, ["F"] = 15, } local res = 0 for i = #str, 1, -1 do res = res + (16 ^ (#str - i)) * cnvrt[string.sub(str, i, i)] end return res-2 ^ 32 end print(hex2dec_complement(a))
Anonymous
a="CD1D4B40" function hex2dec_complement(str) local cnvrt = { ["0"] = 0, ["1"] = 1, ["2"] = 2, ["3"] = 3, ["4"] = 4, ["5"] = 5, ["6"] = 6, ["7"] = 7, ["8"] = 8, ["9"] = 9, ["a"] = 10, ["b"] = 11, ["c"] = 12, ["d"] = 13, ["e"] = 14, ["f"] = 15, ["A"] = 10, ["B"] = 11, ["C"] = 12, ["D"] = 13, ["E"] = 14, ["F"] = 15, } local res = 0 for i = #str, 1, -1 do res = res + (16 ^ (#str - i)) * cnvrt[string.sub(str, i, i)] end return res-2 ^ 32 end print(hex2dec_complement(a))
Anonymous
И вам спасибо большое)
Snusmumriken
Хмм. С год назад, накалякал на коленке луёвый скрипт для перевода всякой фигни из консольки через гугл-транслейт (справа), а сейчас, начал читать не только комиксы на английском, но и Настоящую Художественную Литературу, и чтобы переводить выделенный где угодно текст шорткатом, накатал скрипт на AHK (слева). И возникло много вопросов на тему "что курили разработчики AHK, когда делали этот синтаксис" : ) Пойду писать свой ahk, с луями и либами.
Snusmumriken
А, потому что год назад я не держал в голове os.clock(), который даёт милисекунды, и для более-менее точного замера всю дорогу юзал socket.gettime(). С другой стороны, именно тут сокеты тоже реквайрятся в ssl.https, так что не важно.
Snusmumriken
Но я к тому что мне очень нравится концепция ahk, но очень не нравится местный синтаксис (страшнее чем у пыха) и прочие решения : ) Спасибо хоть функции можно дефайнить, и вроде даже классы.
Egor
@Snusmumriken случайно не работал с youtube API?
Snusmumriken
Например, посмотри на эту функцию RegExMatch. Первой в неё пихается строка, второй — странная регулярка, а третьей — имя переменных, в которые будут складироваться найденные фиговины. То есть, если в регулярке один match (скобки) — то если указать text — оно сохранит этот один match в text1, если два match'а, с тем же text третьим аргументом — оно сохранит первый в text1 а второй в text2. Это какое-то безумие, честно говоря : )
Snusmumriken
Не а, а что интересует? : )
Egor
Не а, а что интересует? : )
ну, не на луа, на питоне, но вообще про возможность получить новые видосы с канала. Хочу на ДС сервер кидать уведомления типа - вышел новый видос. Есть вариант конечно парсить саму страницу, но такое )
Snusmumriken
Хмм. https://developers.google.com/youtube/v3/docs/search?hl=ru
Snusmumriken
Апишка в целом простая, типа запрашиваем список видосов на конкретном канале, если появился более новый чем предыдущий (дату которого мы запомнили) — значит тут появился новый видос! И нужно кидать на него ссылку! Можно лонг-поллингом, условно раз в пол часа запрашивать.
Egor
по крону =)
Snusmumriken
Крон?
Egor
ну, чекалку в крон запихать
Snusmumriken
Snusmumriken
Ничего не понял, ну ладно ))
Egor
лонг поллинг и тд..они дохнут, а крон стабильно работает.
Snusmumriken
Да ничего с ними не будет. Как сдохли так и реконнектнешься )) Гипотетически, думаю можно извернуться с чтением браузерных оповещений. Ну, нажали на колокольчик, подписались на канал, направили на подставной питоновый эмулятор браузера эти нотификейшны и читаем. Но тут уже push-хрень.
Egor
но это уже частности
Egor
то что надо
Snusmumriken
Snusmumriken
Медаль за честь и отвагу
Egor
rss? https://www.youtube.com/feeds/videos.xml?channel_id=CCCCC https://www.youtube.com/feeds/videos.xml?user=USERNAME
интересно, можно ли быть уверенным, что первое сообщение и есть самое последнее.
Egor
хотя это же RSS
Yuriy
всем привет мб кто сталкивался... у lua есть огрангичение на количество локальных таблиц? У меня просто есть модуль в котором обхявлена таблица Модуль покрыт тестами И если тестов больше чем n то эту таблицу он найти не может... и у меня уже немного крышняк начинат ехать от этого ))