Beiträge von BlAckNighT.

    Guten Abend,


    Und zwar möchte ich ein Gutschein System erstellen wo man sich die Belohnungen einlöst.
    Ich habe nur immoment /gutschein mit ein Dialog.
    Aber wie Scripte ich z.B.


    /cgutschein ich erstelle einen Gutschein mit Geld/Respekt oder sonstiges.
    Das es auch abgespeichert wird.,und das man sieht welcher Spieler hat Ihn eingelöst.
    Datenbanken sind vorhanden schon..


    Datenbank Struktur:


    ID, GutscheinCode, Eingelöst Von, Vorhanden, GutscheinType // 1 = Geld, 2 = RP, 3 = Premium


    Ich habe gerade null ahnung davon wie ich dies erstelle.
    ich hoffe ich könnt mir helfen oder ein kleines Beispiel geben.


    Mfg

    Welche Zeile ? :D
    Schreib mich in TS3 an.


    //e



    if(strcmp(cmd, "/pshop", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0,362.5884,170.0852,1025.7891))
    {
    if(PlayerInfo[playerid][pPremiumpunkte] >= 1) // Und in der hier
    {
    ShowPlayerDialog(playerid, DIALOG_PREMIUMSHOP, DIALOG_STYLE_LIST, "{FF0000}Premium Shop","Premium Rang 1(10)\nPremium Rang 2(20)\nPremium Rang 3(30)\nPremium Rang 4 (40)\n5 Respektpunkte (10)\n10 Respektpunkte (40)", "Auswählen", "Abbrechen");
    return 1;
    }
    else // HIER IN DER ZEILE
    {
    SendClientMessage(playerid, COLOR_ROT, "Du hast keine Premium Punkte");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_ROT, "Du bist nicht am Premium Shop");
    SendClientMessage(playerid, COLOR_ROT, "Der Premium Shop ist ganz oben in der Stadthalle");
    return 1;
    }
    }
    return 1;
    }

    @Aviero:



    public OnPlayerDeath(playerid, killerid, reason)
    {
    SendDeathMessage(killerid, playerid, reason);
    if(killerid != INVALID_PLAYER_ID) // Killer existiert.
    {
    sInfo[killerid][kills] += 1;
    sInfo[playerid][deaths] += 1;
    }
    else // Wenn keine Killerid ist, hat der Spieler sich selbst getötet. (selbstmord)
    {
    sInfo[playerid][deaths] += 1;
    }
    return 1;
    }

    Ist doch klar, dass Leute im Forum skeptisch werden wenn du grundlegende Sachen nicht beherrscht.
    Wenn du nicht weißt weißt wie du dich mit PuTTY auf deinen Linux Server verbindest, von dem aus du Server sponsern willst, ist das so, als ob ein Maurer nicht weiß wie er Zement mischt...



    Wenn du wirklich Server sponsern willst, dann hol dir Hilfe von jemanden der sich wirklich auskennt, oder lass es bleiben. Ohne jegliche Kenntnisse kommt nix gutes raus! Ist ein gut gemeinter Tipp...



    Ich habe einen Windows Server.

    Jeffry:


    Also d.h. donatorAblauf[pID] = gettime()+(86400*3) in Spieler[pID][donatorAblauf] = gettime()+(86400*3) ?


    Das es ladet und Speichert ?


    Dies hatte ich auch gehabt aber die Sekunden werden nicht runter gezählt.

    Wie stellst du es auf diese Zeit? Hast du vielleicht das +gettime() vergessen?


    So nun geht das mit 0 Tage 23 Stunden 23 Minuten.


    Aber wenn ich denn Server restarte steht da,


    "Du hast Premium (-16414 Tage, 8 Stunden, 13 Minuten)".


    //e


    donatorAblauf[pID] = gettime()+(86400*3);

    Ich habe noch eine Frage, wie mach ich das beim Spawn das diese Nachricht kommt.


    "Du hast Premium, (2 Tage, 12 Stunden, 47 Minuten)"


    if(Spieler[playerid][pPremium] == 1)
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast {167317}Premium (permanent)");
    }



    gehen die Sekunden von pPremiumAblauf automatisch auf 0 ?

    Guten Abend liebe Com,


    Und zwar weiss ich jetzt nicht wie ich die Sekunden abziehe von dem Spieler der Premium hat.
    Ich habe vieles ausprobiert aber nichts ging ich habe wieder nur denn Befehl.


    Weiss einer vielleicht wie ich dies hinbekomme ?



    Code:


    CMD:givepremium(playerid, params[])
    {
    if(!IsLoggedIn(playerid))return 1;
    if(Spieler[playerid][pTutorial] > 0)return SendClientMessage(playerid, COLOR_GREY, "Du bist derzeit im Tutorial, und kannst keine Befehle benutzen.");
    new pID,entry[32],string[128];
    if(sscanf(params, "us[32]", pID, entry))
    {
    SendClientMessage(playerid, COLOR_GREY, "** Benutze /givepremium [SpielerID] [3Tage/7Tage/14Tage/LifeTime]");
    return 1;
    }
    if(IsPlayerNPC(pID))return 1;
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_GREY, ERROR_OFFLINE);
    if(!(Spieler[playerid][pAdmin] <= 3))return SendClientMessage(playerid, COLOR_GREY, "Du hast keine Berächtigung dazu.");
    if(strcmp(entry, "3Tage", true) == 0)
    {
    Spieler[pID][pPremium] = 1;
    Spieler[pID][pPremiumAblauf] = gettime()+(86400*3);
    format(string, sizeof(string),"Server: Du hast vom System einen 3 Tage Premium erhalten.");
    SendClientMessage(pID, COLOR_WHITE, string);
    format(string, sizeof(string),"Du hast %s einen 3 Tage Premium gegeben.", GetName(pID));
    SendClientMessage(playerid, COLOR_WHITE, string);
    return 1;
    }
    if(strcmp(entry, "7Tage", true) == 0)
    {
    Spieler[pID][pPremium] = 1;
    Spieler[pID][pPremiumAblauf] = gettime()+(86400*7);
    format(string, sizeof(string),"Server: Du hast vom System einen 7 Tage Premium erhalten.");
    SendClientMessage(pID, COLOR_WHITE, string);
    format(string, sizeof(string),"Du hast %s einen 7 Tage Premium gegeben.", GetName(pID));
    SendClientMessage(playerid, COLOR_WHITE, string);
    return 1;
    }
    if(strcmp(entry, "14Tage", true) == 0)
    {
    Spieler[pID][pPremium] = 1;
    Spieler[pID][pPremiumAblauf] = gettime()+(86400*14);
    format(string, sizeof(string),"Server: Du hast vom System einen 14 Tage Premium erhalten.");
    SendClientMessage(pID, COLOR_WHITE, string);
    format(string, sizeof(string),"Du hast %s einen 14 Tage Premium gegeben.", GetName(pID));
    SendClientMessage(playerid, COLOR_WHITE, string);
    return 1;
    }
    if(strcmp(entry, "LifeTime", true) == 0)
    {
    Spieler[pID][pPremium] = 2;
    Spieler[pID][pPremiumAblauf] = gettime()+(86400*3640);
    format(string, sizeof(string),"Server: Du hast vom System einen Premium (permanent) erhalten.");
    SendClientMessage(pID, COLOR_WHITE, string);
    format(string, sizeof(string),"Du hast %s einen Premium (permanent) gegeben.", GetName(pID));
    SendClientMessage(playerid, COLOR_WHITE, string);
    return 1;
    }
    return 1;
    }


    Jeffry

    Danke klappt alles, aber was mich stört.
    "Bitte warte noch -32 Sekunden für die nächste Werbung!"
    Das Minus stört mich, kann man dies auch noch Weg machen dann wäre dies perfekt.