ChrisT Posted July 26, 2020 Share Posted July 26, 2020 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 Patrick Posted July 26, 2020 Moderators Share Posted July 26, 2020 (edited) 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 July 26, 2020 by Patrick Link to comment
ChrisT Posted July 27, 2020 Author Share Posted July 27, 2020 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
Moderators Patrick Posted July 27, 2020 Moderators Share Posted July 27, 2020 3 hours ago, ChrisT said: itt hol tudom lekérdezni? Bárhol, thePlayer a játékos elementje, aki használta a parancsot. Link to comment
ChrisT Posted July 27, 2020 Author Share Posted July 27, 2020 és hova mit illeszekbe? hogy zöld legyen és írja a rangot? Link to comment
Moderators Patrick Posted July 27, 2020 Moderators Share Posted July 27, 2020 8 hours ago, ChrisT said: és hova mit illeszekbe? hogy zöld legyen és írja a rangot? Ezt neked kell tudnod, hogy-hogy kérdezed le a játékos rangját, stb. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now