Totenkopf erst nach 50 Sekunden weg machen

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
  • Hey Leute,


    ich habe in mein Script eine Funktion die es ermöglicht das wenn ein Spieler stirbt ein Totenkopf erscheint. Nun geht dieser Totenkopf erst dann weg wenn der Spiele sich auch ausloggt. Wie kann ich es so machen das der Totenkopf erst nach 50 Sekunden weg geht?


    LG :thumbup:



    new TotenKopf[MAX_PLAYERS];
    Function OnPlayerDisconnect(playerid, reason)
    {
    DestroyPickup(TotenKopf[playerid]);
    }


    Function OnPlayerDeath(playerid, killerid, reason)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    TotenKopf[playerid] = CreatePickup(1254,1, X, Y, Z);
    }

  • du brauchst einen timer der den totekopf nach 50 sec wieder weg macht :)



    Function OnPlayerDeath(playerid, killerid, reason)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    TotenKopf[playerid] = CreatePickup(1254,1, X, Y, Z);
    SetTimer("totenkopf",50000,0);
    }




    Weiter unten im Script:



    Function totenkopf()
    {
    DestroyPickup(TotenKopf[playerid]);
    }

  • ja du bist schon auf dem richtigen weg aber wenn man SetTimer macht würde der Timer jedesmal überschrieben werden wenn jemand stribt. nutze lieber SetTimerEx um für jeden gestorbenen spieler einen eigenen timer zu starten.


    new TotenKopf[MAX_PLAYERS];


    Function OnPlayerDisconnect(playerid, reason)
    {
    DestroyPickup(TotenKopf[playerid]);
    }


    Function OnPlayerDeath(playerid, killerid, reason)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    TotenKopf[playerid] = CreatePickup(1254,1, X, Y, Z);
    SetTimerEx("totenkopfding",50000,0,"i",playerid);
    }


    forward totenkopfding(playerid)
    public totenkopfding(playerid)
    {
    DestroyPickup(TotenKopf[playerid]);
    return 1;
    }

  • Oben bei den Anderen forwards:


    forward totenkopf(playerid);
    Unter den Sachen vom Totenkopf Createn dan noch
    das Hinzufügen:
    SetTimerEx("totenkopf", 50000, false, "i", playerid);
    Und ganz unten ins Script dan:

    public totenkopf(playerid)
    {
    DestroyPickup(totenkopf[playerid]);
    return 1;
    }


    Falls ein Fehler drin ist Bitte per PN Melden
    Habe das nicht getestet


    MFG Arendium

  • habs hingekriegt...


    //Closed