Hello.
I've been messing with TASK::TASK_PLAY_EMOTE_WITH_HASH native to try and get the online smoking emotes working in SP.
This native works fine for other emotes like Greets:
TASK::TASK_PLAY_EMOTE_WITH_HASH(PLAYER::PLAYER_PED_ID(), EMOTE_TYPE_GREET, EMOTE_PM_FULLBODY, MISC::GET_HASH_KEY("KIT_EMOTE_GREET_FANCY_BOW_1"), 0, 0, 0, 0, 0);
However when using the smoke action it does nothing at all:
TASK::TASK_PLAY_EMOTE_WITH_HASH(PLAYER::PLAYER_PED_ID(), EMOTE_TYPE_ACTION, EMOTE_PM_FULLBODY, KIT_EMOTE_ACTION_SMOKE_CIGARETTE_1, 1, 1, 1, 1, 1);
//
TASK::TASK_PLAY_EMOTE_WITH_HASH(PLAYER::PLAYER_PED_ID(), 1, 2, MISC::GET_HASH_KEY("KIT_EMOTE_ACTION_SMOKE_CIGARETTE_1"), 1, 1, 1, 1, 1);
I've tried multiple combinations for the last boolean values and the playbackMode (EMOTE_PM_UPPER, UPPER_LOOP) to no avail.
I've also tried to load the corresponding clipset:
static auto clipset = "CLIPSET@SCRIPT_MP@EMOTES@SMOKE_CIGARETTE@MALE@UNARMED@UPPER";//from emotes.xml
if (!STREAMING::HAS_CLIP_SET_LOADED(clipset)) {
printf("Clipset not loaded.");
STREAMING::REQUEST_CLIP_SET(clipset);//it won't load the clipset and nothing works.
while (!STREAMING::HAS_CLIP_SET_LOADED(clipset)) {//it will never load, never exits this loop.
wait_for(0);
}
printf("Clipset loaded.");
}
Also, if I use the cigarettes from the inventory and run this code it just cuts the interaction.
I've been looking at decompiled scripts but couldn't find anything useful. They just call the TASK_PLAY_EMOTE native and my guess is I'm missing some native calls before playing the emote.
Any help is appreciated