Blitzer: pro KM/H 25$ Strafe und pro 5KM/h 1 Punkt - Anfang da, aber wie weiter?

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
  • Liebe Community :)
    Ich wollte meinen /trap Befehl etwas ändern. Er ist momentan wie folgt aufgebaut:new vv = GetPlayerVehicleID(i);
    new string[256];
    new Float:X, Float:Y, Float:Z, Float:Speed, player[MAX_PLAYER_NAME], string3[128];
    GetVehicleVelocity(vv, X, Y, Z);
    new Float:SpeedMph;
    SpeedMph = floatmul(floatsqroot(floatadd(floatadd(floatpower(X, 2), floatpower(Y, 2)), floatpower(Z, 2))), 100.0);
    Speed = SpeedMph * 1.609;
    for(new l = 0; l <MAX_PLAYERS; l++)
    {
    if(trap[l] == 1)
    {
    if(IsPlayerInRangeOfPoint(i,25.0,trap_x[l],trap_y[l],trap_z[l]))
    {
    if(Speed > trap_speed[l])
    {
    if(user_trapped[i] == 0)
    {
    {
    if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
    {
    new Float:speeddif = Speed-trap_speed[l];
    new TrapPoints, TrapMoney;
    GetPlayerName(i, player, sizeof(player));
    if(speeddif > 1 && speeddif < 10) { TrapMoney = 750; }
    else if(speeddif >= 10 && speeddif < 20) { TrapPoints = 1; TrapMoney = 1500; }
    else if(speeddif >= 20 && speeddif < 30) { TrapPoints = 2; TrapMoney = 2250; }
    else if(speeddif >= 40 && speeddif < 50) { TrapPoints = 3; TrapMoney = 3000; }
    else if(speeddif >= 50 && speeddif < 60) { TrapPoints = 4; TrapMoney = 3750; }
    else if(speeddif >= 60 && speeddif < 70) { TrapPoints = 5; TrapMoney = 4500; }
    else if(speeddif >= 70 && speeddif < 80) { TrapPoints = 6; TrapMoney = 5250; }
    else if(speeddif >= 80 && speeddif < 90) { TrapPoints = 7; TrapMoney = 6000; }
    else if(speeddif >= 90 && speeddif < 100) { TrapPoints = 8; TrapMoney = 6750; }
    else if(speeddif >= 100 && speeddif < 110) { TrapPoints = 9; TrapMoney = 7500; }
    else if(speeddif >= 120) { TrapPoints = 10; TrapMoney = 10000; }
    format(string3, sizeof(string3), "* %s wurde mit %i km/h (bei %d km/h) geblitzt. Strafe: $%d, Punkte: %d*",
    player, floatround(Speed, floatround_floor), trap_speed[l], TrapMoney, TrapPoints);
    SendClientMessage(l, COLOR_YELLOW, string3);
    PlayerMoney[i] = PlayerMoney[i] -= TrapMoney;
    PlayerMoney[l] = PlayerMoney[l] += TrapMoney;
    PlayerInfo[i][pDPoints] += TrapPoints;
    if(PlayerInfo[i][pDPoints] >= 14)
    {
    SendClientMessage(i, COLOR_LIGHTRED, " Du hast bereits 14 oder mehr Punkte . Ab 18 Punkten wird dir dein Führerschein abgenommen.");
    }
    user_trapped[i] = 1;
    GameTextForPlayer(i, "~y~Du wurdest Geblitzt", 5000, 1);
    }
    }
    }
    }
    }
    else
    {
    if(user_trapped[i] == 1)
    {
    user_trapped[i] = 0;
    }
    }
    }
    } (Das ist jetzt wo das Geld abgezogen wird !!)
    Ich möchte es aber so haben, dass pro KM/H 25$ abgezogen werden. 1KM/H zu schnell = 25$ Strafe. 2KM/H = 50$ , 3KM/H zu schnell = 75$ usw.
    Desweiteren sollen pro 5KM/H 1 Punkt kriegt (StvO). Das geht .wie mit blablabla*25 oder so :D:D:D

    Liebe Grüße


    Marcel

  • probier es mal so:
    Mach es bitte unter diese Abfrage: else if(speeddif >= 120) { TrapPoints = 10; TrapMoney = 10000; }

    GivePlayerMoney(l,-(speeddif*25));
    PlayerInfo[i][pDPoints] += speeddif/5; //etwas übertrieben ich würde durch 15 oder so teilen ^^


    naya das war schätze ich alles, ich schau nicht oft rein, deswegen hoffe ich dass das alles klappt ^^
    MfG NicoAiko