String Random

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
  • Hallo,
    Gibt es eine Funktion die einen zufälligen Wert aus einem String rausnimmt?
    Hab so probiert:new rand = random(27);
    new wert[1];
    new string[27] = "abcdefghijklmopqrstuvqxyz";
    strpack(wert, string[rand]); // [rand] soll für das zeichen stehen, also zwischen 1 und 27.

    Aber damit bekomme ich immer 3 Buchstaben raus z.B. tuv also immer welche die im Alphabet nacheinander kommen.
    Pls Help
    V1rus

  • Das trägt zwar nich zur lösung des Problems bei, aber du hast beim Alphabet das N vergessen xD


    In PHP hab ich eine Funktion, die zufällige Strings erstellt, die sieht so aus:

    PHP
    function zufall($laenge=8)
    	{
    		$string = md5((string)mt_rand() . $_SERVER['REMOTE_ADDR'] . time());
    		$start = rand(0,strlen($string)-$laenge);
    	  	$shit = substr($string, $start, $laenge);
    		return $shit;
    	 }


    Versuch ma, ob du daraus was machen kannst. Ich probiers auch. Wenn ich eine Lösung hab, schreibe ich hier ;)

  • Ich bin jetz so weit hab jetz den Code:


    if(strcmp("/rand", cmdtext, true) == 0)
    {
    new out[1], rand, string[27] = "abcdefghijklmnopqrstuvwxyz", lengh;
    rand = vrandom(1,25);
    lengh = strlen(string);
    lengh = lengh - rand;
    strmid(out, string, lengh, lengh, 1);
    SCM(playerid, COLOR_YELLOW, out);
    return 1;
    }
    Aber bei SendClientMessage bekomm ich nur nen leeren String -.-


    // Edit: Haste schon was [iLife] Meta? Ich komm nicht weiter -.-

    Einmal editiert, zuletzt von v1rus ()

  • Er will per Random einzufalls nummernschild was am ende so aussehen soll: HF-EH-235
    also wie er es mit zahlen macht hab ich ihm per PN geschickt aber mit Buchstaben weiß ich nicht hab mir das auf seine frage hin nur mal angeschaut ...

  • Nein, die ersten 2 Buchstaben sollen für die Stadt stehen also LS oder SF.
    Keiner ne Idee?

  • also die zahlen kann ich dir geben: LS-HF-(???)<---
    new NummernSchildRandom[][] = {
    {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {0}
    };
    new rand1 = random(sizeof(NummernSchildRandom)); // Hier wird eine Zufalls Zahl "geniriert".
    new rand2 = random(sizeof(NummernSchildRandom)); // Hier wird eine Zufalls Zahl "geniriert".
    new rand3 = random(sizeof(NummernSchildRandom)); // Hier wird eine Zufalls Zahl "geniriert".
    new nummernschild1 = NummernSchildRandom[rand1][0]; // nummernschild, ruft ab, welche Zahl der Zufall "geniriert" hat.
    new nummernschild2 = NummernSchildRandom[rand2][0]; // nummernschild, ruft ab, welche Zahl der Zufall "geniriert" hat.
    new nummernschild3 = NummernSchildRandom[rand3][0]; // nummernschild, ruft ab, welche Zahl der Zufall "geniriert" hat.
    new string[27];
    format(string,sizeof(string),"%d%d%d",nummernschild1,nummernschild2,nummernschild3);
    SendClientMessage(playerid,COLOR_LIGHTRED,string);
    Getestet ^^


    bei dem dem LS-SF-LV schauste einfach war das ein autohaus in LS dan lässte LS ausgeben.
    musst es halt auch speichern in nem enum z.B.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • new bla[26];
    format(bla,sizeof(bla),"ABCDEFGHIJKLMNOPQRSTUVWXYZ");
    new nummerstring[8];
    if(/*Auto ist LS... */)format(nummernstring,sizeof(nummernstring),"LS-%s%s-%d",bla[random(sizeof(bla))],bla[random(sizeof(bla))],random(89)+10);
    if(/*Auto ist SF... */)format(nummernstring,sizeof(nummernstring),"SF-%s%s-%d",bla[random(sizeof(bla))],bla[random(sizeof(bla))],random(89)+10);
    if(/*Auto ist LV... */)format(nummernstring,sizeof(nummernstring),"LV-%s%s-%d",bla[random(sizeof(bla))],bla[random(sizeof(bla))],random(89)+10);

  • Danke maddin, aber das geht nicht. Ich bekomme immer 4 Buchstaben! Und die folgen im Alphabet immer aufeinander! Also z.B.: HIJK oder BCDE oder VWXY....
    Des mit LS SF und LV kann ich selber^^ Aber irgendwelche Buchstaben zu generieren kann ich nicht. Also ich will das so machen: "Stadt in der Spieler Registriert ist(hab ich)" - "2 zufällige buchstaben" - "3 zufällige zahlen über 100(hab ich)" Die Buchstaben zu generieren fehlt eben noch.

    Einmal editiert, zuletzt von v1rus ()

  • Ok, mehr muss ich nich wissen ^^
    Ich hab das jetzt mal so wie in Deutschland gemacht.


    Also entweder 1 oder 2 Buchstaben, und 1-4 Zahlen


    Bitteschön: Pastebin


    Du kannst das Nummernschild dann vllt so verwenden:
    PlayerInfo[playerid][pNS] = CreateNummernSchild(playerid);

  • Bistn Schatz <3 ( Jetz net denken ich bin schwul)
    Danke hat funktioniert mit paar kleinen änderungen :)