06.07.2012, 01:47
pawn Код:
#include <a_samp>
new Pickup[MAX_PLAYERS];
new HasPlayerDied[MAX_PLAYERS];
new Team[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
HasPlayerDied[playerid] = 0;
Team[playerid] = 0;
return 1;
}
public OnPlayerSpawn(playerid)
{
//When they choose a team
Team[playerid] = 1;
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X, Y, Z);
DestroyPickup(Pickup[playerid]); //To prevent spamming pickups.
Pickup[playerid] = CreatePickup(1240, 8, X, Y, Z, GetPlayerVirtualWorld(playerid)); //Creates pickup where the player died.
HasPlayerDied[playerid] = 1;
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
for(new i = 0; i < MAX_PLAYERS; i++) {
if(IsPlayerConnected(i)) {
if(pickupid == Pickup[i]) {
HasPlayerDied[i] = 0;
if(Pickup[i] != Pickup[playerid]) {
if(Team[playerid] != Team[i]) { //Replace with your own team variables.
new Score = GetPlayerScore(playerid);
SetPlayerScore(playerid, Score + 1);
SendClientMessage(playerid, 0xFF0000AA, "You have recovered an enemy's Death Pickup. 1 score received."); }
else {
new string[256];
new pname[MAX_PLAYER_NAME];
GetPlayerName(i, pname, MAX_PLAYER_NAME);
format(string,sizeof(string),"You have recovered your teammate %s's Death Pickup.",pname[i]);
SendClientMessage(playerid, 0xFF0000AA, string); } }
else return SendClientMessage(playerid, 0xFF0000AA, "You have recovered your own Death Pickup.");
} } }
return 1;
}
public OnPlayerDisconnect(playerid)
{
if(HasPlayerDied[playerid] == 1) {
DestroyPickup(Pickup[playerid]); }
return 1;
}