User-friendly and simple API to create, play and control taunts, dances and any other player sequences.
By default addon does not contain animations from Custom Taunt, you can install them individually, check out this collection: uTaunt
- High Performance - addon has a very low hardware requirements.
- Simple - users have access to one small menu with all sequences.
- Extensibility - other developers can expand the list of available sequences.
- Reliable - all sequences are synchronized both on server and client, implemented work with network and PVS.
- Co-op Dances - addon supports creating co-dances, as an example we have 2 dances from MMD ( Custom Taunt ).
- Support - addon will receive all necessary patches and updates during the year.
- Modifiable - addon lets you replace its menu and individual playback control by other scripts.
Written in Yuescript, compiled Lua code can be found in releases and lua branch, or you can compile it yourself using compiled Yuescript Compiler.
booleanuTaunt.Start(Playerply,stringsequenceName,booleanforce,floatcycle,VectorstartOrigin,AnglestartAngles ) - returns true if successful, otherwise false.booleanuTaunt.Join(Playerply,PlayerdancingPlayer ) - returns true if successful, otherwise false.booleanuTaunt.Finish(Playerply ) - returns true if successful, otherwise false.string- uTaunt.SetSequenceName(Playerply,stringsequenceName ) - sets sequence name as string.booleanuTaunt.SetCycle(Playerply,intsequenceID,floatcycle ) - sets sequence progress from 0 to 1 as float, returns true if successful, otherwise false.- uTaunt.SetRenderAngles(
Playerply,Angleangles ) - sets angles of player render as Angle. - uTaunt.IsAudioEnabled(
Playerply ) - returns true if sequences audio is enabled. - uTaunt.IsCoopEnabled(
Playerply ) - returns true if sequences in co-op mode is enabled. - uTaunt.IsLoopingEnabled(
Playerply ) - returns true if sequence looping is enabled.
tableuTaunt.FindSequences(Entityentity,stringpattern ) - returns list with sequences data like{ id = 0, name = "idle", duration = 1 }.booleanuTaunt.IsValidTauntingPlayer(Entityentity ) - returns true if entity is a valid and alive player that using uTaunt ( taunt at this time ).booleanuTaunt.IsPlayingTaunt(Playerply ) - returns true if player is using uTaunt ( taunt at this time ).stringuTaunt.GetSequenceName(Playerply ) - returns current sequence name as string.doubleuTaunt.GetStartTime(Playerply ) - returns start time point in CurTime as double.floatuTaunt.GetCycle(Playerply,intsequenceID,doublestartTime ) - retuns sequence progress from 0 to 1 as float.AngleuTaunt.GetRenderAngles(Playerply ) - returns player render angles as Angle.
booleanIsInTaunt() - returns true if local player is taunting.- uTaunt.ToggleMenu(
Playerply ) - toggles uTaunt menu. stringuTaunt.GetPhrase(stringplaceholder ) - returns localized phrase as string.booleanuTaunt.IsAudioEnabled() - returns true if sequences audio is enabled.booleanuTaunt.IsCoopEnabled() - returns true if coop sequences is allowed.booleanuTaunt.IsLoopingEnabled() - returns true if sequence looping is enabled.integeruTaunt.GetCameraMode() - returns camera mode as integer.
- GM:TauntStartCommand(
Playerply,CUserCommandcmd,stringsequenceName ) - called when player taunting, here can be returned the bit number of buttons that the player presses. - GM:UnknownTauntSound(
Playerply,stringsequenceName,floatcycle,doubleduration,intsequenceID ) - called when player starts dancing, if string is returned here then sound will be used on string as sound path, if false then sound will be blocked, if true or nil then default action. Also accepts links to web audio files and online radio stations. - GM:PlayerTauntThink(
Playerply,booleanisUTaunt ) - called while player is taunting.
- GM:PlayerStartedUnknownTaunt(
Playerply,stringsequenceName,doubleduration ) - called when a player's taunt was started. - GM:PlayerFinishedTaunt(
Playerply,stringsequenceName,booleanisFinished,doubletimeRemaining,intsequenceID,doublefinishTime ) - called when a player's taunt was stopped. - GM:PlayerShouldUnknownTaunt(
Playerply,intsequenceID ) - if false is returned here, taunt will be blocked, if true then allowed. - GM:PlayerShouldFinishTaunt(
Playerply,stringsequenceName,booleanisFinished,doubletimeRemaining,intsequenceID,doublefinishTime ) - if return here false taunt won't be stopped ( personally, I don't recommend using this, but if you need... ). - GM:UnknownTauntThink(
Playerply,stringsequenceName,floatcycle,intsequenceID ) - called while a player is taunting, if false is returned here, taunt will be stopped. - GM:PlayerShouldCoopTaunt(
Playerply,PlayerotherPlayer,stringsequenceName ) - if false is returned here, then cooperative dancing will be forbidden, if true it will be allowed.
- GM:AllowTauntMenu(
Playerply ) - if false is returned here then taunt menu opening will be blocked. - GM:UnknownTauntMenuSetup(
Playerply,functionadd ) - called when taunt menu is being created, with 'add' you can add more taunts and categories to that menuadd( "title", sequenceNamesList ). - GM:AllowUnknownTaunt(
Playerply,stringsequenceName,stringcategoryTitle ) - taunt filter for a player, if false is returned here, taunt will be hidden in the taunt menu. - GM:UnknownTauntSynced(
Playerply,stringsequenceName,floatcycle,intsequenceID,booleanisWebAudio ) - called when player taunt is being synced. - GM:PlayerFinishedTaunt(
Playerply,stringsequenceName ) - called when player is finished taunt.