Habe da mal was geschrieben, habs aber leider nicht getestet, sollte aber funktionieren.
CAlles anzeigennew bool:IsDeath[MAX_PLAYERS]; new Float:DeathPos[MAX_PLAYERS][3]; public OnPlayerConnect(playerid) { IsDeath[playerid] = 0; DeathPos[playerid][0] = 0.0; DeathPos[playerid][1] = 0.0; DeathPos[playerid][2] = 0.0; return 1; } public OnPlayerDeath(playerid, killerid, reason) { if(killerid != INVALID_PLAYER_ID) { IsDeath[playerid] = true; GetPlayerPos(playerid, DeathPos[playerid][0], DeathPos[playerid][1], DeathPos[playerid][2]); } return 1; } public OnPlayerSpawn(playerid) { if(IsDeath[playerid]) { SetPlayerPos(playerid, DeathPos[playerid][0], DeathPos[playerid][1], DeathPos[playerid][2]); } return 1; } // Revive Befehl mit Spieler ID CMD:revive(playerid) { // Fraktions Abfrage new pID, string[128]; if(sscanf(params, "u", pID))return SendClientMessage(playerid, -1, "Verwende /revive [ID]"); if(pID == playerid)return SendClientMessage(playerid, -1, "Du kannst dich nicht selber wiederbeleben."); if(!IsDeath[pID])return SendClientMessage(playerid, -1, "Der Spieler ist nicht tot."); if(!IsPlayerInRangeOfPoint(playerid, 5.0, DeathPos[pID][0], DeathPos[pID][1], DeathPos[pID][2]))return SendClientMessage(playerid, "Du befindest dich nicht nah genug am Unfallsort."); IsDeath[pID] = false; DeathPos[playerid][0] = 0.0; DeathPos[playerid][1] = 0.0; DeathPos[playerid][2] = 0.0; SendClientMessage(playerid, -1, "Du hast einen Spieler wiederbelebt."); SendClientMessage(pID, -1, "Du wurdest von einem Sanitäter wiederbelebt."); return 1; } // Revive Befehl ohne ID CMD:revive(playerid) { // Fraktions Abfrage for(new i=0;i<GetMaxPlayers();i++) { if(IsPlayerConnected(i)) { if(IsDeath[i]) { if(IsPlayerInRangeOfPoint(playerid, 5.0, DeathPos[i][0], DeathPos[i][1], DeathPos[i][2])) { IsDeath[pID] = false; DeathPos[playerid][0] = 0.0; DeathPos[playerid][1] = 0.0; DeathPos[playerid][2] = 0.0; SendClientMessage(playerid, -1, "Du hast einen Spieler wiederbelebt."); SendClientMessage(pID, -1, "Du wurdest von einem Sanitäter wiederbelebt."); return 1; } else { SendClientMessage(playerid, -1, "Du bist an keinem Unfallsort."); return 1; } } else { SendClientMessage(playerid, -1, "Du bist an keinem Unfallsort."); return 1; } } } return 1; }
Danke dir hab es auf ein totes system angepasst und funktioniert genau so wie ich es mir dachte