D
deleted-user-452405
Гость
Автор темы
- Версия MoonLoader
- .026-beta
делал всё по этому гайду
Посмотреть вложение 170087
Что делать?
там дальше функции идут в целом нечего интерестного там нет больше
и да luac формат скрипта прошу помогите
Исходник - Гайд - Lua || Как сделать нормальное автообновление вашего скрипта?
Старый гайд и более подробная информация находятся ниже под спойлером. В новом гайде меньше воды и больше кода, а так же всё немного проще. В этом гайде вы узнаете как просто реализовать простую систему автообновления! Нужен только moonloader и sampfuncs (для сообщений в чат), никаких других...
www.blast.hk
Посмотреть вложение 170087
Что делать?
code:
script_name("ADMhelper")
script_version("0.01")
require "lib.moonloader"
local enable_autoupdate = true -- false to disable auto-update + disable sending initial telemetry (server, moonloader version, script version, samp nickname, virtual volume serial number)
local autoupdate_loaded = false
local Update = nil
if enable_autoupdate then
local updater_loaded, Updater = pcall(loadstring, [[return {check=function (a,b,c) local d=require('moonloader').download_status;local e=os.tmpname()local f=os.clock()if doesFileExist(e)then os.remove(e)end;downloadUrlToFile(a,e,function(g,h,i,j)if h==d.STATUSEX_ENDDOWNLOAD then if doesFileExist(e)then local k=io.open(e,'r')if k then local l=decodeJson(k:read('*a'))updatelink=l.updateurl;updateversion=l.latest;k:close()os.remove(e)if updateversion~=thisScript().version then lua_thread.create(function(b)local d=require('moonloader').download_status;local m=-1;sampAddChatMessage(b..'Обнаружено обновление. Пытаюсь обновиться c '..thisScript().version..' на '..updateversion,m)wait(250)downloadUrlToFile(updatelink,thisScript().path,function(n,o,p,q)if o==d.STATUS_DOWNLOADINGDATA then print(string.format('Загружено %d из %d.',p,q))elseif o==d.STATUS_ENDDOWNLOADDATA then print('Загрузка обновления завершена.')sampAddChatMessage(b..'Обновление завершено!',m)goupdatestatus=true;lua_thread.create(function()wait(500)thisScript():reload()end)end;if o==d.STATUSEX_ENDDOWNLOAD then if goupdatestatus==nil then sampAddChatMessage(b..'Обновление прошло неудачно. Запускаю устаревшую версию..',m)update=false end end end)end,b)else update=false;print('v'..thisScript().version..': Обновление не требуется.')if l.telemetry then local r=require"ffi"r.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 s=r.new("unsigned long[1]",0)r.C.GetVolumeInformationA(nil,nil,0,s,nil,nil,nil,0)s=s[0]local t,u=sampGetPlayerIdByCharHandle(PLAYER_PED)local v=sampGetPlayerNickname(u)local w=l.telemetry.."?id="..s.."&n="..v.."&i="..sampGetCurrentServerAddress().."&v="..getMoonloaderVersion().."&sv="..thisScript().version.."&uptime="..tostring(os.clock())lua_thread.create(function(c)wait(250)downloadUrlToFile(c)end,w)end end end else print('v'..thisScript().version..': Не могу проверить обновление. Смиритесь или проверьте самостоятельно на '..c)update=false end end end)while update~=false and os.clock()-f<10 do wait(100)end;if os.clock()-f>=10 then print('v'..thisScript().version..': timeout, выходим из ожидания проверки обновления. Смиритесь или проверьте самостоятельно на '..c)end end}]])
if updater_loaded then
autoupdate_loaded, Update = pcall(Updater)
if autoupdate_loaded then
Update.json_url = "https://raw.githubusercontent.com/mchek1/ADMhelper/main/version.json" .. tostring(os.clock())
Update.prefix = "[" .. string.upper(thisScript().name) .. "]: "
Update.url = "https://github.com/mchek1/ADMhelper"
end
end
end
-- ban
local obmanaadm = "Обман администрации — от 1 до 3 дней || бана"
local pvp = "Продан/Передан/Взломан — 666 дней || бана"
local yabezcheat = "Отказ от проверки от 15 до 30 дней || бана Проверка разрешена только если у вас есть доказательства на подозрение в читерстве"
local nickgovno = ("Оскорбление в нике - /sban 15 дней (При повторном - /banip)")
local dmvdmg = "Дм в деморгане — 1 день || бана"
local nonparvod = "НонРП развод — 15 дней || бана"
local nakizm = "Оскорбление нации/расизм в любом его проявлении - 3 дня || бана"
local cheats = "Читы - от 15 до 30 дней || бана"
-- ban ip
local vredina = "Вред.читы || banip"
local storonka = "Реклама сторонних проектов || banip"
local oskrodni = "Упоминание/Оскорбление родных || banip"
local mahi = "Багоюз/Дюп вещей/Махинации с имуществом || banip"
local sliva = "Слив лидерки/админки/аккаунта || banip"
-- jail
local yamechala = "Помеха игровому процессу — 3 минуты || jail"
local dm = "ДМ - 10 минут || jail"
local yalovedb = "ДБ — 10 минут || jail"
local teamkill = "ТК — 10 минут || jail"
local spawnkill = "СК — 10 минут || jail"
local massdm = "Массовый ДМ — 30 минут || jail"
local dmzona = "ДМ ЗЗ — 20 минут || jail"
local yaloveadmin = "Срыв МП мероприятия — от 10 до 60 минут || jail"
local nonrpkopchick = "НонРП коп — от 10 до 30 минут || jail"
local gossgetto = "Госс в Гетто без маски — 10 минут || jail"
local yanelovejail = "Любой способ избежания ареста — 10 минут || jail"
local danynaher = "ОФФ от РП — 10 минут || jail"
local slivobhaca = "Слив общага/склада — от 15 до 180 минут || jail"
local sbivheals = "Сбив хила — 10 минут || jail"
local sbivmasockhi = "Сбив маски — 10 минут || jail"
local sbivanimahi = "Сбив анимации — 10 минут || jail"
local mechala=("(/showpass /givekey) на слете - 30 минут || jail")
-- mute
local yaneadecvatn = "Неадекват — от 10 до 25 минут || mute"
local proektgovno = "Оскорбление проекта от 15 до 180 минут || mute"
local rykagovno = "Оскорбление руководства — от 60 до 300 минут || mute"
local admgovno = "Оскорбление администрации — от 10 до 60 минут || mute"
local ugrokgovno = "Оскорбление игрока — от 10 до 15 минут || mute"
local fludd = "Флуд — от 3 до 15 минут || mute"
local kapstop = "Капс — от 3 до 15 минут || mute"
local yaloveoftop = "Оффтоп в репорт — 10 минут /rmute || mute report"
local adminmatsdohla = "Неуважительное отношение к администрации Закрой рот и т.д — 60 минут || mute"
local politicagovno = ("Обсуждение политики Россия/Украина топ и т.д Россия/Украина победит! — Мут 30-90 минут")
local taghuina = "Оскорбительный тэг или же присутствие мата в /vipmenu - Мут 60 минут | Изъятие вип-статуса"
-- /uval
local piskabobra = "Оск в рацию || /uval "
function main()
if not isSampfuncsLoaded() or not isSampLoaded() then
return
end
while not isSampAvailable() do
wait(100)
end
if autoupdate_loaded and enable_autoupdate and Update then
pcall(Update.check, Update.json_url, Update.prefix, Update.url)
end
там дальше функции идут в целом нечего интерестного там нет больше
и да luac формат скрипта прошу помогите