Jump to content

ooc chat


Recommended Posts

Quote

local sx,sy = guiGetScreenSize ()
local chatData = getChatboxLayout()
local x, y = sx/2-50, sy-180
local oocState = true
local maxLines = 9
local oocMessages = {}
local font = "default-bold"
local _,scale = chatData["chat_scale"]
local bg = {chatData["chat_color"]}
local lines = chatData["chat_lines"]
-- local chatX,chatY = x,y
local chatX,chatY = 0.015625*sx,16 + 15*lines + 25

addEventHandler ("onClientRender",getRootElement(),
    function ()
        if getElementData(localPlayer, "loggedin") then
            if oocState and getElementData(localPlayer, "enableall") then
                chatX, chatY = exports.sas_hud:getNode(11, "x"), exports.sas_hud:getNode(11, "y")
                dxDrawText("OOC Chat Kikapcsolni a /togooc parancsal tudod)",chatX+1,chatY+1,0,0,tocolor(0,0,0),1,font)
                dxDrawText("OOC Chat Tisztítani a /co parancsal tudod)",chatX,chatY,0,0,tocolor(205,205,205),1,font)
                for k,v in ipairs(oocMessages) do
                    local tx,ty = chatX,chatY + (maxLines+2)*15 - k*15
                    dxDrawText(v,tx+1,ty+1,0,0,tocolor(0,0,0),1,font)
                    dxDrawText(v,tx,ty,0,0,tocolor(205,205,205),1,font)
                end
            end
        end
    end
)

addEvent ("onOOCMessageSend",true)
addEventHandler ("onOOCMessageSend",getRootElement(),
    function (message)
        local player = source
        local int,dim = getElementInterior (player),getElementDimension(player)
        if int == getElementInterior(localPlayer) and dim == getElementDimension(localPlayer) then
            local length = #oocMessages
            if #oocMessages >= maxLines then
                table.remove (oocMessages,maxLines)
            end
            local text = message
            table.insert (oocMessages,1,text)
            outputConsole ("[OOC]"..text)
        end
    end
)

function isOOCChatToggled ()
    return oocState
end

function toggleOOCChat (state)
    if state ~= oocState then
        oocState = state
    end
end

function togOOCCMD (cname,arg)
    toggleOOCChat (not oocState)
end
addCommandHandler ("togooc",togOOCCMD)

function co ()
    for k in pairs (oocMessages) do
    oocMessages[k] = nil
end
end
addCommandHandler ("co",co)


local oldRand = 1

Sziasztok, ooc-chat-em-en azt szeretném megcsinállni hogy ha írok mint admin, ha szolgálatba vagyok, hanem akkor is írja hogy milyen admin vagyok, és a nevem az adott színekkel

Admin[1] #dd7956

Admin[2] #dd7957

Admin[3] #dd7958

Admin[4] #dd7959

Admin[5] #dd7960

ÁszAdmin #d79595

SzuperÁszAdmin #ed1c4t

Tulajdonos #dd77dd

Designer #888888

RendszerController #7cc555

Igen, olyan mint see-n csak itt más rangok vannak és más színkódok

valahogy így kellene kinéznie

pl: ((Tulajdonos ChrisT: példa példa))

 

Link to comment
  • Moderators

Szia!
Ez csak a "megjelenítés". Szerver oldalon kell módosítanod, hogy azt a szöveget küldje el megjelenítésre a kliensnek, amiben szerepel a prefix.
Meg kell keresned szerver-oldalon azt, ahol meg-triggerelődik a onOOCMessageSend event, és azelőtt hozzáfűzni a megfelelő prefixet. (valószínűleg ott fűzi hozzá a játékos nevét is)

EDIT: client oldalon is megoldható, mert az onOOCMessageSend source-elementje a player aki elküldte az üzenetet, szóval az ő rangját letudod kérdezni abból, de szerver-oldalon jobb.

Edited by Patrick
Link to comment

Szia rendben 

 

function localOOC(thePlayer, commandName, ...)
    if exports['das_freecamtv']:isPlayerFreecamEnabled(thePlayer) then return end
    
    local dimension = getElementDimension(thePlayer)
    local interior = getElementInterior(thePlayer)
        
    if getElementData(thePlayer, "loggedin") and not (isPedDead(thePlayer)) then
        local muted = getElementData(thePlayer, "muted")
        if not (...) then
            outputChatBox("Használd: /" .. commandName .. " [üzenet]", thePlayer, 255, 194, 14)
        elseif (muted==1) then
            outputChatBox("Tiltva vagy az OOC chatrõl.", thePlayer, 255, 0, 0)
        else
            exports.das_global:sendLocalText(thePlayer, getPlayerName(thePlayer) .. ": (( " .. table.concat({...}, " ") .. " ))", 196, 255, 255)
            local x, y, z = getElementPosition(thePlayer)
            for index, nearbyPlayer in ipairs(getElementsByType("player")) do
                if isElement(nearbyPlayer) and getDistanceBetweenPoints3D(x, y, z, getElementPosition(nearbyPlayer)) < ( 20 ) then
                    triggerClientEvent(nearbyPlayer, "onOOCMessageSend", nearbyPlayer, getPlayerName(thePlayer) .. ": (( " .. table.concat({...}, " ") .. " ))")
                end
            end
        end
    end
end
addCommandHandler("b", localOOC, false, false)

itt hol tudom lekérdezni?

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...