06.03.2014, 20:19
I have a problem with the death system, when someone dying the doctor fill his hp and the system take him to the hospital directly.
Codes:
Codes:
PHP код:
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#define col_grey 0xADADADFF
new pDied[MAX_PLAYERS];
public OnPlayerSpawn(playerid)
{
// Checking for their variable..
if(pDied[playerid] == 1)
{
// Spawning at ASGH in Los Santos...
pDied[playerid] = 0;
SetPlayerPos(playerid, 1177.8596, -1324.0876, 14.0915);
// Message and money removal (using -400 at GivePlayerMoney to fine 500 as you automaticly lose $100 when you die).
SendClientMessage(playerid, col_grey, "{639E4D}INFO:{ADADAD} You have just respawned and you lost $500!");
GivePlayerMoney(playerid, -400);
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
new Float:x, Float:y, Float:z;
// Resetting their position:
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(playerid, x, y, z);
// Freezing them in death, aka not allowing them to respawn:
TogglePlayerControllable(playerid, 0);
ApplyAnimation(playerid, "CRACK", "crckdeth1", 4.1, 0, 1, 1, 1, 1, 1);
// Informing them and activating timer:
SendClientMessage(playerid, col_grey, "{639E4D}INFO:{ADADAD} You have been brutally wounded! If someone doesn't revive you soon, you will die!");
SetTimerEx("DeathTimer", 3200, false, "i", playerid);
return 1;
}
forward DeathTimer(playerid);
public DeathTimer(playerid)
{
// As seen here: informing them and enabling variable:
SendClientMessage(playerid, col_grey, "{639E4D}INFO:{ADADAD} Nobody managed to save you in time, you died!");
pDied[playerid] = 1;
// PlayerControllable to true...
TogglePlayerControllable(playerid, 1);
return 1;
}