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

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

Новичок
Автор темы
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

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

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

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
заработало, изменения в чате есть. Но его тупо нахуй теперь не показывает это " - Ron_Takana[id] говорит:

заработало, изменения в чате есть. Но его тупо нахуй теперь не показывает это " - Ron_Takana[id] говорит:
просто пустая строка а руки двигаются
 

chapo

чопа сребдс // @moujeek
Модератор
8,999
11,815

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

Новичок
Автор темы
27
1
что вообще скрипт должен делать?
менять формат чата с Ron_Takana сказал:
на: - Ron_Takana[id] говорит:

менять формат чата с Ron_Takana сказал:
на: - Ron_Takana[id] говорит:
Для Тринити РП. Хз знаешь ты такой проект или нет, но 2-ой формат чата был на Revent RP
 

chapo

чопа сребдс // @moujeek
Модератор
8,999
11,815
менять формат чата с Ron_Takana сказал:
на: - Ron_Takana[id] говорит:


Для Тринити РП. Хз знаешь ты такой проект или нет, но 2-ой формат чата был на Revent RP
Lua:
local enabled = false;

require('lib.samp.events').onServerMessage = function(color, text)
    if (enabled) then
        return { color, select(1, text:gsub('сказал', 'говорит')) }
    end
end

function main()
    while (not isSampAvailable()) do wait(0) end
    sampRegisterChatCommand("chatfmt", function()
        enabled = not enabled;
        sampAddChatMessage('Chat Format: ' .. (enabled and 'on' or 'off'), -1);
    end);
end
 

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

Новичок
Автор темы
27
1
Lua:
local enabled = false;

require('lib.samp.events').onServerMessage = function(color, text)
    if (enabled) then
        return { color, select(1, text:gsub('сказал', 'говорит')) }
    end
end

function main()
    while (not isSampAvailable()) do wait(0) end
    sampRegisterChatCommand("chatfmt", function()
        enabled = not enabled;
        sampAddChatMessage('Chat Format: ' .. (enabled and 'on' or 'off'), -1);
    end);
end
нужно ещё ид чтобы было, и перед ником -

нужно ещё ид чтобы было, и перед ником
ща видео пришлю глянешь че за проблема

нужно ещё ид чтобы было, и перед ником -


ща видео пришлю глянешь че за проблема
нужно ещё ид чтобы было, и перед ником -


ща видео пришлю глянешь че за проблема
бля тут его отправить нельзя)
 

chapo

чопа сребдс // @moujeek
Модератор
8,999
11,815
нужно ещё ид чтобы было, и перед ником -


ща видео пришлю глянешь че за проблема
Lua:
local sampev = require('lib.samp.events');
local enabled = false;
local pattern = '^(%S+_%S+)%sсказал:%s(.+)';

---@type table<string, number>
local cachedNames = {};

---@param name string
---@return number?
local function getPlayerIdByName(name)
    if (cachedNames[name]) then
        return cachedNames[name];
    end
    for id = 0, sampGetMaxPlayerId(false) do
        if (sampIsPlayerConnected(id) or id == select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))) then
            if (sampGetPlayerNickname(id) == name) then
                cachedNames[name] = id;
                return id;
            end
        end
    end
end

function sampev.onPlayerQuit(playerId)
    cachedNames[sampGetPlayerNickname(playerId)] = nil;
end

function sampev.onServerMessage(color, text)
    if (enabled and text:find(pattern)) then
        local name, message = text:match(pattern);
        return { color, ('%s [%d] говорит: %s'):format(name, getPlayerIdByName(name) or -1, message) }
    end
end

function main()
    while (not isSampAvailable()) do wait(0) end
    sampRegisterChatCommand("chatfmt", function()
        enabled = not enabled;
        sampAddChatMessage('Chat Format: ' .. (enabled and 'on' or 'off'), -1);
    end);
end
 

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

Новичок
Автор темы
27
1
Lua:
local sampev = require('lib.samp.events');
local enabled = false;
local pattern = '^(%S+_%S+)%sсказал:%s(.+)';

---@type table<string, number>
local cachedNames = {};

---@param name string
---@return number?
local function getPlayerIdByName(name)
    if (cachedNames[name]) then
        return cachedNames[name];
    end
    for id = 0, sampGetMaxPlayerId(false) do
        if (sampIsPlayerConnected(id) or id == select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))) then
            if (sampGetPlayerNickname(id) == name) then
                cachedNames[name] = id;
                return id;
            end
        end
    end
end

function sampev.onPlayerQuit(playerId)
    cachedNames[sampGetPlayerNickname(playerId)] = nil;
end

function sampev.onServerMessage(color, text)
    if (enabled and text:find(pattern)) then
        local name, message = text:match(pattern);
        return { color, ('%s [%d] говорит: %s'):format(name, getPlayerIdByName(name) or -1, message) }
    end
end

function main()
    while (not isSampAvailable()) do wait(0) end
    sampRegisterChatCommand("chatfmt", function()
        enabled = not enabled;
        sampAddChatMessage('Chat Format: ' .. (enabled and 'on' or 'off'), -1);
    end);
end
мне кажется я всех луашеров заебал уже)
sa-mp-236.png


мне кажется я всех луашеров заебал уже)
sa-mp-236.png
(error) PohuiNaCarskill.lua: ...mes\Clear GTA SAMP low PC\moonloader\PohuiNaCarskill.lua:31: attempt to perform arithmetic on a string value
stack traceback:

Lua:
local sampev = require('lib.samp.events');
local enabled = false;
local pattern = '^(%S+_%S+)%sсказал:%s(.+)';

---@type table<string, number>
local cachedNames = {};

---@param name string
---@return number?
local function getPlayerIdByName(name)
    if (cachedNames[name]) then
        return cachedNames[name];
    end
    for id = 0, sampGetMaxPlayerId(false) do
        if (sampIsPlayerConnected(id) or id == select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))) then
            if (sampGetPlayerNickname(id) == name) then
                cachedNames[name] = id;
                return id;
            end
        end
    end
end

function sampev.onPlayerQuit(playerId)
    cachedNames[sampGetPlayerNickname(playerId)] = nil;
end

function sampev.onServerMessage(color, text)
    if (enabled and text:find(pattern)) then
        local name, message = text:match(pattern);
        return { color, ('%s [%d] говорит: %s'):format(name, getPlayerIdByName(name) or -1, message) }
    end
end

function main()
    while (not isSampAvailable()) do wait(0) end
    sampRegisterChatCommand("chatfmt", function()
        enabled = not enabled;
        sampAddChatMessage('Chat Format: ' .. (enabled and 'on' or 'off'), -1);
    end);
end
попробуй на трп зарегать новый акк и затестить, мб у тебя работает или тож не работает
 
Последнее редактирование:

kyrtion

Известный
1,070
384
мне кажется я всех луашеров заебал уже)
Пометил тэг как недоброжелательный юзер

Во-первых, вы не правильно составляете ТЗ, вот и получилось 2 страницы в теме.
Во-вторых, на скриншоте у тебя разве не ревент или тринити, заблуждаетесь разработчиков.
В-третьих, как нервы закончится и имеешь деньги, обратитесь к услугам разработчикам: https://www.blast.hk/forums/16/
В-четвертых, разрабы тоже не терпеливые, отнеситесь к вниманию и пониманию, не ждите ответы когда будут. Ведь эксперты может и не отвечать если заколебался или не заинтересовался вопросов