Esempio n. 1
0
void SPlayer::PlayerPulse()
{
		for (int i = 0; i < sizeof(playerData) / sizeof(*playerData); i++) {
			if (playerData[i].used == true) {
				if (playerData[i].pedHealth <= 0 && playerData[i].dead == false)
				{
					OnPlayerDeath(sLUA, playerData[i].playerid);
					playerData[i].dead = true;
				}


				if (playerData[i].pedHealth > 0 && playerData[i].dead == true) {
					float closest = 0;
					int spawnid = 0;

					for (int s = 0; s < sizeof(spawnData) / sizeof(*spawnData); s++) {
						if (spawnData[s].used == true)
						{
							float tempd = Distance(playerData[i].x, spawnData[s].x, playerData[i].y, spawnData[s].y, playerData[i].z, spawnData[s].z);

							if (s == 0 || closest > tempd) {
								closest = tempd;
								spawnid = s;
							}
						}
					}

					playerData[i].dead = false;
					SpawnPlayer(i, spawnid);
				}
			}
		}
}
Esempio n. 2
0
static cell AMX_NATIVE_CALL n_OnPlayerDeath( AMX* amx, cell* params )
{
	return OnPlayerDeath(params[1], params[2], params[3]);
}