Beiträge von Snail

    Es reicht wenn du die Funktion IsPlayerInRangeOfPoint returnst. Diese gibt ja bereits true bzw. false zurück.

    stock IsPlayerInRangeOfPlayer(playerid, otherid, Float:range)
    {
    new Float:Pos[3];
    GetPlayerPos(otherid, Pos[0], Pos[1], Pos[2]);
    return IsPlayerInRangeOfPoint(playerid, range, Pos[0], Pos[1], Pos[2]);
    }

    if(sekunden>60)
    {
    SendClientMessage(playerid,0xFF0000FF,"Du kannst höchstens 60 Sekunden eingeben. Dein Countdown wurde auf 60 Sekunden gesetzt!");
    sekunden=60;
    }

    Es darf kein return kommen, da sonst der Code beendet wird.

    mit einer if-Abfrage :
    if(sekunden>60) sekunden=60;


    // edit :
    da countdown ja ne globale Variable ist kannst du einfach vor der sscanf funktion folgende Zeile einfügen :
    if(countdown != 0) return SendClientMessage(playerid, COLOR, "Es läuft bereits ein Countdown.");

    Hey,
    Da es bis jetzt noch nicht gepostet wurde, mach ich das mal.
    Es gab ein Update zu Ostern :


    Quelle : http://forum.sa-mp.com/showthread.php?p=1178548#post1178548


    Download : http://files.sa-mp.com/sa-mp-0.3c-R3-install.exe


    Gruß Snail

    Ich weiß nicht in wie weit es möglich ist, aber es wäre gut, wenn zu den 1000 Zeichen nur der Inhalt gezählt wird und nicht die bb-Codes für Formatierungen u.ä.

    N' abend zusammen.
    Mein Problem ist folgendes :



    enum _test
    {
    // variablen


    Var[10],


    // variablen
    };
    new Test[...][_test];


    // Funktion :
    Test[0][Var[0]]=1;


    Dabei erhalte ich den Fehler

    Zitat

    error 028: invalid subscript (not an array or too many subscripts): Var


    Weiß jemand wie ich den Fehler beheben kann, denn ich möchte nicht Var1, Var2, ... schreiben da es einfach zu viele Werte wären.


    Gruß Snail


    PS: Suchfunktion wurde verwendet, allerdings konnte kein zufriedenstellendes Ergebnis gefunden werden.

    Hier ein paar Kritikpunkte :


    Du solltest beim Starten des Events überprüfen, ob bereits ein Event am laufen ist, da sonst nicht alle Fahrzeuge zerstört werden.
    Szenario :
    Admin A startet ein Event --> Fahrzeuge ID 0-9 werden erstellt.
    Admin B startet ein Event --> Fahrzeugvariablen werden mit den Fahrzeug IDs 10-19 überschrieben
    Admin A beendet das Event --> Fahrzeuge ID 10-19 werden entfernt
    Admin B beendet das Event --> keine Fahrzeuge werden entfernt.


    Außerdem solltest du die Fahrzeugvariablen auf -1 setzten, nachdem du die Fahrzeuge zerstört hast.
    Den solltest du nachdem Admin A das Event beendet weitere Fahrzeuge spawnen, erhalten diese die niedrigste freie ID (in dem Beispiel ID 10ff). Wenn jetzt Admin B sein Event beenden möchte, werden sämtliche Fahrzeuge mit den IDs 10-19 entfernt, auch wenn diese nicht zum Event gehören.


    Beim Beenden das selbe wie beim starten. Erst überprüfen ob schon ein Event am laufen ist.


    Gruß Snail


    // Edit :
    Du kannst übrigens auch For-Schleifen verwenden. Das spart ein paar Zeilen.
    Das hier :

    Mehr = 5.0;
    EventCars[0] = CreateVehicle(571,X+Mehr,Y,Z,0,3,2,600000);
    Mehr += 5.0;
    EventCars[1] = CreateVehicle(571,X+Mehr,Y,Z,0,3,2,600000);
    Mehr += 5.0;
    EventCars[2] = CreateVehicle(571,X+Mehr,Y,Z,0,3,2,600000);
    Mehr += 5.0;
    EventCars[3] = CreateVehicle(571,X+Mehr,Y,Z,0,3,2,600000);
    Mehr += 5.0;
    EventCars[4] = CreateVehicle(571,X+Mehr,Y,Z,0,3,2,600000);
    Mehr += 5.0;
    EventCars[5] = CreateVehicle(571,X+Mehr,Y,Z,0,3,2,600000);
    Mehr += 5.0;
    EventCars[6] = CreateVehicle(571,X+Mehr,Y,Z,0,3,2,600000);
    Mehr += 5.0;
    EventCars[7] = CreateVehicle(571,X+Mehr,Y,Z,0,3,2,600000);
    Mehr += 5.0;
    EventCars[8] = CreateVehicle(571,X+Mehr,Y,Z,0,3,2,600000);
    Mehr += 5.0;
    EventCars[9] = CreateVehicle(571,X+Mehr,Y,Z,0,3,2,600000);

    kann man so machen :

    Mehr =0;
    for(new i=0; i<10; i++)
    {
    Mehr += 5;
    EventCars[i] = CreateVehicle(571,X+Mehr,Y,Z,0,3,2,600000);
    }