Исправьте кто нибудь код скрипта, пж

Дмитрий Кондаков

Новичок
Автор темы
27
1
Версия MoonLoader
Другое
Пишет script terminated
Код:
function main()
repeat wait(0) until isSampAvailable()

sampRegisterChatCommand('chatformat', toggleChatFormat)
end

local isCustomFormatEnabled = false

function toggleChatFormat()
isCustomFormatEnabled = not isCustomFormatEnabled
sampAddChatMessage(isCustomFormatEnabled and "Формат чата изменён." or "Формат чата отключён.", -1)
end

function onServerMessage(color, text)
if isCustomFormatEnabled then
local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит: %2")
if newText ~= text then
return false, color, newText
end
end
end
 

Вложения

  • revent.lua
    624 байт · Просмотры: 1

$Mr.R1ch$

Активный
312
49
Пишет script terminated
Код:
function main()
repeat wait(0) until isSampAvailable()

sampRegisterChatCommand('chatformat', toggleChatFormat)
end

local isCustomFormatEnabled = false

function toggleChatFormat()
isCustomFormatEnabled = not isCustomFormatEnabled
sampAddChatMessage(isCustomFormatEnabled and "Формат чата изменён." or "Формат чата отключён.", -1)
end

function onServerMessage(color, text)
if isCustomFormatEnabled then
local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит: %2")
if newText ~= text then
return false, color, newText
end
end
end
тут конечно пиздец полный много ошибок, щас объясню на будущее:

1. Все глобальные переменные не должны находиться в области main, как и функции (смотря что).
2. У тебя нету бесконечного цикла в main, а это значит, что твой скрипт выполнит какие то действия и завершит работу. Чтобы не дать ему завершить работу, нужно добавлять while true do wait(0) или wait(-1), но это бесконечное ожидание, и поэтому не во все случаи подойдёт, смотря что ты делаешь
Lua:
local isCustomFormatEnabled = false

function main()
   while not isSampAvailable() do wait(100) end
   wait(500)
   sampRegisterChatCommand('chatformat', toggleChatFormat)
 
   while true do wait(0)
   end
end

  function toggleChatFormat()
     isCustomFormatEnabled = not isCustomFormatEnabled
     sampAddChatMessage(isCustomFormatEnabled and "Формат чата изменён." or "Формат чата отключён.", -1)
  end
 
  function onServerMessage(color, text)
     if isCustomFormatEnabled then
        local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит: %2")
        if newText ~= text then
           return false, color, newText
        end
     end
  end
надеюсь помог
 

Дмитрий Кондаков

Новичок
Автор темы
27
1
тут конечно пиздец полный много ошибок, щас объясню на будущее:

1. Все глобальные переменные не должны находиться в области main, как и функции (смотря что).
2. У тебя нету бесконечного цикла в main, а это значит, что твой скрипт выполнит какие то действия и завершит работу. Чтобы не дать ему завершить работу, нужно добавлять while true do wait(0) или wait(-1), но это бесконечное ожидание, и поэтому не во все случаи подойдёт, смотря что ты делаешь
Lua:
local isCustomFormatEnabled = false

function main()
   while not isSampAvailable() do wait(100) end
   wait(500)
   sampRegisterChatCommand('chatformat', toggleChatFormat)
 
   while true do wait(0)
   end
end

  function toggleChatFormat()
     isCustomFormatEnabled = not isCustomFormatEnabled
     sampAddChatMessage(isCustomFormatEnabled and "Формат чата изменён." or "Формат чата отключён.", -1)
  end
 
  function onServerMessage(color, text)
     if isCustomFormatEnabled then
        local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит: %2")
        if newText ~= text then
           return false, color, newText
        end
     end
  end
надеюсь помог
код работает, команда тоже, но ничего не меняется
пишет Ron_Takana сказал:
а мне нужно: - Ron_Takana[id] говорит:
 

$Mr.R1ch$

Активный
312
49
код работает, команда тоже, но ничего не меняется
пишет Ron_Takana сказал:
а мне нужно: - Ron_Takana[id] говорит:
Lua:
function onServerMessage(color, text)
    local result, id = sampGetPlayerIdByCharHandle(id)
    if result then
       if isCustomFormatEnabled then
          local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит["..id.."]: %2")
          if newText ~= text then
             return false, color, newText
          end
       end
    end
 end
 

Дмитрий Кондаков

Новичок
Автор темы
27
1
Lua:
function onServerMessage(color, text)
    local result, id = sampGetPlayerIdByCharHandle(id)
    if result then
       if isCustomFormatEnabled then
          local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит["..id.."]: %2")
          if newText ~= text then
             return false, color, newText
          end
       end
    end
 end
script terminated
 

Дмитрий Кондаков

Новичок
Автор темы
27
1
скинь сюда скрипт
function onServerMessage(color, text)
local result, id = sampGetPlayerIdByCharHandle(id)
if result then
if isCustomFormatEnabled then
local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит["..id.."]: %2")
if newText ~= text then
return false, color, newText
end
end
end
end
скрипт ща скину

вот
 

Вложения

  • aaaa.lua
    367 байт · Просмотры: 1

$Mr.R1ch$

Активный
312
49
function onServerMessage(color, text)
local result, id = sampGetPlayerIdByCharHandle(id)
if result then
if isCustomFormatEnabled then
local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит["..id.."]: %2")
if newText ~= text then
return false, color, newText
end
end
end
end
скрипт ща скину
в общем ошибка с моей стороны, забыл что айди должен выводится того игрока, которой использует функцию эту.

Lua:
function sampev.onServerMessage(color, text)
    local result, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
       if isCustomFormatEnabled then
          local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит["..id.."]: %2")
          if newText ~= text then
             return false, color, newText
          end
       end
    end

function onServerMessage(color, text)
local result, id = sampGetPlayerIdByCharHandle(id)
if result then
if isCustomFormatEnabled then
local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит["..id.."]: %2")
if newText ~= text then
return false, color, newText
end
end
end
end
скрипт ща скину

вот
Так зачем ты всё остальное убрал? У тебя в коде нету function main

в общем ошибка с моей стороны, забыл что айди должен выводится того игрока, которой использует функцию эту.

Lua:
function sampev.onServerMessage(color, text)
    local result, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
       if isCustomFormatEnabled then
          local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит["..id.."]: %2")
          if newText ~= text then
             return false, color, newText
          end
       end
    end


Так зачем ты всё остальное убрал? У тебя в коде нету function main
также в начале скрипта пропиши
Lua:
local sampev = require ('samp.events') -- привязка библиотеки для обработки RPC
и поменяй название функции
Lua:
function sampev.onServerMessage(color, text)
 

Дмитрий Кондаков

Новичок
Автор темы
27
1
в общем ошибка с моей стороны, забыл что айди должен выводится того игрока, которой использует функцию эту.

Lua:
function sampev.onServerMessage(color, text)
    local result, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
       if isCustomFormatEnabled then
          local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит["..id.."]: %2")
          if newText ~= text then
             return false, color, newText
          end
       end
    end


Так зачем ты всё остальное убрал? У тебя в коде нету function main


также в начале скрипта пропиши
Lua:
local sampev = require ('samp.events') -- привязка библиотеки для обработки RPC
и поменяй название функции
Lua:
function sampev.onServerMessage(color, text)
ошибка
 

Дмитрий Кондаков

Новичок
Автор темы
27
1
теперь скинь фулл код
local sampev = require ('samp.events')
function sampev.onServerMessage(color, text)
local result, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
if isCustomFormatEnabled then
local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит["..id.."]: %2")
if newText ~= text then
return false, color, newText
end
end
end
ЗАБЫЛ ДОПИСАТЬ ОПЯТЬ?

local sampev = require ('samp.events')
function sampev.onServerMessage(color, text)
local result, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
if isCustomFormatEnabled then
local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит["..id.."]: %2")
if newText ~= text then
return false, color, newText
end
end
end
ЗАБЫЛ ДОПИСАТЬ ОПЯТЬ?
делаю для тринити

local sampev = require ('samp.events')
function sampev.onServerMessage(color, text)
local result, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
if isCustomFormatEnabled then
local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит["..id.."]: %2")
if newText ~= text then
return false, color, newText
end
end
end
ЗАБЫЛ ДОПИСАТЬ ОПЯТЬ?


делаю для тринити
чтобы формат чата был похож на тот что я показал, грубо говоря поменять формат чата на тот что был на Revent RP
 

$Mr.R1ch$

Активный
312
49
local sampev = require ('samp.events')
function sampev.onServerMessage(color, text)
local result, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
if isCustomFormatEnabled then
local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит["..id.."]: %2")
if newText ~= text then
return false, color, newText
end
end
end
ЗАБЫЛ ДОПИСАТЬ ОПЯТЬ?


делаю для тринити


чтобы формат чата был похож на тот что я показал, грубо говоря поменять формат чата на тот что был на Revent RP
Блять, просто вставь код ниже удали предыдущий, это пиздец

Lua:
local isCustomFormatEnabled = false
local sampev = require ('samp.events')

function main()
   while not isSampAvailable() do wait(100) end
   wait(500)
   sampRegisterChatCommand('chatformat', toggleChatFormat)
 
   while true do wait(0)
   end
end

  function toggleChatFormat()
     isCustomFormatEnabled = not isCustomFormatEnabled
     sampAddChatMessage(isCustomFormatEnabled and "Формат чата изменён." or "Формат чата отключён.", -1)
  end
 
  function sampev.onServerMessage(color, text)
    local result, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
       if isCustomFormatEnabled then
          local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит["..id.."]: %2")
          if newText ~= text then
             return false, color, newText
          end
       end
    end