DP = {} DP.Emotes = { ["healthkit"] = {"anim@amb@board_room@supervising@", "dissaproval_01_lo_amy_skater_01", "Health Kit", AnimationOptions = { EmoteMoving = true, EmoteDuration = 2500, }}, ["drink"] = {"mp_player_inteat@pnq", "loop", "Drink", AnimationOptions = { EmoteMoving = true, EmoteDuration = 2500, }}, ["beast"] = {"anim@mp_fm_event@intro", "beast_transform", "Beast", AnimationOptions = { EmoteMoving = true, EmoteDuration = 5000, }}, ["chill"] = {"switch@trevor@scares_tramp", "trev_scares_tramp_idle_tramp", "Chill", AnimationOptions = { EmoteLoop = true, }}, ["cloudgaze"] = {"switch@trevor@annoys_sunbathers", "trev_annoys_sunbathers_loop_girl", "Cloudgaze", AnimationOptions = { EmoteLoop = true, }}, ["cloudgaze2"] = {"switch@trevor@annoys_sunbathers", "trev_annoys_sunbathers_loop_guy", "Cloudgaze 2", AnimationOptions = { EmoteLoop = true, }}, ["prone"] = {"missfbi3_sniping", "prone_dave", "Prone", AnimationOptions = { EmoteLoop = true, }}, ["pullover"] = {"misscarsteal3pullover", "pull_over_right", "Pullover", AnimationOptions = { EmoteMoving = true, EmoteDuration = 1300, }}, ["idle"] = {"anim@heists@heist_corona@team_idles@male_a", "idle", "Idle", AnimationOptions = { EmoteLoop = true, }}, ["idle8"] = {"amb@world_human_hang_out_street@male_b@idle_a", "idle_b", "Idle 8"}, ["idle9"] = {"friends@fra@ig_1", "base_idle", "Idle 9", AnimationOptions = { EmoteLoop = true, }}, ["idle10"] = {"mp_move@prostitute@m@french", "idle", "Idle 10", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["idle11"] = {"random@countrysiderobbery", "idle_a", "Idle 11", AnimationOptions = { EmoteLoop = true, }}, ["idle2"] = {"anim@heists@heist_corona@team_idles@female_a", "idle", "Idle 2", AnimationOptions = { EmoteLoop = true, }}, ["idle3"] = {"anim@heists@humane_labs@finale@strip_club", "ped_b_celebrate_intro", "ped_b_celebrate_loop", "Idle 3", AnimationOptions = { EmoteLoop = true, }}, ["idle4"] = {"anim@mp_celebration@idles@female", "celebration_idle_f_a", "Idle 4", AnimationOptions = { EmoteLoop = true, }}, ["idle5"] = {"anim@mp_corona_idles@female_b@idle_a", "idle_a", "Idle 5", AnimationOptions = { EmoteLoop = true, }}, ["idle6"] = {"anim@mp_corona_idles@male_c@idle_a", "idle_a", "Idle 6", AnimationOptions = { EmoteLoop = true, }}, ["idle7"] = {"anim@mp_corona_idles@male_d@idle_a", "idle_a", "Idle 7", AnimationOptions = { EmoteLoop = true, }}, ["wait3"] = {"amb@world_human_hang_out_street@female_hold_arm@idle_a", "idle_a", "Wait 3", AnimationOptions = { EmoteLoop = true, }}, ["idledrunk"] = {"random@drunk_driver_1", "drunk_driver_stand_loop_dd1", "Idle Drunk", AnimationOptions = { EmoteLoop = true, }}, ["idledrunk2"] = {"random@drunk_driver_1", "drunk_driver_stand_loop_dd2", "Idle Drunk 2", AnimationOptions = { EmoteLoop = true, }}, ["idledrunk3"] = {"missarmenian2", "standing_idle_loop_drunk", "Idle Drunk 3", AnimationOptions = { EmoteLoop = true, }}, ["airguitar"] = {"anim@mp_player_intcelebrationfemale@air_guitar", "air_guitar", "Air Guitar"}, ["airsynth"] = {"anim@mp_player_intcelebrationfemale@air_synth", "air_synth", "Air Synth"}, ["argue"] = {"misscarsteal4@actor", "actor_berating_loop", "Argue", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["argue2"] = {"oddjobs@assassinate@vice@hooker", "argue_a", "Argue 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["bartender"] = {"anim@amb@clubhouse@bar@drink@idle_a", "idle_a_bartender", "Bartender", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["blowkiss"] = {"anim@mp_player_intcelebrationfemale@blow_kiss", "blow_kiss", "Blow Kiss"}, ["blowkiss2"] = {"anim@mp_player_intselfieblow_kiss", "exit", "Blow Kiss 2", AnimationOptions = { EmoteMoving = true, EmoteDuration = 2000 }}, ["curtsy"] = {"anim@mp_player_intcelebrationpaired@f_f_sarcastic", "sarcastic_left", "Curtsy"}, ["bringiton"] = {"misscommon@response", "bring_it_on", "Bring It On", AnimationOptions = { EmoteMoving = true, EmoteDuration = 3000 }}, ["comeatmebro"] = {"mini@triathlon", "want_some_of_this", "Come at me bro", AnimationOptions = { EmoteMoving = true, EmoteDuration = 2000 }}, ["cop2"] = {"anim@amb@nightclub@peds@", "rcmme_amanda1_stand_loop_cop", "Cop 2", AnimationOptions = { EmoteLoop = true, }}, ["cop3"] = {"amb@code_human_police_investigate@idle_a", "idle_b", "Cop 3", AnimationOptions = { EmoteLoop = true, }}, ["crossarms"] = {"amb@world_human_hang_out_street@female_arms_crossed@idle_a", "idle_a", "Crossarms", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["crossarms2"] = {"amb@world_human_hang_out_street@male_c@idle_a", "idle_b", "Crossarms 2", AnimationOptions = { EmoteMoving = true, }}, ["crossarms3"] = {"anim@heists@heist_corona@single_team", "single_team_loop_boss", "Crossarms 3", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["crossarms4"] = {"random@street_race", "_car_b_lookout", "Crossarms 4", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["crossarms5"] = {"anim@amb@nightclub@peds@", "rcmme_amanda1_stand_loop_cop", "Crossarms 5", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["foldarms2"] = {"anim@amb@nightclub@peds@", "rcmme_amanda1_stand_loop_cop", "Fold Arms 5", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["crossarms6"] = {"random@shop_gunstore", "_idle", "Crossarms 6", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["foldarms"] = {"anim@amb@business@bgen@bgen_no_work@", "stand_phone_phoneputdown_idle_nowork", "Fold Arms", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["crossarmsside"] = {"rcmnigel1a_band_groupies", "base_m2", "Crossarms Side", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["damn"] = {"gestures@m@standing@casual", "gesture_damn", "Damn", AnimationOptions = { EmoteMoving = true, EmoteDuration = 1000 }}, ["damn2"] = {"anim@am_hold_up@male", "shoplift_mid", "Damn 2", AnimationOptions = { EmoteMoving = true, EmoteDuration = 1000 }}, ["pointdown"] = {"gestures@f@standing@casual", "gesture_hand_down", "Point Down", AnimationOptions = { EmoteMoving = true, EmoteDuration = 1000 }}, ["droptoknees"] = {"random@arrests@busted", "idle_a", "Drop to Knees", AnimationOptions = { EmoteLoop = true, }}, ["facepalm2"] = {"anim@mp_player_intcelebrationfemale@face_palm", "face_palm", "Facepalm 2", AnimationOptions = { EmoteMoving = true, EmoteDuration = 8000 }}, ["facepalm"] = {"random@car_thief@agitated@idle_a", "agitated_idle_a", "Facepalm", AnimationOptions = { EmoteMoving = true, EmoteDuration = 8000 }}, ["facepalm3"] = {"missminuteman_1ig_2", "tasered_2", "Facepalm 3", AnimationOptions = { EmoteMoving = true, EmoteDuration = 8000 }}, ["facepalm4"] = {"anim@mp_player_intupperface_palm", "idle_a", "Facepalm 4", AnimationOptions = { EmoteMoving = true, EmoteLoop = true, }}, ["fallover"] = {"random@drunk_driver_1", "drunk_fall_over", "Fall Over"}, ["fallover2"] = {"mp_suicide", "pistol", "Fall Over 2"}, ["fallover3"] = {"mp_suicide", "pill", "Fall Over 3"}, ["fallover4"] = {"friends@frf@ig_2", "knockout_plyr", "Fall Over 4"}, ["fallover5"] = {"anim@gangops@hostage@", "victim_fail", "Fall Over 5"}, ["fallasleep"] = {"mp_sleep", "sleep_loop", "Fall Asleep", AnimationOptions = { EmoteMoving = true, EmoteLoop = true, }}, ["fightme"] = {"anim@deathmatch_intros@unarmed", "intro_male_unarmed_c", "Fight Me"}, ["fightme2"] = {"anim@deathmatch_intros@unarmed", "intro_male_unarmed_e", "Fight Me 2"}, ["finger"] = {"anim@mp_player_intselfiethe_bird", "idle_a", "Finger", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["finger2"] = {"anim@mp_player_intupperfinger", "idle_a_fp", "Finger 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["handshake"] = {"mp_ped_interaction", "handshake_guy_a", "Handshake", AnimationOptions = { EmoteMoving = true, EmoteDuration = 8000 }}, ["handshake2"] = {"mp_ped_interaction", "handshake_guy_b", "Handshake 2", AnimationOptions = { EmoteMoving = true, EmoteDuration = 8000 }}, ["wait4"] = {"amb@world_human_hang_out_street@Female_arm_side@idle_a", "idle_a", "Wait 4", AnimationOptions = { EmoteLoop = true, }}, ["wait5"] = {"missclothing", "idle_storeclerk", "Wait 5", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wait6"] = {"timetable@amanda@ig_2", "ig_2_base_amanda", "Wait 6", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wait7"] = {"rcmnigel1cnmt_1c", "base", "Wait 7", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wait8"] = {"rcmjosh1", "idle", "Wait 8", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wait9"] = {"rcmjosh2", "josh_2_intp1_base", "Wait 9", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wait10"] = {"timetable@amanda@ig_3", "ig_3_base_tracy", "Wait 10", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wait11"] = {"misshair_shop@hair_dressers", "keeper_base", "Wait 11", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["hiking"] = {"move_m@hiking", "idle", "Hiking", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["hug"] = {"mp_ped_interaction", "kisses_guy_a", "Hug"}, ["hug2"] = {"mp_ped_interaction", "kisses_guy_b", "Hug 2"}, ["hug3"] = {"mp_ped_interaction", "hugs_guy_a", "Hug 3"}, ["inspect"] = {"random@train_tracks", "idle_e", "Inspect"}, ["jazzhands"] = {"anim@mp_player_intcelebrationfemale@jazz_hands", "jazz_hands", "Jazzhands", AnimationOptions = { EmoteMoving = true, EmoteDuration = 6000, }}, ["jog2"] = {"amb@world_human_jog_standing@male@idle_a", "idle_a", "Jog 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["jog3"] = {"amb@world_human_jog_standing@female@idle_a", "idle_a", "Jog 3", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["jog4"] = {"amb@world_human_power_walker@female@idle_a", "idle_a", "Jog 4", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["jog5"] = {"move_m@joy@a", "walk", "Jog 5", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["jumpingjacks"] = {"timetable@reunited@ig_2", "jimmy_getknocked", "Jumping Jacks", AnimationOptions = { EmoteLoop = true, }}, ["kneel2"] = {"rcmextreme3", "idle", "Kneel 2", AnimationOptions = { EmoteLoop = true, }}, ["kneel3"] = {"amb@world_human_bum_wash@male@low@idle_a", "idle_a", "Kneel 3", AnimationOptions = { EmoteLoop = true, }}, ["knock"] = {"timetable@jimmy@doorknock@", "knockdoor_idle", "Knock", AnimationOptions = { EmoteMoving = true, EmoteLoop = true, }}, ["knock2"] = {"missheistfbi3b_ig7", "lift_fibagent_loop", "Knock 2", AnimationOptions = { EmoteLoop = true, }}, ["knucklecrunch"] = {"anim@mp_player_intcelebrationfemale@knuckle_crunch", "knuckle_crunch", "Knuckle Crunch", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["lapdance"] = {"mp_safehouse", "lap_dance_girl", "Lapdance"}, ["lean2"] = {"amb@world_human_leaning@female@wall@back@hand_up@idle_a", "idle_a", "Lean 2", AnimationOptions = { EmoteLoop = true, }}, ["lean3"] = {"amb@world_human_leaning@female@wall@back@holding_elbow@idle_a", "idle_a", "Lean 3", AnimationOptions = { EmoteLoop = true, }}, ["lean4"] = {"amb@world_human_leaning@male@wall@back@foot_up@idle_a", "idle_a", "Lean 4", AnimationOptions = { EmoteLoop = true, }}, ["lean5"] = {"amb@world_human_leaning@male@wall@back@hands_together@idle_b", "idle_b", "Lean 5", AnimationOptions = { EmoteLoop = true, }}, ["leanflirt"] = {"random@street_race", "_car_a_flirt_girl", "Lean Flirt", AnimationOptions = { EmoteLoop = true, }}, ["leanbar2"] = {"amb@prop_human_bum_shopping_cart@male@idle_a", "idle_c", "Lean Bar 2", AnimationOptions = { EmoteLoop = true, }}, ["leanbar3"] = {"anim@amb@nightclub@lazlow@ig1_vip@", "clubvip_base_laz", "Lean Bar 3", AnimationOptions = { EmoteLoop = true, }}, ["leanbar4"] = {"anim@heists@prison_heist", "ped_b_loop_a", "Lean Bar 4", AnimationOptions = { EmoteLoop = true, }}, ["leanhigh"] = {"anim@mp_ferris_wheel", "idle_a_player_one", "Lean High", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["leanhigh2"] = {"anim@mp_ferris_wheel", "idle_a_player_two", "Lean High 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["leanside"] = {"timetable@mime@01_gc", "idle_a", "Leanside", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["leanside2"] = {"misscarstealfinale", "packer_idle_1_trevor", "Leanside 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["leanside3"] = {"misscarstealfinalecar_5_ig_1", "waitloop_lamar", "Leanside 3", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["leanside4"] = {"misscarstealfinalecar_5_ig_1", "waitloop_lamar", "Leanside 4", AnimationOptions = { EmoteLoop = true, EmoteMoving = false, }}, ["leanside5"] = {"rcmjosh2", "josh_2_intp1_base", "Leanside 5", AnimationOptions = { EmoteLoop = true, EmoteMoving = false, }}, ["me"] = {"gestures@f@standing@casual", "gesture_me_hard", "Me", AnimationOptions = { EmoteMoving = true, EmoteDuration = 1000 }}, ["mechanic"] = {"mini@repair", "fixing_a_ped", "Mechanic", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["mechanic2"] = {"amb@world_human_vehicle_mechanic@male@base", "idle_a", "Mechanic 2", AnimationOptions = { EmoteLoop = true, }}, ["mechanic3"] = {"anim@amb@clubhouse@tutorial@bkr_tut_ig3@", "machinic_loop_mechandplayer", "Mechanic 3", AnimationOptions = { EmoteLoop = true, }}, ["mechanic4"] = {"anim@amb@clubhouse@tutorial@bkr_tut_ig3@", "machinic_loop_mechandplayer", "Mechanic 4", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["medic2"] = {"amb@medic@standing@tendtodead@base", "base", "Medic 2", AnimationOptions = { EmoteLoop = true, }}, ["meditate"] = {"rcmcollect_paperleadinout@", "meditiate_idle", "Meditiate", AnimationOptions = -- CHANGE ME { EmoteLoop = true, }}, ["meditate2"] = {"rcmepsilonism3", "ep_3_rcm_marnie_meditating", "Meditiate 2", AnimationOptions = -- CHANGE ME { EmoteLoop = true, }}, ["meditate3"] = {"rcmepsilonism3", "base_loop", "Meditiate 3", AnimationOptions = -- CHANGE ME { EmoteLoop = true, }}, ["metal"] = {"anim@mp_player_intincarrockstd@ps@", "enter", "idle_a", "Metal", AnimationOptions = -- CHANGE ME { StartEnableMovement = true, EmoteLoop = true, EmoteMoving = true, }}, ["no"] = {"anim@heists@ornate_bank@chat_manager", "fail", "No", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["no2"] = {"mp_player_int_upper_nod", "mp_player_int_nod_no", "No 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["nosepick"] = {"anim@mp_player_intcelebrationfemale@nose_pick", "nose_pick", "Nose Pick", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["noway"] = {"gestures@m@standing@casual", "gesture_no_way", "No Way", AnimationOptions = { EmoteDuration = 1500, EmoteMoving = true, }}, ["ok"] = {"anim@mp_player_intselfiedock", "idle_a", "OK", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["outofbreath"] = {"re@construction", "out_of_breath", "Out of Breath", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["pickup"] = {"random@domestic", "pickup_low", "Pickup"}, ["push"] = {"missfinale_c2ig_11", "pushcar_offcliff_f", "Push", AnimationOptions = { EmoteLoop = true, }}, ["push2"] = {"missfinale_c2ig_11", "pushcar_offcliff_m", "Push 2", AnimationOptions = { EmoteLoop = true, }}, ["point"] = {"gestures@f@standing@casual", "gesture_point", "Point", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["pushup"] = {"amb@world_human_push_ups@male@idle_a", "idle_d", "Pushup", AnimationOptions = { EmoteLoop = true, }}, ["countdown"] = {"random@street_race", "grid_girl_race_start", "Countdown", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["pointright"] = {"mp_gun_shop_tut", "indicate_right", "Point Right", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["salute"] = {"anim@mp_player_intincarsalutestd@ds@", "idle_a", "Salute", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["salute2"] = {"anim@mp_player_intincarsalutestd@ps@", "idle_a", "Salute 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["salute3"] = {"anim@mp_player_intuppersalute", "idle_a", "Salute 3", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["scared"] = {"random@domestic", "f_distressed_loop", "Scared", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["scared2"] = {"random@homelandsecurity", "knees_loop_girl", "Scared 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["screwyou"] = {"misscommon@response", "screw_you", "Screw You", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["shakeoff"] = {"move_m@_idles@shake_off", "shakeoff_1", "Shake Off", AnimationOptions = { EmoteMoving = true, EmoteDuration = 3500, }}, ["shot"] = {"random@dealgonewrong", "idle_a", "Shot", AnimationOptions = { EmoteLoop = true, }}, ["sleep"] = {"timetable@tracy@sleep@", "idle_c", "Sleep", AnimationOptions = { EmoteLoop = true, }}, ["shrug"] = {"gestures@f@standing@casual", "gesture_shrug_hard", "Shrug", AnimationOptions = { EmoteMoving = true, EmoteDuration = 1000, }}, ["shrug2"] = {"gestures@m@standing@casual", "gesture_shrug_hard", "Shrug 2", AnimationOptions = { EmoteMoving = true, EmoteDuration = 1000, }}, ["sit"] = {"anim@amb@business@bgen@bgen_no_work@", "sit_phone_phoneputdown_idle_nowork", "Sit", AnimationOptions = { EmoteLoop = true, }}, ["sit2"] = {"rcm_barry3", "barry_3_sit_loop", "Sit 2", AnimationOptions = { EmoteLoop = true, }}, ["sit3"] = {"amb@world_human_picnic@male@idle_a", "idle_a", "Sit 3", AnimationOptions = { EmoteLoop = true, }}, ["sit4"] = {"amb@world_human_picnic@female@idle_a", "idle_a", "Sit 4", AnimationOptions = { EmoteLoop = true, }}, ["sit5"] = {"anim@heists@fleeca_bank@ig_7_jetski_owner", "owner_idle", "Sit 5", AnimationOptions = { EmoteLoop = true, }}, ["sit6"] = {"timetable@jimmy@mics3_ig_15@", "idle_a_jimmy", "Sit 6", AnimationOptions = { EmoteLoop = true, }}, ["sit7"] = {"anim@amb@nightclub@lazlow@lo_alone@", "lowalone_base_laz", "Sit 7", AnimationOptions = { EmoteLoop = true, }}, ["sit8"] = {"timetable@jimmy@mics3_ig_15@", "mics3_15_base_jimmy", "Sit 8", AnimationOptions = { EmoteLoop = true, }}, ["sit9"] = {"amb@world_human_stupor@male@idle_a", "idle_a", "Sit 9", AnimationOptions = { EmoteLoop = true, }}, ["sitlean"] = {"timetable@tracy@ig_14@", "ig_14_base_tracy", "Sit Lean", AnimationOptions = { EmoteLoop = true, }}, ["sitsad"] = {"anim@amb@business@bgen@bgen_no_work@", "sit_phone_phoneputdown_sleeping-noworkfemale", "Sit Sad", AnimationOptions = { EmoteLoop = true, }}, ["sitscared"] = {"anim@heists@ornate_bank@hostages@hit", "hit_loop_ped_b", "Sit Scared", AnimationOptions = { EmoteLoop = true, }}, ["sitscared2"] = {"anim@heists@ornate_bank@hostages@ped_c@", "flinch_loop", "Sit Scared 2", AnimationOptions = { EmoteLoop = true, }}, ["sitscared3"] = {"anim@heists@ornate_bank@hostages@ped_e@", "flinch_loop", "Sit Scared 3", AnimationOptions = { EmoteLoop = true, }}, ["sitdrunk"] = {"timetable@amanda@drunk@base", "base", "Sit Drunk", AnimationOptions = { EmoteLoop = true, }}, ["sitchair2"] = {"timetable@ron@ig_5_p3", "ig_5_p3_base", "Sit Chair 2", AnimationOptions = { EmoteLoop = true, }}, ["sitchair3"] = {"timetable@reunited@ig_10", "base_amanda", "Sit Chair 3", AnimationOptions = { EmoteLoop = true, }}, ["sitchair4"] = {"timetable@ron@ig_3_couch", "base", "Sit Chair 4", AnimationOptions = { EmoteLoop = true, }}, ["sitchair5"] = {"timetable@jimmy@mics3_ig_15@", "mics3_15_base_tracy", "Sit Chair 5", AnimationOptions = { EmoteLoop = true, }}, ["sitchair6"] = {"timetable@maid@couch@", "base", "Sit Chair 6", AnimationOptions = { EmoteLoop = true, }}, ["sitchairside"] = {"timetable@ron@ron_ig_2_alt1", "ig_2_alt1_base", "Sit Chair Side", AnimationOptions = { EmoteLoop = true, }}, ["situp"] = {"amb@world_human_sit_ups@male@idle_a", "idle_a", "Sit Up", AnimationOptions = { EmoteLoop = true, }}, ["clapangry"] = {"anim@arena@celeb@flat@solo@no_props@", "angry_clap_a_player_a", "Clap Angry", AnimationOptions = { EmoteLoop = true, }}, ["slowclap3"] = {"anim@mp_player_intupperslow_clap", "idle_a", "Slow Clap 3", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["clap"] = {"amb@world_human_cheering@male_a", "base", "Clap", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["slowclap"] = {"anim@mp_player_intcelebrationfemale@slow_clap", "slow_clap", "Slow Clap", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["slowclap2"] = {"anim@mp_player_intcelebrationmale@slow_clap", "slow_clap", "Slow Clap 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["smell"] = {"move_p_m_two_idles@generic", "fidget_sniff_fingers", "Smell", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["smokeleanf"] = {"amb@world_human_leaning@female@smoke@idle_a", "idle_a", "Smoke Lean F", AnimationOptions = { EmoteLoop = true, }}, ["stickup"] = {"random@countryside_gang_fight", "biker_02_stickup_loop", "Stick Up", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["stumble"] = {"misscarsteal4@actor", "stumble", "Stumble", AnimationOptions = { EmoteLoop = true, }}, ["stunned"] = {"stungun@standing", "damage", "Stunned", AnimationOptions = { EmoteLoop = true, }}, ["sunbathe"] = {"amb@world_human_sunbathe@male@back@base", "base", "Sunbathe", AnimationOptions = { EmoteLoop = true, }}, ["sunbathe2"] = {"amb@world_human_sunbathe@female@back@base", "base", "Sunbathe 2", AnimationOptions = { EmoteLoop = true, }}, ["t"] = {"missfam5_yoga", "a2_pose", "T", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["t2"] = {"mp_sleep", "bind_pose_180", "T 2", AnimationOptions = { EmoteLoop = true, }}, ["think4"] = {"mp_cp_welcome_tutthink", "b_think", "Think 4", AnimationOptions = { EmoteMoving = true, EmoteDuration = 2000, }}, ["think"] = {"misscarsteal4@aliens", "rehearsal_base_idle_director", "Think", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["think3"] = {"timetable@tracy@ig_8@base", "base", "Think 3", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["think2"] = {"missheist_jewelleadinout", "jh_int_outro_loop_a", "Think 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["thumbsup3"] = {"anim@mp_player_intincarthumbs_uplow@ds@", "enter", "Thumbs Up 3", AnimationOptions = { EmoteMoving = true, EmoteDuration = 3000, }}, ["thumbsup2"] = {"anim@mp_player_intselfiethumbs_up", "idle_a", "Thumbs Up 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["thumbsup"] = {"anim@mp_player_intupperthumbs_up", "idle_a", "Thumbs Up", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["type"] = {"anim@heists@prison_heiststation@cop_reactions", "cop_b_idle", "Type", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["type2"] = {"anim@heists@prison_heistig1_p1_guard_checks_bus", "loop", "Type 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["type3"] = {"mp_prison_break", "hack_loop", "Type 3", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["type4"] = {"mp_fbi_heist", "intro", "loop", "outro", "Type 4", AnimationOptions = { EmoteLoop = true, }}, ["warmth"] = {"amb@world_human_stand_fire@male@idle_a", "idle_a", "Warmth", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wave4"] = {"random@mugging5", "001445_01_gangintimidation_1_female_idle_b", "Wave 4", AnimationOptions = { EmoteMoving = true, EmoteDuration = 3000, }}, ["wave2"] = {"anim@mp_player_intcelebrationfemale@wave", "wave", "Wave 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wave3"] = {"friends@fra@ig_1", "over_here_idle_a", "Wave 3", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wave"] = {"friends@frj@ig_1", "wave_a", "Wave", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wave5"] = {"friends@frj@ig_1", "wave_b", "Wave 5", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wave6"] = {"friends@frj@ig_1", "wave_c", "Wave 6", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wave7"] = {"friends@frj@ig_1", "wave_d", "Wave 7", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wave8"] = {"friends@frj@ig_1", "wave_e", "Wave 8", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wave9"] = {"gestures@m@standing@casual", "gesture_hello", "Wave 9", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["whistle"] = {"taxi_hail", "hail_taxi", "Whistle", AnimationOptions = { EmoteMoving = true, EmoteDuration = 2000, }}, ["whistle2"] = {"rcmnigel1c", "hailing_whistle_waive_a", "Whistle 2", AnimationOptions = { EmoteMoving = true, EmoteDuration = 2000, }}, ["yeah"] = {"anim@mp_player_intupperair_shagging", "idle_a", "Yeah", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["lift"] = {"random@hitch_lift", "idle_f", "Lift", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["lol"] = {"anim@arena@celeb@flat@paired@no_props@", "laugh_a_player_b", "LOL", AnimationOptions = { EmoteLoop = true, }}, ["lol2"] = {"anim@arena@celeb@flat@solo@no_props@", "giggle_a_player_b", "LOL 2", AnimationOptions = { EmoteLoop = true, }}, ["statue2"] = {"fra_0_int-1", "cs_lamardavis_dual-1", "Statue 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["statue3"] = {"club_intro2-0", "csb_englishdave_dual-0", "Statue 3", AnimationOptions = { EmoteLoop = true, }}, ["gangsign"] = {"mp_player_int_uppergang_sign_a", "mp_player_int_gang_sign_a", "Gang Sign", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["gangsign2"] = {"mp_player_int_uppergang_sign_b", "mp_player_int_gang_sign_b", "Gang Sign 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["passout"] = {"missarmenian2", "drunk_loop", "Passout", AnimationOptions = { EmoteLoop = true, }}, ["passout2"] = {"missarmenian2", "corpse_search_exit_ped", "Passout 2", AnimationOptions = { EmoteLoop = true, }}, ["passout3"] = {"anim@gangops@morgue@table@", "body_search", "Passout 3", AnimationOptions = { EmoteLoop = true, }}, ["passout4"] = {"mini@cpr@char_b@cpr_def", "cpr_pumpchest_idle", "Passout 4", AnimationOptions = { EmoteLoop = true, }}, ["passout5"] = {"random@mugging4", "flee_backward_loop_shopkeeper", "Passout 5", AnimationOptions = { EmoteLoop = true, }}, ["petting"] = {"creatures@rottweiler@tricks@", "petting_franklin", "Petting", AnimationOptions = { EmoteLoop = true, }}, ["dancef"] = {"anim@amb@nightclub@dancers@solomun_entourage@", "mi_dance_facedj_17_v1_female^1", "Dance F", AnimationOptions = { EmoteLoop = true, }}, ["dancef2"] = {"anim@amb@nightclub@mini@dance@dance_solo@female@var_a@", "high_center", "Dance F2", AnimationOptions = { EmoteLoop = true, }}, ["dancef3"] = {"anim@amb@nightclub@mini@dance@dance_solo@female@var_a@", "high_center_up", "Dance F3", AnimationOptions = { EmoteLoop = true, }}, ["dancef4"] = {"anim@amb@nightclub@dancers@crowddance_facedj@hi_intensity", "hi_dance_facedj_09_v2_female^1", "Dance F4", AnimationOptions = { EmoteLoop = true, }}, ["dancef5"] = {"anim@amb@nightclub@dancers@crowddance_facedj@hi_intensity", "hi_dance_facedj_09_v2_female^3", "Dance F5", AnimationOptions = { EmoteLoop = true, }}, ["dancef6"] = {"anim@amb@nightclub@mini@dance@dance_solo@female@var_a@", "high_center_up", "Dance F6", AnimationOptions = { EmoteLoop = true, }}, ["dancefslow"] = {"anim@amb@nightclub@mini@dance@dance_solo@female@var_a@", "low_center", "Dance F Slow", AnimationOptions = { EmoteLoop = true, }}, ["dancefslow2"] = {"anim@amb@nightclub@mini@dance@dance_solo@female@var_a@", "low_center_down", "Dance F Slow 2", AnimationOptions = { EmoteLoop = true, }}, ["dancefslow3"] = {"anim@amb@nightclub@mini@dance@dance_solo@female@var_b@", "low_center", "Dance F Slow 3", AnimationOptions = { EmoteLoop = true, }}, ["dance"] = {"anim@amb@nightclub@dancers@podium_dancers@", "hi_dance_facedj_17_v2_male^5", "Dance", AnimationOptions = { EmoteLoop = true, }}, ["dance2"] = {"anim@amb@nightclub@mini@dance@dance_solo@male@var_b@", "high_center_down", "Dance 2", AnimationOptions = { EmoteLoop = true, }}, ["dance3"] = {"anim@amb@nightclub@mini@dance@dance_solo@male@var_a@", "high_center", "Dance 3", AnimationOptions = { EmoteLoop = true, }}, ["dance4"] = {"anim@amb@nightclub@mini@dance@dance_solo@male@var_b@", "high_center_up", "Dance 4", AnimationOptions = { EmoteLoop = true, }}, ["dance5"] = {"anim@amb@nightclub@mini@dance@dance_solo@female@var_b@", "high_center", "Dance 5", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["dance6"] = {"anim@amb@nightclub@mini@dance@dance_solo@female@var_b@", "high_center_up", "Dance 6", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["danceshy"] = {"anim@amb@nightclub@mini@dance@dance_solo@male@var_a@", "low_center", "Dance Shy", AnimationOptions = { EmoteLoop = true, }}, ["danceshy2"] = {"anim@amb@nightclub@mini@dance@dance_solo@female@var_b@", "low_center_down", "Dance Shy 2", AnimationOptions = { EmoteLoop = true, }}, ["danceslow"] = {"anim@amb@nightclub@mini@dance@dance_solo@male@var_b@", "low_center", "Dance Slow", AnimationOptions = { EmoteLoop = true, }}, ["crawl"] = {"move_injured_ground", "front_loop", "Crawl", AnimationOptions = { EmoteLoop = true, }}, ["flip2"] = {"anim@arena@celeb@flat@solo@no_props@", "cap_a_player_a", "Flip 2"}, ["flip"] = {"anim@arena@celeb@flat@solo@no_props@", "flip_a_player_a", "Flip"}, ["slide"] = {"anim@arena@celeb@flat@solo@no_props@", "slide_a_player_a", "Slide"}, ["slide2"] = {"anim@arena@celeb@flat@solo@no_props@", "slide_b_player_a", "Slide 2"}, ["slide3"] = {"anim@arena@celeb@flat@solo@no_props@", "slide_c_player_a", "Slide 3"}, ["slugger"] = {"anim@arena@celeb@flat@solo@no_props@", "slugger_a_player_a", "Slugger"}, ["flipoff"] = {"anim@arena@celeb@podium@no_prop@", "flip_off_a_1st", "Flip Off", AnimationOptions = { EmoteMoving = true, }}, ["flipoff2"] = {"anim@arena@celeb@podium@no_prop@", "flip_off_c_1st", "Flip Off 2", AnimationOptions = { EmoteMoving = true, }}, ["bow"] = {"anim@arena@celeb@podium@no_prop@", "regal_c_1st", "Bow", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["bow2"] = {"anim@arena@celeb@podium@no_prop@", "regal_a_1st", "Bow 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["dance7"] = {"rcmnigel1bnmt_1b", "dance_loop_tyler", "Dance 7", AnimationOptions = { EmoteLoop = true, }}, ["dance8"] = {"misschinese2_crystalmazemcs1_cs", "dance_loop_tao", "Dance 8", AnimationOptions = { EmoteLoop = true, }}, ["dance9"] = {"misschinese2_crystalmazemcs1_ig", "dance_loop_tao", "Dance 9", AnimationOptions = { EmoteLoop = true, }}, ["dance10"] = {"missfbi3_sniping", "dance_m_default", "Dance 10", AnimationOptions = { EmoteLoop = true, }}, ["dance11"] = {"special_ped@mountain_dancer@monologue_3@monologue_3a", "mnt_dnc_buttwag", "Dance 11", AnimationOptions = { EmoteLoop = true, }}, ["dance12"] = {"move_clown@p_m_zero_idles@", "fidget_short_dance", "Dance 12", AnimationOptions = { EmoteLoop = true, }}, ["dance13"] = {"move_clown@p_m_two_idles@", "fidget_short_dance", "Dance 13", AnimationOptions = { EmoteLoop = true, }}, ["dance14"] = {"anim@amb@nightclub@lazlow@hi_podium@", "danceidle_hi_11_buttwiggle_b_laz", "Dance 14", AnimationOptions = { EmoteLoop = true, }}, ["dance15"] = {"timetable@tracy@ig_5@idle_a", "idle_a", "Dance 15", AnimationOptions = { EmoteLoop = true, }}, ["dance16"] = {"timetable@tracy@ig_8@idle_b", "idle_d", "Dance 16", AnimationOptions = { EmoteLoop = true, }}, ["dance17"] = {"anim@amb@nightclub@mini@dance@dance_solo@female@var_a@", "med_center_up", "Dance 17", AnimationOptions = { EmoteLoop = true, }}, ["k9bark"] = {"creatures@rottweiler@amb@world_dog_barking@idle_a", "idle_a", "zk9bark", AnimationOptions = { EmoteLoop = true, }}, ["k9barksit"] = {"misschop_vehicle@back_of_van", "chop_bark", "zk9barksit", AnimationOptions = { EmoteLoop = true, }}, ["keyfob"] = {"anim@mp_player_intmenu@key_fob@", "fob_click", "Key Fob", AnimationOptions = { EmoteLoop = false, EmoteMoving = true, EmoteDuration = 1000, }}, ["golfswing"] = {"rcmnigel1d", "swing_a_mark", "Golf Swing"}, ["eat"] = {"mp_player_inteat@burger", "mp_player_int_eat_burger", "Eat", AnimationOptions = { EmoteMoving = true, EmoteDuration = 3000, }}, ["reaching"] = {"move_m@intimidation@cop@unarmed", "idle", "Reaching", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wait"] = {"random@shop_tattoo", "_idle_a", "Wait", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wait2"] = {"missbigscore2aig_3", "wait_for_van_c", "Wait 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wait12"] = {"rcmjosh1", "idle", "Wait 12", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["wait13"] = {"rcmnigel1a", "base", "Wait 13", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["lapdance2"] = {"mini@strip_club@private_dance@idle", "priv_dance_idle", "Lapdance 2", AnimationOptions = { EmoteLoop = true, }}, ["lapdance3"] = {"mini@strip_club@private_dance@part2", "priv_dance_p2", "Lapdance 3", AnimationOptions = { EmoteLoop = true, }}, ["lapdance3"] = {"mini@strip_club@private_dance@part3", "priv_dance_p3", "Lapdance 3", AnimationOptions = { EmoteLoop = true, }}, ["twerk"] = {"switch@trevor@mocks_lapdance", "001443_01_trvs_28_idle_stripper", "Twerk", AnimationOptions = { EmoteLoop = true, }}, ["slap"] = {"melee@unarmed@streamed_variations", "plyr_takedown_front_slap", "Slap", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["headbutt"] = {"melee@unarmed@streamed_variations", "plyr_takedown_front_headbutt", "Headbutt"}, ["fishdance"] = {"anim@mp_player_intupperfind_the_fish", "idle_a", "Fish Dance", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["peace"] = {"mp_player_int_upperpeace_sign", "mp_player_int_peace_sign", "Peace", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["peace2"] = {"anim@mp_player_intupperpeace", "idle_a", "Peace 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["cpr"] = {"mini@cpr@char_a@cpr_str", "cpr_pumpchest", "CPR", AnimationOptions = { EmoteLoop = true, }}, ["cpr2"] = {"mini@cpr@char_a@cpr_str", "cpr_pumpchest", "CPR 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["ledge"] = {"missfbi1", "ledge_loop", "Ledge", AnimationOptions = { EmoteLoop = true, }}, ["airplane"] = {"missfbi1", "ledge_loop", "Air Plane", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["peek"] = {"random@paparazzi@peek", "left_peek_a", "Peek", AnimationOptions = { EmoteLoop = true, }}, ["cough"] = {"timetable@gardener@smoking_joint", "idle_cough", "Cough", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["stretch"] = {"mini@triathlon", "idle_e", "Stretch", AnimationOptions = { EmoteLoop = true, }}, ["stretch2"] = {"mini@triathlon", "idle_f", "Stretch 2", AnimationOptions = { EmoteLoop = true, }}, ["stretch3"] = {"mini@triathlon", "idle_d", "Stretch 3", AnimationOptions = { EmoteLoop = true, }}, ["stretch4"] = {"rcmfanatic1maryann_stretchidle_b", "idle_e", "Stretch 4", AnimationOptions = { EmoteLoop = true, }}, ["celebrate"] = {"rcmfanatic1celebrate", "celebrate", "Celebrate", AnimationOptions = { EmoteLoop = true, }}, ["punching"] = {"rcmextreme2", "loop_punching", "Punching", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["superhero"] = {"rcmbarry", "base", "Superhero", AnimationOptions = { EmoteLoop = true, }}, ["superhero2"] = {"rcmbarry", "base", "Superhero 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["mindcontrol"] = {"rcmbarry", "mind_control_b_loop", "Mind Control", AnimationOptions = { EmoteLoop = true, }}, ["mindcontrol2"] = {"rcmbarry", "bar_1_attack_idle_aln", "Mind Control 2", AnimationOptions = { EmoteLoop = true, }}, ["clown"] = {"rcm_barry2", "clown_idle_0", "Clown", AnimationOptions = { EmoteLoop = true, }}, ["clown2"] = {"rcm_barry2", "clown_idle_1", "Clown 2", AnimationOptions = { EmoteLoop = true, }}, ["clown3"] = {"rcm_barry2", "clown_idle_2", "Clown 3", AnimationOptions = { EmoteLoop = true, }}, ["clown4"] = {"rcm_barry2", "clown_idle_3", "Clown 4", AnimationOptions = { EmoteLoop = true, }}, ["clown5"] = {"rcm_barry2", "clown_idle_6", "Clown 5", AnimationOptions = { EmoteLoop = true, }}, ["tryclothes"] = {"mp_clothing@female@shoes", "try_trousers_neutral_a", "Try Clothes", AnimationOptions = { EmoteLoop = true, }}, ["tryclothes2"] = {"mp_clothing@female@shoes", "try_shirt_positive_a", "Try Clothes 2", AnimationOptions = { EmoteLoop = true, }}, ["tryclothes3"] = {"mp_clothing@female@shoes", "try_shoes_positive_a", "Try Clothes 3", AnimationOptions = { EmoteLoop = true, }}, ["nervous2"] = {"mp_missheist_countrybank@nervous", "nervous_idle", "Nervous 2", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["nervous"] = {"amb@world_human_bum_standing@twitchy@idle_a", "idle_c", "Nervous", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["nervous3"] = {"rcmme_tracey1", "nervous_loop", "Nervous 3", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["uncuff"] = {"mp_arresting", "a_uncuff", "Uncuff", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["namaste"] = {"timetable@amanda@ig_4", "ig_4_base", "Namaste", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["dj"] = {"anim@amb@nightclub@djs@dixon@", "dixn_dance_cntr_open_dix", "DJ", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["threaten"] = {"random@atmrobberygen", "b_atm_mugging", "Threaten", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["radio"] = {"random@arrests", "generic_radio_chatter", "Radio", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["pull"] = {"random@mugging4", "struggle_loop_b_thief", "Pull", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["bird"] = {"random@peyote@bird", "wakeup", "Bird"}, ["chicken"] = {"random@peyote@chicken", "wakeup", "Chicken", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["bark"] = {"random@peyote@dog", "wakeup", "Bark"}, ["pee"] = {"misscarsteal2peeing", "peeing_intro", "peeing_loop", "Pee", AnimationOptions = { EmoteLoop = true, EmoteMoving = true, }}, ["rabbit"] = {"random@peyote@rabbit", "wakeup", "Rabbit"}, ----------------------------------------------------------------------------------------------------------- ------ These are Scenarios, some of these dont work on women and some other issues, but still good to have. ----------------------------------------------------------------------------------------------------------- ["atm"] = {"Scenario", "PROP_HUMAN_ATM", "ATM"}, ["bbq"] = {"MaleScenario", "PROP_HUMAN_BBQ", "BBQ"}, ["beg"] = {"MaleScenario", "WORLD_HUMAN_BUM_FREEWAY", "Beg"}, ["bumbin"] = {"Scenario", "PROP_HUMAN_BUM_BIN", "Bum Bin"}, ["bumsleep"] = {"Scenario", "WORLD_HUMAN_BUM_SLUMPED", "Bum Sleep"}, ["bumsleep"] = {"Scenario", "WORLD_HUMAN_BUM_SLUMPED", "Bum Sleep"}, ["camera"] = {"MaleScenario", "WORLD_HUMAN_PAPARAZZI", "Camera"}, ["cheer"] = {"Scenario", "WORLD_HUMAN_CHEERING", "Cheer"}, ["chinup"] = {"Scenario", "PROP_HUMAN_MUSCLE_CHIN_UPS", "Chinup"}, ["clipboard"] = {"MaleScenario", "WORLD_HUMAN_CLIPBOARD", "Clipboard"}, ["cop"] = {"Scenario", "WORLD_HUMAN_COP_IDLES", "Cop"}, ["copbeacon"] = {"MaleScenario", "WORLD_HUMAN_CAR_PARK_ATTENDANT", "Cop Beacon"}, ["filmshocking"] = {"Scenario", "WORLD_HUMAN_MOBILE_FILM_SHOCKING", "Film Shocking"}, ["flex"] = {"Scenario", "WORLD_HUMAN_MUSCLE_FLEX", "Flex"}, ["guard"] = {"Scenario", "WORLD_HUMAN_GUARD_STAND", "Guard"}, ["hammer"] = {"Scenario", "WORLD_HUMAN_HAMMERING", "Hammer"}, ["hangout"] = {"Scenario", "WORLD_HUMAN_HANG_OUT_STREET", "Hangout"}, ["impatient"] = {"Scenario", "WORLD_HUMAN_STAND_IMPATIENT", "Impatient"}, ["janitor"] = {"Scenario", "WORLD_HUMAN_JANITOR", "Janitor"}, ["jog"] = {"Scenario", "WORLD_HUMAN_JOG_STANDING", "Jog"}, ["kneel"] = {"Scenario", "CODE_HUMAN_MEDIC_KNEEL", "Kneel"}, ["leafblower"] = {"MaleScenario", "WORLD_HUMAN_GARDENER_LEAF_BLOWER", "Leafblower"}, ["lean"] = {"Scenario", "WORLD_HUMAN_LEANING", "Lean"}, ["leanbar"] = {"Scenario", "PROP_HUMAN_BUM_SHOPPING_CART", "Lean Bar"}, ["lookout"] = {"Scenario", "CODE_HUMAN_CROSS_ROAD_WAIT", "Lookout"}, ["maid"] = {"Scenario", "WORLD_HUMAN_MAID_CLEAN", "Maid"}, ["map"] = {"Scenario", "WORLD_HUMAN_TOURIST_MAP", "Map"}, ["medic"] = {"Scenario", "CODE_HUMAN_MEDIC_TEND_TO_DEAD", "Medic"}, ["musician"] = {"MaleScenario", "WORLD_HUMAN_MUSICIAN", "Musician"}, ["notepad2"] = {"Scenario", "CODE_HUMAN_MEDIC_TIME_OF_DEATH", "Notepad 2"}, ["parkingmeter"] = {"Scenario", "PROP_HUMAN_PARKING_METER", "Parking Meter"}, ["party"] = {"Scenario", "WORLD_HUMAN_PARTYING", "Party"}, ["phone"] = {"Scenario", "WORLD_HUMAN_STAND_MOBILE", "Phone 3"}, ["prosthigh"] = {"Scenario", "WORLD_HUMAN_PROSTITUTE_HIGH_CLASS", "Prostitue High"}, ["prostlow"] = {"Scenario", "WORLD_HUMAN_PROSTITUTE_LOW_CLASS", "Prostitue Low"}, ["puddle"] = {"Scenario", "WORLD_HUMAN_BUM_WASH", "Puddle"}, ["record"] = {"Scenario", "WORLD_HUMAN_MOBILE_FILM_SHOCKING", "Record"}, -- Sitchair is a litte special, since you want the player to be seated correctly. -- So we set it as "ScenarioObject" and do TaskStartScenarioAtPosition() instead of "AtPlace" ["sitchair"] = {"ScenarioObject", "PROP_HUMAN_SEAT_CHAIR_MP_PLAYER", "Sit Chair"}, ["smoke"] = {"MaleScenario", "WORLD_HUMAN_DRUG_DEALER", "Smoke 3"}, ["statue"] = {"Scenario", "WORLD_HUMAN_HUMAN_STATUE", "Statue"}, ["sunbathe3"] = {"Scenario", "WORLD_HUMAN_SUNBATHE", "Sunbathe 3"}, ["sunbatheback"] = {"Scenario", "WORLD_HUMAN_SUNBATHE_BACK", "Sunbathe Back"}, ["weld"] = {"Scenario", "WORLD_HUMAN_WELDING", "Weld"}, ["windowshop"] = {"Scenario", "WORLD_HUMAN_WINDOW_SHOP_BROWSE", "Window Shop"}, ["yoga"] = {"Scenario", "WORLD_HUMAN_YOGA", "Yoga"}, ----------------------------------------------------------------------------------------------------- ------ This is where i seperate the emotes with props to keep it a little sorted, trust me it helps. ----------------------------------------------------------------------------------------------------- ["umbrella"] = {"amb@world_human_drinking@coffee@male@base", "base", "Umbrella", AnimationOptions = { Prop = "p_amb_brolly_01", PropBone = 57005, PropPlacement = {0.15, 0.005, 0.0, 87.0, -20.0, 180.0}, -- EmoteLoop = true, EmoteMoving = true, }}, ----------------------------------------------------------------------------------------------------- ------ This is an example of an emote with 2 props, pretty simple! ---------------------------------- ----------------------------------------------------------------------------------------------------- ["notepad"] = {"missheistdockssetup1clipboard@base", "base", "Notepad", AnimationOptions = { Prop = 'prop_notepad_01', PropBone = 18905, PropPlacement = {0.1, 0.02, 0.05, 10.0, 0.0, 0.0}, -- These spaces arent needed, just helps seperate everything to keep it a little clean SecondProp = 'prop_pencil_01', SecondPropBone = 58866, SecondPropPlacement = {0.11, -0.02, 0.001, -120.0, 0.0, 0.0}, -- EmoteLoop is used for emotes that should loop, its as simple as that. -- Then EmoteMoving is used for emotes that should only play on the upperbody. -- The code then checks both values and sets the MovementType to the correct one EmoteLoop = true, EmoteMoving = true, }}, ["box"] = {"anim@heists@box_carry@", "idle", "Box", AnimationOptions = { Prop = "hei_prop_heist_box", PropBone = 60309, PropPlacement = {0.025, 0.08, 0.255, -145.0, 290.0, 0.0}, EmoteLoop = true, EmoteMoving = true, }}, ["rose"] = {"anim@heists@humane_labs@finale@keycards", "ped_a_enter_loop", "Rose", AnimationOptions = { Prop = "prop_single_rose", PropBone = 18905, PropPlacement = {0.13, 0.15, 0.0, -100.0, 0.0, -20.0}, EmoteLoop = true, EmoteMoving = true, }}, } -- You probably shouldnt touch these. local AnimationDuration = -1 local ChosenAnimation = "" local ChosenDict = "" local PlayerProps = {} local IsInAnimation = false local MostRecentChosenAnimation = "" local MostRecentChosenDict = "" local MovementType = 0 local PlayerGender = "male" local PlayerHasProp = false local SecondPropEmote = false -- Option locals. -------------------------------------------------------------------------------------------------------------------------- -- Set this to true to enable some extra prints, probably not very useful unless you are changing something with the code. -- And if you are you probably dont need me telling you what to enable/disable. local DebugDisplay = false -------------------------------------------------------------------------------------------------------------------------- -- Set this to false if you have something else on X, and then just use /e c to cancel emotes. local EnableXtoCancel = true -------------------------------------------------------------------------------------------------------------------------- -- Set this to true if you want to disarm the player when they play an emote. local DisarmPlayer = false -------------------------------------------------------------------------------------------------------------------------- Citizen.CreateThread(function() while true do if IsInAnimation and EnableXtoCancel then if (IsControlPressed(0, 73)) then ClearPedTasks(GetPlayerPed(-1)) DestroyAllProps() IsInAnimation = false end end Citizen.Wait(1) end end) ----------------------------------------------------------------------------------------------------- -- Commands / Events -------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------- RegisterCommand('e', function(source, args, raw) EmoteCommandStart(source, args, raw) end) RegisterCommand('emote', function(source, args, raw) EmoteCommandStart(source, args, raw) end) RegisterCommand('emotes', function(source, args, raw) EmotesOnCommand() -- If anyone has a better solution for this please let me know, i'd love to actually have them show up sorted end) AddEventHandler('onResourceStop', function(resource) if resource == GetCurrentResourceName() then DestroyAllProps() ClearPedTasksImmediately(GetPlayerPed(-1)) end end) ----------------------------------------------------------------------------------------------------- ------ Functions and stuff -------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------- function EmoteChatMessage(args) if args == display then TriggerEvent("chatMessage", "^1Emotes^0", {0,0,0}, string.format("")) else TriggerEvent("chatMessage", "^1Emotes^0", {0,0,0}, string.format(""..args.."")) end end function DebugPrint(args) if DebugDisplay then print(args) end end function EmotesOnCommand(source, args, raw) EmoteChatMessage(display) local EmotesCommand = "" for a in pairsByKeys(DP.Emotes) do EmotesCommand = a .. ", ".. EmotesCommand end EmoteChatMessage(EmotesCommand) end function pairsByKeys (t, f) local a = {} for n in pairs(t) do table.insert(a, n) end table.sort(a, f) local i = 0 -- iterator variable local iter = function () -- iterator function i = i + 1 if a[i] == nil then return nil else return a[i], t[a[i]] end end return iter end function EmoteCommandStart(source, args, raw) if #args > 0 then local name = args[1] if name == "c" and IsInAnimation then DestroyAllProps() ClearPedTasks(GetPlayerPed(-1)) IsInAnimation = false return elseif name == "help" then EmotesOnCommand() end if DP.Emotes[name] ~= nil then if OnEmotePlay(DP.Emotes[name]) then end else EmoteChatMessage("'"..name.."' is not a valid emote") end end end LoadAnim = function(dict) while not HasAnimDictLoaded(dict) do RequestAnimDict(dict) Citizen.Wait(1) end end LoadPropDict = function(model) RequestModel(GetHashKey(model)) while not HasModelLoaded(GetHashKey(model)) do Citizen.Wait(1) end end DestroyAllProps = function() for _,v in pairs(PlayerProps) do DeleteEntity(v) end PlayerHasProp = false DebugPrint("Destroyed Props") end AddPropToPlayer = function(prop1, bone, off1, off2, off3, rot1, rot2, rot3) local Player = PlayerPedId() local x,y,z = table.unpack(GetEntityCoords(Player)) if not HasModelLoaded(prop1) then LoadPropDict(prop1) end prop = CreateObject(GetHashKey(prop1), x, y, z+0.2, true, true, true) AttachEntityToEntity(prop, Player, GetPedBoneIndex(Player, bone), off1, off2, off3, rot1, rot2, rot3, true, true, false, true, 1, true) table.insert(PlayerProps, prop) PlayerHasProp = true end ----------------------------------------------------------------------------------------------------- -- V -- This could be a whole lot better, i tried messing around with "IsPedMale(ped)" -- V -- But i never really figured it out, if anyone has a better way of gender checking let me know. -- V -- Since this way doesnt work for ped models. -- V -- in most cases its better to replace the scenario with an animation bundled with prop instead. ----------------------------------------------------------------------------------------------------- CheckGender = function() local hashSkinMale = GetHashKey("mp_m_freemode_01") local hashSkinFemale = GetHashKey("mp_f_freemode_01") if GetEntityModel(PlayerPedId()) == hashSkinMale then PlayerGender = "male" elseif GetEntityModel(PlayerPedId()) == hashSkinFemale then PlayerGender = "female" end DebugPrint("Set gender as = ("..PlayerGender..")") end ----------------------------------------------------------------------------------------------------- ------ This is the major function for playing emotes! ----------------------------------------------- ----------------------------------------------------------------------------------------------------- function OnEmotePlay(EmoteName) if not DoesEntityExist(GetPlayerPed(-1)) then return false end if DisarmPlayer then if IsPedArmed(GetPlayerPed(-1), 7) then SetCurrentPedWeapon(GetPlayerPed(-1), GetHashKey('WEAPON_UNARMED'), true) end end ChosenDict,ChosenAnimation,ename = table.unpack(EmoteName) AnimationDuration = -1 if ChosenDict == "MaleScenario" or "Scenario" then CheckGender() if ChosenDict == "MaleScenario" then if PlayerGender == "male" then ClearPedTasks(GetPlayerPed(-1)) Wait(200) TaskStartScenarioInPlace(GetPlayerPed(-1), ChosenAnimation, 0, true) DebugPrint("Playing scenario = ("..ChosenAnimation..")") IsInAnimation = true else EmoteChatMessage("This emote is male only, sorry!") end elseif ChosenDict == "ScenarioObject" then BehindPlayer = GetOffsetFromEntityInWorldCoords(PlayerPedId(), 0.0, 0 - 0.5, -0.5); ClearPedTasks(GetPlayerPed(-1)) Wait(200) TaskStartScenarioAtPosition(GetPlayerPed(-1), ChosenAnimation, BehindPlayer['x'], BehindPlayer['y'], BehindPlayer['z'], GetEntityHeading(PlayerPedId()), 0, 1, false) DebugPrint("Playing scenario = ("..ChosenAnimation..")") IsInAnimation = true elseif ChosenDict == "Scenario" then ClearPedTasks(GetPlayerPed(-1)) Wait(200) TaskStartScenarioInPlace(GetPlayerPed(-1), ChosenAnimation, 0, true) DebugPrint("Playing scenario = ("..ChosenAnimation..")") IsInAnimation = true return end end if PlayerHasProp then DestroyAllProps() end LoadAnim(ChosenDict) if EmoteName.AnimationOptions then if EmoteName.AnimationOptions.EmoteLoop then MovementType = 1 if EmoteName.AnimationOptions.EmoteMoving then MovementType = 51 end elseif EmoteName.AnimationOptions.EmoteMoving then MovementType = 51 end else MovementType = 0 end if EmoteName.AnimationOptions then if EmoteName.AnimationOptions.EmoteDuration == nil then EmoteName.AnimationOptions.EmoteDuration = -1 else AnimationDuration = EmoteName.AnimationOptions.EmoteDuration end if EmoteName.AnimationOptions.Prop then PropName = EmoteName.AnimationOptions.Prop PropBone = EmoteName.AnimationOptions.PropBone PropPl1, PropPl2, PropPl3, PropPl4, PropPl5, PropPl6 = table.unpack(EmoteName.AnimationOptions.PropPlacement) if EmoteName.AnimationOptions.SecondProp then SecondPropName = EmoteName.AnimationOptions.SecondProp SecondPropBone = EmoteName.AnimationOptions.SecondPropBone SecondPropPl1, SecondPropPl2, SecondPropPl3, SecondPropPl4, SecondPropPl5, SecondPropPl6 = table.unpack(EmoteName.AnimationOptions.SecondPropPlacement) SecondPropEmote = true else SecondPropEmote = false end AddPropToPlayer(PropName, PropBone, PropPl1, PropPl2, PropPl3, PropPl4, PropPl5, PropPl6) if SecondPropEmote then AddPropToPlayer(SecondPropName, SecondPropBone, SecondPropPl1, SecondPropPl2, SecondPropPl3, SecondPropPl4, SecondPropPl5, SecondPropPl6) end end else DebugPrint("AnimationOptions = False") end DebugPrint ("--- Main Animations") DebugPrint ("ChosenDict = " ..ChosenDict.. "") DebugPrint ("ChosenAnimation = " ..ChosenAnimation.. "") DebugPrint ("MovementType = " ..MovementType.. "") DebugPrint ("AnimationDuration = " ..AnimationDuration.. "") if EmoteName.AnimationOptions then DebugPrint ("--- AnimationOptions") DebugPrint ("AnimationOption.EmoteLoop = " ..tostring(EmoteName.AnimationOptions.EmoteLoop).. "") DebugPrint ("AnimationOption.EmoteMoving = " ..tostring(EmoteName.AnimationOptions.EmoteMoving).. "") DebugPrint ("AnimationOption.EmoteDuration = " ..tostring(EmoteName.AnimationOptions.EmoteDuration).. "") end TaskPlayAnim(GetPlayerPed(-1), ChosenDict, ChosenAnimation, 2.0, 2.0, AnimationDuration, MovementType, 0, false, false, false) IsInAnimation = true MostRecentDict = ChosenDict MostRecentAnimation = ChosenAnimation return true end