From 66a07a0a2133bbeadc2806565be0b11d873f4173 Mon Sep 17 00:00:00 2001 From: Vortrex <3858226+VortrexFTW@users.noreply.github.com> Date: Sun, 9 Jan 2022 05:31:39 -0600 Subject: [PATCH] New force player anim util + use chat section header util --- scripts/server/animation.js | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/scripts/server/animation.js b/scripts/server/animation.js index b206b30c..2a367db5 100644 --- a/scripts/server/animation.js +++ b/scripts/server/animation.js @@ -35,6 +35,10 @@ function playPlayerAnimationCommand(command, params, client) { return false; } + if(getAnimationData(animationSlot)[3] == VRR_ANIMTYPE_SURRENDER) { + getPlayerData(client).pedState = VRR_PEDSTATE_HANDSUP; + } + if(isPlayerHandCuffed(client) || isPlayerTazed(client) || isPlayerInForcedAnimation(client)) { messagePlayerError(client, `You aren't able to do that`); return false; @@ -71,7 +75,7 @@ function showAnimationListCommand(command, params, client) { let chunkedList = splitArrayIntoChunks(animList, 10); - messagePlayerInfo(client, `{clanOrange}== {jobYellow}Animation List {clanOrange}===========================`); + messagePlayerInfo(client, makeChatSectionHeader(getLocaleString(client, "HeaderAnimationsList"))); for(let i in chunkedList) { messagePlayerNormal(client, chunkedList[i].join(", ")); @@ -99,7 +103,7 @@ function makePlayerPlayAnimation(client, animationSlot, offsetPosition = 1) { getPlayerData(client).animationStart = getCurrentUnixTimestamp(); getPlayerData(client).animationForced = false; - makePedPlayAnimation(getPlayerData(client).ped, animationSlot, animationPositionOffset); + makePedPlayAnimation(getPlayerData(client).ped, animationSlot, offsetPosition); if(getAnimationData(animationSlot)[9] != VRR_ANIMMOVE_NONE) { if(getGame() < VRR_GAME_GTA_SA) { @@ -108,4 +112,30 @@ function makePlayerPlayAnimation(client, animationSlot, offsetPosition = 1) { } } +// =========================================================================== + +function forcePlayerPlayAnimation(client, animationSlot, offsetPosition = 1) { + getPlayerData(client).currentAnimation = animationSlot; + getPlayerData(client).currentAnimationPositionOffset = offsetPosition; + getPlayerData(client).currentAnimationPositionReturnTo = getPlayerPosition(client); + getPlayerData(client).animationStart = getCurrentUnixTimestamp(); + getPlayerData(client).animationForced = true; + + setPlayerControlState(client, false); + forcePedAnimation(getPlayerData(client).ped, animationSlot, offsetPosition); +} + +// =========================================================================== + +function makePlayerStopAnimation(client) { + //setPlayerPosition(client, getPlayerData(client).currentAnimationPositionReturnTo); + makePedStopAnimation(getPlayerData(client).ped); + + getPlayerData(client).currentAnimation = -1; + getPlayerData(client).currentAnimationPositionOffset = false; + getPlayerData(client).currentAnimationPositionReturnTo = false; + getPlayerData(client).animationStart = 0; + getPlayerData(client).animationForced = false; +} + // =========================================================================== \ No newline at end of file