- 63
- 18
- Версия MoonLoader
- .026-beta
Решил попробовать написать скрипт на lua и 1-ой задумкой была "Анимированное лого"
В фотошопе сделал свечения и тд.
Изменение лого сделал в бесконечном цикле.
Скрипт немного работает, а потом выдает белый прямоугольник
Скинул архив где скрипт и лого в txd.
P.S. Сервер Sedona
Сам код:
Заранее извиняюсь за кривой код <3
Не бейте
В фотошопе сделал свечения и тд.
Изменение лого сделал в бесконечном цикле.
Скрипт немного работает, а потом выдает белый прямоугольник
Скинул архив где скрипт и лого в txd.
Сам код:
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
Не бейте