LeomarMM

Oxygen Cylinder For Diving SA-MP

Nov 5th, 2012
830
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.33 KB | None | 0 0
  1. #include <a_samp>
  2. #define OxygenCylinder 1010
  3. new bool:SCBOn[MAX_PLAYERS];
  4. new OxygenTimer[MAX_PLAYERS];
  5. forward OXGTimer(playerid);
  6. stock IsPlayerInWater(playerid)
  7. {
  8.     new animlib[32],tmp[32];
  9.     GetAnimationName(GetPlayerAnimationIndex(playerid), animlib, sizeof(animlib) ,tmp, sizeof(tmp));
  10.     if(!strcmp(animlib, "SWIM") && !IsPlayerInAnyVehicle(playerid)) return true;
  11.     return false;
  12. }
  13. stock SetPlayerMoney(playerid, ammount)
  14. {
  15.     ResetPlayerMoney(playerid);
  16.     GivePlayerMoney(playerid, ammount);
  17.     return 1;
  18. }
  19. public OnPlayerCommandText(playerid, cmdtext[])
  20. {
  21.     if(!strcmp("/oxygen", cmdtext, true))
  22.     {
  23.         if(SCBOn[playerid] == false && GetPlayerMoney(playerid) < 20000) return SendClientMessage(playerid, 0xFF0000FF, "You need 20000 to buy Oxygen Cylinders!");
  24.         if(SCBOn[playerid] == false)
  25.         {
  26.             SCBOn[playerid] = true;
  27.             SendClientMessage(playerid, 0x7F8A5FFF, "You are now using a Oxygen Cylinder, you have 1 minute left!");
  28.             SetPlayerAttachedObject(playerid, 9, OxygenCylinder, 1, -0.05600000, -0.07000000, -0.00699997, 90.79997253, 4.19999790, -178.10002136, 1.00000000, 1.00000000, 1.00000000);
  29.             SetPlayerMoney(playerid, GetPlayerMoney(playerid) - 20000);
  30.             OxygenTimer[playerid] = SetTimerEx("OXGTimer", 60000, 0, "i", playerid);
  31.             return 1;
  32.         }
  33.         if(SCBOn[playerid] == true)
  34.         {
  35.             SCBOn[playerid] = false;
  36.             SendClientMessage(playerid, 0x7F8A5FFF, "You are no longer using a Oxygen Cylinder");
  37.             RemovePlayerAttachedObject(playerid, 9);
  38.             KillTimer(OxygenTimer[playerid]);
  39.             return 1;
  40.         }
  41.     }
  42.     return 0;
  43. }
  44. public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
  45. {
  46.     if(issuerid == INVALID_PLAYER_ID && IsPlayerInWater(playerid) && SCBOn[playerid] == true)
  47.     {
  48.         SetPlayerHealth(playerid, 100);
  49.     }
  50.     return 1;
  51. }
  52. public OXGTimer(playerid)
  53. {
  54.     SCBOn[playerid] = false;
  55.     KillTimer(OxygenTimer[playerid]);
  56.     RemovePlayerAttachedObject(playerid, 9);
  57.     SendClientMessage(playerid, 0x7F8A5FFF, "Your Oxygen Cylinder has run out of gas, you dropped it off!");
  58.     return 1;
  59. }
  60. public OnPlayerDeath(playerid)
  61. {
  62.     if(SCBOn[playerid] == true)
  63.     {
  64.         SCBOn[playerid] = false;
  65.         KillTimer(OxygenTimer[playerid]);
  66.         RemovePlayerAttachedObject(playerid, 9);
  67.         SendClientMessage(playerid, 0x7F8A5FFF, "You have died, you dropped your oxygen cylinder!");
  68.     }
  69.     return 1;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment