Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <ocmd>
- #include <sscanf2>
- #define Rot 0xFF0000FF
- new sh12string[128];
- #define formatEx(%0,%1,%2,%3) format(sh12string,128,%2,%3) && SendClientMessage(%0, %1, sh12string)
- new Float:deadX[MAX_PLAYERS], Float:deadY[MAX_PLAYERS], Float:deadZ[MAX_PLAYERS], deadPickup[MAX_PLAYERS], died[MAX_PLAYERS] = 0;
- public OnPlayerDeath(playerid, killerid, reason)
- {
- GetPlayerPos(playerid,deadX[playerid],deadY[playerid],deadZ[playerid]);
- SetPlayerCameraPos(playerid,0,0,50);
- SetPlayerCameraLookAt(playerid,20,20,70);
- SetPlayerHealth(playerid,1);
- SetPlayerPos(playerid,0,0,30);
- SetPlayerVirtualWorld(playerid,1);
- TogglePlayerControllable(playerid,0);
- formatEx(playerid,Rot,"Du wurdest von %s getötet. Du musst nun wiederbelebt werden!",GetName(killerid));
- deadPickup[playerid] = CreatePickup(1313, 1, deadX[playerid], deadY[playerid], deadZ[playerid], 0);
- died[playerid] = 1;
- return 1;
- }
- stock GetName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
- ocmd:revive(playerid, params[])
- {
- if(GetPVarInt(playerid, "Fraktion") == 2)
- {
- new pID, Float:x, Float:y, Float:z, Float:health;
- if(sscanf(params, "u", pID)) return SendClientMessage(playerid, Rot, "/revive [ID]");
- GetPlayerPos(pID, x, y, z);
- GetPlayerHealth(pID, health);
- if(died[pID] != 1) return SendClientMessage(playerid,Rot,"Der Spieler ist nicht tot!");
- if(!IsPlayerInRangeOfPoint(playerid, 2, x, y, z)) return SendClientMessage(playerid,Rot,"Du bist nicht in der Nähe des Spielers!");
- SetPlayerHealth(pID, 30);
- ClearAnimations(pID);
- TogglePlayerControllable(pID, 1);
- SetPlayerVirtualWorld(pID,0);
- SpawnPlayer(pID);
- died[pID] = 0;
- SetCameraBehindPlayer(playerid);
- DestroyPickup(deadPickup[pID]);
- return 1;
- }
- SendClientMessage(playerid,Rot,"Du bist kein Arzt!");
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment