Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Revive System - By Deadly[B]oy/The_L
- #include <a_samp>
- //First Aid Price
- #define FIRST_AID_PRICE 1000
- //Colors
- #define COLOR_RED 0xAA3333AA
- #define COLOR_YELLOW 0xffee00ff
- #define COLOR_BLUE 0x0066ccff
- //Player Info
- enum PlayerInfo
- {
- bool:OnFloor,
- bool:FirstAid,
- Float:Hp
- }
- new PInfo[MAX_PLAYERS][PlayerInfo];
- //News
- new str[128],name[MAX_PLAYER_NAME];
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Revive System by your Deadly[B]oy");
- print("--------------------------------------\n");
- return 1;
- }
- public OnPlayerDeath(playerid,killerid,reason)
- {
- if(PInfo[playerid][OnFloor])
- {
- PInfo[playerid][OnFloor]=false;
- TogglePlayerControllable(playerid,true);
- if(PInfo[playerid][FirstAid])PInfo[playerid][FirstAid]=false,
- SendClientMessage(playerid,COLOR_RED,"You've Lost Your First Aid Kit.");
- }
- return 1;
- }
- public OnPlayerCommandText(playerid,cmdtext[])
- {
- if(!strcmp("/BuyFirstAid",cmdtext,true))
- {
- if(PInfo[playerid][FirstAid])return SendClientMessage(playerid,COLOR_RED,"You Already Have First Aid Kit.");
- if(GetPlayerMoney(playerid)<FIRST_AID_PRICE)return
- format(str,sizeof(str),"You Don't Have Enough Money - $%d.",FIRST_AID_PRICE),
- SendClientMessage(playerid,COLOR_RED,str);
- PInfo[playerid][FirstAid]=true;
- GivePlayerMoney(playerid,-FIRST_AID_PRICE);
- return SendClientMessage(playerid,COLOR_YELLOW,"You Bought First Aid Kit.");
- }
- if(!strcmp("/Kill",cmdtext,true))return SetPlayerHealth(playerid,0),SendClientMessage(playerid,COLOR_RED,"You Killed Yourself.");
- if(!strcmp("/Revive",cmdtext,true))
- {
- if(!PInfo[playerid][FirstAid])return SendClientMessage(playerid,COLOR_RED,"You Don't Have First Aid Kit.");
- new Float:ox,Float:oy,Float:oz,bool:FoundOnFloor=false;
- for(new i=-1,j=GetMaxPlayers();++i<j;)
- {
- if(PInfo[i][OnFloor]&&!FoundOnFloor)
- {
- GetPlayerPos(i,ox,oy,oz);
- if(IsPlayerInRangeOfPoint(playerid,1.5,ox,oy,oz))
- {
- TogglePlayerControllable(i,true);
- SetPlayerHealth(i,40);
- PInfo[playerid][FirstAid]=false;
- ClearAnimations(i);
- GetPlayerName(i,name,sizeof(name));
- format(str,sizeof(str),"You Revived %s.",name);
- SendClientMessage(playerid,COLOR_YELLOW,str);
- GetPlayerName(playerid,name,sizeof(name));
- format(str,sizeof(str),"%s Revived You.",name);
- SendClientMessage(i,COLOR_YELLOW,str);
- FoundOnFloor=true;
- }
- }
- }
- if(!FoundOnFloor)return SendClientMessage(playerid,COLOR_RED,"No One Close Need To Be Revived.");
- return 1;
- }
- return 0;
- }
- public OnPlayerUpdate(playerid)
- {
- GetPlayerHealth(playerid,PInfo[playerid][Hp]);
- if(PInfo[playerid][Hp]<10&&PInfo[playerid][Hp]>0&&!PInfo[playerid][OnFloor])
- {
- PInfo[playerid][OnFloor]=true;
- SendClientMessage(playerid,COLOR_RED,"You Are On The Ground! Wait For Help, Or Use /Kill");
- GetPlayerName(playerid,name,sizeof(name));
- format(str,sizeof(str),"%s Needs Help! Revive Him By Using /Revive",name),SendClientMessageToAll(COLOR_BLUE,str);
- TogglePlayerControllable(playerid,false);
- ApplyAnimation(playerid,"CRACK","crckdeth2",4.0,0,0,0,1,1);
- }
- return 1;
- }
- //End Of System
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement