dirk-cfx-react 1.1.81 → 1.1.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/index.cjs +499 -0
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.d.cts +39 -1
- package/dist/components/index.d.ts +39 -1
- package/dist/components/index.js +499 -2
- package/dist/components/index.js.map +1 -1
- package/dist/index.cjs +499 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +499 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -5856,6 +5856,503 @@ function AnimPostFxSelect({
|
|
|
5856
5856
|
);
|
|
5857
5857
|
}
|
|
5858
5858
|
|
|
5859
|
+
// src/utils/gtaScenarios.ts
|
|
5860
|
+
var GTA_SCENARIO_GROUP_ORDER = [
|
|
5861
|
+
"Sitting",
|
|
5862
|
+
"Standing & Idle",
|
|
5863
|
+
"Eating & Drinking",
|
|
5864
|
+
"Smoking & Substances",
|
|
5865
|
+
"Working",
|
|
5866
|
+
"Sports & Fitness",
|
|
5867
|
+
"Cops & Security",
|
|
5868
|
+
"Crime & Streets",
|
|
5869
|
+
"Tourists & Crowds",
|
|
5870
|
+
"Props (Misc)",
|
|
5871
|
+
"Movement",
|
|
5872
|
+
"Animals",
|
|
5873
|
+
"Vehicles",
|
|
5874
|
+
"Code (Advanced)"
|
|
5875
|
+
];
|
|
5876
|
+
var GTA_SCENARIOS = [
|
|
5877
|
+
// ── Sitting ────────────────────────────────────────────────────────────────
|
|
5878
|
+
{ name: "PROP_HUMAN_SEAT_ARMCHAIR", group: "Sitting" },
|
|
5879
|
+
{ name: "PROP_HUMAN_SEAT_BAR", group: "Sitting" },
|
|
5880
|
+
{ name: "PROP_HUMAN_SEAT_BENCH", group: "Sitting" },
|
|
5881
|
+
{ name: "PROP_HUMAN_SEAT_BENCH_FACILITY", group: "Sitting" },
|
|
5882
|
+
{ name: "PROP_HUMAN_SEAT_BENCH_DRINK", group: "Sitting" },
|
|
5883
|
+
{ name: "PROP_HUMAN_SEAT_BENCH_DRINK_FACILITY", group: "Sitting" },
|
|
5884
|
+
{ name: "PROP_HUMAN_SEAT_BENCH_DRINK_BEER", group: "Sitting" },
|
|
5885
|
+
{ name: "PROP_HUMAN_SEAT_BENCH_FOOD", group: "Sitting" },
|
|
5886
|
+
{ name: "PROP_HUMAN_SEAT_BENCH_FOOD_FACILITY", group: "Sitting" },
|
|
5887
|
+
{ name: "PROP_HUMAN_SEAT_BUS_STOP_WAIT", group: "Sitting" },
|
|
5888
|
+
{ name: "PROP_HUMAN_SEAT_CHAIR", group: "Sitting" },
|
|
5889
|
+
{ name: "PROP_HUMAN_SEAT_CHAIR_DRINK", group: "Sitting" },
|
|
5890
|
+
{ name: "PROP_HUMAN_SEAT_CHAIR_DRINK_BEER", group: "Sitting" },
|
|
5891
|
+
{ name: "PROP_HUMAN_SEAT_CHAIR_FOOD", group: "Sitting" },
|
|
5892
|
+
{ name: "PROP_HUMAN_SEAT_CHAIR_UPRIGHT", group: "Sitting" },
|
|
5893
|
+
{ name: "PROP_HUMAN_SEAT_CHAIR_UPRIGHT_SHOWROOM", group: "Sitting" },
|
|
5894
|
+
{ name: "PROP_HUMAN_SEAT_CHAIR_MP_PLAYER", group: "Sitting" },
|
|
5895
|
+
{ name: "PROP_HUMAN_SEAT_COMPUTER", group: "Sitting" },
|
|
5896
|
+
{ name: "PROP_HUMAN_SEAT_COMPUTER_LOW", group: "Sitting" },
|
|
5897
|
+
{ name: "PROP_HUMAN_SEAT_DECKCHAIR", group: "Sitting" },
|
|
5898
|
+
{ name: "PROP_HUMAN_SEAT_DECKCHAIR_DRINK", group: "Sitting" },
|
|
5899
|
+
{ name: "PROP_HUMAN_SEAT_SEWING", group: "Sitting" },
|
|
5900
|
+
{ name: "PROP_HUMAN_SEAT_STRIP_WATCH", group: "Sitting" },
|
|
5901
|
+
{ name: "PROP_HUMAN_SEAT_SUNLOUNGER", group: "Sitting" },
|
|
5902
|
+
{ name: "WORLD_HUMAN_SEAT_LEDGE", group: "Sitting" },
|
|
5903
|
+
{ name: "WORLD_HUMAN_SEAT_LEDGE_EATING", group: "Sitting" },
|
|
5904
|
+
{ name: "WORLD_HUMAN_SEAT_STEPS", group: "Sitting" },
|
|
5905
|
+
{ name: "WORLD_HUMAN_SEAT_WALL", group: "Sitting" },
|
|
5906
|
+
{ name: "WORLD_HUMAN_SEAT_WALL_EATING", group: "Sitting" },
|
|
5907
|
+
{ name: "WORLD_HUMAN_SEAT_WALL_TABLET", group: "Sitting" },
|
|
5908
|
+
// ── Standing & Idle ────────────────────────────────────────────────────────
|
|
5909
|
+
{ name: "Standing", group: "Standing & Idle" },
|
|
5910
|
+
{ name: "WORLD_HUMAN_HANG_OUT_STREET", group: "Standing & Idle" },
|
|
5911
|
+
{ name: "WORLD_HUMAN_HANG_OUT_STREET_CLUBHOUSE", group: "Standing & Idle" },
|
|
5912
|
+
{ name: "WORLD_HUMAN_LEANING", group: "Standing & Idle" },
|
|
5913
|
+
{ name: "WORLD_HUMAN_LEANING_CASINO_TERRACE", group: "Standing & Idle" },
|
|
5914
|
+
{ name: "WORLD_HUMAN_STAND_IMPATIENT", group: "Standing & Idle" },
|
|
5915
|
+
{ name: "WORLD_HUMAN_STAND_IMPATIENT_CLUBHOUSE", group: "Standing & Idle" },
|
|
5916
|
+
{ name: "WORLD_HUMAN_STAND_IMPATIENT_FACILITY", group: "Standing & Idle" },
|
|
5917
|
+
{ name: "WORLD_HUMAN_STAND_IMPATIENT_UPRIGHT", group: "Standing & Idle" },
|
|
5918
|
+
{ name: "WORLD_HUMAN_STAND_IMPATIENT_UPRIGHT_FACILITY", group: "Standing & Idle" },
|
|
5919
|
+
{ name: "WORLD_HUMAN_STAND_MOBILE", group: "Standing & Idle" },
|
|
5920
|
+
{ name: "WORLD_HUMAN_STAND_MOBILE_CLUBHOUSE", group: "Standing & Idle" },
|
|
5921
|
+
{ name: "WORLD_HUMAN_STAND_MOBILE_FACILITY", group: "Standing & Idle" },
|
|
5922
|
+
{ name: "WORLD_HUMAN_STAND_MOBILE_UPRIGHT", group: "Standing & Idle" },
|
|
5923
|
+
{ name: "WORLD_HUMAN_STAND_MOBILE_UPRIGHT_CLUBHOUSE", group: "Standing & Idle" },
|
|
5924
|
+
{ name: "WORLD_HUMAN_STAND_FIRE", group: "Standing & Idle" },
|
|
5925
|
+
{ name: "WORLD_HUMAN_STAND_FISHING", group: "Standing & Idle" },
|
|
5926
|
+
{ name: "PROP_HUMAN_STAND_IMPATIENT", group: "Standing & Idle" },
|
|
5927
|
+
// ── Eating & Drinking ──────────────────────────────────────────────────────
|
|
5928
|
+
{ name: "WORLD_HUMAN_DRINKING", group: "Eating & Drinking" },
|
|
5929
|
+
{ name: "WORLD_HUMAN_DRINKING_FACILITY", group: "Eating & Drinking" },
|
|
5930
|
+
{ name: "WORLD_HUMAN_DRINKING_CASINO_TERRACE", group: "Eating & Drinking" },
|
|
5931
|
+
{ name: "WORLD_HUMAN_PICNIC", group: "Eating & Drinking" },
|
|
5932
|
+
// ── Smoking & Substances ───────────────────────────────────────────────────
|
|
5933
|
+
{ name: "WORLD_HUMAN_AA_COFFEE", group: "Smoking & Substances" },
|
|
5934
|
+
{ name: "WORLD_HUMAN_AA_SMOKE", group: "Smoking & Substances" },
|
|
5935
|
+
{ name: "WORLD_HUMAN_SMOKING", group: "Smoking & Substances" },
|
|
5936
|
+
{ name: "WORLD_HUMAN_SMOKING_CLUBHOUSE", group: "Smoking & Substances" },
|
|
5937
|
+
{ name: "WORLD_HUMAN_SMOKING_POT", group: "Smoking & Substances" },
|
|
5938
|
+
{ name: "WORLD_HUMAN_SMOKING_POT_CLUBHOUSE", group: "Smoking & Substances" },
|
|
5939
|
+
{ name: "WORLD_HUMAN_STUPOR", group: "Smoking & Substances" },
|
|
5940
|
+
{ name: "WORLD_HUMAN_STUPOR_CLUBHOUSE", group: "Smoking & Substances" },
|
|
5941
|
+
// ── Working ────────────────────────────────────────────────────────────────
|
|
5942
|
+
{ name: "WORLD_HUMAN_CAR_PARK_ATTENDANT", group: "Working" },
|
|
5943
|
+
{ name: "WORLD_HUMAN_CLIPBOARD", group: "Working" },
|
|
5944
|
+
{ name: "WORLD_HUMAN_CLIPBOARD_FACILITY", group: "Working" },
|
|
5945
|
+
{ name: "WORLD_HUMAN_CONST_DRILL", group: "Working" },
|
|
5946
|
+
{ name: "WORLD_HUMAN_GARDENER_LEAF_BLOWER", group: "Working" },
|
|
5947
|
+
{ name: "WORLD_HUMAN_GARDENER_PLANT", group: "Working" },
|
|
5948
|
+
{ name: "WORLD_HUMAN_HAMMERING", group: "Working" },
|
|
5949
|
+
{ name: "WORLD_HUMAN_JANITOR", group: "Working" },
|
|
5950
|
+
{ name: "WORLD_HUMAN_MAID_CLEAN", group: "Working" },
|
|
5951
|
+
{ name: "WORLD_HUMAN_MUSICIAN", group: "Working" },
|
|
5952
|
+
{ name: "WORLD_HUMAN_VALET", group: "Working" },
|
|
5953
|
+
{ name: "WORLD_HUMAN_VEHICLE_MECHANIC", group: "Working" },
|
|
5954
|
+
{ name: "WORLD_HUMAN_WELDING", group: "Working" },
|
|
5955
|
+
// ── Sports & Fitness ───────────────────────────────────────────────────────
|
|
5956
|
+
{ name: "WORLD_HUMAN_GOLF_PLAYER", group: "Sports & Fitness" },
|
|
5957
|
+
{ name: "WORLD_HUMAN_HIKER", group: "Sports & Fitness" },
|
|
5958
|
+
{ name: "WORLD_HUMAN_HIKER_STANDING", group: "Sports & Fitness" },
|
|
5959
|
+
{ name: "WORLD_HUMAN_JOG", group: "Sports & Fitness" },
|
|
5960
|
+
{ name: "WORLD_HUMAN_JOG_STANDING", group: "Sports & Fitness" },
|
|
5961
|
+
{ name: "WORLD_HUMAN_MUSCLE_FLEX", group: "Sports & Fitness" },
|
|
5962
|
+
{ name: "WORLD_HUMAN_MUSCLE_FREE_WEIGHTS", group: "Sports & Fitness" },
|
|
5963
|
+
{ name: "WORLD_HUMAN_POWER_WALKER", group: "Sports & Fitness" },
|
|
5964
|
+
{ name: "WORLD_HUMAN_PUSH_UPS", group: "Sports & Fitness" },
|
|
5965
|
+
{ name: "WORLD_HUMAN_SIT_UPS", group: "Sports & Fitness" },
|
|
5966
|
+
{ name: "WORLD_HUMAN_SUNBATHE", group: "Sports & Fitness" },
|
|
5967
|
+
{ name: "WORLD_HUMAN_SUNBATHE_BACK", group: "Sports & Fitness" },
|
|
5968
|
+
{ name: "WORLD_HUMAN_SWIMMING", group: "Sports & Fitness" },
|
|
5969
|
+
{ name: "WORLD_HUMAN_TENNIS_PLAYER", group: "Sports & Fitness" },
|
|
5970
|
+
{ name: "WORLD_HUMAN_YOGA", group: "Sports & Fitness" },
|
|
5971
|
+
{ name: "PROP_HUMAN_MUSCLE_CHIN_UPS", group: "Sports & Fitness" },
|
|
5972
|
+
{ name: "PROP_HUMAN_MUSCLE_CHIN_UPS_ARMY", group: "Sports & Fitness" },
|
|
5973
|
+
{ name: "PROP_HUMAN_MUSCLE_CHIN_UPS_PRISON", group: "Sports & Fitness" },
|
|
5974
|
+
{ name: "PROP_HUMAN_SEAT_MUSCLE_BENCH_PRESS", group: "Sports & Fitness" },
|
|
5975
|
+
{ name: "PROP_HUMAN_SEAT_MUSCLE_BENCH_PRESS_PRISON", group: "Sports & Fitness" },
|
|
5976
|
+
// ── Cops & Security ────────────────────────────────────────────────────────
|
|
5977
|
+
{ name: "WORLD_HUMAN_COP_IDLES", group: "Cops & Security" },
|
|
5978
|
+
{ name: "WORLD_HUMAN_GUARD_PATROL", group: "Cops & Security" },
|
|
5979
|
+
{ name: "WORLD_HUMAN_GUARD_STAND", group: "Cops & Security" },
|
|
5980
|
+
{ name: "WORLD_HUMAN_GUARD_STAND_CASINO", group: "Cops & Security" },
|
|
5981
|
+
{ name: "WORLD_HUMAN_GUARD_STAND_CLUBHOUSE", group: "Cops & Security" },
|
|
5982
|
+
{ name: "WORLD_HUMAN_GUARD_STAND_FACILITY", group: "Cops & Security" },
|
|
5983
|
+
{ name: "WORLD_HUMAN_GUARD_STAND_ARMY", group: "Cops & Security" },
|
|
5984
|
+
{ name: "WORLD_HUMAN_SECURITY_SHINE_TORCH", group: "Cops & Security" },
|
|
5985
|
+
// ── Crime & Streets ────────────────────────────────────────────────────────
|
|
5986
|
+
{ name: "WORLD_HUMAN_DRUG_DEALER", group: "Crime & Streets" },
|
|
5987
|
+
{ name: "WORLD_HUMAN_DRUG_DEALER_HARD", group: "Crime & Streets" },
|
|
5988
|
+
{ name: "WORLD_HUMAN_DRUG_FIELD_WORKERS_RAKE", group: "Crime & Streets" },
|
|
5989
|
+
{ name: "WORLD_HUMAN_DRUG_FIELD_WORKERS_WEEDING", group: "Crime & Streets" },
|
|
5990
|
+
{ name: "WORLD_HUMAN_DRUG_PROCESSORS_COKE", group: "Crime & Streets" },
|
|
5991
|
+
{ name: "WORLD_HUMAN_DRUG_PROCESSORS_WEED", group: "Crime & Streets" },
|
|
5992
|
+
{ name: "WORLD_HUMAN_PROSTITUTE_HIGH_CLASS", group: "Crime & Streets" },
|
|
5993
|
+
{ name: "WORLD_HUMAN_PROSTITUTE_LOW_CLASS", group: "Crime & Streets" },
|
|
5994
|
+
{ name: "WORLD_HUMAN_BUM_FREEWAY", group: "Crime & Streets" },
|
|
5995
|
+
{ name: "WORLD_HUMAN_BUM_SLUMPED", group: "Crime & Streets" },
|
|
5996
|
+
{ name: "WORLD_HUMAN_BUM_STANDING", group: "Crime & Streets" },
|
|
5997
|
+
{ name: "WORLD_HUMAN_BUM_WASH", group: "Crime & Streets" },
|
|
5998
|
+
{ name: "PROP_HUMAN_BUM_BIN", group: "Crime & Streets" },
|
|
5999
|
+
{ name: "PROP_HUMAN_BUM_SHOPPING_CART", group: "Crime & Streets" },
|
|
6000
|
+
// ── Tourists & Crowds ──────────────────────────────────────────────────────
|
|
6001
|
+
{ name: "WORLD_HUMAN_BINOCULARS", group: "Tourists & Crowds" },
|
|
6002
|
+
{ name: "WORLD_HUMAN_CHEERING", group: "Tourists & Crowds" },
|
|
6003
|
+
{ name: "WORLD_HUMAN_HUMAN_STATUE", group: "Tourists & Crowds" },
|
|
6004
|
+
{ name: "WORLD_HUMAN_INSPECT_CROUCH", group: "Tourists & Crowds" },
|
|
6005
|
+
{ name: "WORLD_HUMAN_INSPECT_STAND", group: "Tourists & Crowds" },
|
|
6006
|
+
{ name: "WORLD_HUMAN_MOBILE_FILM_SHOCKING", group: "Tourists & Crowds" },
|
|
6007
|
+
{ name: "WORLD_HUMAN_PAPARAZZI", group: "Tourists & Crowds" },
|
|
6008
|
+
{ name: "WORLD_HUMAN_PARTYING", group: "Tourists & Crowds" },
|
|
6009
|
+
{ name: "WORLD_HUMAN_STRIP_WATCH_STAND", group: "Tourists & Crowds" },
|
|
6010
|
+
{ name: "WORLD_HUMAN_SUPERHERO", group: "Tourists & Crowds" },
|
|
6011
|
+
{ name: "WORLD_HUMAN_TOURIST_MAP", group: "Tourists & Crowds" },
|
|
6012
|
+
{ name: "WORLD_HUMAN_TOURIST_MOBILE", group: "Tourists & Crowds" },
|
|
6013
|
+
{ name: "WORLD_HUMAN_WINDOW_SHOP_BROWSE", group: "Tourists & Crowds" },
|
|
6014
|
+
{ name: "WORLD_HUMAN_WINDOW_SHOP_BROWSE_SHOWROOM", group: "Tourists & Crowds" },
|
|
6015
|
+
// ── Props (Misc) ───────────────────────────────────────────────────────────
|
|
6016
|
+
{ name: "PROP_HUMAN_ATM", group: "Props (Misc)" },
|
|
6017
|
+
{ name: "PROP_HUMAN_BBQ", group: "Props (Misc)" },
|
|
6018
|
+
{ name: "PROP_HUMAN_PARKING_METER", group: "Props (Misc)" },
|
|
6019
|
+
{ name: "PROP_HUMAN_MOVIE_BULB", group: "Props (Misc)" },
|
|
6020
|
+
{ name: "PROP_HUMAN_MOVIE_STUDIO_LIGHT", group: "Props (Misc)" },
|
|
6021
|
+
{ name: "PROP_BIRD_IN_TREE", group: "Props (Misc)" },
|
|
6022
|
+
{ name: "PROP_BIRD_TELEGRAPH_POLE", group: "Props (Misc)" },
|
|
6023
|
+
// ── Movement ───────────────────────────────────────────────────────────────
|
|
6024
|
+
{ name: "Walk", group: "Movement" },
|
|
6025
|
+
{ name: "Walk_Facility", group: "Movement" },
|
|
6026
|
+
// ── Animals ────────────────────────────────────────────────────────────────
|
|
6027
|
+
{ name: "WORLD_BOAR_GRAZING", group: "Animals" },
|
|
6028
|
+
{ name: "WORLD_CAT_SLEEPING_GROUND", group: "Animals" },
|
|
6029
|
+
{ name: "WORLD_CAT_SLEEPING_LEDGE", group: "Animals" },
|
|
6030
|
+
{ name: "WORLD_COW_GRAZING", group: "Animals" },
|
|
6031
|
+
{ name: "WORLD_COYOTE_HOWL", group: "Animals" },
|
|
6032
|
+
{ name: "WORLD_COYOTE_REST", group: "Animals" },
|
|
6033
|
+
{ name: "WORLD_COYOTE_WANDER", group: "Animals" },
|
|
6034
|
+
{ name: "WORLD_COYOTE_WALK", group: "Animals" },
|
|
6035
|
+
{ name: "WORLD_CHICKENHAWK_FEEDING", group: "Animals" },
|
|
6036
|
+
{ name: "WORLD_CHICKENHAWK_STANDING", group: "Animals" },
|
|
6037
|
+
{ name: "WORLD_CORMORANT_STANDING", group: "Animals" },
|
|
6038
|
+
{ name: "WORLD_CROW_FEEDING", group: "Animals" },
|
|
6039
|
+
{ name: "WORLD_CROW_STANDING", group: "Animals" },
|
|
6040
|
+
{ name: "WORLD_DEER_GRAZING", group: "Animals" },
|
|
6041
|
+
{ name: "WORLD_DOG_BARKING_ROTTWEILER", group: "Animals" },
|
|
6042
|
+
{ name: "WORLD_DOG_BARKING_RETRIEVER", group: "Animals" },
|
|
6043
|
+
{ name: "WORLD_DOG_BARKING_SHEPHERD", group: "Animals" },
|
|
6044
|
+
{ name: "WORLD_DOG_BARKING_SMALL", group: "Animals" },
|
|
6045
|
+
{ name: "WORLD_DOG_SITTING_ROTTWEILER", group: "Animals" },
|
|
6046
|
+
{ name: "WORLD_DOG_SITTING_RETRIEVER", group: "Animals" },
|
|
6047
|
+
{ name: "WORLD_DOG_SITTING_SHEPHERD", group: "Animals" },
|
|
6048
|
+
{ name: "WORLD_DOG_SITTING_SMALL", group: "Animals" },
|
|
6049
|
+
{ name: "WORLD_DOLPHIN_SWIM", group: "Animals" },
|
|
6050
|
+
{ name: "WORLD_FISH_FLEE", group: "Animals" },
|
|
6051
|
+
{ name: "WORLD_FISH_IDLE", group: "Animals" },
|
|
6052
|
+
{ name: "WORLD_GULL_FEEDING", group: "Animals" },
|
|
6053
|
+
{ name: "WORLD_GULL_STANDING", group: "Animals" },
|
|
6054
|
+
{ name: "WORLD_HEN_FLEE", group: "Animals" },
|
|
6055
|
+
{ name: "WORLD_HEN_PECKING", group: "Animals" },
|
|
6056
|
+
{ name: "WORLD_HEN_STANDING", group: "Animals" },
|
|
6057
|
+
{ name: "WORLD_MOUNTAIN_LION_REST", group: "Animals" },
|
|
6058
|
+
{ name: "WORLD_MOUNTAIN_LION_WANDER", group: "Animals" },
|
|
6059
|
+
{ name: "WORLD_ORCA_SWIM", group: "Animals" },
|
|
6060
|
+
{ name: "WORLD_PIG_GRAZING", group: "Animals" },
|
|
6061
|
+
{ name: "WORLD_PIGEON_FEEDING", group: "Animals" },
|
|
6062
|
+
{ name: "WORLD_PIGEON_STANDING", group: "Animals" },
|
|
6063
|
+
{ name: "WORLD_RABBIT_EATING", group: "Animals" },
|
|
6064
|
+
{ name: "WORLD_RABBIT_FLEE", group: "Animals" },
|
|
6065
|
+
{ name: "WORLD_RATS_EATING", group: "Animals" },
|
|
6066
|
+
{ name: "WORLD_RATS_FLEEING", group: "Animals" },
|
|
6067
|
+
{ name: "WORLD_SHARK_SWIM", group: "Animals" },
|
|
6068
|
+
{ name: "WORLD_SHARK_HAMMERHEAD_SWIM", group: "Animals" },
|
|
6069
|
+
{ name: "WORLD_STINGRAY_SWIM", group: "Animals" },
|
|
6070
|
+
{ name: "WORLD_WHALE_SWIM", group: "Animals" },
|
|
6071
|
+
// ── Vehicles ───────────────────────────────────────────────────────────────
|
|
6072
|
+
{ name: "DRIVE", group: "Vehicles" },
|
|
6073
|
+
{ name: "PARK_VEHICLE", group: "Vehicles" },
|
|
6074
|
+
{ name: "WORLD_VEHICLE_ATTRACTOR", group: "Vehicles" },
|
|
6075
|
+
{ name: "WORLD_VEHICLE_AMBULANCE", group: "Vehicles" },
|
|
6076
|
+
{ name: "WORLD_VEHICLE_BICYCLE_BMX", group: "Vehicles" },
|
|
6077
|
+
{ name: "WORLD_VEHICLE_BICYCLE_BMX_BALLAS", group: "Vehicles" },
|
|
6078
|
+
{ name: "WORLD_VEHICLE_BICYCLE_BMX_FAMILY", group: "Vehicles" },
|
|
6079
|
+
{ name: "WORLD_VEHICLE_BICYCLE_BMX_HARMONY", group: "Vehicles" },
|
|
6080
|
+
{ name: "WORLD_VEHICLE_BICYCLE_BMX_VAGOS", group: "Vehicles" },
|
|
6081
|
+
{ name: "WORLD_VEHICLE_BICYCLE_MOUNTAIN", group: "Vehicles" },
|
|
6082
|
+
{ name: "WORLD_VEHICLE_BICYCLE_ROAD", group: "Vehicles" },
|
|
6083
|
+
{ name: "WORLD_VEHICLE_BIKE_OFF_ROAD_RACE", group: "Vehicles" },
|
|
6084
|
+
{ name: "WORLD_VEHICLE_BIKER", group: "Vehicles" },
|
|
6085
|
+
{ name: "WORLD_VEHICLE_BOAT_IDLE", group: "Vehicles" },
|
|
6086
|
+
{ name: "WORLD_VEHICLE_BOAT_IDLE_ALAMO", group: "Vehicles" },
|
|
6087
|
+
{ name: "WORLD_VEHICLE_BOAT_IDLE_MARQUIS", group: "Vehicles" },
|
|
6088
|
+
{ name: "WORLD_VEHICLE_BROKEN_DOWN", group: "Vehicles" },
|
|
6089
|
+
{ name: "WORLD_VEHICLE_BUSINESSMEN", group: "Vehicles" },
|
|
6090
|
+
{ name: "WORLD_VEHICLE_CLUCKIN_BELL_TRAILER", group: "Vehicles" },
|
|
6091
|
+
{ name: "WORLD_VEHICLE_CONSTRUCTION_SOLO", group: "Vehicles" },
|
|
6092
|
+
{ name: "WORLD_VEHICLE_CONSTRUCTION_PASSENGERS", group: "Vehicles" },
|
|
6093
|
+
{ name: "WORLD_VEHICLE_DISTANT_EMPTY_GROUND", group: "Vehicles" },
|
|
6094
|
+
{ name: "WORLD_VEHICLE_DRIVE_PASSENGERS", group: "Vehicles" },
|
|
6095
|
+
{ name: "WORLD_VEHICLE_DRIVE_PASSENGERS_LIMITED", group: "Vehicles" },
|
|
6096
|
+
{ name: "WORLD_VEHICLE_DRIVE_SOLO", group: "Vehicles" },
|
|
6097
|
+
{ name: "WORLD_VEHICLE_EMPTY", group: "Vehicles" },
|
|
6098
|
+
{ name: "WORLD_VEHICLE_FARM_WORKER", group: "Vehicles" },
|
|
6099
|
+
{ name: "WORLD_VEHICLE_FIRE_TRUCK", group: "Vehicles" },
|
|
6100
|
+
{ name: "WORLD_VEHICLE_HELI_LIFEGUARD", group: "Vehicles" },
|
|
6101
|
+
{ name: "WORLD_VEHICLE_MARIACHI", group: "Vehicles" },
|
|
6102
|
+
{ name: "WORLD_VEHICLE_MECHANIC", group: "Vehicles" },
|
|
6103
|
+
{ name: "WORLD_VEHICLE_MILITARY_PLANES_BIG", group: "Vehicles" },
|
|
6104
|
+
{ name: "WORLD_VEHICLE_MILITARY_PLANES_SMALL", group: "Vehicles" },
|
|
6105
|
+
{ name: "WORLD_VEHICLE_PARK_PARALLEL", group: "Vehicles" },
|
|
6106
|
+
{ name: "WORLD_VEHICLE_PARK_PERPENDICULAR_NOSE_IN", group: "Vehicles" },
|
|
6107
|
+
{ name: "WORLD_VEHICLE_PASSENGER_EXIT", group: "Vehicles" },
|
|
6108
|
+
{ name: "WORLD_VEHICLE_POLICE_BIKE", group: "Vehicles" },
|
|
6109
|
+
{ name: "WORLD_VEHICLE_POLICE_CAR", group: "Vehicles" },
|
|
6110
|
+
{ name: "WORLD_VEHICLE_POLICE_NEXT_TO_CAR", group: "Vehicles" },
|
|
6111
|
+
{ name: "WORLD_VEHICLE_QUARRY", group: "Vehicles" },
|
|
6112
|
+
{ name: "WORLD_VEHICLE_SALTON", group: "Vehicles" },
|
|
6113
|
+
{ name: "WORLD_VEHICLE_SALTON_DIRT_BIKE", group: "Vehicles" },
|
|
6114
|
+
{ name: "WORLD_VEHICLE_SECURITY_CAR", group: "Vehicles" },
|
|
6115
|
+
{ name: "WORLD_VEHICLE_STREETRACE", group: "Vehicles" },
|
|
6116
|
+
{ name: "WORLD_VEHICLE_TANDL", group: "Vehicles" },
|
|
6117
|
+
{ name: "WORLD_VEHICLE_TOURBUS", group: "Vehicles" },
|
|
6118
|
+
{ name: "WORLD_VEHICLE_TOURIST", group: "Vehicles" },
|
|
6119
|
+
{ name: "WORLD_VEHICLE_TRACTOR", group: "Vehicles" },
|
|
6120
|
+
{ name: "WORLD_VEHICLE_TRACTOR_BEACH", group: "Vehicles" },
|
|
6121
|
+
{ name: "WORLD_VEHICLE_TRUCK_LOGS", group: "Vehicles" },
|
|
6122
|
+
{ name: "WORLD_VEHICLE_TRUCKS_TRAILERS", group: "Vehicles" },
|
|
6123
|
+
// ── Code (Advanced) ────────────────────────────────────────────────────────
|
|
6124
|
+
// These are engine-internal scenarios — rarely the right pick for cinematic
|
|
6125
|
+
// ped placements, but exposed because the game-data dump includes them.
|
|
6126
|
+
{ name: "CODE_HUMAN_COWER", group: "Code (Advanced)" },
|
|
6127
|
+
{ name: "CODE_HUMAN_CROSS_ROAD_WAIT", group: "Code (Advanced)" },
|
|
6128
|
+
{ name: "CODE_HUMAN_PARK_CAR", group: "Code (Advanced)" },
|
|
6129
|
+
{ name: "CODE_HUMAN_MEDIC_KNEEL", group: "Code (Advanced)" },
|
|
6130
|
+
{ name: "CODE_HUMAN_MEDIC_TEND_TO_DEAD", group: "Code (Advanced)" },
|
|
6131
|
+
{ name: "CODE_HUMAN_MEDIC_TIME_OF_DEATH", group: "Code (Advanced)" },
|
|
6132
|
+
{ name: "CODE_HUMAN_POLICE_CROWD_CONTROL", group: "Code (Advanced)" },
|
|
6133
|
+
{ name: "CODE_HUMAN_POLICE_INVESTIGATE", group: "Code (Advanced)" },
|
|
6134
|
+
{ name: "CODE_HUMAN_STAND_COWER", group: "Code (Advanced)" },
|
|
6135
|
+
{ name: "CHAINING_ENTRY", group: "Code (Advanced)" },
|
|
6136
|
+
{ name: "CHAINING_EXIT", group: "Code (Advanced)" },
|
|
6137
|
+
{ name: "EAR_TO_TEXT", group: "Code (Advanced)" },
|
|
6138
|
+
{ name: "EAR_TO_TEXT_FAT", group: "Code (Advanced)" },
|
|
6139
|
+
{ name: "WORLD_LOOKAT_POINT", group: "Code (Advanced)" }
|
|
6140
|
+
];
|
|
6141
|
+
var PREFIX_RE = /^(WORLD|PROP|CODE)_(HUMAN_|BIRD_|VEHICLE_|CAT_|DOG_|COYOTE_|FISH_|HEN_|GULL_|CROW_|RABBIT_|RATS_|SHARK_|PIGEON_|ORCA_|WHALE_|STINGRAY_|DOLPHIN_|MOUNTAIN_LION_|PIG_|COW_|DEER_|BOAR_|CHICKENHAWK_|CORMORANT_)?/;
|
|
6142
|
+
function formatGtaScenario(name) {
|
|
6143
|
+
if (!name) return "";
|
|
6144
|
+
const stripped = name.replace(PREFIX_RE, "");
|
|
6145
|
+
const cleaned = stripped.length > 0 ? stripped : name;
|
|
6146
|
+
return cleaned.toLowerCase().split("_").filter(Boolean).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
|
|
6147
|
+
}
|
|
6148
|
+
function buildGroupedData3(extraNames = []) {
|
|
6149
|
+
const groups = /* @__PURE__ */ new Map();
|
|
6150
|
+
const seen = /* @__PURE__ */ new Set();
|
|
6151
|
+
for (const sc of GTA_SCENARIOS) {
|
|
6152
|
+
if (seen.has(sc.name)) continue;
|
|
6153
|
+
seen.add(sc.name);
|
|
6154
|
+
if (!groups.has(sc.group)) groups.set(sc.group, []);
|
|
6155
|
+
groups.get(sc.group).push(sc);
|
|
6156
|
+
}
|
|
6157
|
+
const data = GTA_SCENARIO_GROUP_ORDER.flatMap((g) => {
|
|
6158
|
+
const items = groups.get(g);
|
|
6159
|
+
if (!items || items.length === 0) return [];
|
|
6160
|
+
return [
|
|
6161
|
+
{
|
|
6162
|
+
group: g,
|
|
6163
|
+
items: items.map((sc) => ({
|
|
6164
|
+
value: sc.name,
|
|
6165
|
+
label: sc.label ?? formatGtaScenario(sc.name)
|
|
6166
|
+
}))
|
|
6167
|
+
}
|
|
6168
|
+
];
|
|
6169
|
+
});
|
|
6170
|
+
const knownNames = new Set(GTA_SCENARIOS.map((sc) => sc.name));
|
|
6171
|
+
const customs = extraNames.filter((n) => n && !knownNames.has(n));
|
|
6172
|
+
if (customs.length > 0) {
|
|
6173
|
+
data.push({
|
|
6174
|
+
group: "Custom",
|
|
6175
|
+
items: customs.map((n) => ({ value: n, label: n }))
|
|
6176
|
+
});
|
|
6177
|
+
}
|
|
6178
|
+
return data;
|
|
6179
|
+
}
|
|
6180
|
+
function ScenarioSelect({
|
|
6181
|
+
value,
|
|
6182
|
+
onChange,
|
|
6183
|
+
label = "Scenario",
|
|
6184
|
+
size = "xs",
|
|
6185
|
+
searchable = true,
|
|
6186
|
+
clearable = true,
|
|
6187
|
+
...rest
|
|
6188
|
+
}) {
|
|
6189
|
+
const data = buildGroupedData3([value]);
|
|
6190
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6191
|
+
core.Select,
|
|
6192
|
+
{
|
|
6193
|
+
label,
|
|
6194
|
+
size,
|
|
6195
|
+
searchable,
|
|
6196
|
+
clearable,
|
|
6197
|
+
maxDropdownHeight: 320,
|
|
6198
|
+
nothingFoundMessage: "No matching scenarios",
|
|
6199
|
+
placeholder: "Pick a scenario...",
|
|
6200
|
+
...rest,
|
|
6201
|
+
data,
|
|
6202
|
+
value: value || null,
|
|
6203
|
+
onChange: (v) => onChange(v ?? "")
|
|
6204
|
+
}
|
|
6205
|
+
);
|
|
6206
|
+
}
|
|
6207
|
+
function decimalToHex(color) {
|
|
6208
|
+
if (!color || color === 0) return null;
|
|
6209
|
+
return "#" + color.toString(16).padStart(6, "0");
|
|
6210
|
+
}
|
|
6211
|
+
function RoleOption({ role }) {
|
|
6212
|
+
const swatch = decimalToHex(role.color) || "rgba(255,255,255,0.25)";
|
|
6213
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(core.Flex, { align: "center", gap: "0.6vh", children: [
|
|
6214
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6215
|
+
"div",
|
|
6216
|
+
{
|
|
6217
|
+
style: {
|
|
6218
|
+
width: "1vh",
|
|
6219
|
+
height: "1vh",
|
|
6220
|
+
borderRadius: "50%",
|
|
6221
|
+
background: swatch,
|
|
6222
|
+
flexShrink: 0,
|
|
6223
|
+
boxShadow: role.color ? `0 0 0.4vh ${swatch}` : void 0
|
|
6224
|
+
}
|
|
6225
|
+
}
|
|
6226
|
+
),
|
|
6227
|
+
/* @__PURE__ */ jsxRuntime.jsx(core.Text, { size: "xs", c: "rgba(255,255,255,0.9)", children: role.name })
|
|
6228
|
+
] });
|
|
6229
|
+
}
|
|
6230
|
+
function NotConfiguredBanner({ label }) {
|
|
6231
|
+
const theme = core.useMantineTheme();
|
|
6232
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(core.Flex, { direction: "column", gap: "xxs", children: [
|
|
6233
|
+
label && /* @__PURE__ */ jsxRuntime.jsx(core.Text, { ff: "Akrobat Bold", size: "xxs", tt: "uppercase", lts: "0.05em", c: "rgba(255,255,255,0.55)", children: label }),
|
|
6234
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
6235
|
+
core.Flex,
|
|
6236
|
+
{
|
|
6237
|
+
align: "center",
|
|
6238
|
+
gap: "xs",
|
|
6239
|
+
px: "xs",
|
|
6240
|
+
py: "xxs",
|
|
6241
|
+
style: {
|
|
6242
|
+
background: "rgba(0,0,0,0.3)",
|
|
6243
|
+
border: "0.1vh dashed rgba(255,255,255,0.12)",
|
|
6244
|
+
borderRadius: theme.radius.xs
|
|
6245
|
+
},
|
|
6246
|
+
children: [
|
|
6247
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ExternalLink, { size: "1.4vh", color: "rgba(255,255,255,0.4)" }),
|
|
6248
|
+
/* @__PURE__ */ jsxRuntime.jsx(core.Text, { ff: "Akrobat Bold", size: "xxs", c: "rgba(255,255,255,0.55)", style: { flex: 1 }, children: locale("DiscordNotConfigured") || "Discord bot not configured \u2014 run /dirk_lib and set a bot token + guild ID." })
|
|
6249
|
+
]
|
|
6250
|
+
}
|
|
6251
|
+
)
|
|
6252
|
+
] });
|
|
6253
|
+
}
|
|
6254
|
+
function DiscordRoleSelect(props) {
|
|
6255
|
+
const { endpoint, label, size = "xs", placeholder, disabled, style, styles } = props;
|
|
6256
|
+
const [roles, setRoles] = react.useState(null);
|
|
6257
|
+
const [loading, setLoading] = react.useState(false);
|
|
6258
|
+
const [errorCode, setErrorCode] = react.useState(null);
|
|
6259
|
+
const refresh = async () => {
|
|
6260
|
+
setLoading(true);
|
|
6261
|
+
try {
|
|
6262
|
+
const res = await fetchNui(endpoint, {}, {
|
|
6263
|
+
// Browser dev fallback so the component renders something useful
|
|
6264
|
+
// outside FiveM.
|
|
6265
|
+
ok: true,
|
|
6266
|
+
roles: [
|
|
6267
|
+
{ id: "1", name: "Admin", color: 15548997, position: 5 },
|
|
6268
|
+
{ id: "2", name: "VIP Gold", color: 16426522, position: 4 },
|
|
6269
|
+
{ id: "3", name: "Member", color: 5763719, position: 3 },
|
|
6270
|
+
{ id: "4", name: "Guest", color: 0, position: 2 }
|
|
6271
|
+
]
|
|
6272
|
+
});
|
|
6273
|
+
if (res?.ok) {
|
|
6274
|
+
setRoles(res.roles ?? []);
|
|
6275
|
+
setErrorCode(null);
|
|
6276
|
+
} else {
|
|
6277
|
+
setRoles(null);
|
|
6278
|
+
setErrorCode(res?._error || "FetchFailed");
|
|
6279
|
+
}
|
|
6280
|
+
} finally {
|
|
6281
|
+
setLoading(false);
|
|
6282
|
+
}
|
|
6283
|
+
};
|
|
6284
|
+
react.useEffect(() => {
|
|
6285
|
+
refresh();
|
|
6286
|
+
}, [endpoint]);
|
|
6287
|
+
const rolesById = react.useMemo(() => {
|
|
6288
|
+
const map = {};
|
|
6289
|
+
for (const r of roles ?? []) map[r.id] = r;
|
|
6290
|
+
return map;
|
|
6291
|
+
}, [roles]);
|
|
6292
|
+
if (errorCode === "NotConfigured") {
|
|
6293
|
+
return /* @__PURE__ */ jsxRuntime.jsx(NotConfiguredBanner, { label });
|
|
6294
|
+
}
|
|
6295
|
+
const data = (roles ?? []).map((r) => ({
|
|
6296
|
+
value: r.id,
|
|
6297
|
+
label: r.name
|
|
6298
|
+
}));
|
|
6299
|
+
const renderOption = ({ option }) => {
|
|
6300
|
+
const role = rolesById[option.value];
|
|
6301
|
+
return role ? /* @__PURE__ */ jsxRuntime.jsx(RoleOption, { role }) : /* @__PURE__ */ jsxRuntime.jsx(core.Text, { size: "xs", children: option.label });
|
|
6302
|
+
};
|
|
6303
|
+
const refreshButton = /* @__PURE__ */ jsxRuntime.jsx(
|
|
6304
|
+
core.ActionIcon,
|
|
6305
|
+
{
|
|
6306
|
+
size: "xs",
|
|
6307
|
+
variant: "subtle",
|
|
6308
|
+
onClick: refresh,
|
|
6309
|
+
title: locale("Refresh") || "Refresh",
|
|
6310
|
+
loading,
|
|
6311
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RefreshCw, { size: "1.2vh" })
|
|
6312
|
+
}
|
|
6313
|
+
);
|
|
6314
|
+
if (props.multi) {
|
|
6315
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6316
|
+
core.MultiSelect,
|
|
6317
|
+
{
|
|
6318
|
+
label,
|
|
6319
|
+
size,
|
|
6320
|
+
placeholder: placeholder || locale("PickRoles") || "Pick roles...",
|
|
6321
|
+
data,
|
|
6322
|
+
value: props.value || [],
|
|
6323
|
+
onChange: (ids) => props.onChange(ids),
|
|
6324
|
+
renderOption,
|
|
6325
|
+
searchable: true,
|
|
6326
|
+
clearable: true,
|
|
6327
|
+
disabled: disabled || loading && !roles,
|
|
6328
|
+
rightSection: refreshButton,
|
|
6329
|
+
style,
|
|
6330
|
+
styles,
|
|
6331
|
+
nothingFoundMessage: errorCode ? `${locale("Error") || "Error"} (${errorCode})` : locale("NoRoles") || "No roles found"
|
|
6332
|
+
}
|
|
6333
|
+
);
|
|
6334
|
+
}
|
|
6335
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6336
|
+
core.Select,
|
|
6337
|
+
{
|
|
6338
|
+
label,
|
|
6339
|
+
size,
|
|
6340
|
+
placeholder: placeholder || locale("PickRole") || "Pick a role...",
|
|
6341
|
+
data,
|
|
6342
|
+
value: props.value || null,
|
|
6343
|
+
onChange: (id) => props.onChange(id),
|
|
6344
|
+
renderOption,
|
|
6345
|
+
searchable: true,
|
|
6346
|
+
clearable: true,
|
|
6347
|
+
disabled: disabled || loading && !roles,
|
|
6348
|
+
rightSection: refreshButton,
|
|
6349
|
+
style,
|
|
6350
|
+
styles,
|
|
6351
|
+
nothingFoundMessage: errorCode ? `${locale("Error") || "Error"} (${errorCode})` : locale("NoRoles") || "No roles found"
|
|
6352
|
+
}
|
|
6353
|
+
);
|
|
6354
|
+
}
|
|
6355
|
+
|
|
5859
6356
|
exports.AdminPageTitle = AdminPageTitle;
|
|
5860
6357
|
exports.AnimPostFxSelect = AnimPostFxSelect;
|
|
5861
6358
|
exports.AsyncSaveButton = AsyncSaveButton;
|
|
@@ -5868,6 +6365,7 @@ exports.ConfirmModal = ConfirmModal;
|
|
|
5868
6365
|
exports.ControlMultiSelect = ControlMultiSelect;
|
|
5869
6366
|
exports.ControlSelect = ControlSelect;
|
|
5870
6367
|
exports.Counter = Counter;
|
|
6368
|
+
exports.DiscordRoleSelect = DiscordRoleSelect;
|
|
5871
6369
|
exports.FiveMKeyBindInput = FiveMKeyBindInput;
|
|
5872
6370
|
exports.FloatingParticles = FloatingParticles;
|
|
5873
6371
|
exports.GroupName = GroupName;
|
|
@@ -5890,6 +6388,7 @@ exports.NavigationContext = NavigationContext;
|
|
|
5890
6388
|
exports.NavigationProvider = NavigationProvider;
|
|
5891
6389
|
exports.PositionPicker = PositionPicker;
|
|
5892
6390
|
exports.PromptModal = PromptModal;
|
|
6391
|
+
exports.ScenarioSelect = ScenarioSelect;
|
|
5893
6392
|
exports.SegmentedControl = SegmentedControl;
|
|
5894
6393
|
exports.SegmentedProgress = SegmentedProgress;
|
|
5895
6394
|
exports.SelectItem = SelectItem;
|