[INCLUDE] Blitzer - System

  • Gibt es eine Möglichkeit die Blitzer in OnGameModeInit zu erstellen?


    Jedoch bringt es nichts.


    // Hat sich erledigt, habs hinbekommen, für alle die es auch brauchen:


    stock AddBlitzerxyz(Float:x,Float:y,Float:z,speed,radius) {
    for(new i = 0; i < sizeof(Blitzer); i++) {
    if(Blitzer[i][Erstellt] == 0) {
    Blitzer[i][BlitzerX] = x;
    Blitzer[i][BlitzerY] = y;
    Blitzer[i][BlitzerZ] = z;
    Blitzer[i][Geschwindigkeit] = speed;
    Blitzer[i][Radius] = radius;
    Blitzer[i][Erstellt] = 1;
    return 1;
    }
    }
    return 0;
    }

    Mfg kony




    Einmal editiert, zuletzt von QwErTs ()

  • auch fehler :/


    C:\test\pawno\include\blitzer.inc(26) : error 017: undefined symbol "GetPVarInt"
    C:\test\pawno\include\blitzer.inc(29) : error 017: undefined symbol "SetPVarInt"
    C:\test\pawno\include\blitzer.inc(40) : error 017: undefined symbol "SetPVarInt"

  • moin jungs
    als erstes ma ein lob und dank an stas für das blitzsys ^^


    aber hab da au en kleines prob und zwar


    1.wäre zum einen in der inc. eRadius nicht definiert wo uss ich das den tun
    2.die tag mismatch


    und in meinem gm hab ich SendFormattedText nicht definiert muss ich das denn machn oder kann ich das einfach in
    SendClientMessage umändern?


    vielen dank schon ma an helfenede mituser xD


    C:\Users\DiZzY\Desktop\sampserver\pawno\include\blitzer.inc(79) : error 017: undefined symbol "eRadius"
    C:\Users\DiZzY\Desktop\sampserver\pawno\include\blitzer.inc(84) : warning 213: tag mismatch
    C:\Users\DiZzY\Desktop\sampserver\pawno\include\blitzer.inc(98) : warning 213: tag mismatch
    C:\Users\DiZzY\Desktop\22240.pwn(11055) : error 017: undefined symbol "SendFormattedText"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.

  • Wenn ich die RemoveBlitzer(playerid); funktion benutzen will, bekomme ich gesagt, dass im blitzer.inc eRadius nicht definiert ist:
    pawno\include\blitzer.inc(79) : error 017: undefined symbol "eRadius"


    entferne ich die RemoveBlitzer funktion wieder, funktioniert es.


    Aber sonst top. Einfach einzubauen und zu bedienen.


    //edit: Problem gelöst! in der blitzer.inc in Zeile 29 das e von eRadius entfernen und dann klappt alles wunderbar.

  • if(strcmp(strget(cmdtext,0), "/blitzer", true) == 0)
    {
    if(!strlen(strget(cmdtext,2))) return SendClientMessage(playerid, COLOR_RED, "Benutzung: /blitzer [Geschwindigkeit] [Radius]");
    {
    new speed = strval(strget(cmdtext,1));
    new radius = strval(strget(cmdtext,2));
    AddBlitzer(playerid,speed,radius);
    SendClientMessage(playerid, COLOR_RED, "Der Blitzer mit %s KM/h und der Reichweite von %s wurde aufgestellt!",speed,radius);
    }
    return 1;
    }


    habs jetzt so. Aber trotzdem keine ausgabe des textes wenn der Blitzer aufgestellt wird.


    PS: es wird auch kein blitzer aufgestellt.

    Einmal editiert, zuletzt von GooMan ()


  • Der müsste gehen:
    if(strcmp(cmd, "/blitzer", true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_LIGHTYELLOW2, "[BENUTZUNG:] /blitzer [Funktion]");
    SendClientMessage(playerid, COLOR_WHITE, "Verfügbare Funktionen: add, remove, removeall, count");
    return 1;
    }
    if (!IsACop(playerid)) return SendClientMessage(playerid, COLOR_LIGHTRED, "[ERROR:] Du bist kein Polizist!");
    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, "[ERROR:] Die Geschwindigkeit muss zwischen 20 und 180 km/h liegen!");

    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, "[ERROR:] Der Radius muss zwischen 5 und 50 Meter liegen!");
    AddBlitzer(playerid,b_speed,b_radius);
    SendClientMessage(playerid, COLOR_LSPD, "[ZENTRALE:] Ein Blitzer wurde erfolgreich aufgestellt und registriert!");
    return 1;
    }
    else if(strcmp(tmp,"remove",true) == 0)
    {
    RemoveBlitzer(playerid);
    SendClientMessage(playerid, COLOR_LSPD, "[ZENTRALE:] Dieser Blitzer wurde erfolgreich abgebaut und aus der Akte entfernt!");
    return 1;
    }
    else if(strcmp(tmp,"removeall",true) == 0)
    {
    RemoveAllBlitzer();
    SendClientMessage(playerid, COLOR_LSPD, "[ZENTRALE:] Dieser Blitzer wurde erfolgreich abgebaut und aus der Akte entfernt!");
    return 1;
    }
    else if(strcmp(tmp,"count",true) == 0)
    {
    SendFormattedText(playerid, COLOR_LSPD, "[ZENTRALE:] Es sind momentan %d Blitzer registriert und werden um 4.00 Uhr abgebaut!", CountBlitzer());
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTYELLOW2, "[BENUTZUNG:] /blitzer [Funktion]");
    SendClientMessage(playerid, COLOR_WHITE, "Verfügbare Funktionen: add, remove, removeall, count");
    return 1;
    }
    }

  • was soll ich damit machen??
    Möglicher Gebrauch:


    Pawn-Quelltext
    1
    2
    3
    4
    5
    6
    7
    8
    9


    dcmd_blitzer(playerid, params[]) {
    new speed,radius;
    if (sscanf(params, "ii", speed, radius)) {
    SendClientMessage(playerid, 0xffffffff, "Benutzung: /blitzer [Geschwindigkeit] [Radius]");
    return 1;
    }
    AddBlitzer(playerid,speed,radius);
    return 1;
    }

  • Hab einige Probleme damit..

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • Der Bug mit "eRadius" beruht wie ich annehme auf einem Rechtschreibfehler.
    Einfach die Include öffnen und das "eRadius" durch "Radius" ersetzen, abspeichern fertig.


    Die fertige Include ist im Dateinanhang.
    Ist Virenfrei, keine Sorge :)




    MfG Firer

  • hey Stas könntest du vllt machen das dort dann ein object ist ?
    also das das bei addblitze createt wird und bei removeblitzer weg geht?
    wäre total nett am besten so wie man steht soll das object vorjemanden spawnen

  • Bei mir blitzt der einfach nicht -.-* :<


    Da spwant ein object?! xD


    Aber es geht nicht mehr weg ;)

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


    Einmal editiert, zuletzt von Hijashy ()