Igor
Вообще по идее Lua не обрезает числа, а дописывает такими, какими они должны быть в форматировании
Igor
Но что-то даже не знаю
Igor
Вообще что-то странное творится, чтобы понять, что именно не так, это мне надо скачивать эту игру, разбираться с API GameGuardian и самому всё отлаживать, но делать это мне как-то не сильно хочется
Igor
А string.format тут в примерах только для вывода адреса в HEX используется
Igor
Вообще хранить адреса в hex строке - это дурной тон. Таким заниматься не надо, если только это не делается для вывода адреса в stdout/stderr.
Anonymous
Суть в том что при присвоении value в address выходит вот так:
Anonymous
Igor
64битное число
Anonymous
Формат адреса отличается от других длинной
Anonymous
Вот, а как мне задать ему формат 32х битного?
Igor
Не поместится вот это число в 32 бита
Anonymous
Мда уж...
Anonymous
Или я может не так выразился, как мне задать возврат адреса в 32 битном варианте?
Anonymous
Не преобразовывать уже 64 битный, а изначально получить 32х битный
Igor
Без понятия. Ибо я не знаю, что и как работает в GG
Anonymous
Понял, спасибо и на этом
Anonymous
Пойду позадрачиваю разраба))
Igor
Вообще можешь попробовать из полученного адреса вычесть 0xffffffff
Snusmumriken
Но не факт что прокнет. Но попытка не пытка.
Igor
Угу
Igor
Может он первые 4 байта заливает FF, потому что адрес 32битный
Anonymous
Ну вот в интерфейсе взял адрес 0xffffffffbf28a720 Убрал 0xffffffff Пошел к этому адресу, и это то что надо
Igor
Ну вот
Anonymous
Igor
Вычитай из 0xffffffffbf28a720 0xffffffff
Anonymous
Подскажите пожалуйста как это реализовать, ибо никогда со строками не работал, брал из примеров. Нужно сделать так: function idToPointer(id) local tmp = gg.getValues({{address = id, value=nil,flags=gg.TYPE_DWORD}}) -- и тут условие If (формат tmp[1].value) == (0xffffffffbf28a720) then return (вычесть из tmp[1].value 0xffffffff) elseif (формат tmp[1].value) == (0xbf28a720) then return tmp[1].value end
Igor
Не знаю, может что-то такое? if(tmp[[1].value > 0xffffffff) return tmp[1].value - 0xffffffff else return tmp[1].value
Anonymous
if (tmp[1].address > 0xffffffff) then local tmp1 = gg.getValues({{address = (tmp[1].address-0xffffffff), value=nil,flags=gg.TYPE_DWORD}}) return tmp1[1].value else return tmp[1].value end
Anonymous
Но тоже не работает
Anonymous
Неправильный формат условия
Anonymous
Вся хрень в том что адрес исходным числом так и остается... что бы я ни делал, нужно именно как то форматировать число в строку адреса
Anonymous
Какой функцией можно десятеричное число конвертироватт в Hex signed 2's complement ?
Low
Вычитай из 0xffffffffbf28a720 0xffffffff
не, тут нужно бинарное и если надо 32 бита получить - 0xffffffffbf28a720 & 0xffffffff
Igor
А, ну да, в ночи голова не очень работает, там же от старших к младшим разрядам.
Anonymous
Народ, подскажите пожалуйста, имею таблицу с числами,есть ли функция для удаления повторяющихся чисел?
Snusmumriken
У тебя просто массив чисел?
Anonymous
Да
Snusmumriken
Порядок важен?
Anonymous
Нет
Snusmumriken
Концепция примерно такая. Это нифига не быстро, но типа коротко. myTable = {3, 2, 1, 5, 2, 8, 16} function removeDoubles(t) table.sort(t) local last = t[#t] for i = #t - 1, 1, -1 do if t[i] == last then table.remove(t, i) end last = t[i] end return t end removeDoubles(myTable)
Snusmumriken
Есть ещё вариации с хашмапой, мол, добавляем элементы таблицы в мапу типа hash[number_value] = true, а потом разворачивание ключей хашмапы в список. Тут нет сортировок и множества сдвигов из-за table.remove, но это жрёт память ))
Anonymous
Anonymous
Anonymous
Пока и так вроде почистило, спасибо большое)))
Snusmumriken
Ух ты, первый кажется-не-робот за последнюю неделю.
Korsar
А может они просто обучаются 🧐
Snusmumriken
Слишком много мороки, экономически не выгодно.
Korsar
Порабощение человечества может начаться с телеграм-каналов
Johny
А может они просто обучаются 🧐
Это экономически невыгодно.
Johny
Слишком много мороки.
Snusmumriken
Тэкс, падазрительна 🧐 Он уже обучился!
Korsar
Мне кажется вы пытаетесь намекнуть на то, что это экономически невыгодно
Korsar
Я же думаю что ещё слишком много мороки
Johny
Тэкс, падазрительна 🧐 Он уже обучился!
Мы просто пытаемся намекнуть.
Snusmumriken
Мы пишем сообщения, а робот-Максим обучается!
Korsar
Хватит ему помогать! Никто ничего не пишите больше!
Snusmumriken
Максим, сколько будет 0.1 + 0.2?
Snusmumriken
А, да, это точно наш.
Korsar
Он перезагрузился )
Snusmumriken
Я инструктировал Марка по ini-файлам в corona-чате, и даже писал ему парсер.
Johny
Johny
Я инструктировал Марка по ini-файлам в corona-чате, и даже писал ему парсер.
Блин, да. А у вас тут веселее, чем в Короне. P.S. Так что сперва поработим этот чат.
Johny
0.10.2
Korsar
Snusmumriken
Не робот! Спалился, ха!
Korsar
Джаваскриптер небось? (с)
Snusmumriken
Эта проблема у всех флоатов в принципе.
Korsar
Эта проблема у всех флоатов в принципе.
Я не про флоаты ) и я бы не сказал, что это проблема )
Snusmumriken
На самом деле это проблема, потому что вынуждает округлять для прямого сравнения. Ошибка приближения может быть как в плюс так и в минус.
Korsar
Просто суровые реалии цифровых подсчетов )
Korsar
По понятным причинам
Johny
Нет оператора кроме конкатенации, и двоеточие пророк его.
Korsar
Я тут недавно бабки пилил. Был отчёт с суммами с 15 знаками после запятой. Реализовали схему по которой деньги должны распределиться между аккаунтами по связкам с процентами. В некоторых случаях одну и ту же сумму надо было начислить в зависимости от процента нескольким разным людям. В итоге с полутора лямов получилась погрешность вычислений в 2 копейки 🙂
Korsar
Допустимо ящетаю
Snusmumriken
А потом эти две копейки кому-то платить, а если не уплочено — набегают проценты и штрафы!
Korsar
А потом эти две копейки кому-то платить, а если не уплочено — набегают проценты и штрафы!
Каждый месяц приходится переводить 2 копейки со своего счёта!)
Snusmumriken
Вручную, да
Snusmumriken
Я работаю в месте, где активно анализируются долги народа и организаций. И если долг в принципе есть (налоги/погашения, любой, просто факт его наличия) — у этих ребят могут быть проблемы, например, с получением кредита в куче российских банков, являющихся нашими клиентами. Снижение репутации. Это всё светится на весь двор как новогодняя ёлка: "Смотрите! У этой конторы есть долги!"