Beiträge von Haxler

    Irgendwie unnötig. Du erstellst hier ein Thema und fragst ob wir dir den Download-Link schicken können. Jetzt hast du 10 Minuten gewartet und höchst wahrscheinlich immer noch keinen Download-Link.
    Hättest du einfach mal "bfx_objects.inc" gegoogelt dann hättest du jetzt schon 10 Download-Links und du hättest dir das Thema + deine 10 Minuten gespart.


    Und da du als nächstes wahrscheinlich gefragt hättest, was dieses "google" ist, hab ich hier einen ganz tollen Link für dich: www.google.de

    Zitat

    du kannst also einen Text von max. 128 Zeichen in deiner Beispielsvariable speichern.


    waren es nicht 127 Zeichen + 0 - Terminierung? :/


    Edit: Zitat ausm Wiki :

    Zitat

    so in a 20 cell array you can have a 19 character string and a NULL termination character.

    stock MotorRandom(vehicleid)
    {
    motor[vehicleid] = (random(1) == 0) ? (false): (true);
    return 1;
    }
    versuchs so. Einfach MotorRandom(vid) aufrufen.

    mit p<_> gibst du an, dass " _ " das trennzeichen darstellen soll. Die Stringlänge muss man seit sscanf2 angeben (Eckige Klammern).
    Versuchs mal so:
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    new vorname[15], nachname[15];
    if(sscanf(name,"p<_>s[15]s[15]",vorname,nachname))return SendClientMessage(playerid,rot,"Falscher Name: Vorname_Nachname!");
    printf("Spieler(%d): Vorname: %s, Nachname: %s",playerid, vorname, nachname);
    Wenn du das alte sscanf verwendest (die stock-version) dann musst du die sscanf zeile mit der die ich oben geschrieben hab tauschen.

    Du musst aber auch beachten, dass während den 4 Sekunden auch noch weitere Nachrichten kommen könnten. Mit einem Textdraw/GameText wäre das sicher besser gelöst. In jedem Fall brauchst du einen Timer.

    Willst du dass man 4 Minuten lang keine Nachrichten per SendClientMessage "empfangen" kann?



    new scm[MAX_PLAYERS] = 1;
    stock SendClientMessageEx(playerid,farbe,text[])
    {
    if(scm[playerid] == 0)return 1;
    return SendClientMessage(playerid,farbe,text);
    }
    #define SendClientMessage SendClientMessageEx


    stock BlockMessage(playerid,block)
    {
    scm[playerid] = block;
    return 1;
    }

    jetzt könntest du nach der Nachricht einfach BlockMessage(playerid,0); machen und nach 4 Minuten BlockMessage(playerid,1);
    Hab die Funktion noch nicht getestet..

    Also als erstes würde ich die empfehlen nen richtigen Thread-Titel zu wählen.
    Zu deiner Frage:
    Entweder du startest beim Befehl einen Timer, der das Tor automatisch schließt oder du startest ihn bei OnObjectMoved. Dabei hast du den Vorteil, dass das Tor dann genau xyz Sekunden offen bleibt und dann geschlossen wird.

    Das Problem wird wohl daran liegen, dass die Vehicleid in der Variable gespeichert bleibt auch wenn das Fahrzeug bereits gelöscht wurde. Daher musst du vor dem Löschen abfragen, ob das Fahrzeug überhaupt erstellt wurde.