Love this, but can you make it so the text doesn’t overlap? For example if /me is done while another one is active it will disable the first one and show the latest one. Not sure if that made sense…
I just edited it so that the text floats upwards. Next I’ll probably make it so that the text also fades in opacity as it moves up.
Does it write in chat and in 3d bubble or what?
Yep I could try that but atm I’m working on another resource and too lazy to spend an hour on this one.
@Knight_Marsha Interesting, feel free to share. There are also other ways you can modify the text (shadow, outline …).
@Orel240hz In a 3D bubble but also in a log.txt for the admins (not in chat).
Would this potentially conflict with nametag scripts over the head and cause overlap? If so can I make it higher or lower to avoid this?
It could overlap the playertag but personnaly I had no problems with that. At least you can adjust that line 26
of client.lua
: DrawText3D(coords['x'], coords['y'], coords['z']+1, text)
just change the +1 on the z value.
You could make the text display for an exact amount of time instead of “roughly” 13 seconds with variance on frame rate with a pretty easy separate thread. A function similar to Display
below may be considered, which would display for exactly 500ms. If you want to keep the current display time of 13 seconds, change time
to 13000
.
function Display(mePlayer, text)
local displaying = true
Citizen.CreateThread(function()
Citizen.Wait(time)
displaying = false
end)
Citizen.CreateThread(function()
while displaying do
Citizen.Wait(0)
local coords = GetEntityCoords(GetPlayerPed(mePlayer), false)
DrawText3D(coords['x'], coords['y'], coords['z']+1, text)
end
end)
end
Updated ! (thanks to @SaltyGrandpa)
Update
- The text display an exact amount of time
- Added “the person” at the beginning of the text (
Line 7
if you want to change the language) - Using /me multiple times doesn’t make it unreadable
hey great scripts I have it on my server quick question though
my players want to do this and a /me in the chat so that they can scroll back through the chat in game if need be is there a way to do this, I was going to run this along side a standard /me script but that doesn’t work only the 3d text shows
Maybe you can try to change the command of my script then your players can choose between the normal way and the 3D way. Or if you want to run them both with one command, you can add the chatMessage event of the other script into my script.
On the server I use this on, we have it so that /me does the bubble text (this), and /gme does the normal /me but in chat (do to we don’t use it in a set radius)
One thing I noticed when using this, if a player is dead it won’t show anything… is there any way to fix this?
I’d give it a quick guess. If the player is dead the ped is also laying down and that will make the location of the text appear in the ground.
I think @P4NDA_GamingV2 is right. Maybe you can try : if IsEntityDead(ped) then change the way the coordinates work for example by using the last coordinates the client used.
i have problem. When somebody use /me it shows above all players head
Sorry for the late response. Do you use the last version I uploaded ? Maybe I broke something
Does anyone have the same issue ?
I have 6 servers. IT happening sometime after restarts, sometimes IT works very well, but sometimes it just shows above all users head.
Is there a way you could create a webhook to post the log.txt to a discord via webhook
Also what is your time scale can you place that in comments for people who what to reduce time,
how does 500=13 seconds?
I fixed that on the last update now the timer is on ms. I will not do a webhook as i don’t hot enough time tout atm but I posted a link on how to make it work a few post above.