Lua Удаление серверного неона [ARZ | ERP и другие..]

g305noobo

Известный
Автор темы
210
185
Версия SA-MP
  1. Любая
Удивительно, что такой супер-маленький, но относительно нужный некоторым скрипт, никто не загружал..
Скрипт предотвращает серверное создание объекта с неоном, соответственно весь неон на машинах отображаться не будет.
1691346326736.png


Установка: перекинуть файл RemoveNeonFromCars.lua в папку moonloader внутри вашей GTA
Активация: /neonrem [on | off] (по умолчанию неоны удаляются)
 

Вложения

  • RemoveNeonFromCars.lua
    1.7 KB · Просмотры: 88
Последнее редактирование:

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,771
11,215
код говно
Lua:
addEventHandler('onReceiveRpc', function(id, bs)
    if (id == 44) then
        raknetBitStreamIgnoreBits(16);
        local model = raknetBitStreamReadInt32(bs);
        for _, id in pairs({ 18648, 18651, 18650, 18649, 18647 }) do
            if (model == id) then
                return false;
            end
        end
    end
end);
 

Vespan

loneliness
Проверенный
2,101
1,633
Можно бы сделать команду шоб обратно включить неон
Lua:
events = require 'samp.events'
handlers = require 'samp.events.handlers'

act = false
neons = {}

function events.onCreateObject(id,data)
    for k,v in pairs({18648,18651,18650,18649,18647}) do
        if v == data.modelId then
            table.insert(neons,{
                id = id,
                data = data,
            })
            return act
        end
    end
end

function events.onDestroyObject(objectId)
    for k,v in pairs(neons) do
        if v.id == objectId then
            table.remove(neons,k)
        end
    end
end

function main()
    sampRegisterChatCommand('neon',function()
        act = not act
        printStringNow('neon ' .. (act and 'created' or 'remove'),5000)
        for k,v in pairs(neons) do
            if act then
                local bs = raknetNewBitStream()
                handlers.rpc_create_object_writer(bs,{neons[k].id,neons[k].data})
                raknetEmulRpcReceiveBitStream(44,bs)
                raknetDeleteBitStream(bs)
            else
                local bs = raknetNewBitStream()
                raknetBitStreamWriteInt16(bs,neons[k].id)
                raknetEmulRpcReceiveBitStream(47,bs)
                raknetDeleteBitStream(bs)
            end
        end
    end)
    wait(-1)
end
при /neon неоны будут удалятся либо появлятся
не знаю ли будет работать, проверишь и фиксанешь если не работает☠️
 

g305noobo

Известный
Автор темы
210
185
Можно бы сделать команду шоб обратно включить неон
Lua:
events = require 'samp.events'
handlers = require 'samp.events.handlers'

act = false
neons = {}

function events.onCreateObject(id,data)
    for k,v in pairs({18648,18651,18650,18649,18647}) do
        if v == data.modelId then
            table.insert(neons,{
                id = id,
                data = data,
            })
            return act
        end
    end
end

function events.onDestroyObject(objectId)
    for k,v in pairs(neons) do
        if v.id == objectId then
            table.remove(neons,k)
        end
    end
end

function main()
    sampRegisterChatCommand('neon',function()
        act = not act
        printStringNow('neon ' .. (act and 'created' or 'remove'),5000)
        for k,v in pairs(neons) do
            if act then
                local bs = raknetNewBitStream()
                handlers.rpc_create_object_writer(bs,{neons[k].id,neons[k].data})
                raknetEmulRpcReceiveBitStream(44,bs)
                raknetDeleteBitStream(bs)
            else
                local bs = raknetNewBitStream()
                raknetBitStreamWriteInt16(bs,neons[k].id)
                raknetEmulRpcReceiveBitStream(47,bs)
                raknetDeleteBitStream(bs)
            end
        end
    end)
    wait(-1)
end
при /neon неоны будут удалятся либо появлятся
не знаю ли будет работать, проверишь и фиксанешь если не работает☠️
поправил немного + ини добавил. теперь можно включать, выключать неон🫣