- 656
- 128
- Версия MoonLoader
- Другое
Нашёл я тему.
Все сделал так, сылку ток на свою поменял с совета @imring но скрипт выдает SampAddChatMessage, но активация скрипта /trener когда ввожу ничего не происходит, менял даты в текстовику.
код скрипта кидать не буду, но часть с него кину.
новая проблема, скрипт работает и не важно какая дата 2010 года, или 2020,
Простая привязка для скрипта
Привет, друзья! У меня вопрос. Можно же как-то сделать простую привязку. К примеру, сайт.ру/users.txt. И брать данные с документа, и если там содержится ник человека, то ему дается доступ к скрипту, если нет его ника в документе - "ошибка доступа". p.s. не предлагайте гайд от "ufdhbi", видел...
blast.hk
код скрипта кидать не буду, но часть с него кину.
Lua:
site = "https://pastebin.com/raw/WZ5bEpqN"
function getTableUsersByUrl(url)
local n_file, bool, users = os.getenv('TEMP')..os.time(), false, {}
downloadUrlToFile(url, n_file, function(id, status)
if status == 6 then bool = true end
end)
while not doesFileExist(n_file) do wait(0) end
if bool then
local file = io.open(n_file, 'r')
for w in file:lines() do
local n, d = w:match('(.*): (.*)')
users[#users+1] = { name = n, date = d }
end
file:close()
os.remove(n_file)
end
return users
end
function isAvailableUser(users, name)
for i, k in pairs(users) do
if k.name == name then
local d, m, y = k.date:match('(%d+)%.(%d+)%.(%d+)')
local time = {
day = tonumber(d),
isdst = true,
wday = 0,
yday = 0,
year = tonumber(y),
month = tonumber(m),
hour = 0
}
if os.time(time) >= os.time() then return true end
end
end
return false
end
function main()
if not isSampfuncsLoaded() or not isSampLoaded() then return end
while not isSampAvailable() do wait(100) end -- снизу идёт регистрация команд, и тому подобное.
sampRegisterChatCommand(tostring(fs), function() main_window_state.v = not main_window_state.v end)
notf.addNotification('Активация: /' ..ggvp, 5, 1)
notf.addNotification('Скрипт успешно загружен! Текущая версия: ' ..version, 5, 1)
sampAddChatMessage('{ffff00} [by Fabrego] {20B2AA} Тренер Капчи {ffffff}Версия: '..version, -1)
while sampGetCurrentServerName() == 'SA-MP' do wait(0) end
local users = getTableUsersByUrl(site) -- узнаём таблицу списка.
local _, myid = sampGetPlayerIdByCharHandle(playerPed) -- Узнаём свой ид.
if not isAvailableUser(users, sampGetPlayerNickname(myid)) then -- Если срок уже прошёл или в списке нету моего ника, то..
print('The term is ended or your name is not in the list.')
thisScript():unload()
while true do wait(0)
end
imgui.Process = main_window_state.v
end
wait(-1)
end
end
Последнее редактирование: