Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- // All Animations and Special Actions 1.5 by OKStyle
- #define MAX_ANIMATION_INDEX 1812
- #define USE_SEX_FIX_ANIM 0
- #define USE_CUSTOM_ANIM 0
- #define DLG_ANIMATIONS 0
- public OnPlayerSpawn(playerid)
- {
- if(GetPVarInt(playerid, !"Animations_Preloaded")) return 1;
- for(new i = 1, animlib[32], tmplib[32] = !"NULL", animname[32]; i <= MAX_ANIMATION_INDEX; i++) // Preload Animlibs
- {
- GetAnimationName(i, animlib, sizeof(animlib), animname, sizeof(animname));
- if(!strcmp(tmplib, animlib)) continue;
- tmplib = animlib;
- ApplyAnimation(playerid, animlib, !"null", 4.1, 0, 1, 1, 1, 1, 1);
- }
- ApplyAnimation(playerid, !"BLOWJOBZ", !"null", 4.1, 0, 1, 1, 1, 1, 1);
- ApplyAnimation(playerid, !"SNM", !"null", 4.1, 0, 1, 1, 1, 1, 1);
- #if USE_SEX_FIX_ANIM == 1
- ApplyAnimation(playerid, !"SEX_Fix", !"null", 4.1, 0, 1, 1, 1, 1, 1);
- #endif
- #if USE_CUSTOM_ANIM == 1
- ApplyAnimation(playerid, !"SEX", !"null", 4.1, 0, 1, 1, 1, 1, 1); // change SEX for your custom animlib (parkour etc.)
- #endif
- SetPVarInt(playerid, !"Animations_Preloaded", 1);
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys & KEY_LOOK_BEHIND)
- {
- ShowPlayerDialog(playerid, DLG_ANIMATIONS, DIALOG_STYLE_MSGBOX, !"Animations",
- !"All Animations and Special Actions v1.5 by OKStyle\n\
- Made: 13.08.2008 & Updated 09.01.2019\n\
- Thanks: PatrickW, 009, Wooz1e, Ym[0]n, Daniel_Cortez,\n\
- SoNikMells, Southclaw, VEGETA99999, D3V1LL0P3R\n\n\
- List of all animations and special actions: press key \"H\"",
- !"Cancel", !"");
- return 1;
- }
- else if(newkeys & KEY_CTRL_BACK)
- {
- new animdlg[1280];
- for(new i = 1, animlib[32], animname[32]; i <= MAX_ANIMATION_INDEX; i++)
- {
- GetAnimationName(i, animlib, sizeof(animlib), animname, sizeof(animname));
- if(strfind(animdlg, animlib) == -1)
- {
- strcat(animdlg, animlib);
- strcat(animdlg, !"\n");
- }
- }
- strcat(animdlg, !"BLOWJOBZ\nSNM\nSEX\nSPECIAL ACTIONS");
- #if USE_CUSTOM_ANIM == 1
- strcat(animdlg, !"SEX"); // change SEX for your custom animlib
- #endif
- ShowPlayerDialog(playerid, DLG_ANIMATIONS + 1, DIALOG_STYLE_LIST, !"Animations", animdlg, !"Select", !"Cancel");
- return 1;
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case DLG_ANIMATIONS: return 1;
- case DLG_ANIMATIONS + 1:
- {
- if(!response) return 1;
- new animdlg[512];
- if(!strcmp(inputtext, !"SPECIAL ACTIONS")) // Special Actions
- {
- static const specact[20][] = {
- !"SPECIAL_ACTION_NONE", !"SPECIAL_ACTION_DUCK", !"SPECIAL_ACTION_USEJETPACK", !"SPECIAL_ACTION_ENTER_VEHICLE", !"SPECIAL_ACTION_EXIT_VEHICLE",
- !"SPECIAL_ACTION_DANCE1", !"SPECIAL_ACTION_DANCE2", !"SPECIAL_ACTION_DANCE3", !"SPECIAL_ACTION_DANCE4", !"SPECIAL_ACTION_HANDSUP",
- !"SPECIAL_ACTION_USECELLPHONE", !"SPECIAL_ACTION_SITTING", !"SPECIAL_ACTION_STOPUSECELLPHONE", !"SPECIAL_ACTION_DRINK_BEER", !"SPECIAL_ACTION_SMOKE_CIGGY",
- !"SPECIAL_ACTION_DRINK_WINE", !"SPECIAL_ACTION_DRINK_SPRUNK", !"SPECIAL_ACTION_CUFFED", !"SPECIAL_ACTION_CARRY", !"SPECIAL_ACTION_PISSING"
- };
- strcat(animdlg, !"Action Name\n");
- for(new i; i < sizeof(specact); i++)
- {
- strcat(animdlg, specact[i]);
- strcat(animdlg, !"\n");
- }
- }
- else if(!strcmp(inputtext, !"BLOWJOBZ")) // Haven't index
- {
- static const animbj[18][17] = {
- !"BJ_Car_End_P", !"BJ_Car_End_W", !"BJ_Car_Loop_P", !"BJ_Car_Loop_W", !"BJ_Car_Start_P", !"BJ_Car_Start_W",
- !"BJ_Couch_End_P", !"BJ_Couch_End_W", !"BJ_Couch_Loop_P", !"BJ_Couch_Loop_W", !"BJ_Couch_Start_P",
- !"BJ_Couch_Start_W", !"BJ_Stand_End_P", !"BJ_Stand_End_W,", !"BJ_Stand_Loop_P", !"BJ_Stand_Loop_W",
- !"BJ_Stand_Start_P", !"BJ_Stand_Start_W"
- };
- strcat(animdlg, !"Name\n");
- for(new i; i < sizeof(animbj); i++)
- {
- strcat(animdlg, animbj[i]);
- strcat(animdlg, !"\n");
- }
- }
- else if(!strcmp(inputtext, !"SNM")) // Haven't index
- {
- static const animsnm[22][22] = {
- !"SnM_Caned_Idle_P", !"SnM_Caned_Idle_W", !"SnM_Caned_P", !"SnM_Caned_W", !"SnM_Cane_Idle_P",
- !"SnM_Cane_Idle_W", !"SnM_Cane_P", !"SnM_Cane_W", !"SpankedP", !"SpankedW", !"Spanked_IdleP",
- !"Spanked_IdleW", !"SpankingP", !"SpankingW", !"Spanking_endP", !"Spanking_endW", !"Spanking_IdleP",
- !"Spanking_IdleW", !"Spanking_SittingIdleP", !"Spanking_SittingIdleW", !"Spanking_SittingP",
- !"Spanking_SittingW"
- };
- strcat(animdlg, !"Name\n");
- for(new i; i < sizeof(animsnm); i++)
- {
- strcat(animdlg, animsnm[i]);
- strcat(animdlg, !"\n");
- }
- }
- #if USE_SEX_FIX_ANIM == 1
- else if(!strcmp(inputtext, !"SEX")) // Blocked in SA-MP
- {
- static const animsexfix[20][13] = {
- !"SEX_1to2_P", !"SEX_1to2_W", !"SEX_1_Cum_P", !"SEX_1_Cum_W", !"SEX_1_Fail_P",
- !"SEX_1_Fail_W", !"SEX_1_P", !"SEX_1_W", "SEX_2to3_P", !"SEX_2to3_W",
- !"SEX_2_Fail_P", !"SEX_2_Fail_W", !"SEX_2_P", !"SEX_2_W", !"SEX_3to1_P",
- !"SEX_3to1_W", !"SEX_3_Fail_P", !"SEX_3_Fail_W", !"SEX_3_P", !"SEX_3_W"
- };
- strcat(animdlg, !"Name\n");
- for(new i; i < sizeof(animsexfix); i++)
- {
- strcat(animdlg, animsexfix[i]);
- strcat(animdlg, !"\n");
- }
- }
- #endif
- #if USE_CUSTOM_ANIM == 1
- else if(!strcmp(inputtext, !"SEX")) // change SEX for your custom animlib
- {
- static const animsex[20][13] = { // change animations to your custom animnames
- !"SEX_1to2_P", !"SEX_1to2_W", !"SEX_1_Cum_P", !"SEX_1_Cum_W", !"SEX_1_Fail_P",
- !"SEX_1_Fail_W", !"SEX_1_P", !"SEX_1_W", "SEX_2to3_P", !"SEX_2to3_W",
- !"SEX_2_Fail_P", !"SEX_2_Fail_W", !"SEX_2_P", !"SEX_2_W", !"SEX_3to1_P",
- !"SEX_3to1_W", !"SEX_3_Fail_P", !"SEX_3_Fail_W", !"SEX_3_P", !"SEX_3_W"
- };
- strcat(animdlg, !"Name\n");
- for(new i; i < sizeof(animsex); i++)
- {
- strcat(animdlg, animsex[i]);
- strcat(animdlg, !"\n");
- }
- }
- #endif
- else // Have index
- {
- strcat(animdlg, !"Index\tName\n");
- for(new i = 1, animlib[32], animname[32]; i <= MAX_ANIMATION_INDEX; i++)
- {
- GetAnimationName(i, animlib, sizeof(animlib), animname, sizeof(animname));
- if(!strcmp(animlib, inputtext))
- {
- format(animname, sizeof(animname), "%d\t%s\n", i, animname);
- strcat(animdlg, animname);
- }
- }
- }
- ShowPlayerDialog(playerid, DLG_ANIMATIONS + 2, DIALOG_STYLE_TABLIST_HEADERS, !"Animations", animdlg, !"Select", !"Cancel");
- return 1;
- }
- case DLG_ANIMATIONS + 2:
- {
- if(!response) return 1;
- if(strfind(inputtext, !"SPECIAL_ACTION_") != -1)
- {
- if(8 < listitem < 13) return SetPlayerSpecialAction(playerid, listitem + 1);
- else if(13 <= listitem < 19) return SetPlayerSpecialAction(playerid, listitem + 7);
- else if(listitem == 19) return SetPlayerSpecialAction(playerid, 68);
- else SetPlayerSpecialAction(playerid, listitem);
- return 1;
- }
- else if(strfind(inputtext, !"BJ_") != -1) return ApplyAnimation(playerid, !"BLOWJOBZ", inputtext, 4.1, 0, 1, 1, 1, 1, 1);
- else if(strfind(inputtext, !"SNM_") != -1 || strfind(inputtext, !"Spank") != -1) return ApplyAnimation(playerid, !"SNM", inputtext, 4.1, 0, 1, 1, 1, 1, 1);
- #if USE_SEX_FIX_ANIM == 1
- else if(strfind(inputtext, !"SEX_") != -1) return ApplyAnimation(playerid, !"SEX_Fix", inputtext, 4.1, 0, 1, 1, 1, 1, 1);
- #endif
- #if USE_CUSTOM_ANIM == 1
- else if(strfind(inputtext, !"SEX") != -1) return ApplyAnimation(playerid, !"SEX", inputtext, 4.1, 0, 1, 1, 1, 1, 1); // Change SEX to your custom animlib
- #endif
- else
- {
- new animlib[32], animname[32];
- GetAnimationName(strval(inputtext), animlib, sizeof(animlib), animname, sizeof(animname));
- ApplyAnimation(playerid, animlib, animname, 4.1, 0, 1, 1, 1, 1, 1);
- }
- return 1;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment