Так ему скорее всего интересно как сделать серверную привязку. Единственный гайд который я видел на бх бы мне непонятен(для меня). Мне кстати писали люди с таким вопросом и ссылкой на тот гайд(и так же называли его непонятным)Ну не раз обсуждалось же...
![]()
Да еще это привязка по ип, а не по пк.Так ему скорее всего интересно как сделать серверную привязку. Единственный гайд который я видел на бх бы мне непонятен(для меня). Мне кстати писали люди с таким вопросом и ссылкой на тот гайд(и так же называли его непонятным)
-- автор: hnnssy, получение серийника логического диска
function getSerialHardwareId()
local ffi = require("ffi")
ffi.cdef[[
int __stdcall GetVolumeInformationA(
const char* lpRootPathName,
char* lpVolumeNameBuffer,
uint32_t nVolumeNameSize,
uint32_t* lpVolumeSerialNumber,
uint32_t* lpMaximumComponentLength,
uint32_t* lpFileSystemFlags,
char* lpFileSystemNameBuffer,
uint32_t nFileSystemNameSize
);
]]
local serial = ffi.new("unsigned long[1]", 0)
ffi.C.GetVolumeInformationA(nil, nil, 0, serial, nil, nil, nil, 0)
serial = serial[0]
return serial
end
for code in file:lines() do
if code == getSerialHardwareId() then
-- скрипт активирован
break
end
end
Глупость, как минимум ты распространяешь чужую информацию, в добавок исходя из личного опыта могу сказать что у большинства серийник ЖД совпадает.Lua:-- автор: hnnssy, получение серийника логического диска function getSerialHardwareId() local ffi = require("ffi") ffi.cdef[[ int __stdcall GetVolumeInformationA( const char* lpRootPathName, char* lpVolumeNameBuffer, uint32_t nVolumeNameSize, uint32_t* lpVolumeSerialNumber, uint32_t* lpMaximumComponentLength, uint32_t* lpFileSystemFlags, char* lpFileSystemNameBuffer, uint32_t nFileSystemNameSize ); ]] local serial = ffi.new("unsigned long[1]", 0) ffi.C.GetVolumeInformationA(nil, nil, 0, serial, nil, nil, nil, 0) serial = serial[0] return serial end
Не знаю, работает ли эта функция, но попробовать стоит.
Хранить на хосте файл с серийниками. При заходе в игру качать файл и проверять его строки на наличие абсолютной схожести с полученным из getSerialHardwareId()
Что-то типа
Lua:for code in file:lines() do if code == getSerialHardwareId() then -- скрипт активирован break end end
Тогда вообще понятия не имею как можно сделатьГлупость, как минимум ты распространяешь чужую информацию, в добавок исходя из личного опыта могу сказать что у большинства серийник ЖД совпадает.
Вообще не надо писать привязки на луаПроцессор + серийник ЖД, если нужна привязка могу написать, не за бесплатно конечно.
Интересно почему?Вообще не надо писать привязки на луа
Потому что код надо хорошо закрыть, иначе от привязки смысла не будетИнтересно почему?
Покупают софт обычно люди которые не могут его написать сами, а если не идет речь о каком-нибудь проэкте аля супер-пупер мульти чит, то это значит что люди его разшифровать не смогут..Потому что код надо хорошо закрыть, иначе от привязки смысла не будет
А при чем тут код хорошо закрыть? Может он пишет платный скрипт, которым будут пользоваться много юзеровПотому что код надо хорошо закрыть, иначе от привязки смысла не будет