Offline 3D Text und Pickup werden nicht erstellt

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Also mein Problem ist, dass ich ein Pickup erstellen will wenn jemand off geht. 1 Minute danach sollte es wieder verschwinden


    Hier der Code
    new OfflinePickup[MAX_PLAYERS];
    new Text3D:Offline3DTextdraw[MAX_PLAYERS];
    new OfflineVar[MAX_PLAYERS];
    new Float:OfflinePos_x[MAX_PLAYERS], Float:OfflinePos_y[MAX_PLAYERS], Float:OfflinePos_z[MAX_PLAYERS];
    new OfflineWanted[MAX_PLAYERS];
    new OfflineName[MAX_PLAYER_NAME][MAX_PLAYERS];


    Unter Onplayerdisconnect

    /*if(OfflineVar[playerid] == 1) {
    OfflineVar[playerid] = 0;
    DestroyPickup(OfflinePickup[playerid]);
    Delete3DTextLabel(Offline3DTextdraw[playerid]);
    }*/
    format(string, sizeof string, "Offline\n[%s]",SpielerName(playerid));
    OfflineVar[playerid] = 1;
    GetPlayerPos(playerid, OfflinePos_x[playerid],OfflinePos_y[playerid],OfflinePos_z[playerid]);
    OfflineWanted[playerid] = Spieler[playerid][Wanted];
    OfflineName[playerid] = SpielerName(playerid);
    Offline3DTextdraw[playerid] = Create3DTextLabel(string, FARBE_Grad1, Pos_x, Pos_y, Pos_z, 10.0, GetPlayerVirtualWorld(playerid), 1);
    OfflinePickup[playerid] = CreatePickup(1275, 23, Pos_x, Pos_y, Pos_z, GetPlayerVirtualWorld(playerid));
    SetTimerEx("EineMinuteNachLogout",60000,0,"i",playerid);


    Und hier die Funktion für den Timer der einen minute
    Function EineMinuteNachLogout(playerid)
    {
    OfflineVar[playerid] = 0;
    DestroyPickup(OfflinePickup[playerid]);
    Delete3DTextLabel(Offline3DTextdraw[playerid]);
    }


    Wenn jemand eine Lösung hat
    Danke schoneinmal im Vorraus ;) :thumbup:


    /EDIT Überschrift
    oO Gehirnfail xD Vorher: Offline Pickup + 3D Text werden nicht erzählt

  • Ja aber löst ja mein problem auch nicht :D


    Wie kann ich denn auf eine zahl definieren die erhalten bleibt?


    Aber ich mein der Timer ist nur da, damit der die wieder löscht. d.H. Er sollte das Pickup ja wenigstens erstellen
    Oder täusche ich mich?

  • Versuchs mal so bin mir nicht so ganz sicher

    for(new i=0; i<MAX_PLAYERS; i++)
    {
    format(string, sizeof string, "Offline\n[%s]",SpielerName(playerid));
    OfflineVar[playerid] = 1;
    GetPlayerPos(playerid, OfflinePos_x[playerid],OfflinePos_y[playerid],OfflinePos_z[playerid]);
    OfflineWanted[playerid] = Spieler[playerid][Wanted];
    OfflineName[playerid] = SpielerName(playerid);
    Offline3DTextdraw[playerid] = Create3DTextLabel(string, FARBE_Grad1, Pos_x, Pos_y, Pos_z, 10.0, GetPlayerVirtualWorld(playerid), 1);
    OfflinePickup[playerid] = CreatePickup(1275, 23, Pos_x, Pos_y, Pos_z, GetPlayerVirtualWorld(playerid));
    SetTimerEx("EineMinuteNachLogout",60000,0,"i",i);
    }


    Und hier die Funktion für den Timer der einen minute

    Function EineMinuteNachLogout()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    DestroyPickup(OfflinePickup[i]);
    Delete3DTextLabel(Offline3DTextdraw[i]);
    }
    }



    //edit und alles was nur für den spieler angezeigt werden sollte .. solltest du durch i ersetzen


  • __________________________________________________________________



    Guten Abend,
    ich konnte mein Problem folgendermaßen lösen



    new Float:X,Float:Y,Float:Z,str[64];
    GetPlayerPos(playerid,X,Y,Z);
    Pickup2[playerid] = CreatePickup(1314,1,X,Y,Z);
    GetPlayerName(playerid,str,MAX_PLAYER_NAME);
    format(str, sizeof str, "{FF0000}%s{EBFF00} hat das Spiel verlassen",str);
    PlayerText[playerid] = Create3DTextLabel(str,COLOR_YELLOW,X,Y,Z,10.0,0,0);
    SetTimerEx("DelDraw",120000,0,"d",playerid);



    Function DelDraw(playerid)
    {
    Delete3DTextLabel(PlayerText[playerid]);
    PlayerText[playerid] = Text3D:0;
    DestroyPickup(Pickup2[playerid]);
    Pickup2[playerid]= 0;
    }


    --------


    Mit freundlichen Grüßen,
    [GGR]Radio_Bot