10sec speere problem

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • abend, ich hab ein problem, ich hab da was, wo eine 10secunden speere nach dem Tod ist, und werendessen sieht man von jmd die sicht, doch wo ich jetzt alleine war, und gestorben bin, schaute ich in den himmel, und wurde nicht mehr gespawnt, wie macht man das, das er erkennt wen niemand drauf auch noch 10secunden gespawnt wird? (ich habs ja auch noch nicht ausprobieren können wen jmd drauf ist, daher weiß ich auch nicht obs geht)


    new IsPlayerDeath[MAX_PLAYERS];
    new DeathID[MAX_PLAYERS];


    public OnPlayerConnect(playerid)
    {
    PlayerPlaySound(playerid,1185,1326.1104,-877.1648, 10.0 );
    GameTextForPlayer(playerid,"~w~Willkommen zum Gangwar 2.3",5000,8);
    new pname[MAX_PLAYERS];
    GetPlayerName(playerid,pname,sizeof pname);
    new string[128];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(string, sizeof(string), "%s ist dem Server Beigetreten!", pname);
    SendClientMessageToAll(0xAAAAAAAA, string);
    Fraktion[playerid]=4;
    IsPlayerDeath[playerid] = 0;
    DeathID[playerid] = INVALID_PLAYER_ID;
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    PlayerPlaySound(playerid, 1186, 1326.1104,-877.1648, 10.0 );
    SetPlayerTeam(playerid,gTeam[playerid]);
    if(IsPlayerDeath[playerid] == 1)
    {
    SetTimerEx("DeathWait", 10000, 0, "%i", playerid);
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, DeathID[playerid]);
    }
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    SendDeathMessage(killerid, playerid, reason);
    GivePlayerMoney(killerid,2500);
    SendClientMessage(killerid,0xFFFF00FF,"du hast für den Kill 2500$ bekommen!");
    IsPlayerDeath[playerid] = 1;
    DeathID[playerid] = killerid;
    return 1;
    }


    public DeathWait(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    TogglePlayerSpectating(playerid, 0);
    SpawnPlayer(playerid);
    }
    return 1;
    }


  • public OnPlayerDeath(playerid, killerid, reason)
    {
    SendDeathMessage(killerid, playerid, reason);
    IsPlayerDeath[playerid] = 1;
    if(killerid != INVALID_PLAYER_ID)//Wenn es keinen killer gibt bleibt es auf invalid_player_id
    {
    SendClientMessage(killerid,0xFFFF00FF,"du hast für den Kill 2500$ bekommen!");
    GivePlayerMoney(killerid,2500);
    DeathID[playerid] = killerid;
    return 1;
    }
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    PlayerPlaySound(playerid, 1186, 1326.1104,-877.1648, 10.0 );
    SetPlayerTeam(playerid,gTeam[playerid]);
    if(IsPlayerDeath[playerid] == 1)
    {
    if(DeathID[playerid] != INVALID_PLAYER_ID)
    {
    SetTimerEx("DeathWait", 10000, 0, "%i", playerid);
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, DeathID[playerid]);
    }
    else
    {
    SetTimerEx("DeathWait", 10000, 0, "%i", playerid);
    //hier müsstest du ihn freezen oder sowas
    }
    }
    return 1;
    }