Geblitzt von / Du hast geblitzt

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
  • Hallöchen.
    Ich würde mich mal dafür interessieren ob es möglich ist in diesem Blitzerinclude dies so zu umschreiben, das der jenige der geblitzt sieht, welcher Officer ihn geblitzt hat und anderstrum das der Officer sieht wenn er geblitzt hat. Sprich:



    [PC:] Sie haben die Person (John_Barrow) mit einer Geschwindikeit von XY km/h geblitzt.


    Oder


    Sie wurden geblitzt von Officer ... .


    Ist dies möglich :o)?


    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Credits:
    // Script erstellt von Stas
    // Offizieller Scripter der Xtreme - RolePlay - Community
    // www.xtreme-roleplay.eu
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Einstellungen
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    #define MAX_BLITZER 30 // Maximale Anzahl von Blitzern
    #define BLITZER_TIMER_INTERVALL 500 // Intervall für das Blitzen (in Milliesekunden)
    #define BLITZER_PAUSE 0 // Anzahl der Minuten, in denen der Spieler nicht mehr geblitzt werden kann
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // globale Variablen
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    enum eBlitzer {
    ID, Float:BlitzerX, Float:BlitzerY, Float:BlitzerZ, Radius, Geschwindigkeit, Erstellt
    };
    new Blitzer[MAX_BLITZER][eBlitzer];
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // CallBacks
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    forward Blitzer_Timer();
    public Blitzer_Timer() {
    new save, strafe, speed;
    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])) {
    speed = ErmittleGeschwindigkeit(playerid,true);
    if(speed > Blitzer[i][Geschwindigkeit]) {
    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 = (speed*2) - Blitzer[i][Geschwindigkeit];
    PlayerPlaySound(playerid, 1132, 0.0, 0.0, 0.0);
    GivePlayerMoney(playerid, -strafe);
    // Text für Spieler
    SendClientMessage(playerid,,0xF60000F6"Du wurdest wegen zu hoher Geschwindigkeit geblitzt!");
    format(string,sizeof(string), "Du bist %d km/h gefahren und musst $%d Bußgeld bezahlen.", speed, strafe);
    SendClientMessage(playerid, 0xF60000F6, string);
    }
    }
    }
    }
    }
    return 1;
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Funktionen
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    stock AddBlitzer(playerid,speed,radius) {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    for(new i = 0; i < sizeof(Blitzer); i++) {
    if(Blitzer[i][Erstellt] == 0) {
    Blitzer[i][BlitzerX] = x + 1.0;
    Blitzer[i][BlitzerY] = y + 1.0;
    Blitzer[i][BlitzerZ] = z;
    Blitzer[i][Geschwindigkeit] = speed;
    Blitzer[i][Radius] = radius;
    Blitzer[i][Erstellt] = 1;
    Blitzer[i][ID] = CreateObject(1278, x + 1.0, y + 1.0, z, 0.0, 0.0, 10);
    return 1;
    }
    }
    return 0;
    }
    stock RemoveBlitzer(playerid) {
    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])) {
    Blitzer[i][Erstellt] = 0;
    Blitzer[i][BlitzerX] = 0.0;
    Blitzer[i][BlitzerY] = 0.0;
    Blitzer[i][BlitzerZ] = 0.0;
    DestroyObject(Blitzer[i][ID]);
    return 1;
    }
    }
    }
    return 0;
    }
    stock RemoveAllBlitzer() {
    for(new i = 0; i < sizeof(Blitzer); i++) {
    if(Blitzer[i][Erstellt] == 1) {
    Blitzer[i][Erstellt] = 0;
    Blitzer[i][BlitzerX] = 0.0;
    Blitzer[i][BlitzerY] = 0.0;
    Blitzer[i][BlitzerZ] = 0.0;
    DestroyObject(Blitzer[i][ID]);
    }
    }
    return 0;
    }
    stock CountBlitzer() {
    new anzahl = 0;
    for(new i = 0; i < sizeof(Blitzer); i++) {
    if(Blitzer[i][Erstellt] == 1) anzahl++;
    }
    return anzahl;
    }
    stock ErmittleGeschwindigkeit(playerid,bool:kmh) {
    new Float:x,Float:y,Float:z,Float:rtn;
    if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z); else GetPlayerVelocity(playerid,x,y,z);
    rtn = floatsqroot(x*x+y*y+z*z);
    return kmh?floatround(rtn * 100 * 1.61):floatround(rtn * 100);
    }

  • GetPlayerName ist das ZUauberwort ;)


    wiki.sa-mp.com schau da mal nach

  • new name[MAX_PLAYER_NAME], string[44]; // definiert name und string



    GetPlayerName(playerid, name, sizeof(name));//findet den namen heraus des Spielers



    format(string, sizeof(string), "%s has joined the server.",name); // Zeigt eben diesen Text an mit dem herausgefundenen namen



    SendClientMessageToAll(0xFFFF00AA, string); // Sendet nachricht an alle mit dem String und string ist oben

  • string{44]


    heißt es sind nur 44 Zeichen im Text erlaubt wenn es mehr werden werden sie nicht angezeigt.

  • Wie hie binde ich das nun ein also wie hieß das am Schluß konkret bei meine mBeispiel?

  • Wo ist dein Befehl??


    Denk doch mal logisch nach vielleicht findeste die Antwort selber ;)

  • Ja und wo setze ich dies nun ein??

    Einmal editiert, zuletzt von J0hn.X3r ()

  • Bräuchte dringend Hilfe... der ganze Code:


    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, F_O, "_____________________________________________________________");
    SendClientMessage(playerid, NY, "** [BENUTZE:] /blitzer [Deine Funktion] **");
    SendClientMessage(playerid, COLOR_WHITE, "** Funktionen: add, remove, removeall, count **");
    SendClientMessage(playerid, F_O, "_____________________________________________________________");
    return 1;
    }
    if (!IsACop(playerid)) return SendClientMessage(playerid, COLOR_RED, "[ZENTRALE:] Der Zugriff wurde ihnen verweigert!");
    if(strcmp(tmp,"add",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "[BENUTZUNG:] /blitzer [add] [Geschwindigkeit] [Radius]");
    new b_speed;
    b_speed = strval(tmp);
    if(b_speed < 20 || b_speed > 180) return SendClientMessage(playerid, COLOR_LIGHTRED, "[PC:] Der Blitzer kann nur Geschwindikeiten zwischen 20 und 180 km/h erfassen!");
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "[BENUTZUNG:] /blitzer [add] [Geschwindigkeit] [Radius]");
    new b_radius;
    b_radius = strval(tmp);
    if(b_radius < 5 || b_radius > 50) return SendClientMessage(playerid, COLOR_LIGHTRED, "[PC:] Der Radius des Blitzers muss zwischen 5 und 50 Meter liegen!");
    AddBlitzer(playerid,b_speed,b_radius);
    SendClientMessage(playerid, NB, "[ZENTRALE:] Ein Blitzer wurde erfolgreich aufgestellt und registriert! Dieser wird nun mit ihrem Laptop verbunden.");
    return 1;
    }
    else if(strcmp(tmp,"remove",true) == 0)
    {
    RemoveBlitzer(playerid);
    SendClientMessage(playerid, NB, "[ZENTRALE:] Dieser Blitzer wurde erfolgreich abgebaut und aus der Akte entfernt!");
    return 1;
    }
    else if(strcmp(tmp,"removeall",true) == 0)
    {
    RemoveAllBlitzer();
    SendClientMessage(playerid, NB, "[ZENTRALE:] Es wurden alle Blitzer erfolgreich abgebaut!");
    return 1;
    }
    else if(strcmp(tmp,"count",true) == 0)
    {
    format(string,sizeof(string)," [ZENTRALE:] Es sind momentan %d Blitzer registriert. Diese werden general um 4.00 Uhr abgebaut!",CountBlitzer());
    SendClientMessage(playerid,NB,string);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, F_O, "_____________________________________________________________");
    SendClientMessage(playerid, NY, "** [BENUTZE:] /blitzer [Deine Funktion] **");
    SendClientMessage(playerid, COLOR_WHITE, "** Funktionen: add, remove, removeall, count **");
    SendClientMessage(playerid, F_O, "_____________________________________________________________");
    return 1;
    }
    }

  • TeamSpirit [44] net {44] ;)


    Erstmal musst du abfragen können welche Person (X) den Bliter (Y) aufgebaut hat und die Geschwindigkeit vom Blitzen (Z). Ohne das bringt dir alles nichts, wenn das getahn ist dann bringt dir erst GetPlayerName etwas, dann verwendest du
    new X[26];
    new Text[64];
    GetPlayerName (playerid, X, sizeof(X));
    format(Text, sizeof(Text), "[PC] Du hast %s mit %dkm/h geblitzt.",Y,Z);
    SendClientMessage(X,Deine_Farbe, Text);

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25