RP Chatbox,Advance RP. Помогите доделать нормально)

Lelouch

Новичок
Автор темы
2
0
Версия SA-MP
  1. 0.3.7-R2
Доброго времени суток,начну с предистории.
Началось всё как обычно на Адвансе и бывает. Тупые нрп копы с двух звёзд сделали 5,и посадили на хуиллион лет.
Мне было скучно,да и заёбывался в чат по кд писать " (( )) " (бригада: на адвансе нету команды для нрп чата,вместо этого - в обычный чат пишешь (( ${content} )),и это считается как НРП чат) по этому решил найти скрипт,который это делает за тебя. Наткнулся на тему от Cosmo ( *Ссылка на тему* )где он сделал 2 вида чата,с переключением через TAB,1 - РП чат,2 - NRP-Чат. Я это всё дело чуток переделал,и сделал Нон-рп чат для Работы ( /f 2 ${text} ). Но на этом всё. А Я планировал сделать так:1 Чат - РпЧат ; 2 Чат - НрпЧат Работы ; 3 - НрпЧат Фраки ( /f 1 ${text} )
Буду очень рад если найдётся герой,который поможет мне это сделать Бесплатно :3
Уточню что Я вообще не шарю за Lua,просто методом тыка я смог сделать так. дальше уже мои полномочия - всё.


Код:

Скрипт:
--! Нрп чаты нужны только для работы/фракции. Больше никакие !
cmdNRPchat = '/f 2' -- нрп чат Работы
cmdNRPchatFraka = '/f 1'  -- нрп чат Фракции


script_name('NRP-Chat(/f) ARP')
script_author('Cosmo')

require 'moonloader'
se = require 'lib.samp.events'
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(80) end
    
    chatType = 'RPchat'   
    font = renderCreateFont('Arial', 10, 13)
    while true do
        if sampIsChatInputActive() then
            local input = sampGetChatInputText()
            local strEl = getStructElement(sampGetInputInfoPtr(), 0x8, 4)
            local X = getStructElement(strEl, 0x8, 4) + 12.5
            local Y = getStructElement(strEl, 0xC, 4) + 12.5

            if isKeyJustPressed(VK_TAB) then
                chatType = chatType == 'RPchat' and 'NRPchat' and 'RPchat' and 'NRPchatFraka'
                addOneOffSound(0, 0, 0, 1083)
            end

            if #input == 0 then
                renderFontDrawText(font, chatType..'', X, Y, 0x20FFFFFF)
            else
                chatEditBoxTextColor(chatType == 'NRPchat' and (input:match('^/') and 0xFFFFFFFF or 0xff0ff0AA) or 0xFFFFFFFF) --Цвет для букав :3
                chatEditBoxTextColor(chatType == 'NRPchatFraka' and (input:match('^/') and 0xFFFFFFFF or 0xff0000AA) or 0xFFFFFFFF) --Цвет для букав :3
            end
        end
    wait(0)
    end
end

function se.onSendChat(msg)
    if chatType == 'NRPchat' then
        sampSendChat(string.format('%s (( %s ))', cmdNRPchat, msg))
        return false
    end
    if chatType == 'NRPchatFraka' then
        sampSendChat(string.format('%s (( %s ))', cmdNRPchatFraka, msg))
        return false
    end
end

function chatEditBoxTextColor(color) -- by S E V E N
    local memory = require 'memory'
    local pInput = memory.read(getModuleHandle("samp.dll") + 0x21A0E8, 4, true)
    local pEditInputBox = memory.read(pInput + 0x8, 4, true)
    memory.write(pEditInputBox + 0x127, color, 4, true)
end
*В данном варианте кода,работает только Рп Чат и нрп чат фраки,дальше просто тишина.
*видос с работой скрипта*