* fix: only setup +-crouch keys if enabled
Keys only need to be set up if keybinding is enabled.
* dev: move function
* fix: add ragdoll test
* refactor: get player ped after anim loaded
* grammar
* refactor: add return to AttemptCrouch
returns if it was successful
* style: add category name
* feat: add crawling
* fix: added missing config
Config was missing, sorry!
* refactor: use PlayAnimOnce
We should use PlayAnimOnce here as it would lower the complexity and make the code easier to read.
* feat: add exports
Add exports to be used by other developers when creating scripts for their own servers.
* refactor: redo config setup
* refactor: add blendInSpeed to PlayAnimOnce
* refactor: use local function instead of global
local functions are much faster to load then global ones.
* refactor: redo CrouchKeyPressed
Rewrite the entire function to use new configs
* style: remove commented code
* dev: add new version of crawl
A temporary version of crawl, still in development.
* refactor: make isProne a global variable
Add @iSentrie 's suggestion to make isProne a global variable so it can be used in Emotes.lua to prevent animations being played while crawling.
Co-authored-by: iSentrie <xvender7@gmail.com>
* refactor: make global isProne uppercase
* fix: add prone check before playing anim
Add a check to see if we are prone before we play any animations.
TODO: This needs to be translated for all the different languages.
Co-Authored-By: iSentrie <29688478+iSentrie@users.noreply.github.com>
* refactor: add function for idle crawl anim
* refactor: increase blend in speed
* refactor: add ChangeHeadingSmooth func
* feat: add on back rotation anims
* feat: use PlayAnimOnce instead
* style: whitespace
* feat: add config to disable keybinds
* fix: convert to PlayAnimOnce func
We aren't loading anim dict, let's use PlayAnimOnce instead to make it simple.
* Update config default states
* refactor: remove unnecessary variable
keyPressed is just not needed, the command 'crouch' should't be fired at the same time regardless, so this can be safely removed.
* refactor: merge functions
* refactor: increase timer
Increase the amount of time we should wait before we move to the idle state again.
* fix: check if we are in water
Only needs to be in crawl, you should be able to crouch along the waterfront.
ClearPedTasks is also necessary to prevent the player getting stuck in an animation.
* refactor: remove chat message
As @iSentrie pointed out these are annoying in some situations. It's pretty self-explanatory why you can't crouch/crawl when these appear anyway.
Co-Authored-By: iSentrie <29688478+iSentrie@users.noreply.github.com>
* refactor: separate out exit crawl animations
* refactor: better crawl entry anim
* refactor: allow heading input on PlayIdleCrawlAnim
* refactor: use PlayIdleCrawlAnim instead
* fix: add inAction checks
Fixes issues @iSentrie commented on.
This may not cover all situations, needs more testing.
* refactor: flip anim
I've yet to find any good anims for this, this is the best, or least worst I've found so far.
Better to have something then to literately do a flip.
* fix: add point checks
Disable pointing while crawling.
* fix: remove clipsetreset
There should be no reason to reset the clipset/walkstyle. This will only mess with crouching.
* fix: disable weapon switching while prone
* fix: don't play idle anim if we can't crawl
We shouldn't play the anim as it will lead to weird behavior when ragdolling/falling while entry anim is played.
* fix: move inAction
Only set inAction to true when we actually can lay down.
* fix: missing pointing check
I'll just sneak this in here, "nobody will notice".
* fix: check if in animation
We should check if we are in an animation before crawling.
* refactor: remove command args
Remove command args to clean thing up. Suggested by @iSentrie
Co-Authored-By: iSentrie <29688478+iSentrie@users.noreply.github.com>
* refactor: cancel emote on crawl
As suggested by @iSentrie
Co-Authored-By: iSentrie <29688478+iSentrie@users.noreply.github.com>
* Add comments
* fix: add water checks
Add checks, to lazy to type more, read the code.
* fix: correct check statement
Don't juge me, it's late ok
Co-authored-by: iSentrie <xvender7@gmail.com>
Co-authored-by: iSentrie <29688478+iSentrie@users.noreply.github.com>
Stealth movement should't be reset here, action mode should. It is still correct to check for stealth movement in the StartCrouch function, but not in the loop, as action mode != stealth movement.
* refactor: improve crouch
Should now allow for using the same button as duck (left control by default) and some improvements. To lazy to write more then that.
* fix: typo
Notes/descriptions of the walking styles:
Floyd (move_characters@floyd) - Slightly leaned forward when walking, shoulders are high up when running.
Hurry3 (move_f@hurry@b) - A more paranoid version then move_f@hurry@a.
Lamar (move_characters@lamar) - This is the default Lamar walk.
Lamar2 (anim_group_move_lemar_alley) - A faster/more paranoid version of the Lemar walk.
Tracey (move_characters@tracey) - Left foot hurting, swings excessively with arms, idles with left foot forwards.
* Feat: Add Exit Emotes
This would add the option to add "exit emotes" for any emote.
The point of adding this would be to allow for more "smooth" or "dynamic" animations to be set up, hopefully improving the "natural flow" when using emotes. Further down the line entry emotes could also be added to build on top of this.
This PR only includes getting up (getup) as an example on how it could be used, more emotes could be added as time goes by.
I don't think I've seen any other menu with this, so it certainly should be a step ahead of other menus.
Here is a video showing it in action: https://youtu.be/uEWAz-xgHlg (sorry for the "low" fps, my pc suddenly decided to not cooperate)
* Made Requested Changes
Add checks to confirm that both the exit type and emote exists. ExitEmoteType also defaults to "Emotes" if not specified.
ExitEmote config have been changed to match the style of other configs. It is now split up into ExitEmote and ExitEmoteType.
Added new array in the RP table called "Exits" to allow adding exit emotes without having them appear in the menu, they are still available trough commands.
HUGE thanks to @MadsLeander
Notes/descriptions of the walking styles:
Bigfoot (move_characters@orleans@core@) - Head hanging slightly forwards, somewhat hurting in left fot, wide with arms as if he's large, walking slow, runs crazy and fast (Used by this character in storymode: https://gta.fandom.com/wiki/Sasquatch_Roleplayer)
Coward (move_m@coward) - Hunched forward when standing still, other wise not diffrent from the default male walk.
Dave (move_characters@dave_n) - Shoulders are higher then normal walk, standing wide when still, left foot hurting when running/jogging (sprint is the default one) (Used by Dave Norton in storymode)
Femme2 (move_m@femme@) - Shoulders are "swinging", left leg is leaned on when standing still, generally can be best described as a feminine walk for male peds, run and sprint are like the default one (This is one of the avalible walks in GTA Online)
Jimmy (move_characters@jimmy) - Similar to nervous/slow (they are all from the same character afterall), but with out the nervous or slow part (walks normal speed and not tripping with legs when standing still) (Used by Jimmy, the son of Michael in storymode)
Patricia (move_characters@patricia) - Swinging with hips, straight/stiff back, run/sprint is similar to the default female one (Used by Patricia Madrazo in storymode)
Ron (move_characters@ron) - Entire body posture slightly hanging to the left, runs like an idiot, sprint is normal. (Used by Ronald "Ron" Jakowski in storymode)
Swagger2 (move_m@swagger@b) - Confident and somewhat slow walking, moving slightly to the right every so often, run an sprint is normal.
Gangster6 (move_f@gangster@ng) - Slight diffrent in walking speed, posture is noticible diffrent, arms are more straight when standing still.
Veryslow (move_m@leaf_blower) - Head looking down, walking very slowly, running with right arm as if he had a leaf blower, sprint is normal.
Flee5 (move_m@flee@c) - Similar to Flee4, but multiple diffrences like how many times he turns his head to look behind etc.
"laysexy" is a duplicate entry as it's used by both "laying_sexy_clip" by Struggleville as well as "amnilka_femalehome_photopose_004" by Amnilka. Renaming Struggleville's emote should fix issue.
1. we don't need to loop ped id, it's not going to change while in ragdoll anyway
2. correct IsPedOnFoot check, before changing declarations (wont ragdoll if exiting a vehicle, etc)
3. Wait has to be 0 to prevent sync issues as much as possible
4. supposed to be 3 booleans at the end instead of integers
5. function info is never used
6. RegisterCommand requires 3 arguments
Co-authored-by: iSentrie <xvender7@gmail.com>