Помогите со скриптом

Cyprien Lortie

Участник
Автор темы
63
18
Версия MoonLoader
.026-beta
Решил попробовать написать скрипт на lua и 1-ой задумкой была "Анимированное лого"
В фотошопе сделал свечения и тд.
Изменение лого сделал в бесконечном цикле.
Скрипт немного работает, а потом выдает белый прямоугольник
Скинул архив где скрипт и лого в txd.
P.S. Сервер Sedona

Сам код:
logo.lua:
local q = require 'lib.samp.events'
script_name("Anim Logo 1.0")
script_description('Logo')
local inicfg = require 'inicfg'
local logo = 1
local act = false
if not doesDirectoryExist("moonloader/config") then
    os.execute('md "'..getWorkingDirectory()..'/config"') 
    local f = io.open("moonloader/config", "w")
end
if not doesFileExist("moonloader/config/" .. thisScript().name .. ".ini") then
    local f = io.open("moonloader/config/" .. thisScript().name .. ".ini", "w")
    if f then
        f:write('[main]')
        f:write('\nsedona = 1')
        f:close()
    end
    
end


local sedona = 1


mainIni = inicfg.load(nil,  "moonloader/config/" .. thisScript().name .. ".ini")

sedona = mainIni.main.sedona




if sedona == nil then sedona = 1 end


function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand('logoreload',function() lua_thread.create(function() s = thisScript() s:reload() end)  end)
    sampAddChatMessage('Anim Logo',-1)
    
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("logo", function() state = not state
        sampAddChatMessage((state and 'Включен' or 'Выключен'), -1)
    end)
    while true do
        wait(2000)
        sprite = loadSprite(tonumber(1))
        wait(50)
        sprite = loadSprite(tonumber(2))
        wait(50)
        sprite = loadSprite(tonumber(3))
        wait(50)
        sprite = loadSprite(tonumber(4))
        wait(50)
        sprite = loadSprite(tonumber(5))
        wait(50)
        sprite = loadSprite(tonumber(4))
        wait(50)
        sprite = loadSprite(tonumber(3))
        wait(50)
        sprite = loadSprite(tonumber(2))
        wait(50)
        sprite = loadSprite(tonumber(6))
        wait(50)
        lua_thread.create(function()
            while sampGetCurrentServerName() == "SA-MP" do wait(0) end
            wait(500)     
                if sampGetCurrentServerName():match("Arizona") then
                    onServer = 'arizona'       
                    act = true
                end
                wait(1000)
 
          
                if onServer == 'arizona' then
                    servername = sampGetCurrentServerName()
                    if servername:find('Sedona') then
                        arizonaServ = 'sedona'
                        IsLoaded = loadTextureDictionary(arizonaServ)
                    end
                    

                end
                
        end)

    lua_thread.create(function()
        while true do
            wait(0)
            
            if sprite ~= nil and act then
                drawSprite(sprite, 589, 20, 76, 38, 255, 255, 255, 255)
            end
        end
    end)   


function q.onShowTextDraw(id, data)

    if data.position.x  > 530 and data.position.y < 26 then
        return false
    end
    
    if sampGetCurrentServerName():match("Arizona") then
        onServer = 'arizona'
        if data.position.y >= 1 and data.position.y < 50 and data.position.x < 603 and data.position.x > 500 then 
            return false
        end
    end
end

function writeServ()
    result = inicfg.save({main = {
        
        sedona         = sedona   

                     }},"moonloader/config/" .. thisScript().name .. ".ini")
end
     end
                                            
                                            if onServer == 'arizona' then
                                                if tonumber(param) >= 1 and tonumber(param) <= 6 then
                                                    if arizonaServ == 'sedona' then sedona = tonumber(param)
                                                        writeServ()
                                                        sampAddChatMessage('Новый номер логотипа для сервера '..arizonaServ..' - '..tonumber(1), -1)
                                                        sprite = loadSprite(tonumber(param))
                                                    end
                                                    
                                                end
                                            end
                                    end

Заранее извиняюсь за кривой код <3
Не бейте
 

Вложения

  • moonloader.7z
    75.3 KB · Просмотры: 6