STVO punkte speichern aber wie ?

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
  • Guten Morgen JungZ und MädelZ
    Ich habe an meinem Blitzersystem gebastelt und habe StVO punkte rein gemacht also wenn man 15 Punkte voll hat verliert man den Führerschein. Soweit so gut :D
    Kommen wir zum Blitzersystem :



    unction Blitzer_Timer() {
    new save, strafe, speeds;
    for (new playerid = 0; playerid < MAX_PLAYERS; playerid++) {
    save = GetPVarInt(playerid, "BlitzPause");
    if(save > 0) {
    save--;
    SetPVarInt(playerid, "BlitzPause", save);
    continue;
    }
    if(!IsPlayerInAnyVehicle(playerid) || IsPlayerNPC(playerid)) continue;
    for(new i = 0; i < sizeof(Blitzer); i++) {
    if(Blitzer[i][Erstellt] == 1) {
    if(IsPlayerInRangeOfPoint(playerid, Blitzer[i][Radius], Blitzer[i][BlitzerX], Blitzer[i][BlitzerY], Blitzer[i][BlitzerZ])) {
    new Float:speed_x,Float:speed_y,Float:speed_z,Float:final_speed,final_speed_int;
    new veh = GetPlayerVehicleID(playerid);
    GetVehicleVelocity(veh, speed_x, speed_y, speed_z);
    final_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*93.0; // 136.666667 = kmph // 85.4166672= mph
    final_speed_int = floatround(final_speed,floatround_round);
    speeds = final_speed_int;
    if(speeds > Blitzer[i][Geschwindigkeit] && !IsACop(playerid) && GetPlayerState(playerid) == 2) {
    new string[128];
    new PString[128];
    new punkte = PlayerInfo[playerid][Punkte];
    // Einstellen des Momentes, in dem der Spieler kein weiteres mal geblitzt werden kann
    SetPVarInt(playerid, "BlitzPause", (BLITZER_TIMER_INTERVALL * BLITZER_PAUSE * 60) / 1000);
    // Strafe für Spieler
    strafe = Blitzer[i][Strafe] * (speeds-Blitzer[i][Geschwindigkeit]);
    PlayerPlaySound(playerid, 1132, 0.0, 0.0, 0.0);
    FraktionsKasse[23] += strafe;
    GivePlayerMoney(playerid, -strafe);
    PlayerInfo[playerid][Punkte] += 1; // Punte sind die StVO PUnkte :)
    if(PlayerInfo[pID][Punkte] == 15) // Neu
    {
    PlayerInfo[pID][pCarLic] = 0;// Neu
    SendClientMessage(pID,COLOR_RED,"Aufgrund zu vieler Punkte (15) wurde Ihnen der Führerschein entzogen"); // Neu
    }
    // Text für Spieler
    format(PString,sizeof(PString),"[StVO]Du hast 1 StVO punkt erhalten. Momentan haben sie %d StVO Punkte. Bei 15 Punkten ist ihr Führerschein weg!",punkte); // Neu
    format(string,sizeof(string), "[BLITZER]Du bist %d KM/H gefahren, erlaubt waren %d KM/H, du musst $%d Bußgeld bezahlen.", speeds, Blitzer[i][Geschwindigkeit], strafe);
    SendClientMessage(playerid, COLOR_YELLOW4, string);
    SendClientMessage(playerid, COLOR_YELLOW4, PString);
    // Für Oamt
    for(new o = 0; o < MAX_PLAYERS; o++)
    {
    if(PlayerInfo[i][pMember] == 24 || PlayerInfo[i][pLeader] == 24 || PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
    {
    if(IsPlayerInRangeOfPoint(o, Blitzer[i][Radius], Blitzer[i][BlitzerX], Blitzer[i][BlitzerY], Blitzer[i][BlitzerZ]))
    {
    new giveplayer[MAX_PLAYER_NAME];
    GetPlayerName(o, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "%s ist %d KM/H gefahren und hat %d$ Bußgeld gezahlt.", giveplayer, speeds, strafe);
    SendClientMessage(o, COLOR_YELLOW4, string);
    }
    }
    }
    // Ende für Cops
    }
    }
    }
    }
    }
    return 1;
    }


    So wenn ich jetzt geblitz werde steht da am anfang " Momentan haben sie 0 StVO Punkte " obwohl er ja einen Punkt bekommen hat :D


    So kommen wir zur richtigen frage ;)
    Wenn der User den Server Verlässt sind sein StVO punkte ja weg ich will sie aber behalten !


    wie mach ich das ?


    Mfg Saphire


    //P.S : Ich möchte das der User nach jedem zweiten 1 Punkt verliert.

  • PlayerInfo[playerid][Punkte]


    Das ist deine spielerbezogene Vari.
    Dini Abspeicherung ->


    Speichern
    dini_IntSet(PFAD,"Punkte",PlayerInfo[playerid][Punkte]);


    Laden
    PlayerInfo[playerid][Punkte],dini_Int(PFAD,"Punkte");


    oder zuerst durch int laden und auf playerinfo setzen

    KleineHilfe 2.0