Anonymous
Anonymous
то что нужно
Highly Likely
то что нужно
Направление куда копать я дал :-)
Anonymous
А как это в луа реализовать?
Я так полагаю tonumber
Highly Likely
https://stackoverflow.com/questions/27294310/convert-hexadecimal-to-decimal-number
Highly Likely
А в чем задача то стоит?
Anonymous
Нужно получить число из адресса
Anonymous
Для скрипта
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
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 можно сделать , а оказалось нет
Anonymous
Я так пробовал,выдает неверное число
Pavel
mva
нет
mva
но надо же как-то попытаться изобразить хорошую мину :)
Igor
Alexey
Может не умещается в lua_Integer?
Igor
Не думаю, что это возможно
Igor
lua_Integer это тайпдеф от ptrdiff_t
Igor
И вообще, если верить тому, что он написал, то его адрес даже в 32 битное число умещается
Anonymous
А мне нужно чтоб вышло -853718208
Alexey
А ну тогда Lua тут не причем :)
Anonymous
А что при чем?))
Denis
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, с луями и либами.
Egor
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
но это уже частности
Ivan
Egor
Egor
то что надо
Snusmumriken
Snusmumriken
Медаль за честь и отвагу
Egor
Egor
хотя это же RSS
Yuriy
всем привет
мб кто сталкивался... у lua есть огрангичение на количество локальных таблиц?
У меня просто есть модуль в котором обхявлена таблица
Модуль покрыт тестами
И если тестов больше чем n то эту таблицу он найти не может... и у меня уже немного крышняк начинат ехать от этого ))