Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // New Damage System by nesguide2
- // Version 1.3
- #include <a_samp>
- new Float:Player_AP[MAX_PLAYERS];
- new Float:Player_HP[MAX_PLAYERS];
- new PlayerText:textdraw_PlayerAP[MAX_PLAYERS];
- new PlayerText:textdraw_PlayerHP[MAX_PLAYERS];
- new PlayerAP_str[144];
- new PlayerHP_str[144];
- new bool:IsDead[MAX_PLAYERS];
- public OnPlayerConnect(playerid)
- {
- IsDead[playerid] = false;
- Player_AP[playerid] = 0.0;
- Player_HP[playerid] = 200.0;
- SetPlayerArmour(playerid, Player_AP[playerid]);
- SetPlayerHealth(playerid, Player_HP[playerid]);
- // AP HP TextDraw
- // AP
- format(PlayerAP_str,sizeof(PlayerAP_str),"%f", Player_AP[playerid]);
- textdraw_PlayerAP[playerid] = CreatePlayerTextDraw(playerid, 578.000000, 44.000000, PlayerAP_str);
- PlayerTextDrawFont(playerid, textdraw_PlayerAP[playerid], 2);
- PlayerTextDrawLetterSize(playerid, textdraw_PlayerAP[playerid], 0.241666, 0.899999);
- PlayerTextDrawTextSize(playerid, textdraw_PlayerAP[playerid], 400.000000, 17.000000);
- PlayerTextDrawSetOutline(playerid, textdraw_PlayerAP[playerid], 1);
- PlayerTextDrawSetShadow(playerid, textdraw_PlayerAP[playerid], 0);
- PlayerTextDrawAlignment(playerid, textdraw_PlayerAP[playerid], 2);
- PlayerTextDrawColor(playerid, textdraw_PlayerAP[playerid], -1);
- PlayerTextDrawBackgroundColor(playerid, textdraw_PlayerAP[playerid], 255);
- PlayerTextDrawBoxColor(playerid, textdraw_PlayerAP[playerid], 50);
- PlayerTextDrawUseBox(playerid, textdraw_PlayerAP[playerid], 0);
- PlayerTextDrawSetProportional(playerid, textdraw_PlayerAP[playerid], 1);
- PlayerTextDrawSetSelectable(playerid, textdraw_PlayerAP[playerid], 0);
- // HP
- format(PlayerHP_str,sizeof(PlayerHP_str),"%f", Player_HP[playerid]);
- textdraw_PlayerHP[playerid] = CreatePlayerTextDraw(playerid, 578.000000, 66.000000, PlayerHP_str);
- PlayerTextDrawFont(playerid, textdraw_PlayerHP[playerid], 2);
- PlayerTextDrawLetterSize(playerid, textdraw_PlayerHP[playerid], 0.241666, 0.899999);
- PlayerTextDrawTextSize(playerid, textdraw_PlayerHP[playerid], 400.000000, 17.000000);
- PlayerTextDrawSetOutline(playerid, textdraw_PlayerHP[playerid], 1);
- PlayerTextDrawSetShadow(playerid, textdraw_PlayerHP[playerid], 0);
- PlayerTextDrawAlignment(playerid, textdraw_PlayerHP[playerid], 2);
- PlayerTextDrawColor(playerid, textdraw_PlayerHP[playerid], -1);
- PlayerTextDrawBackgroundColor(playerid, textdraw_PlayerHP[playerid], 255);
- PlayerTextDrawBoxColor(playerid, textdraw_PlayerHP[playerid], 50);
- PlayerTextDrawUseBox(playerid, textdraw_PlayerHP[playerid], 0);
- PlayerTextDrawSetProportional(playerid, textdraw_PlayerHP[playerid], 1);
- PlayerTextDrawSetSelectable(playerid, textdraw_PlayerHP[playerid], 0);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- IsDead[playerid] = false;
- Player_AP[playerid] = 0.0;
- Player_HP[playerid] = 100.0;
- SetPlayerArmour(playerid, Player_AP[playerid]);
- SetPlayerHealth(playerid, Player_HP[playerid]);
- // AP HP TextDraw
- PlayerTextDrawShow(playerid, textdraw_PlayerAP[playerid]);
- PlayerTextDrawShow(playerid, textdraw_PlayerHP[playerid]);
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- // AP HP TextDraw
- format(PlayerAP_str,sizeof(PlayerAP_str),"%f", Player_AP[playerid]);
- format(PlayerHP_str,sizeof(PlayerHP_str),"%f", Player_HP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerAP[playerid], PlayerAP_str);
- PlayerTextDrawSetString(playerid, textdraw_PlayerHP[playerid], PlayerHP_str);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(killerid != INVALID_PLAYER_ID)
- {
- if(IsDead[playerid] == true) return 1;
- IsDead[playerid] = true;
- GetPlayerColor(killerid);
- GetPlayerColor(playerid);
- Player_AP[playerid]=0.0;
- Player_HP[playerid]=0.0;
- SetPlayerArmour(playerid, Player_AP[playerid]);
- SetPlayerHealth(playerid, Player_HP[playerid]);
- // AP HP TextDraw
- PlayerTextDrawSetString(playerid, textdraw_PlayerAP[playerid], PlayerAP_str);
- PlayerTextDrawSetString(playerid, textdraw_PlayerHP[playerid], PlayerHP_str);
- GivePlayerMoney(killerid, GetPlayerMoney(playerid));
- SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
- ResetPlayerMoney(playerid);
- SendDeathMessage(killerid, playerid, reason);
- }
- ResetPlayerMoney(playerid);
- ResetPlayerWeapons(playerid);
- return 1;
- }
- // Damage System
- public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid, bodypart)
- {
- if(playerid != INVALID_PLAYER_ID)
- {
- if(Player_AP[damagedid] > amount)
- {
- if(IsDead[damagedid] == true) return 1;
- Player_AP[damagedid]-=amount;
- SetPlayerArmour(damagedid, Player_AP[damagedid]);
- SetPlayerHealth(damagedid, Player_HP[damagedid]);
- // AP HP TextDraw
- format(PlayerAP_str,sizeof(PlayerAP_str),"%f", Player_AP[damagedid]);
- PlayerTextDrawSetString(damagedid, textdraw_PlayerAP[damagedid], PlayerAP_str);
- format(PlayerHP_str,sizeof(PlayerHP_str),"%f", Player_HP[damagedid]);
- PlayerTextDrawSetString(damagedid, textdraw_PlayerHP[damagedid], PlayerHP_str);
- }
- else
- {
- if(IsDead[damagedid] == true) return 1;
- Player_AP[damagedid]=0.0;
- SetPlayerArmour(damagedid, Player_AP[damagedid]);
- SetPlayerHealth(damagedid, Player_HP[damagedid]);
- // AP HP TextDraw
- format(PlayerAP_str,sizeof(PlayerAP_str),"%f", Player_AP[damagedid]);
- PlayerTextDrawSetString(damagedid, textdraw_PlayerAP[damagedid], PlayerAP_str);
- format(PlayerHP_str,sizeof(PlayerHP_str),"%f", Player_HP[damagedid]);
- PlayerTextDrawSetString(damagedid, textdraw_PlayerHP[damagedid], PlayerHP_str);
- if(Player_HP[damagedid] > amount)
- {
- if(IsDead[damagedid] == true) return 1;
- Player_HP[damagedid]-=amount;
- SetPlayerArmour(damagedid, Player_AP[damagedid]);
- SetPlayerHealth(damagedid, Player_HP[damagedid]);
- // AP HP TextDraw
- format(PlayerAP_str,sizeof(PlayerAP_str),"%f", Player_AP[damagedid]);
- PlayerTextDrawSetString(damagedid, textdraw_PlayerAP[damagedid], PlayerAP_str);
- format(PlayerHP_str,sizeof(PlayerHP_str),"%f", Player_HP[damagedid]);
- PlayerTextDrawSetString(damagedid, textdraw_PlayerHP[damagedid], PlayerHP_str);
- }
- else
- {
- if(IsDead[damagedid] == true) return 1;
- CallLocalFunction("OnPlayerDeath", "iid", damagedid, playerid, weaponid);
- }
- }
- return 1;
- }
- if(Player_AP[playerid] > amount)
- {
- Player_AP[playerid]-=amount;
- SetPlayerArmour(playerid, Player_AP[playerid]);
- SetPlayerHealth(playerid, Player_HP[playerid]);
- // AP HP TextDraw
- format(PlayerAP_str,sizeof(PlayerAP_str),"%f", Player_AP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerAP[playerid], PlayerAP_str);
- format(PlayerHP_str,sizeof(PlayerHP_str),"%f", Player_HP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerHP[playerid], PlayerHP_str);
- }
- else
- {
- Player_AP[playerid]=0.0;
- SetPlayerArmour(playerid, Player_AP[playerid]);
- SetPlayerHealth(playerid, Player_HP[playerid]);
- // AP HP TextDraw
- format(PlayerAP_str,sizeof(PlayerAP_str),"%f", Player_AP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerAP[playerid], PlayerAP_str);
- format(PlayerHP_str,sizeof(PlayerHP_str),"%f", Player_HP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerHP[playerid], PlayerHP_str);
- if(Player_HP[playerid] > amount)
- {
- Player_AP[playerid]=0.0;
- Player_HP[playerid]-=amount;
- SetPlayerArmour(playerid, Player_AP[playerid]);
- SetPlayerHealth(playerid, Player_HP[playerid]);
- // AP HP TextDraw
- format(PlayerAP_str,sizeof(PlayerAP_str),"%f", Player_AP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerAP[playerid], PlayerAP_str);
- format(PlayerHP_str,sizeof(PlayerHP_str),"%f", Player_HP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerHP[playerid], PlayerHP_str);
- }
- else
- {
- Player_AP[playerid]=0.0;
- Player_HP[playerid]=0.0;
- SetPlayerArmour(playerid, Player_AP[playerid]);
- SetPlayerHealth(playerid, Player_HP[playerid]);
- // AP HP TextDraw
- format(PlayerAP_str,sizeof(PlayerAP_str),"%f", Player_AP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerAP[playerid], PlayerAP_str);
- format(PlayerHP_str,sizeof(PlayerHP_str),"%f", Player_HP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerHP[playerid], PlayerHP_str);
- }
- return 1;
- }
- return 1;
- }
- public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
- {
- if(issuerid != INVALID_PLAYER_ID)
- {
- // Damage System
- if(Player_AP[playerid] > amount)
- {
- if(IsDead[playerid] == true) return 1;
- Player_AP[playerid]-=amount;
- SetPlayerArmour(playerid, Player_AP[playerid]);
- format(PlayerAP_str,sizeof(PlayerAP_str),"%f", Player_AP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerAP[playerid], PlayerAP_str);
- }
- else
- {
- if(IsDead[playerid] == true) return 1;
- Player_AP[playerid]=0.0;
- SetPlayerArmour(playerid, Player_AP[playerid]);
- format(PlayerAP_str,sizeof(PlayerAP_str),"%f", Player_AP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerAP[playerid], PlayerAP_str);
- if(Player_HP[playerid] > amount)
- {
- if(IsDead[playerid] == true) return 1;
- Player_HP[playerid]-=amount;
- SetPlayerHealth(playerid, Player_HP[playerid]);
- format(PlayerHP_str,sizeof(PlayerHP_str),"%f", Player_HP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerHP[playerid], PlayerHP_str);
- }
- else
- {
- if(IsDead[playerid] == true) return 1;
- CallLocalFunction("OnPlayerDeath", "iid", playerid, issuerid, weaponid);
- }
- }
- return 1;
- }
- if(Player_AP[playerid] > amount)
- {
- Player_AP[playerid]-=amount;
- SetPlayerArmour(playerid, Player_AP[playerid]);
- SetPlayerHealth(playerid, Player_HP[playerid]);
- // AP HP TextDraw
- format(PlayerAP_str,sizeof(PlayerAP_str),"%f", Player_AP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerAP[playerid], PlayerAP_str);
- format(PlayerHP_str,sizeof(PlayerHP_str),"%f", Player_HP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerHP[playerid], PlayerHP_str);
- }
- else
- {
- Player_AP[playerid]=0.0;
- SetPlayerArmour(playerid, Player_AP[playerid]);
- SetPlayerHealth(playerid, Player_HP[playerid]);
- // AP HP TextDraw
- format(PlayerAP_str,sizeof(PlayerAP_str),"%f", Player_AP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerAP[playerid], PlayerAP_str);
- format(PlayerHP_str,sizeof(PlayerHP_str),"%f", Player_HP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerHP[playerid], PlayerHP_str);
- if(Player_HP[playerid] > amount)
- {
- Player_AP[playerid]=0.0;
- Player_HP[playerid]-=amount;
- SetPlayerArmour(playerid, Player_AP[playerid]);
- SetPlayerHealth(playerid, Player_HP[playerid]);
- // AP HP TextDraw
- format(PlayerAP_str,sizeof(PlayerAP_str),"%f", Player_AP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerAP[playerid], PlayerAP_str);
- format(PlayerHP_str,sizeof(PlayerHP_str),"%f", Player_HP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerHP[playerid], PlayerHP_str);
- }
- else
- {
- Player_AP[playerid]=0.0;
- Player_HP[playerid]=0.0;
- SetPlayerArmour(playerid, Player_AP[playerid]);
- SetPlayerHealth(playerid, Player_HP[playerid]);
- // AP HP TextDraw
- format(PlayerAP_str,sizeof(PlayerAP_str),"%f", Player_AP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerAP[playerid], PlayerAP_str);
- format(PlayerHP_str,sizeof(PlayerHP_str),"%f", Player_HP[playerid]);
- PlayerTextDrawSetString(playerid, textdraw_PlayerHP[playerid], PlayerHP_str);
- }
- return 1;
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement