[FREE] rpemotes-reborn - A standalone emote system for FiveM

Are you using an anticheat? It may interfere with this.

Nope. No anticheat in use.

What version are you using? You’ll need to provide more info as it currently works for all other users

I am not sure what version I was using as of the day before I made the post (still had the issue then) however I uploaded the latest version to the server the day I posted and the issue was still presenting

Only thing I can think of here is you have some kind of resource restricting particle effects from being spawned on players/props that is blocking this. Again, would need more context (resource list, link to server, etc) to know what could conflict.

I would recommend testing the resource and activating resources 1 by 1 to see what conflicts with it.


I liked the feature on the French server. Just press the button when the menu is open. The animation remains attached to this button. Very cool, fast and convenient. Who can implement this?!

2 Likes

Changes:

Fixes:

  • Issue with replaying an emote if the player wasn’t the cause of the emote (Thanks @Mathu-lmn)
  • Variable name fix (Thanks @Avenze)

There are no additional emotes now, but there should be a significant refactoring of rpemotes to improve readability.

1 Like

Heya, Trying to find out if it’s a me issue or something has happened. But since updating to the latest version animations like “snot” and “scratch balls” (lol) just don’t work. They don’t flag any error messages they just don’t do anything. Is this happening for you as well, or have I done something? I have checked that I have it set to allow adultemotes, I’ve even gone through and removed the call on those emotes themselves to be labelled as adult as well, but no luck. Not sure what’s happened :open_mouth:

Update: Both seem to be from “move_p_m_two_idles@generic” - I checked and also “smell” is in that and also does not work :open_mouth:

Update 2: I was able to get it to work by removing the folder in Custom Emotes called “RPEmotes”

1 Like

1.8.1

Minor update but figured I’d get this out for people looking to stop getting alerts.

Fixes:

  • Version Number updated
  • Bong Model changed to have a bottom
  • Fix Nil Options (thanks @Mathu-lmn)
1 Like

love to use your script mate! such a masterpiece that happend here :slight_smile: please try to find a way, to use the different dance styles for dance-emotes that have some :smiley: vanilla give u some where u can change the way character dances to up/down/left/right with their hands, with the arrow-keys… maybe u get it working :o

Not sure what you’re requesting, do you want to be able to control both hands while dancing? Glad you’re enjoying the resource!

yeah, meaning these that was added with the Club-Update, there are some where player can change the “style” that hold arm to the desired way… maybe you find something :octopus:

That would be cool, maybe in the future we can consider looking into that if we get more info on how it’s done. As it is it might be simulatable by just playing different dances in order.

maybe this will help u mate :slight_smile:

function DisplayHelpText(string1, string2, string3, time)
    BeginTextCommandDisplayHelp("THREESTRINGS")
    AddTextComponentSubstringWebsite(string1)
    AddTextComponentSubstringWebsite(string2)
    AddTextComponentSubstringWebsite(string3)
	EndTextCommandDisplayHelp(0, 0, 1, time or -1)
end

intensity = {"low", "med", "high"}
direction = {"left", "center", "up"}
height = {"up", "", "down"}
-- vars = {"a", "b", "d", "e", "f", "h", "j", "k", "l", "m"}
vars = {"a", "b"}
varsPerico = {"beach_boxing", "jumper", "sand_trip", "shuffle", "techno_karate", "techno_monkey"}
shakeIntensity = {0.25, 0.5, 1.0}

currentIntensity = 1

lastAnim = "med_center"
anim = "med_center"

isDancing = false

RegisterCommand("dance", function()
	Citizen.CreateThread(function()
		if isDancing == true then
			return
		end
		
		DisplayHelpText("Press ~INPUTGROUP_MOVE~ to change direction.", "~n~Press ~INPUT_SPRINT~ and ~INPUT_JUMP~ to change intensity.", "~n~Press ~INPUT_ENTER~ to exit.", 5000)
		
		local ped = PlayerPedId()
		
		local gender = "male"
		if IsPedMale(PlayerPedId()) ~= 1 then gender = "female" end
		
		if math.random(1,2) == 1 then
			danceVar = "anim@amb@nightclub@mini@dance@dance_solo@"..gender.."@var_".. vars[math.random(1, 2)] .."@"
		else
			danceVar = "anim@amb@nightclub@mini@dance@dance_solo@"..varsPerico[math.random(1, 6)].."@"
		end
		
		-- danceVar = "anim@amb@nightclub@mini@dance@dance_paired@dance_"..vars[math.random(1, 10)].."@"
		-- danceVar = "anim@amb@nightclub@mini@dance@dance_solo@"..vars[math.random(1, 6)].."@"
		-- anim@amb@nightclub@mini@dance@dance_paired@dance_a@
		
		if not HasAnimDictLoaded(danceVar) then
			BeginTextCommandBusyspinnerOn("STRING")
			AddTextComponentString("LOADING DANCE ANIM")
			EndTextCommandBusyspinnerOn(1)
			RequestAnimDict(danceVar)
			repeat Wait(0) until HasAnimDictLoaded(danceVar)
		end
		
		
		if not HasAnimDictLoaded("anim@amb@nightclub@dancers@club_ambientpedsfaces@") then
			BeginTextCommandBusyspinnerOn("STRING")
			AddTextComponentString("LOADING FACIAL ANIM")
			EndTextCommandBusyspinnerOn(1)
			RequestAnimDict("anim@amb@nightclub@dancers@club_ambientpedsfaces@")
			repeat Wait(0) until HasAnimDictLoaded("anim@amb@nightclub@dancers@club_ambientpedsfaces@")
		end
		
		BusyspinnerOff()
		
		currentIntensity = 1
		
		ShakeGameplayCam("CLUB_DANCE_SHAKE", 0.5)
		SetGameplayCamShakeAmplitude(shakeIntensity[currentIntensity])
		
		-- TaskPlayAnim(ped, danceVar, "intro", 8.0, -8, -1, 0, 0, 0, 0, 0)
		-- Wait(GetAnimDuration(danceVar, "intro")*1000)
		
		TaskPlayAnim(ped, danceVar, anim, 8.0, -8, -1, 1, 0, 0, 0, 0)
		
		isDancing = true
		
		while true do Wait(0)
		
			DisableControlAction(0, 37, true)
		
			lastAnim = anim
			
			animheight = ""
			animdirection = "center"
			
			currentTime = GetEntityAnimCurrentTime(PlayerPedId(), danceVar, lastAnim)
			
			if IsControlPressed(0, 32) then
				animheight = "_up"
			end
			
			if IsControlPressed(0, 33) then
				animheight = "_down"
			end
			
			if IsControlPressed(0, 34) then
				animdirection = "left"
			end
			
			if IsControlPressed(0, 35) then
				animdirection = "right"
			end
			
			
			-- DECREASE INTENSITY
			if IsControlJustPressed(0, 21) and currentIntensity > 1 then
				currentIntensity = currentIntensity - 1
			end
			
			-- INCREASE INTENSITY
			if IsControlJustPressed(0, 22) and currentIntensity < 3 then
				currentIntensity = currentIntensity + 1
			end
			
			local x, y, z = table.unpack(GetEntityRotation(ped, 0))
			
			
			-- SPIN RIGHT
			if IsControlPressed(0, 153) then
				SetEntityRotation(ped, x, y, z - (50.0 * GetFrameTime()), 0, true)
			end
			
			-- SPIN LEFT
			if IsControlPressed(0, 152) then
				SetEntityRotation(ped, x, y, z + (50.0 * GetFrameTime()), 0, true)
			end
			
			
			-- QUIT
			if IsControlJustPressed(0, 23) then
				TaskPlayAnim(ped, "", "", 4.0, 4.0, -1, 1, 0, 0, 0, 0) 
				PlayFacialAnim(PlayerPedId(), "", "")
				StopGameplayCamShaking(false)
				RemoveAnimDict(danceVar)
				isDancing = false
				return
			end
			
			
			animintensity = intensity[currentIntensity]
			
			anim = animintensity ..'_'.. animdirection ..animheight
			
			-- SetTextFont(0)
			-- SetTextProportional(1)
			-- SetTextScale(0.0, 0.55)
			-- SetTextColour(255, 255, 255, 255)
			-- SetTextDropshadow(0, 0, 0, 0, 255)
			-- SetTextEdge(2, 0, 0, 0, 150)
			-- SetTextDropShadow()
			-- SetTextOutline()
			-- SetTextEntry("STRING")
			-- SetTextCentre(1)
			-- AddTextComponentString(anim)
			-- DrawText(0.5, 0.1)
			
			if lastAnim ~= anim then
				currentTime = GetEntityAnimCurrentTime(PlayerPedId(), danceVar, lastAnim)
				SetGameplayCamShakeAmplitude(shakeIntensity[currentIntensity])
				-- TaskPlayAnim(PlayerPedId(), danceVar, anim, 4.0, 4.0, -1, 1, 1.0, false, false, false) 
				TaskPlayAnimAdvanced(PlayerPedId(), danceVar, anim, GetEntityCoords(PlayerPedId()), GetEntityRotation(PlayerPedId()), 4.0, 4.0, -1, 1, currentTime, false, false, false) 
				PlayFacialAnim(PlayerPedId(), "mood_dancing_"..animintensity.."_2", "anim@amb@nightclub@dancers@club_ambientpedsfaces@")
			end
		end
	end)
end)

You’d want to make a PR or discuss it on our github/discord profile. This would be something you could implement and @Mathu-lmn or @iSentrie can take a look at and give feedback on.

I’ve tried everything but persistent walking does not stick :smiling_face_with_tear: it will always default after logging out or restarts

s.o.s