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

Shepi

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

Shepi

Активный
178
37
У тебя в скрипте полетела кодировка. Установи ее на Кириллицу 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

Известный
Автор темы
Друг
411
925
Сделал автообновление, но при заходе пишет `Не могу проверить обновление. Смиритесь или проверьте самостоятельно`
как по фиксить?
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

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

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

bakhusse

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

sm1rnoff

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

deleted-user-452405

Гость
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

Активный
111
69
Посмотреть вложение 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 убери