- 16
- 4
- Версия MoonLoader
- .026-beta
изучаю луа, день 2. вот у меня кмд есть с активацией, которая выводит раз в 5 сек наш ник с цветом клиста и коорды. вот захотел я сделать, чтобы можно было через отдельную команду задать текст, и он бы тоже отображался в первой кмд, в целом все работает, но! если команда mytext не использовалась и вы пишите myinfo, то вылазит ошибка(
гуглил, ничего так и не понял, надеюсь на ваше благословение, всем спасибо!
Код:
moonloader\first.lua:23: attempt to concatenate global 'text' (a function value)
stack traceback:
moonloader\first.lua: in function <moonloader\first.lua:3>
[ML] (error) first.lua: Script died due to an error. (134F157C)
Lua:
local active = false
local text = 'NONE'
function main()
if not isSampfuncsLoaded() or not isSampLoaded() then return end
while not isSampAvailable() do wait(0) end
sampRegisterChatCommand('mytext', text)
sampRegisterChatCommand("myinfo", function()
active = not active
end)
while true do wait(0)
if active then
local _, playerid = sampGetPlayerIdByCharHandle(PLAYER_PED) -- ID
local nick = sampGetPlayerNickname(playerid) -- Ник
local clist = sampGetPlayerColor(playerid) -- Клист
local clist = string.format('%06X', bit.band(clist, 0xFFFFFF)) -- Преобразование в HEX
hexcolor = '{'..clist..'}' -- Цвет в HEX
local x, y, z = getCharCoordinates(PLAYER_PED) -- Координаты
sampAddChatMessage('Nick: '..hexcolor..nick..'{FFFFFF} | Text: '..text, -1) -- Сообщение
sampAddChatMessage('X: '..x..' | Y: '..y..' | Z: '..z, -1) -- Сообщение
wait(5000)
end
end
wait(-1)
end
function text(arg)
if arg == '' then
sampAddChatMessage('Use /text [text]', -1)
else
text = arg
sampAddChatMessage('My text: '..arg, -1)
end
end