Beiträge von Campbell

    Was für ein SQL-Error wird denn ausgegeben, wenn du so groß vom SQL-Error sprichst? md5() im Query zu verwenden, wird wohl schlecht funktionieren, du kannst keine Funktionen im Query ausführen lassen. Mach dich dabei auch gleich über SQL-Injections schlau und über threaded Querys. Ebenfalls schalte doch einfach während der Entwicklungsphase das Debugging ein. Das wird dir unheimlich Zeit sparen.


    new MySQL:connection = mysql_init(LOG_ALL, 1);

    Mehrfaches posten der gleichen Frage ist meines Wissens nach nicht erlaubt und sagt auch Bände über dich aus. Kleiner Tipp voraus: GetMaxPlayers() wirkt sich nicht immer positiv aus, des öfteren auch negativ. Zum Problem: Also entweder, du hast Probleme mit mehreren Pawno Fenstern oder ich übersehe derzeit etwas. Ansonsten schau dir doch nochmal isPlayerInFrakt() an bzw. lass uns mal einen Blick drauf werfen.

    Du beginnst damit, zu testen, ob der Spieler in der Nähe von einem seiner Wagen ist. Das machst du, indem du eine for-Schleife durch die Wagen rattern lässt und nebenher abfragst, ob der Spieler Eigentümer des Wagens ist mit strcmp() - Vergleicht zwei Strings (Spielername und Wageneigentümer). Falls dieser Spieler der Eigentümer sei, könntest du nun in einer switch-Anwseisung testen, ob das Auto verschlossen oder geöffnet ist und dazu es direkt öffnen oder verschließen. Siehe dazu GetVehicleParamsEx().

    Zu aller erst, solltest du deinen Beitrag auf korrekte Rechtschreibung testen, bevor du ihn veröffentlichst, das ist ja schlimm. Ebenfalls, warum sagst du nicht einfach was du nicht verstehst, sodass wir dir Ansätze bieten können? Ich denke so wird sich niemand mit dir per Skype in Verbindung setzen.

    'Sollte es so sein?' ist nicht wirklich eine gute Frage, wenn man einfach zwei verschiedene Scriptausschnitte vergleicht und noch nie beschrieben hat, was man überhaupt genau machen möchte. Alles was ich soweit sagen kann, ist dass dein Code derzeit nicht wirklich irgendwelche Standarts enthält und, dass es einfach total unübersichtlich aussieht.


    Ebenfalls Kaliber: Man kann dort sscanf durchaus benutzen, man muss es nur richtig anwenden. Deine Aussage, dass man sscanf nur mit ocmd bzw. zcmd verwendet, ist kompletter Schwachsinn.

    Es wäre sehr sinnvoll elseif zu verwenden anstatt konstant einen neuen if-clause aufzumachen. Du kannst entweder solange die Schleife laufen lassen, bis eine Bedingung erfüllt wurde oder konstant von Anfang bis Ende.

    gettime() gibt dir den Unix-Timestamp an, das heißt die Zeit in Sekunden seit dem 1.1.1970. Falls du dir die Zeit ausgeben möchtest, wie lange der Schein noch gesperrt ist, musst du dir den Wert im Moment des Speicherns merken, und damit die Sperre kalkulieren.



    dini_IntSet(Sperrdatei, "Zeit", gettime());


    // --------------


    format(string, sizeof(string), "Dein Schein wurde dir entzogen. In %i Sekunden bekomms du ihn wieder.", anzahl, (2*60*60)-dini_Int(Sperrdatei, "Zeit"));
    SendClientMessage(playerid, COLOR_GELB, string);

    Lass dir doch mal die Variablen ausgeben und schau ob sie überhaupt Werte enthalten. Falls nicht, dann solltest du dir lieber mal den Ort anschauen, an dem du die Werte zuweist. Schau dir printf() an, um die Variablen auszugeben.

    Hat jemand eine Idee, wie der Operator |= funktioniert? Konnte es selbst mit Beispielen nicht herausfinden. Kurzes Beispiel:



    new a = 1000, b = 0101;
    a |= b;
    printf("%i", a);
    printf("%i", b);


    Code
    1005
    101

    Ich habe ein '!' vergessen, wenn der Spieler kein NPC ist, dann wird er gezählt:



    public DMAnzeige5()
    {
    new spieler, String[50];
    for(new i; i < 500; i++)
    {
    if(GetPlayerVirtualWorld(i) == 8 && IsPlayerConnected(i) && !IsPlayerNPC(i)) spieler++;
    }
    format(String, sizeof(String), "%i", spieler);
    TextDrawSetString(TextdrawInDM10, String);
    return 1;
    }

    Wie kann ich jedem auto in meinem Script Nitro geben!? UNd wenn ich welche spawn bsp. mit /v damit die auch Nitro haben!?


    Benutze im Befehl /v eben AddVehicleComponent, wie ich es bereits in deinem Thread beschrieben habe und um allen Autos Nitro zu geben musst du eben für alle Autos (MAX_VEHICLES) AddVehicleComponent verwenden. Eine for-Schleife ist hier angebracht.


    public DMAnzeige5()
    {
    new spieler, String[50];
    for(new i; i < 500; i++)
    {
    if(GetPlayerVirtualWorld(i) == 8 && IsPlayerConnected(i) && IsPlayerNPC(i)) spieler++;
    }
    format(String, sizeof(String), "%i", spieler);
    TextDrawSetString(TextdrawInDM10, String);
    return 1;
    }


    Ich würde MAX_PLAYERS statt 500 verwenden und MAX_PLAYERS auf die Anzahl deiner Slots setzen. Dadurch machst du unnötig viele Durchläufe.

    Nun ja, wir sind nicht hier um dir deine Zeile zu scripten, sondern zum helfen. Den Ansatz, wie du die PlayerID im Dialog verwenden kannst hast du ja nun. Nun musst du eben einen neuen Dialog erstellen für goto und gethere. Dort musst du dann eben statt dem Leben mit GetPlayerPos und SetPlayerPos die Koordinaten des Spielers setzen. Probiers doch einfach mal und frag nach, wenn Probleme auftreten. Es wird dir viel mehr bringen, wenn du weißt, wie du es selbst erstellen kannst.