Advertisement
Guest User

Revive System by Deadly[B]oy - The_L

a guest
Apr 24th, 2010
462
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.22 KB | None | 0 0
  1. //Revive System - By Deadly[B]oy/The_L
  2.  
  3. #include <a_samp>
  4.  
  5. //First Aid Price
  6. #define FIRST_AID_PRICE 1000
  7.  
  8. //Colors
  9. #define COLOR_RED 0xAA3333AA
  10. #define COLOR_YELLOW 0xffee00ff
  11. #define COLOR_BLUE 0x0066ccff
  12.  
  13. //Player Info
  14. enum PlayerInfo
  15. {
  16. bool:OnFloor,
  17. bool:FirstAid,
  18. Float:Hp
  19. }
  20. new PInfo[MAX_PLAYERS][PlayerInfo];
  21.  
  22. //News
  23. new str[128],name[MAX_PLAYER_NAME];
  24.  
  25. public OnFilterScriptInit()
  26. {
  27.     print("\n--------------------------------------");
  28.     print(" Revive System by your Deadly[B]oy");
  29.     print("--------------------------------------\n");
  30.     return 1;
  31. }
  32.  
  33. public OnPlayerDeath(playerid,killerid,reason)
  34. {
  35.     if(PInfo[playerid][OnFloor])
  36.     {
  37.         PInfo[playerid][OnFloor]=false;
  38.         TogglePlayerControllable(playerid,true);
  39.         if(PInfo[playerid][FirstAid])PInfo[playerid][FirstAid]=false,
  40.         SendClientMessage(playerid,COLOR_RED,"You've Lost Your First Aid Kit.");
  41.     }
  42.     return 1;
  43. }
  44.  
  45. public OnPlayerCommandText(playerid,cmdtext[])
  46. {
  47.     if(!strcmp("/BuyFirstAid",cmdtext,true))
  48.     {
  49.         if(PInfo[playerid][FirstAid])return SendClientMessage(playerid,COLOR_RED,"You Already Have First Aid Kit.");
  50.         if(GetPlayerMoney(playerid)<FIRST_AID_PRICE)return
  51.         format(str,sizeof(str),"You Don't Have Enough Money - $%d.",FIRST_AID_PRICE),
  52.         SendClientMessage(playerid,COLOR_RED,str);
  53.         PInfo[playerid][FirstAid]=true;
  54.         GivePlayerMoney(playerid,-FIRST_AID_PRICE);
  55.         return SendClientMessage(playerid,COLOR_YELLOW,"You Bought First Aid Kit.");
  56.     }
  57.     if(!strcmp("/Kill",cmdtext,true))return SetPlayerHealth(playerid,0),SendClientMessage(playerid,COLOR_RED,"You Killed Yourself.");
  58.     if(!strcmp("/Revive",cmdtext,true))
  59.     {
  60.         if(!PInfo[playerid][FirstAid])return SendClientMessage(playerid,COLOR_RED,"You Don't Have First Aid Kit.");
  61.         new Float:ox,Float:oy,Float:oz,bool:FoundOnFloor=false;
  62.         for(new i=-1,j=GetMaxPlayers();++i<j;)
  63.         {
  64.             if(PInfo[i][OnFloor]&&!FoundOnFloor)
  65.             {
  66.                 GetPlayerPos(i,ox,oy,oz);
  67.                 if(IsPlayerInRangeOfPoint(playerid,1.5,ox,oy,oz))
  68.                 {
  69.                     TogglePlayerControllable(i,true);
  70.                     SetPlayerHealth(i,40);
  71.                     PInfo[playerid][FirstAid]=false;
  72.                     ClearAnimations(i);
  73.                     GetPlayerName(i,name,sizeof(name));
  74.                     format(str,sizeof(str),"You Revived %s.",name);
  75.                 SendClientMessage(playerid,COLOR_YELLOW,str);
  76.                     GetPlayerName(playerid,name,sizeof(name));
  77.                     format(str,sizeof(str),"%s Revived You.",name);
  78.                 SendClientMessage(i,COLOR_YELLOW,str);
  79.                     FoundOnFloor=true;
  80.                 }
  81.             }
  82.         }
  83.         if(!FoundOnFloor)return SendClientMessage(playerid,COLOR_RED,"No One Close Need To Be Revived.");
  84.         return 1;
  85.     }
  86.     return 0;
  87. }
  88.  
  89. public OnPlayerUpdate(playerid)
  90. {
  91.     GetPlayerHealth(playerid,PInfo[playerid][Hp]);
  92.     if(PInfo[playerid][Hp]<10&&PInfo[playerid][Hp]>0&&!PInfo[playerid][OnFloor])
  93.     {
  94.         PInfo[playerid][OnFloor]=true;
  95.         SendClientMessage(playerid,COLOR_RED,"You Are On The Ground! Wait For Help, Or Use /Kill");
  96.         GetPlayerName(playerid,name,sizeof(name));
  97.         format(str,sizeof(str),"%s Needs Help! Revive Him By Using /Revive",name),SendClientMessageToAll(COLOR_BLUE,str);
  98.         TogglePlayerControllable(playerid,false);
  99.         ApplyAnimation(playerid,"CRACK","crckdeth2",4.0,0,0,0,1,1);
  100.     }
  101.     return 1;
  102. }
  103.  
  104. //End Of System
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement