Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- By [DOG]irinel1996, special thanks to RyDeR` for Map Andreas include version.
- Official thread: http://forum.sa-mp.com/showthread.php?t=356826
- */
- #include <mapandreas>
- #define TOTAL_ANIMS (10)
- forward OnPlayerOpenParachute(playerid, altitude);
- new
- gAnims_Skydive[TOTAL_ANIMS] = {
- 958, 959, 961, 962,
- 963, 965, 971, 976,
- 978, 1134
- };
- new
- bool:gLock_Callback[MAX_PLAYERS];
- stock IsPlayerSkyDiving(playerid)
- {
- for (new idx = 0; idx < TOTAL_ANIMS; idx++) {
- if (GetPlayerAnimationIndex(playerid) == gAnims_Skydive[idx]) {
- return 1;
- }
- }
- return 0;
- }
- stock GetPlayerParachuteState(playerid)
- {
- new
- idx = GetPlayerAnimationIndex(playerid);
- if (idx == gAnims_Skydive[4] || idx == gAnims_Skydive[5] || idx == gAnims_Skydive[7] || idx == gAnims_Skydive[8]) {
- return 1;
- } else if (idx == gAnims_Skydive[6]) {
- return 2;
- } else {
- return 0;
- }
- }
- stock GetPlayerAltitude(playerid)
- {
- new Float:Pos[3];
- GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
- new
- Float:ground = GetPointZPos(Pos[0], Pos[1]),
- Float:altitude = (Pos[2] - ground)
- ;
- return floatround(altitude, floatround_round);
- }
- public OnPlayerUpdate(playerid)
- {
- if (gLock_Callback[playerid]) {
- if (GetPlayerParachuteState(playerid) != 0 && IsPlayerSkyDiving(playerid))
- gLock_Callback[playerid] = false;
- }
- #if defined khJGcUybTx
- return khJGcUybTx(playerid);
- #else
- return true;
- #endif
- }
- #define OnPlayerUpdate khJGcUybTx
- #if defined khJGcUybTx
- forward OnPlayerUpdate(playerid);
- #endif
- //---------------------------------------------------//
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
- {
- if(GetPlayerWeapon(playerid) == 46)
- {
- if(newkeys & KEY_FIRE)
- {
- if(GetPlayerParachuteState(playerid) == 0) {
- if (!gLock_Callback[playerid]) {
- gLock_Callback[playerid] = true;
- CallLocalFunction("OnPlayerOpenParachute", "dd", playerid, GetPlayerAltitude(playerid));
- }
- }
- }
- }
- }
- #if defined YxTcODfbXm
- return YxTcODfbXm(playerid, newkeys, oldkeys);
- #else
- return true;
- #endif
- }
- #define OnPlayerKeyStateChange YxTcODfbXm
- #if defined YxTcODfbXm
- forward OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
- #endif
Advertisement
Add Comment
Please, Sign In to add comment