enum leichen{
	Float:l_x,
	Float:l_y,
	Float:l_z,
	pickup,
	Text3D:NamenLabel,
	p_id,
        bool:IstSpielerTot
}
new leichenInfo[MAX_PLAYERS][leichen];
new leiche[MAX_PLAYERS];
ocmd:corpse(playerid,params[])
{
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 442)return SendClientMessage(playerid,C_Error,"Du bist nicht im Leichenwagen!");
    if(leiche[playerid] == 1) return SendClientMessage(playerid, C_Error, "Du hast bereits eine Leiche geladen. Bringe sie zuerst zum Friedhof.");
    for(new i=0; i < MAX_PLAYERS; i++)
    {
        if(leichenInfo[i][IstSpielerTot] == true)
        {
            if(IsPlayerInRangeOfPoint(playerid,10.0,leichenInfo[i][l_x],leichenInfo[i][l_y],leichenInfo[i][l_z]))
            {
                DestroyPickup(leichenInfo[i][pickup]);
                Delete3DTextLabel(leichenInfo[i][NamenLabel]);
                SendClientMessage(playerid,C_Blau,"Du hast eine Leiche eingesammelt.");
                SendClientMessage(playerid,C_Blau,"Fahre nun zum Friedhof, und geb dich Leiche dort ab.");
                leiche[playerid]=1;
	        SetPlayerCheckpoint(playerid,927.4283,-1073.0220,24.2891,5.0);
                leichenInfo[playerid][IstSpielerTot] = false;
	        return 1;
            }
	}
    }    
    return SendClientMessage(playerid,C_Error,"Es ist keine Leiche in deiner Nähe!");
}
ocmd:findcorpse(playerid,params[])
{
    GameTextForPlayer(playerid,"Leiche wird gesucht...",2000,3);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(leichenInfo[i][IstSpielerTot] == false) continue; // Arbeite normalerweise nicht mit continue. Alternative wäre: if(leichenInfo[i][IstSpielerTot] == true)   und dann halt der untere Code
        SetPlayerCheckpoint(playerid,leichenInfo[i][l_x],leichenInfo[i][l_y],leichenInfo[i][l_z],5.0);
        SendClientMessage(playerid, C_Blau, "Du hast eine Leiche gefunden.");
        return 1;
    }
    return SendClientMessage(playerid,C_Error,"Es sind keine Leichen in der Umgebung!");
}
ocmd:unloadcorpse(playerid,params[])
{
        if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 442)return SendClientMessage(playerid,C_Error,"Du bist nicht im Leichenwagen!");
        if(leiche[playerid] ==0) return SendClientMessage(playerid, C_Error, "Du hast keine Leiche geladen!");
	if(!IsPlayerInRangeOfPoint(playerid,7.0,927.4283,-1073.0220,24.2891))return SendClientMessage(playerid,C_Error,"Du bist nicht am Friedhof!");
	if(leiche[playerid]==1)
	{	
	    SendClientMessage(playerid,C_Blau,"Du hast die Leiche erfolgreich abgeladen.");
	    giveplayermoney(playerid,600);
	    leiche[playerid]=0;
	    return 1;
	}
	return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
	new namenstring[200];
	format(namenstring,sizeof(namenstring),"%s",getPlayerName(playerid));
	GetPlayerPos(playerid,leichenInfo[playerid][l_x],leichenInfo[playerid][l_y],leichenInfo[playerid][l_z]);
	leichenInfo[playerid][pickup] = CreatePickup(1254,1,leichenInfo[playerid][l_x],leichenInfo[playerid][l_y],leichenInfo[playerid][l_z],0);
	leichenInfo[playerid][NamenLabel] = Create3DTextLabel(namenstring,C_Weiß,leichenInfo[playerid][l_x],leichenInfo[playerid][l_y],leichenInfo[playerid][l_z],10.0,0,0);
        leichenInfo[playerid][IstSpielerTot] = true;
}
Probiers mal aus  
 
Ist ungetestet und unkompiliert.
 
		 
		
		
	 
  
 	


 
 



