SA:MP Lua Arizona FamilyHelper by Microbiwe - Мини-Хелпер для владельцев/заместителей семей

microbiwe

Известный
Автор темы
18
0
Всех приветствую!
Являюсь заместителем одной из семей на проекте Arizona RP, лично знаю, как тяжело набирать в фаму людей. Раньше пользовался скриптом от карлеоне для приглашения игроков в радиусе, но, к сожалению, после попытки его запуска буквально пару дней назад он отказался адекватно работать.
Поэтому пришла в голову мысль написать новый скрипт на инвайт людей в радиусе


Команды скрипта:

/fiset
- меню скрипта


/autofi - запустить приглашение людей в радиусе
/autofi vip - включить функцию приглашения в семью исключительно VIP-игроков
/autofi silent - включить тихий режим (убрать все мусорные сообщения из чата, оставить только сообщения об отправленных приглашениях)
/autofi status - статус скрипта (включен ли он, статус функций VIP и SILENT)



Снимок экрана 2025-12-18 212333.png



ВНИМАНИЕ!
Скрипт писался китайским чудом DeepSeek, не мной! Я никаких знаний по разработке lua не имею! Пользователям с аллергией на говнокод скрипт лучше не читать


Скрипт разрешается качать, удалять, распространять, изменять и так далее, все что вашей душе угодно

Хочу выразить благодарность bfix за помощь с фиксами
Код для автооплаты семейной квартиры был немного позаимствован отсюда

Лог возможных будущих обновлений:

v1 (autofi_vipsilentbag.lua) - основной скрипт со всеми вышеперечисленными функциями

v2 (famhelpermicrobiwe.lua) - ГЛОБАЛЬНОЕ ОБНОВЛЕНИЕ!
- Добавлен ImGui интерфейс
-Добавлена функция автооплаты семейной квартиры
- Фикс приглашения самого себя
- Фикс открытия Fammenu при ошибке приглашения игрока, уже состоящего в семье
 

Вложения

  • autofi_vipsilentbag.lua
    14.4 KB · Просмотры: 13
  • famhelpermicrobiwe.lua
    28.4 KB · Просмотры: 3
Последнее редактирование:

Yono

Участник
53
7
Там же если кидаешь инвайт типу и если он уже в фаме то открывается /fammenu и дальше пока не закроешь меню то инвайт не отправляется, тут такое есть? или пофиксил такое?
 

bfix

Активный
106
80
Там же если кидаешь инвайт типу и если он уже в фаме то открывается /fammenu и дальше пока не закроешь меню то инвайт не отправляется, тут такое есть? или пофиксил такое?
Нету у него такого
Но вот автору помогу, потому что нейронка с этим помогать ему будет очень долго
lua:
local FamilyClosed = false
-- sampev.onServerMessage
    if text:find('^%[Ошибка%] Произошла ошибка, игрок состоит в другой семье') then
        FamilyClosed = true
    end
--
local function cefsend(str)
    local bs = raknetNewBitStream()
    raknetBitStreamWriteInt8(bs, 220)
    raknetBitStreamWriteInt8(bs, 18)
    raknetBitStreamWriteInt16(bs, #str)
    raknetBitStreamWriteString(bs, str)
    raknetBitStreamWriteInt32(bs, 0)
    raknetSendBitStream(bs)
    raknetDeleteBitStream(bs)
end
addEventHandler('onSendPacket', function (id, bs)
    if id == 220 then
        local id = raknetBitStreamReadInt8(bs)
        local packettype = raknetBitStreamReadInt8(bs)
        local strlen = raknetBitStreamReadInt16(bs)
        local str = raknetBitStreamReadString(bs, strlen)
        if packettype ~= 0 and packettype ~= 1 and #str > 2 then
            if str:find('onActiveViewChanged|Family') and FamilyClosed then
                cefsend('familyMenu.exit')
                FamilyClosed = false
            end
        end
    end
end)
 
  • Нравится
Реакции: microbiwe

Yono

Участник
53
7
Нету у него такого
Но вот автору помогу, потому что нейронка с этим помогать ему будет очень долго
lua:
local FamilyClosed = false
-- sampev.onServerMessage
    if text:find('^%[Ошибка%] Произошла ошибка, игрок состоит в другой семье') then
        FamilyClosed = true
    end
--
local function cefsend(str)
    local bs = raknetNewBitStream()
    raknetBitStreamWriteInt8(bs, 220)
    raknetBitStreamWriteInt8(bs, 18)
    raknetBitStreamWriteInt16(bs, #str)
    raknetBitStreamWriteString(bs, str)
    raknetBitStreamWriteInt32(bs, 0)
    raknetSendBitStream(bs)
    raknetDeleteBitStream(bs)
end
addEventHandler('onSendPacket', function (id, bs)
    if id == 220 then
        local id = raknetBitStreamReadInt8(bs)
        local packettype = raknetBitStreamReadInt8(bs)
        local strlen = raknetBitStreamReadInt16(bs)
        local str = raknetBitStreamReadString(bs, strlen)
        if packettype ~= 0 and packettype ~= 1 and #str > 2 then
            if str:find('onActiveViewChanged|Family') and FamilyClosed then
                cefsend('familyMenu.exit')
                FamilyClosed = false
            end
        end
    end
end)
Спасибо что помог, а то сам делал такой же скрипт и не мог догнать как сделать такое <3
 
  • Нравится
Реакции: bfix

microbiwe

Известный
Автор темы
18
0
Там же если кидаешь инвайт типу и если он уже в фаме то открывается /fammenu и дальше пока не закроешь меню то инвайт не отправляется, тут такое есть? или пофиксил такое?
фамменю будет открыт, но инвайты будут лететь

Нету у него такого
Но вот автору помогу, потому что нейронка с этим помогать ему будет очень долго
lua:
local FamilyClosed = false
-- sampev.onServerMessage
    if text:find('^%[Ошибка%] Произошла ошибка, игрок состоит в другой семье') then
        FamilyClosed = true
    end
--
local function cefsend(str)
    local bs = raknetNewBitStream()
    raknetBitStreamWriteInt8(bs, 220)
    raknetBitStreamWriteInt8(bs, 18)
    raknetBitStreamWriteInt16(bs, #str)
    raknetBitStreamWriteString(bs, str)
    raknetBitStreamWriteInt32(bs, 0)
    raknetSendBitStream(bs)
    raknetDeleteBitStream(bs)
end
addEventHandler('onSendPacket', function (id, bs)
    if id == 220 then
        local id = raknetBitStreamReadInt8(bs)
        local packettype = raknetBitStreamReadInt8(bs)
        local strlen = raknetBitStreamReadInt16(bs)
        local str = raknetBitStreamReadString(bs, strlen)
        if packettype ~= 0 and packettype ~= 1 and #str > 2 then
            if str:find('onActiveViewChanged|Family') and FamilyClosed then
                cefsend('familyMenu.exit')
                FamilyClosed = false
            end
        end
    end
end)
спасибо большое, добавлю в обнову
 

Yono

Участник
53
7
Предлогаю добавить ещё такое в обновлении
фамменю будет открыт, но инвайты будут лететь


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

microbiwe

Известный
Автор темы
18
0
Предлогаю добавить ещё такое в обновлении

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

Kanneus

Новичок
1
0
Как будет добавлено, жду соо, добавь фильтр чтобы можно было включить/выключить автоприглашение одного и того-же ид по новой и настроить кд инвайта в фаму, от себя +rep автору <3
 

Yono

Участник
53
7
Ещё можно добавить, выдачу ранга после инвайта, допустим если человек принял приглошение в фаму то ему выдается ранг который ты указал /setfrank id 7
полезно тоже было бы