- 2,119
- 1,720
Кароч,типа база данных через Google Sheets
Сперва создаем таблицу(не думаю что это ебать как сложно)
После этого,ну пишем данные,к премеру проверку на скрипт через серийник:
делаем вот так таблицу
Сперва создаем таблицу(не думаю что это ебать как сложно)
После этого,ну пишем данные,к премеру проверку на скрипт через серийник:
делаем вот так таблицу
Серийник жеского диска | Ник_Нейм для удобства | время в формате os.time |
Lua:
print(os.time{year=2022, month=10, day=7, hour=0})
-- 1665129600
после того как закончили с таблицей,необходимо получить ссылку на JSON таблицы,сначала делаем таблицу публичную
после этого,в адресной строке копируем наш /PROJECT_ID/
https://docs.google.com/spreadsheets/d/1M2nDzK9vWharFyq1eJYhPXUXL8_-xfhqLHJlokKm3mU/edit#gid=0
/d/____/
и вставляем сюда вместо PROJECT_ID
https://docs.google.com/spreadsheets/d/PROJECT_ID/gviz/tq
должно получиться так
https://docs.google.com/spreadsheets/d/1M2nDzK9vWharFyq1eJYhPXUXL8_-xfhqLHJlokKm3mU/gviz/tq
Получение данных с таблицы
Lua:
function getserial()
ffi.cdef([[
int __stdcall GetVolumeInformationA(
const char* lpRootPathName,
char* lpVolumeNameBuffer,
uint32_t nVolumeNameSize,
uint32_t* lpVolumeSerialNumber,
uint32_t* lpMaximumComponentLength,
uint32_t* lpFileSystemFlags,
char* lpFileSystemFlags,
uint32_t nFileSystemNameSize
);
]])
local slot0_a1129 = ffi.new("unsigned long[1]", 0)
ffi.C.GetVolumeInformationA(nil, nil, 0, slot0_a1129, nil, nil, nil, 0)
return slot0_a1129[0]
end
--
local r = requests.get('https://docs.google.com/spreadsheets/d/1M2nDzK9vWharFyq1eJYhPXUXL8_-xfhqLHJlokKm3mU/gviz/tq') -- ССЫЛКА НА ТАБЛИЦУ JSON
local j = decodeJson(r.text:gmatch('google%.visualization%.Query.setResponse%((.+)%);')()) -- получение JSON
local auth = false
for k,v in pairs(j.table.rows) do -- парсинг
if (v.c[1].v) == getserial() then -- проверка ли есть такой серийник
if (v.c[3].v) > os.time() then -- если да,то проверяем по времени
sampAddChatMessage('лицензия подошла к концу!')
else
auth = true
sampAddChatMessage('Вы успешно авторизовались!')
end
end
end
if auth == false then
sampAddChatMessage('Вас нет в базе данных!')
end
Приемущества Google Sheets?
Не знаю,заметил что быстро обновляеться таблица после изменений в ней.
Удобно редактировать.
И хостинг не надо покупать.
Не знаю,заметил что быстро обновляеться таблица после изменений в ней.
Удобно редактировать.
И хостинг не надо покупать.
JSON:
/*O_o*/
google.visualization.Query.setResponse({"version":"0.6","reqId":"0","status":"ok","sig":"530337372","table":{"cols":[{"id":"A","label":"","type":"number","pattern":"General"},{"id":"B","label":"","type":"string"},{"id":"C","label":"","type":"number","pattern":"General"}],"rows":[{"c":[{"v":3217442.0,"f":"3217442"},{"v":"Nick_Name"},{"v":1.6648704E9,"f":"1664870400"}]},{"c":[{"v":228.0,"f":"228"},{"v":"Sespan_Vespan"},{"v":1.66488E9,"f":"1664880000"}]}],"parsedNumHeaders":0}});
Последнее редактирование: