[How-to] [Updated] Discord rich presence Custom Image 🏞

Im sorry I was looking to put his code into your RichPresence code so it was one resource, however I ended up making to resources works like a charm :smiley: Thanks both of you!

i never made a richpresence resource… i’ve contributed to the fivem discord rich presence implementation, which is quite different :thinking: .

1 Like

Ah, sorry about that well thanks for the help and the quick reply reguardless

I tried it but it didn’t work. Sad, it was a pretty cool idea.

It works fine. You probably didn’t setup the Discord application correctly.

Please provide information instead of just saying “it doesn’t work”.

3 Likes

I don’t know if i’ll get called a scum for reposting this but i worked on it for a while and thought i would share it. It combines the code from this post “Location Display for Discord Rich Presence” by @ IllusiveTea, the discord asset natives shown here and some touches of my own. :slight_smile:.

UPDATE:

  • Before if you where in a Add-On Vehicle it would display “NULL”, it now displays “Add-On Vehicle”.
  • Simplified things when retrieving the VehName.
  • Fixed the __resource.lua being empty when using the download at the bottom.
  • Removed the comments after the 2nd Citizen.CreateThread.
  • Reduced the update time from 15sec to 10sec

UPDATE #2:

  • Instead of saying “Add-On Vehicle” it displays the text defined by in the vehicles.meta
    (e.x. <“gameName”>2017_Ford_GT</“gameName”>, displays: 2017 Ford GT)

__resource.lua:

resource_manifest_version '44febabe-d386-4d18-afbe-5e627f4af937'
client_script 'client.lua'

Client.lua:

Citizen.CreateThread(function()
	while true do
		SetDiscordAppId(123456789012345678) --Discord app id
		SetDiscordRichPresenceAsset('Big_Picture') --Big picture asset name
        SetDiscordRichPresenceAssetText('Big picture text.') --Big picture hover text
        SetDiscordRichPresenceAssetSmall('small_picture') --Small picture asset name
        SetDiscordRichPresenceAssetSmallText('Small picture text') --Small picture hover text
		Citizen.Wait(600000) --How often should this script check for updated assets? (in MS)
	end
end)
--No Need to mess with anything pass this point!
Citizen.CreateThread(function()
	while true do
		local VehName = GetLabelText(GetDisplayNameFromVehicleModel(GetEntityModel(GetVehiclePedIsUsing(PlayerPedId()))))
		if VehName == "NULL" then VehName = GetDisplayNameFromVehicleModel(GetEntityModel(GetVehiclePedIsUsing(PlayerPedId()))) end
		local x,y,z = table.unpack(GetEntityCoords(PlayerPedId(),true))
		local StreetHash = GetStreetNameAtCoord(x, y, z)
		local pId = GetPlayerServerId(PlayerId())
		local pName = GetPlayerName(PlayerId())
		Citizen.Wait(10000)
		if StreetHash ~= nil then
			StreetName = GetStreetNameFromHashKey(StreetHash)
			if IsPedOnFoot(PlayerPedId()) and not IsEntityInWater(PlayerPedId()) then
				if IsPedSprinting(PlayerPedId()) then
					SetRichPresence("ID: "..pId.." | "..pName.." is sprinting down "..StreetName)
				elseif IsPedRunning(PlayerPedId()) then
					SetRichPresence("ID: "..pId.." | "..pName.." is running down "..StreetName)
				elseif IsPedWalking(PlayerPedId()) then
					SetRichPresence("ID: "..pId.." | "..pName.." is walking down "..StreetName)
				elseif IsPedStill(PlayerPedId()) then
					SetRichPresence("ID: "..pId.." | "..pName.." is standing on "..StreetName)
				end
			elseif GetVehiclePedIsUsing(PlayerPedId()) ~= nil and not IsPedInAnyHeli(PlayerPedId()) and not IsPedInAnyPlane(PlayerPedId()) and not IsPedOnFoot(PlayerPedId()) and not IsPedInAnySub(PlayerPedId()) and not IsPedInAnyBoat(PlayerPedId()) then
				local MPH = math.ceil(GetEntitySpeed(GetVehiclePedIsUsing(PlayerPedId())) * 2.236936)
				if MPH > 50 then
					SetRichPresence("ID: "..pId.." | "..pName.." is speeding down "..StreetName.." at "..MPH.."MPH in a "..VehName)
				elseif MPH <= 50 and MPH > 0 then
					SetRichPresence("ID: "..pId.." | "..pName.." is cruising down "..StreetName.." at "..MPH.."MPH in a "..VehName)
				elseif MPH == 0 then
					SetRichPresence("ID: "..pId.." | "..pName.." is parked on "..StreetName.." in a "..VehName)
				end
			elseif IsPedInAnyHeli(PlayerPedId()) or IsPedInAnyPlane(PlayerPedId()) then
				if IsEntityInAir(GetVehiclePedIsUsing(PlayerPedId())) or GetEntityHeightAboveGround(GetVehiclePedIsUsing(PlayerPedId())) > 5.0 then
					SetRichPresence("ID: "..pId.." | "..pName.." is flying over "..StreetName.." in a "..VehName)
				else
					SetRichPresence("ID: "..pId.." | "..pName.." is landed at "..StreetName.." in a "..VehName)
				end
			elseif IsEntityInWater(PlayerPedId()) then
				SetRichPresence("ID: "..pId.." | "..pName.." is swimming")
			elseif IsPedInAnyBoat(PlayerPedId()) and IsEntityInWater(GetVehiclePedIsUsing(PlayerPedId())) then
				SetRichPresence("ID: "..pId.." | "..pName.." is sailing in a "..VehName)
			elseif IsPedInAnySub(PlayerPedId()) and IsEntityInWater(GetVehiclePedIsUsing(PlayerPedId())) then
				SetRichPresence("ID: "..pId.." | "..pName.." is in a yellow submarine")
			end
		end
	end
end)

5MDiscordRPv3.zip (1.1 KB)
Notice: Please allow up to 1 minute for the script to fully display the correct details

10 Likes

Hello guys . Can you help how to do like the picture above ? Thank you !! https://imgur.com/w6pouL7

Huh? Read the post and it tells you how to do it.

1 Like

I followed the steps but i want to learn me if you can , how can i make like in the picture above , i mean to see the name in game, the ID in game(the number) and players like: 1/32 . Thank you !

name = GetPlayerName(PlayerId())
id = GetPlayerServerId(PlayerId())

Thank you . I tryed , i’ve made like this: https://imgur.com/a/aUHsAQb and it didn’t work . Can you help me out ? Thank you !

If you’re trying to use the name and id var in the SetDiscordRichPresenceAssetText text string you must enclose it in "..
ex: SetDiscordRichPresenceAssetText("ID: "..id.." | "..name.." ")
I have never tested if you can put a variable in the image texts but that is how you would do it

1 Like

Super useful.
Thanks so much for making this I’ve been trying to figure it out for so long!

1 Like

When you mean “roleplay names” do you mean names given to you by esx, vrp, etc? or the users steam name?

1 Like

I fixed it, its for ESX.

Love this mate!

image

Love it, thank you :slight_smile: Image is just for now while i find someone to make me a better one, was taken from google.

5 Likes

good release cutie

3 Likes

does not work

1 Like

Discribe any errors because this sounds like user error

1 Like