|
|
- //-------------------------------------------------
- //
- // Generic Special Actions And Anims
- // kyeman 2007
- //
- //-------------------------------------------------
-
- #include <a_samp>
- #include <core>
- #include <float>
- #pragma tabsize 0
-
- #include "../include/gl_common.inc"
-
- new gPlayerUsingLoopingAnim[MAX_PLAYERS];
- new gPlayerAnimLibsPreloaded[MAX_PLAYERS];
-
- new Text:txtAnimHelper;
-
- //-------------------------------------------------
-
- OnePlayAnim(playerid,animlib[],animname[], Float:Speed, looping, lockx, locky, lockz, lp)
- {
- ApplyAnimation(playerid, animlib, animname, Speed, looping, lockx, locky, lockz, lp);
- }
-
- //-------------------------------------------------
-
- LoopingAnim(playerid,animlib[],animname[], Float:Speed, looping, lockx, locky, lockz, lp)
- {
- gPlayerUsingLoopingAnim[playerid] = 1;
- ApplyAnimation(playerid, animlib, animname, Speed, looping, lockx, locky, lockz, lp);
- TextDrawShowForPlayer(playerid,txtAnimHelper);
- }
-
- //-------------------------------------------------
-
- StopLoopingAnim(playerid)
- {
- gPlayerUsingLoopingAnim[playerid] = 0;
- ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 0);
- }
-
- //-------------------------------------------------
-
- PreloadAnimLib(playerid, animlib[])
- {
- ApplyAnimation(playerid,animlib,"null",0.0,0,0,0,0,0);
- }
-
- //-------------------------------------------------
-
- // ********** CALLBACKS **********
-
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(!gPlayerUsingLoopingAnim[playerid]) return;
-
- if(IsKeyJustDown(KEY_SPRINT,newkeys,oldkeys)) {
- StopLoopingAnim(playerid);
- TextDrawHideForPlayer(playerid,txtAnimHelper);
- }
- }
-
- //------------------------------------------------
-
- public OnPlayerDeath(playerid, killerid, reason)
- {
- // if they die whilst performing a looping anim, we should reset the state
- if(gPlayerUsingLoopingAnim[playerid]) {
- gPlayerUsingLoopingAnim[playerid] = 0;
- TextDrawHideForPlayer(playerid,txtAnimHelper);
- }
-
- return 1;
- }
-
- //-------------------------------------------------
-
- public OnPlayerSpawn(playerid)
- {
- if(!gPlayerAnimLibsPreloaded[playerid]) {
- PreloadAnimLib(playerid,"BOMBER");
- PreloadAnimLib(playerid,"RAPPING");
- PreloadAnimLib(playerid,"SHOP");
- PreloadAnimLib(playerid,"BEACH");
- PreloadAnimLib(playerid,"SMOKING");
- PreloadAnimLib(playerid,"FOOD");
- PreloadAnimLib(playerid,"ON_LOOKERS");
- PreloadAnimLib(playerid,"DEALER");
- PreloadAnimLib(playerid,"CRACK");
- PreloadAnimLib(playerid,"CARRY");
- PreloadAnimLib(playerid,"COP_AMBIENT");
- PreloadAnimLib(playerid,"PARK");
- PreloadAnimLib(playerid,"INT_HOUSE");
- PreloadAnimLib(playerid,"FOOD");
- gPlayerAnimLibsPreloaded[playerid] = 1;
- }
- return 1;
- }
-
- //-------------------------------------------------
-
- public OnPlayerConnect(playerid)
- {
- gPlayerUsingLoopingAnim[playerid] = 0;
- gPlayerAnimLibsPreloaded[playerid] = 0;
-
- return 1;
- }
-
- //-------------------------------------------------
-
- public OnFilterScriptInit()
- {
- // Init our text display
- txtAnimHelper = TextDrawCreate(610.0, 400.0,
- "~r~~k~~PED_SPRINT~ ~w~to stop the animation");
- TextDrawUseBox(txtAnimHelper, 0);
- TextDrawFont(txtAnimHelper, 2);
- TextDrawSetShadow(txtAnimHelper,0); // no shadow
- TextDrawSetOutline(txtAnimHelper,1); // thickness 1
- TextDrawBackgroundColor(txtAnimHelper,0x000000FF);
- TextDrawColor(txtAnimHelper,0xFFFFFFFF);
- TextDrawAlignment(txtAnimHelper,3); // align right
- }
-
- //-------------------------------------------------
-
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256];
- new idx;
- new dancestyle;
- cmd = strtok(cmdtext, idx);
-
- if(strcmp(cmd,"/animlist",true)==0)
- {
- SendClientMessage(playerid,0xAFAFAFAA,"Available Animations:");
- SendClientMessage(playerid,0xAFAFAFAA,"/handsup /drunk /bomb /getarrested /laugh /lookout /robman");
- SendClientMessage(playerid,0xAFAFAFAA,"/crossarms /lay /hide /vomit /eat /wave /taichi");
- SendClientMessage(playerid,0xAFAFAFAA,"/deal /crack /smokem /smokef /groundsit /chat /dance /f**ku");
- }
-
- if(strcmp(cmd, "/amcuffed", true) == 0) {
- // note: the cuffs have not been scaled for all player models
- SetPlayerAttachedObject(playerid,8,19418,6,-0.031999,0.024000,-0.024000,-7.900000,-32.000011,-72.299987,1.115998,1.322000,1.406000);
- SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CUFFED);
- return 1;
- }
-
- if(strcmp(cmd, "/uncuffme", true) == 0) {
- if(IsPlayerAttachedObjectSlotUsed(playerid, 8)) {
- RemovePlayerAttachedObject(playerid, 8);
- }
- SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
- return 1;
- }
-
- // We don't handle anything else after this that can be used in vehicles
- if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) {
- return 0;
- }
-
- // HANDSUP
- if(strcmp(cmd, "/handsup", true) == 0) {
- SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP);
- return 1;
- }
-
- // CELLPHONE IN
- if(strcmp(cmd, "/cellin", true) == 0) {
- SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USECELLPHONE);
- return 1;
- }
-
- // CELLPHONE OUT
- if(strcmp(cmd, "/cellout", true) == 0) {
- SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
- return 1;
- }
-
- // Drunk
- if(strcmp(cmd, "/drunk", true) == 0) {
- LoopingAnim(playerid,"PED","WALK_DRUNK",4.0,1,1,1,1,0);
- return 1;
- }
-
- // Place a Bomb
- if (strcmp("/bomb", cmdtext, true) == 0) {
- ClearAnimations(playerid);
- OnePlayAnim(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0); // Place Bomb
- return 1;
- }
- // Police Arrest
- if (strcmp("/getarrested", cmdtext, true, 7) == 0) {
- LoopingAnim(playerid,"ped", "ARRESTgun", 4.0, 0, 1, 1, 1, -1); // Gun Arrest
- return 1;
- }
- // Laugh
- if (strcmp("/laugh", cmdtext, true) == 0) {
- OnePlayAnim(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0); // Laugh
- return 1;
- }
- // Rob Lookout
- if (strcmp("/lookout", cmdtext, true) == 0) {
- OnePlayAnim(playerid, "SHOP", "ROB_Shifty", 4.0, 0, 0, 0, 0, 0); // Rob Lookout
- return 1;
- }
- // Rob Threat
- if (strcmp("/robman", cmdtext, true) == 0) {
- LoopingAnim(playerid, "SHOP", "ROB_Loop_Threat", 4.0, 1, 0, 0, 0, 0); // Rob
- return 1;
- }
- // Arms crossed
- if (strcmp("/crossarms", cmdtext, true) == 0) {
- LoopingAnim(playerid, "COP_AMBIENT", "Coplook_loop", 4.0, 0, 1, 1, 1, -1); // Arms crossed
- return 1;
- }
- // Lay Down
- if (strcmp("/lay", cmdtext, true, 6) == 0) {
- LoopingAnim(playerid,"BEACH", "bather", 4.0, 1, 0, 0, 0, 0); // Lay down
- return 1;
- }
- // Take Cover
- if (strcmp("/hide", cmdtext, true, 3) == 0) {
- LoopingAnim(playerid, "ped", "cower", 3.0, 1, 0, 0, 0, 0); // Taking Cover
- return 1;
- }
- // Vomit
- if (strcmp("/vomit", cmdtext, true) == 0) {
- OnePlayAnim(playerid, "FOOD", "EAT_Vomit_P", 3.0, 0, 0, 0, 0, 0); // Vomit BAH!
- return 1;
- }
- // Eat Burger
- if (strcmp("/eat", cmdtext, true) == 0) {
- OnePlayAnim(playerid, "FOOD", "EAT_Burger", 3.0, 0, 0, 0, 0, 0); // Eat Burger
- return 1;
- }
- // Wave
- if (strcmp("/wave", cmdtext, true) == 0) {
- LoopingAnim(playerid, "ON_LOOKERS", "wave_loop", 4.0, 1, 0, 0, 0, 0); // Wave
- return 1;
- }
- // Slap Ass
- if (strcmp("/slapass", cmdtext, true) == 0) {
- OnePlayAnim(playerid, "SWEET", "sweet_ass_slap", 4.0, 0, 0, 0, 0, 0); // Ass Slapping
- return 1;
- }
- // Dealer
- if (strcmp("/deal", cmdtext, true) == 0) {
- OnePlayAnim(playerid, "DEALER", "DEALER_DEAL", 4.0, 0, 0, 0, 0, 0); // Deal Drugs
- return 1;
- }
- // Crack Dieing
- if (strcmp("/crack", cmdtext, true, 6) == 0) {
- LoopingAnim(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0); // Dieing of Crack
- return 1;
- }
- // Male Smoking
- if (strcmp("/smokem", cmdtext, true, 4) == 0) {
- LoopingAnim(playerid,"SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0); // Smoke
- return 1;
- }
- // Female Smoking
- if (strcmp("/smokef", cmdtext, true) == 0) {
- LoopingAnim(playerid, "SMOKING", "F_smklean_loop", 4.0, 1, 0, 0, 0, 0); // Female Smoking
- return 1;
- }
- // Sit
- if (strcmp("/groundsit", cmdtext, true, 4) == 0) {
- LoopingAnim(playerid,"BEACH", "ParkSit_M_loop", 4.0, 1, 0, 0, 0, 0); // Sit
- return 1;
- }
- // Idle Chat
- if(strcmp(cmd, "/chat", true) == 0) {
- OnePlayAnim(playerid,"PED","IDLE_CHAT",4.0,0,0,0,0,0);
- return 1;
- }
- // Fucku
- if(strcmp(cmd, "/fucku", true) == 0) {
- OnePlayAnim(playerid,"PED","fucku",4.0,0,0,0,0,0);
- return 1;
- }
- // TaiChi
- if(strcmp(cmd, "/taichi", true) == 0) {
- LoopingAnim(playerid,"PARK","Tai_Chi_Loop",4.0,1,0,0,0,0);
- return 1;
- }
-
- // ChairSit
- if(strcmp(cmd, "/chairsit", true) == 0) {
- LoopingAnim(playerid,"BAR","dnk_stndF_loop",4.0,1,0,0,0,0);
- return 1;
- }
-
- // Collapse
- if(strcmp(cmd, "/collapse", true) == 0) {
- LoopingAnim(playerid,"PED","FALL_COLLAPSE",4.0,1,0,0,0,0);
- return 1;
- }
-
- // fall
- if(strcmp(cmd, "/fallover", true) == 0) {
- LoopingAnim(playerid,"PED","FALL_FALL",4.0,1,0,0,0,0);
- return 1;
- }
-
- // ko
- if(strcmp(cmd, "/ko1", true) == 0) {
- LoopingAnim(playerid,"PED","KO_SHOT_STOM",200.0, 0, 1, 1, 1, -1);
- return 1;
- }
-
- // ko
- if(strcmp(cmd, "/ko2", true) == 0) {
- LoopingAnim(playerid,"PED","KO_SHOT_FACE",4.0, 0, 1, 1, 1, -1);
- return 1;
- }
-
- if(strcmp(cmd, "/floorhit", true) == 0) {
- ApplyAnimation(playerid,"PED", "FLOOR_hit_f", 4.1, 0, 0, 0, 1, 0);
- return 1;
- }
-
- /* Would allow people to troll... but would be cool as a script
- controlled function
- // Bed Sleep R
- if(strcmp(cmd, "/inbedright", true) == 0) {
- LoopingAnim(playerid,"INT_HOUSE","BED_Loop_R",4.0,1,0,0,0,0);
- return 1;
- }
- // Bed Sleep L
- if(strcmp(cmd, "/inbedleft", true) == 0) {
- LoopingAnim(playerid,"INT_HOUSE","BED_Loop_L",4.0,1,0,0,0,0);
- return 1;
- }*/
-
- // START DANCING
- if(strcmp(cmd, "/dance", true) == 0) {
- new tmp[256];
-
- // Get the dance style param
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp) || strlen(tmp) > 2) {
- SendClientMessage(playerid,0xFF0000FF,"USAGE: /dance [style 1-4]");
- return 1;
- }
-
- dancestyle = strval(tmp);
- if(dancestyle < 1 || dancestyle > 4) {
- SendClientMessage(playerid,0xFF0000FF,"USAGE: /dance [style 1-4]");
- return 1;
- }
-
- if(dancestyle == 1) {
- SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
- } else if(dancestyle == 2) {
- SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE2);
- } else if(dancestyle == 3) {
- SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE3);
- } else if(dancestyle == 4) {
- SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE4);
- }
- return 1;
- }
-
- return 0;
- }
- //-------------------------------------------------
- // EOF
|