Исходник Гайд Lua || Как сделать нормальное автообновление вашего скрипта?

Shepi

Активный
166
26
хелп пж
1631988252289.png
 

Shepi

Активный
166
26
У тебя в скрипте полетела кодировка. Установи ее на Кириллицу 1251, чтобы нормально отображались русские символы
у меня была кодировка кириллица виндофс 1251, после обновы пошел флуд в чат и слетела кодировка

У тебя в скрипте полетела кодировка. Установи ее на Кириллицу 1251, чтобы нормально отображались русские символы
Так что с этим делать?
 
Последнее редактирование:

rebornjk

Новичок
8
0
Сделал автообновление, но при заходе пишет `Не могу проверить обновление. Смиритесь или проверьте самостоятельно`
как по фиксить?
Lua:
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    repeat wait(0) until isSampAvailable()
    while not isSampAvailable() do wait(100) end
    autoupdate("https://api.jsonbin.io/b/61ef0ddfbd6e744997eb0ff4", '['..string.upper(thisScript().name)..']: ', "https://github.com/Jokos123/adminhelper/blob/main/Admin%20Helper.luac?raw=true")
 
function autoupdate(json_url, prefix, url)
  local dlstatus = require('moonloader').download_status
  local json = getWorkingDirectory() .. '\\'..thisScript().name..'-version.json'
  if doesFileExist(json) then os.remove(json) end
  downloadUrlToFile(json_url, json,
    function(id, status, p1, p2)
      if status == dlstatus.STATUSEX_ENDDOWNLOAD then
        if doesFileExist(json) then
          local f = io.open(json, 'r')
          if f then
            local info = decodeJson(f:read('*a'))
            updatelink = info.updateurl
            updateversion = info.latest
            f:close()
            os.remove(json)
            if updateversion ~= thisScript().version then
              lua_thread.create(function(prefix)
                local dlstatus = require('moonloader').download_status
                local color = -1
                sampAddChatMessage('{ffffff}Найдено обновление!', -1)
                sampAddChatMessage((prefix..'{ffffff}Пытаюсь обновиться c '..thisScript().version..' на '..updateversion), color)
                wait(250)
                downloadUrlToFile(updatelink, thisScript().path,
                  function(id3, status1, p13, p23)
                    if status1 == dlstatus.STATUS_DOWNLOADINGDATA then
                      print(string.format('Загружено %d из %d.', p13, p23))
                    elseif status1 == dlstatus.STATUS_ENDDOWNLOADDATA then
                      sampAddChatMessage((prefix..'{ffffff}Загрузка обновления завершена'), color)
                      goupdatestatus = true
                      lua_thread.create(function() wait(500) thisScript():reload() end)
                    end
                    if status1 == dlstatus.STATUSEX_ENDDOWNLOAD then
                      if goupdatestatus == nil then
                        sampAddChatMessage((prefix..'{ffffff}Обновление прошло неудачно. Запускаю устаревшую версию..'), color)
                        update = false
                      end
                    end
                  end
                )
                end, prefix
              )
            else
              update = false
              sampAddChatMessage('{ffffff}Обновление не требуется.', color)
            end
          end
        else
          print()
          sampAddChatMessage('{ffffff}Не могу проверить обновление. Смиритесь или проверьте самостоятельно', color)
          update = false
        end
      end
    end
  )
  while update ~= false do wait(100) end
end
 

qrlk

Известный
Автор темы
Друг
374
804
Сделал автообновление, но при заходе пишет `Не могу проверить обновление. Смиритесь или проверьте самостоятельно`
как по фиксить?
Lua:
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    repeat wait(0) until isSampAvailable()
    while not isSampAvailable() do wait(100) end
    autoupdate("https://api.jsonbin.io/b/61ef0ddfbd6e744997eb0ff4", '['..string.upper(thisScript().name)..']: ', "https://github.com/Jokos123/adminhelper/blob/main/Admin%20Helper.luac?raw=true")
 
function autoupdate(json_url, prefix, url)
  local dlstatus = require('moonloader').download_status
  local json = getWorkingDirectory() .. '\\'..thisScript().name..'-version.json'
  if doesFileExist(json) then os.remove(json) end
  downloadUrlToFile(json_url, json,
    function(id, status, p1, p2)
      if status == dlstatus.STATUSEX_ENDDOWNLOAD then
        if doesFileExist(json) then
          local f = io.open(json, 'r')
          if f then
            local info = decodeJson(f:read('*a'))
            updatelink = info.updateurl
            updateversion = info.latest
            f:close()
            os.remove(json)
            if updateversion ~= thisScript().version then
              lua_thread.create(function(prefix)
                local dlstatus = require('moonloader').download_status
                local color = -1
                sampAddChatMessage('{ffffff}Найдено обновление!', -1)
                sampAddChatMessage((prefix..'{ffffff}Пытаюсь обновиться c '..thisScript().version..' на '..updateversion), color)
                wait(250)
                downloadUrlToFile(updatelink, thisScript().path,
                  function(id3, status1, p13, p23)
                    if status1 == dlstatus.STATUS_DOWNLOADINGDATA then
                      print(string.format('Загружено %d из %d.', p13, p23))
                    elseif status1 == dlstatus.STATUS_ENDDOWNLOADDATA then
                      sampAddChatMessage((prefix..'{ffffff}Загрузка обновления завершена'), color)
                      goupdatestatus = true
                      lua_thread.create(function() wait(500) thisScript():reload() end)
                    end
                    if status1 == dlstatus.STATUSEX_ENDDOWNLOAD then
                      if goupdatestatus == nil then
                        sampAddChatMessage((prefix..'{ffffff}Обновление прошло неудачно. Запускаю устаревшую версию..'), color)
                        update = false
                      end
                    end
                  end
                )
                end, prefix
              )
            else
              update = false
              sampAddChatMessage('{ffffff}Обновление не требуется.', color)
            end
          end
        else
          print()
          sampAddChatMessage('{ffffff}Не могу проверить обновление. Смиритесь или проверьте самостоятельно', color)
          update = false
        end
      end
    end
  )
  while update ~= false do wait(100) end
end
1643136316196.png
 

-Enot

Участник
34
2
Не качает обнову с ДБ. Ссылки верные.
Пробовал с помощью обычного хостинга сайтов, там он вообще крашит, ибо не находит ссылку на обнову..

С житхабом мне тоже как-то не везёт.
 
Последнее редактирование:

bakhusse

Активный
104
55
Не загружается чет обновление, и проверка даже не идет
 

sm1rnoff

Участник
23
2
казалось бы все хорошо,но пишет Не могу проверить обновление. Смиритесь или проверьте самостоятельно на (сайт). может ли выскакивать из за схожих версий скриптов (ГХ,в сборке)?
 

msihek

Активный
268
45
1663926473627.png

Что делать?

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 формат скрипта прошу помогите
 

bakhusse

Активный
104
55
Посмотреть вложение 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 формат скрипта прошу помогите
Ссылку https://github.com/mchek1/ADMhelper убери