11.01.2015, 04:59
Hello , i want to know how to make Hospital system so that when player die he spawn at front of nearest hospital ?
new Hospital[MAX_PLAYERS];
public OnPlayerDeath(playerid, killerid, reason)
{
Hospital[playerid] = 1;
return 1;
}
public OnPlayerSpawn(playerid)
{
if(Hospital[playerid] == 1)
{
SetPlayerPos(playerid, 1172.8644, -1323.3914, 15.3996); // You can replace this with any coordinates you want, i placed it at the All Saints General Hospital
Hospital[playerid] == 0;
}
return 1;
}
new ClosestHospital[MAX_PLAYERS];
public OnPlayerSpawn(playerid)
{
switch(ClosestHospital[playerid])
{
case 0: SetPlayerPos(playerid, /* Insert coordinates of hospital 0*/);
case 1: SetPlayerPos(playerid, /* Insert coordinates of hospital 1*/);
case 2: SetPlayerPos(playerid, /* Insert coordinates of hospital 2*/);
}
return 1;
}
stock RespawnToHospital(playerid)
{
new Float:Hospital[3]; // Creates 3 floats, which we then use underneath to check the distance the player has from those points
Hospital[0] = GetPlayerDistanceFromPoint(playerid,/* Insert coordinates of hospital 0 here */);
Hospital[1] = GetPlayerDistanceFromPoint(playerid, /* Insert coordinates of hospital 1 here */);
Hospital[2] = GetPlayerDistanceFromPoint(playerid, /* Insert coordinates of hospital 2 here */);
if(Hospital[0] <= Hospital[1] && Hospital[0] <= Hospital[3]) // We use this to detect if hospital 0 is closer than both other
{
ClosestHospital[playerid] = 0; // We store "0" in the variable if hospital 0 is closest
}
else if(Hospital[1] <= Hospital[0] && Hospital[1] <= Hospital[3]) // If hospital 0 isn't closest, we check hospital 1, if that's closer than both the other
{
ClosestHospital[playerid] = 1; // We store "1" in the variable if hospital 0 is closest
}
else if(Hospital[2] <= Hospital[0] && Hospital[2] <= Hospital[1]) // If none of those are closest, we check if hospital 2 is closest.
{
ClosestHospital[playerid] = 2; // We store "2" in the variable if hospital 0 is closest
}
return 1;
}
RespawnToHospital(playerid);