[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Habe ich mal geladen @Kaliber aber er gibt nicht aus wegen den Scriptfile ich sehe das nur ein kurzen moment siehe log:


  • Beitrag von Dr. Frauenarzt ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Behoben ().
  • Huhu,
    bekomme folgende Fehlermeldung...

    Code
    sscanf warning: Strings without a length are deprecated, please add a destination size.
    sscanf warning: Strings without a length are deprecated, please add a destination size.




    hierdurch....


    Code
    new player[MAX_PLAYER_NAME], reason[64], query[256], crew;
    if(sscanf(params, "ss", player, reason)) //MUSS ICH DAS ANDERS MACHEN ?

    Ich nehme mal an ich muss die sscanf abfrage anders machen, damit durch die strings kein error mehr entsteht ?

    MfG. Adrian

  • Wen ich mich nicht irre ss[64] weil man wahrscheinlich die Größe angeben soll bzw wieviele Zeichen darum der Fehler.

    Ja habs schon gefixxt war in meinem fall s[24]s[5].
    Hatte noch einen error, da man nicht s[MAX_PLAYER_NAME] machen darf. Ist aber gelöst. Trotzdem danke

    MfG. Adrian

  • Ich hab mal eine Frage, kenne mich nicht so mit MySQL aus.
    Anstatt das ich mit Mühe alle Werte auf 0 setzte, kann ich die Zeile auch löschen?`
    http://prntscr.com/o3xmj3
    Ich hab ja mal die userdbid und die dbid vom Fahrzeug, wie delete ich diese Reihe, sind Fahrzeuge von Spielern.

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Ich hab mal eine Frage, kenne mich nicht so mit MySQL aus.
    Anstatt das ich mit Mühe alle Werte auf 0 setzte, kann ich die Zeile auch löschen?`
    http://prntscr.com/o3xmj3
    Ich hab ja mal die userdbid und die dbid vom Fahrzeug, wie delete ich diese Reihe, sind Fahrzeuge von Spielern.

    https://dev.mysql.com/doc/refman/8.0/en/delete.html

  • C
    mysql_format(handle, query, sizeof(query), "DELETE FROM personalcars WHERE dbID = '%d'",PCar[playerid][i][P_dbID]);
                mysql_pquery(handle,query);


    So lösche ich ja die Zeile, jetzt sind aber so noch alle Variablen gesetzt, heißt man müsste theoretisch sich neu einloggen.




    Ist es möglich, alle Werte auf 0 zu setzten oder irgendwas invalides wie -1 ?
    Habs noch nie gemacht :D


    C
    enum PCarEnum{
            Float:P_X,
            Float:P_Y,
            Float:P_Z,
            Float:P_R,
    //...
    C
    new PCar[MAX_PLAYERS][MAX_PCARS][PCarEnum];

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ist i der Wert einer Schleife ? Wenn ja könntest du einfach wie folgt die Werte zurück setzen.
    PCar[playerid][i][P_X] = 0;
    PCar[playerid][i][P_Y] = 0;
    PCar[playerid][i][P_Z] = 0;
    PCar[playerid][i][P_R] = 0;
    und so weiter




    //edit: ich denke Leon war schneller :D

    MfG. Adrian

  • Ist es möglich, alle Werte auf 0 zu setzten oder irgendwas invalides wie -1 ?

    Leider geht das nicht, das musst du manuell ein nacheinander machen.

    Actually, gibt es da einen Trick.


    Natürlich kann man es mit einer Schleife machen oooder mit einer temporären Variable:



    new tmp[MAX_PCARS][PCarEnum]; //Temporäre Variable setzt alle Werte auf 0
    PCar[playerid] = tmp; //Resettet alle Variablen für den Spieler


    Ist sogar schneller, als über eine Schleife :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Jo, danke Kaliber!
    Ja das hatte ich gesucht, hab es in meinem Script gefunden nach langem suchen ty


    C
    new tmp[MAX_PCARS][PCarEnum];
    			PCar[playerid] = tmp;

    Wie ändere ich das jetzt um, dass er mir nur von einen bestimmten Slot also [MAX_PCARS] alles entfernt, also das MAX_PCARS einen integer kriegt von nem PVar

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Hab ein Problem einen String zu speichern bzw. einzeigen zu lassen:
    AHVbaujahr[20] und P_Baujahr[20]





    C
    PCar[playerid][d][P_Baujahr] = AHVehTypes1[i][AHVbaujahr];
    								printf("%s",PCar[playerid][d][P_Baujahr]);
    								printf("%s",AHVehTypes1[i][AHVbaujahr]);

    der zweite Print funktioniert super, der erste aber nicht, warum ? :D
    Also beim ersten kommt nur das erste Zeichen "(" danach nichts mehr.


    Die Variable setzte ich so:


    C
    format(string_tmp1, sizeof(string_tmp1), "(%s) %d", getMonat(Month), Year);
        	AHVehTypes1[FahrzeugID][AHVbaujahr] = string_tmp1;

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Grüzzi!


    Bekomm beim compilen folgenden Error:
    (79990) : error 017: undefined symbol "i2"


    Scriptstelle:


    //Polizei Station Verona Beach Eingang
    if(newkeys == 16 && IsPlayerInRangeOfPoint(playerid,1.0,453.1819,-1799.1451,5.5469))
    {
    SetPlayerPosEx(playerid,1517.5909,-1216.2153,-11.6321);
    SetCameraBehindPlayer(playerid);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,i2 != 4?(i2+1):i2 != 8?(i2+1):(i2+1));
    return 1;
    }



    Danke!

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen