variable mit format? (oder so :D)

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
  • Hallöchen :)


    Ich versuche, eine Variable per format zu erstellen, weil sie zufällig sein soll.
    Es gibt in meinem script in einem Array z.B. die Koordinaten spawnX1, spawnX2, spawnX3 und spawnX4.
    Aufrufen kann ich sie mit Autohaus[0][spawnX1], Autohaus[0][spawnX2] usw.


    Jetzt möchte ich zufällige Koordinaten haben und muss an spawnX eine zufällige Zahl (1-4) hängen.
    Das habe ich so versucht

    new zf = 1 + random(3);
    new spawX[7];
    format(spawX, sizeof(spawX), "spawnX%d", zf);
    new spawY[7];
    format(spawY, sizeof(spawY), "spawnY%d", zf);
    new spawZ[7];
    format(spawZ, sizeof(spawZ), "spawnZ%d", zf);
    new spawA[7];
    format(spawA, sizeof(spawA), "spawnA%d", zf);
    new stringXYZ[128];
    format(stringXYZ, sizeof(stringXYZ), "Spawn %d - X %s Y %s Z %s A %s", zf, spawX, spawY, spawZ, spawA); // Nur zum testen...
    SendClientMessage(playerid, COLOR_GREY, stringXYZ);

    Das funktioniert aber nicht.


    Wie kann man so etwas umsetzen? Ich komme hier grad nicht weiter ?(

  • Als Ausgabe kommt immer nur "spawnX", "spawnY" usw. Nie ist eine Nummer dran ("spawnX1", "spawnY1")...

  • Wenn du Spawn Positionen machen möchtest musst du das so machen


    spawnX%f

  • Öhm nein?


    %f steht für Floats, praktisch Kommazahlen. Da du aber eine Decimal Zahl erstellst musst du auch %d nutzen um sie in einen String einzubinden, das hast du ja auch richtig gemacht.
    Dannach liest du die Strings raus, in diesen ist der Text gespeichert. Gut soweit, doch wieso gibt er dir keine Zahl aus?


    Ganz einfach, du hast die Strings alle auf 7 Zeichen beschränkt, also lässt du ja nichtmal Platz für Zahlen.


    Lösung: Strings einfach mal höher setzen. bzw. auf 11 oder so.

  • Koordinaten = sind für mich Floats also Spawn Positionen.

  • Omg, lies dir doch seinen Code durch?
    Er generiert eine Decimal Zahl und speichert diese in Textform, nix Koordinaten...


    Werde mich jetzt nicht darum kloppen. ;)
    Deine Meinung, meine Meinung.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Warum doof ?
    Er hab einfach nur keine lust mich mit dir darüber jetzt zu unterhalten.

  • Erhöhe mal den Wert der strings Von SpawnX, SpawnY, SpawnZ, SpawnA.
    Vielleicht sind die einfach nur zu klein ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Ich hab deinen Beitrag nur nicht Komplett gelesen, weil dazwischen ein "gekeife" entstand ...

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski