Beiträge von Kaliber

    Schreib das mal so:


    ocmd:blitzer(playerid, params[])
    {
    if(!isPlayerInFrakt(playerid, 2)) return SendClientMessage(playerid, Rot, "Du bist nicht berechtigt einen Blitzer aufzubauen.");
    if(isPlayerFRang(playerid, 3)) return SendClientMessage(playerid, Rot, "Du musst mindestens Geselle sein um einen Blitzer aufzubauen.");
    new speed, funktion[16];
    if(sscanf(params, "s[16]D(0)", funktion, speed)) return SendClientMessage(playerid, Rot, "Benutzung: /blitzer [add] [Geschwindigkeit] / [remove] / [removeall]");
    if(!strcmp(funktion, "add", true))
    {
    if(!speed) return SendClientMessage(playerid, Rot, "Benutzung: /blitzer [add] [Geschwindigkeit] / [remove] / [removeall]");
    if(speed <= 29 || speed > 151) return SendClientMessage(playerid, Rot, "Die Geschwindigkeit muss zwischen 30 und 150 km/h sein.");
    AddBlitzer(playerid, speed, 25);
    new string[64],string1[128];
    format(string1, sizeof(string1), "HQ: Ordnungshüter %s hat einen Blitzer aufgebaut. Geschwindigkeit: %dkm/h.", SpielerName(playerid), speed);
    format(string, sizeof(string), "HQ: An alle Einheiten: Das System meldet:");
    for(new i; i < MAX_PLAYERS; i++) {
    if(isPlayerInFrakt(i, 1) || isPlayerInFrakt(i, 2)) {
    SendClientMessage(i, Meldung, string),SendClientMessage(i, Meldung, string1);
    }
    }
    return 1;
    } else if(!strcmp(funktion, "remove", true)) {
    SendClientMessage(playerid, Gelb, "Moin hier alle");
    return 1;
    }
    return SendClientMessage(playerid, Rot, "Die Funktionen für den Blitzer sind [add] / [remove] / [removeall]");
    }


    mfg. :thumbup:

    Schade, dass es hier keinen Facepalm Smiley gibt für die Antwort von Kaliber...


    Wieso? :huh:


    Wenn du die GangZone beliebig verschiebst, dann ist sie doch nicht mehr über dem Gebiet, welches sie eingrenzen soll.


    Das ist doch der Sinn einer "Zone" (normalerweise), dass sie halt eben einen exakten Bereich markiert und nicht beliebig mal so sich verschiebt.

    //Edit:


    Schreib die Funktion mal so:


    stock FraktionsNamen(fID)
    {
    new rankname[32];
    switch(fID)
    {
    case 0: rankname="Zivilist";
    case 1: rankname="LSPD";
    case 2: rankname="FBI";
    case 3: rankname="Army";
    case 4: rankname="Medic";
    case 5: rankname="News Reporter";
    case 6: rankname="T-GmbH";
    case 7: rankname="Abfallwirtschaft";
    case 8: rankname="Hitman";
    case 9: rankname="Grove Street";
    case 10: rankname="Al-Qaida";
    case 11: rankname="Ballas";
    case 12: rankname="Fahrschule";
    case 13: rankname="La Cosa Nostra";
    case 14: rankname="Taxi";
    case 15: rankname="Yakuza";
    case 16: rankname="Staatsverwaltung";
    case 17: rankname="SAPD";
    case 18: rankname="Aztecas";
    case 19: rankname="Rifas";
    case 20: rankname="RS";
    case 21: rankname="Cripz";
    case 22: rankname="Russische Mafia";
    case 23: rankname="SFBC";
    case 24: rankname="Vagos";
    case 25: rankname="Wheelmen";
    }
    return rankname;
    }


    mfg. :thumbup:

    da lohnt sich er Aufwand nicht, wenn man es in Relation zu den Fehlern sieht, wie man hier wunderschön sieht.


    Zu deiner Information die Fehler entstanden nicht durch das packen der Variablen, sondern durch das const...was als Beispiel dienen sollte.


    FraktionsNamen


    Zeig mal wie du diese Funktion geschrieben hast ;)

    Ich habe bis jetzt noch nichts weil ich nicht weiß wie das geht.


    Naja, einfach so:


    #define MAX_FRAKS 15 //Halt wie viele du hast


    new bool:frak[MAX_FRAKS char]; //Da alles mit false (0x00) initialisiert wird in Pawn, sind alle Fraktionen am Anfang offen


    //Dann wenn der Spieler sich eingeloggt hat
    const id = SpielerInfo[playerid][Fraktion]; //Halt mit deiner Speicherung anpassen
    if(frak{id} && id != 0)
    {
    //Hier ist die Fraktion geschlossen.
    SpielerInfo[playerid][Fraktion] = 0; //Hier setzt du ihn zum Zivi
    SpawnPlayer(playerid);//damit er nochmal spawnt als Zivi
    }


    //In deinem FrakClose command:
    frak{frakid} = true;


    //In deinem FrakOpen command:
    frak{frakid} = false;


    //Und dann halt noch Speichern.


    Hoffe das hilft dir als grobe Richtung ;)


    mfg. :thumbup: