Beiträge von Shoxx

    Hallo,


    Wie kann man das machen, dass man bei einer Geschwindigkeitsüberschreitung von 10 KMH 1 Punkt bekommt?


    Blitzer System:
    //======== BLITZER ========//
    Function 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))*175; // 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) && !IsPlayerInFrac(playerid, 22)&& GetPlayerState(playerid) == 2) {
    new string[128];
    // 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);
    // Text für Spieler
    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_YELLOW, string);
    // Für Oamt
    for(new o = 0; o < MAX_PLAYERS; o++)
    {
    if(PlayerInfo[i][pMember] == 24 || PlayerInfo[i][pLeader] == 24)
    {
    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_YELLOW, string);
    }
    }
    }
    // Ende für Cops
    }
    }
    }
    }
    }
    return 1;
    }


    Punktesystem:
    PlayerInfo[giveplayerid][pCarP] = 0;

    Okay Funktioniert.


    Allerdings komme ich soweit das ich mich Einloggen bzw. /registrieren kann..


    Ich will aber das man auf den Server kommt und direkt gekickt wird.


    Function OnPlayerRequestClass(playerid, classid)
    {
    if(IsPlayerNPC(playerid))
    {
    SpawnPlayer(playerid);
    return 1;
    }
    //----------------------------------[RolePlay Namen]-----------------------------------------------//
    new psender[MAX_PLAYER_NAME];
    GetPlayerName(playerid, psender, sizeof(psender));
    if(strfind(psender,"_",false)==-1)
    {
    SendClientMessage(playerid, COLOR_WHITE, "Dein Name ist nicht in diesem Stil: Vor_Zuname");
    Kick(playerid);
    return 1;
    }
    //-----------------------------------------------------------------------------------------------
    new rand = 1000 + random(8999);
    new string2[100];
    sicherheitscode[playerid] = rand;
    format(string2, sizeof(string2), "Gib bitte folgenden Sicherheitscode ein um zum Login zu gelangen: {F3FF02}%d",rand);
    ShowPlayerDialog(playerid, 789, DIALOG_STYLE_INPUT,"German-Elite-Reallife - Sicherheitsabfrage",string2,"Weiter","Verlassen");


    //PlayerPlaySound(playerid, 1185, 0.0, 0.0, 0.0);
    PlayerInfo[playerid][pModel] = Peds[classid][0];
    SetPlayerTeamFromClass(playerid,classid);
    SetupPlayerForClassSelection(playerid);
    return 1;
    }

    Tag,


    Ich will, dass nur User mit Roleplay Namen auf meinem Server kommen können.


    Also z.B. einer mit dem Namen Max_Musterman


    Habe sowas auch schon im Script allerdings funktioniert der nicht richtig. Der User wird nicht richtig gekickt und es steht auch nicht wieso er nicht Joint.


    new string2[200];
    GetPlayerName(playerid, psender, sizeof(psender));
    if(strfind(psender,"_",false)==-1)
    {
    SendClientMessage(playerid, COLOR_WHITE, "Dein Name ist nicht in diesem Stil: Vor_Zuname");
    Kick(playerid);
    return 1;
    }

    Achso, also die Cars die ich mit AddStaticVehicleEx erstelle spawnen erst nach den User cars?


    Ich hatte mal ein Script hier Runtergeladen der das schon drinn hatte..
    Allerdings finde ich das Script nicht mehr :/

    Was wäre denn die einfachste und schnellste Möglichkeit?


    Oder so?
    "bei onplayervehicle exit,fragste einfach die kilometerstand ab ^^ und speicherst es per dini oder mysql ab :P
    Dan bei onplayerentervehicle ^^ ladest es ... hab grad keine zeit sosnt würds ichs dir zeigen"

    Leider ist es nicht so einfach.


    new Float:kmdistance[MAX_VEHICLES];
    new mein[MAX_VEHICLES];
    new km[MAX_VEHICLES];
    new Float:xx[MAX_VEHICLES],Float:yy[MAX_VEHICLES],Float:zz[MAX_VEHICLES];
    new Text:tacho[MAX_VEHICLES];
    new tachovar[MAX_VEHICLES];


    Leider ist der Tachostand bei beiden Gleich..