Beiträge von RFT

    und en tauscht du mal mit dem aus.



    public OnPlayerUpdate(playerid)
    {
    new string[32];
    if(IsPlayerOnDesktop(playerid))
    {
    format(string, 32, "%s Sekunden AFK", GetPlayerDesktopTime(playerid));
    if(GetPVarInt(playerid, "TextSend") == 0)
    {
    SetPVarInt(playerid, "TextSend", 1);
    PlayerText[playerid] = Create3DTextLabel(string, COLOR_LIGHTRED, 0.0, 0.0, 0.0, 20.0, -1, -1);}
    Attach3DTextLabelToPlayer(PlayerText[playerid], playerid, 0.0, 0.0, 0.0);
    return true;
    }
    Update3DTextLabelText(PlayerText[playerid], COLOR_LIGHTRED, string);
    }
    else
    {
    if(GetPVarInt(playerid, "TextSend") == 1)
    {
    Delete3DTextLabel(PlayerText[playerid]);
    SetPVarInt(playerid, "TextSend", 0);
    return true;
    }
    }
    return true;
    }


    stock UpdatePlayerAccount(playerid)
    {
    mysql_SetInt("Accounts", "JailTime", pInfo[playerid][JailTime], "Name", SpielerName[playerid])
    return true;
    }


    unter OnPlayerDisconnect einmal "UpdatePlayerAccount(playerid);" einfügen.


    MFG RFT

    Das funktioniert leider nicht so, wie ich es mir vorgestellt habe.
    Dieser Text steht IMMER über diesem Spieler & wenn er auf Desktop geht, geht die Zeit nicht hoch.
    RFT könntest du mir bitte helfen und sagen wie ich es mache, dass nur wenn er auf dem Desktop dieser Text über diesen Spieler steht & die Zeit hochgeht?
    Mit freundlichen Grüßen, Unkn0wnX.



    format(string, 32, "%d Sekunden AFK", GetPlayerDesktopTime(playerid)); // müsste auch geändert werden aber daran liegt dein problem nicht.



    Das Checkl System wurde von anderen Leuten getestet und sie sagen es funktionierte ich selber habe es nie getestet.
    Muss es nachermal teste kann ja sein das ich in der Include nen Fehler habe. Ich editiere diesen Beitrag nacher.


    MFG RFT


    //edit teste es mal so.



    public OnPlayerUpdate(playerid)
    {
    new string[32];
    if(IsPlayerOnDesktop(playerid))
    {
    format(string, 32, "%s Sekunden AFK", GetPlayerDesktopTime(playerid));
    if(GetPVarInt(playerid, "TextSend") == 0)
    {
    SetPVarInt(playerid, "TextSend", 1);
    PlayerText[playerid] = Create3DTextLabel(string, COLOR_LIGHTRED, 0.0, 0.0, 0.0, 20.0, -1, -1);}
    Attach3DTextLabelToPlayer(PlayerText[playerid], playerid, 0.0, 0.0, 0.0);
    return true;
    }
    Update3DTextLabelText(PlayerText[playerid], COLOR_LIGHTRED, string);
    }
    else
    {
    if(GetPVarInt(playerid, "TextSend") == 1)
    {
    Delete3DTextLabel(PlayerText[playerid]);
    SetPVarInt(playerid, "TextSend", 0);
    return true;
    }
    }


    War nen kleiner Denkfehler von mir.

    Schau mal in der mysql.log ob da ein Fehler beim spechern aufgezeichnet ist.
    Habe mysql_debug(); im MySql System eingefügt falls du es nicht raus gemacht hast.
    Du sagtest ja der Wert in der Database wird nicht gespeichert.
    Und du lässt hoffentlich beim verlassen des Server die Acconts updaten oder ?


    MFG

    Zitat

    Es geht halt darum, die "JailTime" zu speichern und den Wert beim Spawn wieder zuzuteilen.
    Aber der Wert im Account bleibt immer gleich, dadurch funktioniert das nicht wirklich. Sonst würde die Zeit ja nach jedem Relogg wieder hochgesetzt werden.
    mfG
    Walker


    Deshalb brauchen wir die Funktion wo du deine Accounts speichern lässt.Falls solch eine vorhanden ist.


    MFG RFT

    for(new ii=0; ii<MAX_PLAYERS; ii++)
    {
    SendClientMessage(ii, DEINEFARBE, str);
    }


    soll dan ja auch an alle gehen ;)


    Schwachsinn. Wozu soll man ne Schleife benutzen wenn es solch eine Funktion gibt ?



    SendClientMessageToAll(DEINE FARBE, str);


    public OnPlayerUpdate(playerid)
    {
    new string[32];
    if(IsPlayerOnDesktop(playerid))
    {
    format(string, 32, "%s Sekunden AFK", GetPlayerDesktopTime(playerid));
    if(GetPVarInt(playerid, "TextSend") == 0)
    {
    SetPVarInt(playerid, "TextSend", 1);
    PlayerText[playerid] = Create3DTextLabel(string, COLOR_LIGHTRED, 0.0, 0.0, 0.0, 20.0, -1, -1);}
    Attach3DTextLabelToPlayer(PlayerText[playerid], playerid, 0.0, 0.0, 0.0);
    return true;
    }
    Update3DTextLabelText(PlayerText[playerid], COLOR_LIGHTRED, string);
    if(GetPVarInt(playerid, "TextSend") == 1)
    {
    Delete3DTextLabel(PlayerText[playerid]);
    SetPVarInt(playerid, "TextSend", 0);
    return true;
    }
    }


    MFG RFT


    if(strcmp(cmd, "/g", true) == 0 || strcmp(cmd, "/global", true) == 0)
    {
    new length = strlen(cmdtext);
    new index;
    while ((index < length) && (cmdtext[index] <= ' '))
    {
    index++;
    }
    new offset = index;
    new result[64];
    while ((index < length) && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = cmdtext[index];
    index++;
    }
    result[index - offset] = EOS;
    if(!result[0])return SendClientMessage(playerid, DIEFARBE, "Verwendung: (/g)lobal [Text]");

    new pName[24]; GetPlayerName(playerid, pName, 24);
    new str[128];
    format(str, 128, "(Global) %s: %s", pName, result);
    SendClientMessage(playerid, DEINEFARBE, str);
    return true;
    }



    Nächstesmal mehrere Infos.
    Kann ja sein das du schon Strings für die Parameter / Namen und so definiert hast und wieso sollte man doppelten Speicher verbrauchen wenn mans schon definiert hat.


    MFG RFT


    if(strcmp(cmd, "/premium", true) == 0)
    {
    if(PlayerInfo[i][pDonateRank] == 0)return SendClientMessage(playerid, COLOR_RED, "Info: Du bist kein Premium User.");
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!result[0])return SendClientMessage(playerid, COLOR_WHITE, "Verwendung: /Premium [Text]");

    GetPlayerName(playerid, sendername, 24);
    format(tmp, 128, "%s: %s.", sendername, result);
    SendPremiumMessage(COLOR_GREEN, result);
    return true;
    }


    und die Funktio.



    stock SendPremiumMessage(Color, Text[])
    {
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
    if(!IsPlayerConnected(i))continue;
    if(PlayerInfo[i][pDonateRank] >= 1)
    {
    SendClientMessage(i, Color, Text);
    }
    }
    return true;
    }


    Wenn ich mich nicht irre hießen die GF Variabeln so. System ist nicht getestet sollte aber funktionieren.


    MFG RFT


    enum spieler_daten
    {
    wanted,
    skin,
    money,
    Float:lastx,Float:lasty,Float:lastz,
    eingeloggt, // hier hat ein Komma gefehlt.
    }


    MFG RFT


    //edit poste und mal das Callback wo der Error vor kommt muss ja nen Grund haben =).


    MFG RFT



    O.o wozu brauchst du ein Filterscript wenn dus im Gamemode hast ?


    Zitat


    Selber schreiben so viel ist es nicht ;)
    Oder aus dem Script deines freundes ausbauen ;)


    gretz vitamin


    Unnötig da es hier der "Scriptwünsche" Bereich ist.


    MFG RFT