[INCLUDE] Unique Random Number

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
  • Ja oke, dass ist ja so machbar aber ich möchte auch bei anderen Sachen eine Zahl generieren. Bei einem anderen Autohaus und Zulassungsstelle.


    Wie mache ich das so das ich mehrere Sachen einbauen kann also das ich StartGenerateUniqueRandomNumber(playerid, handle, NUMBER_PLATE_POOL, 0); öfters
    benutzen kann.


    irgendwie geht das nicht.


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

    2 Mal editiert, zuletzt von Jameso ()

  • öfters
    benutzen kann.

    Das habe ich doch auch erklärt, du änderst einfach den Token:


    StartGenerateUniqueRandomNumber(playerid, handle, NUMBER_PLATE_POOL, 1);


    und dann kannst du im Callback:


    //Edit:



    irgendwie geht das nicht.

    Was machst du da auch?! Wieso änderst du den Code?
    Warum löschst du einfach ein break und die if-Abfrage in der Schleife?!
    Wieso packst du in die andere Funktion eine Schleife mit i die vorher gar nicht da war?!?!
    Nutze dort einfach: GetPlayerVehicleID(playerid) anstatt Autohausauto1[i], du hast ja schon vorher gecheckt, ob er da wirklich drinnen sitzt.


    So kann das natürlich nicht funktionieren...wenn da keine Code-Logik dahinter steht..


    Nimm doch einfach den Code, wie ich ihn geschrieben hatte...

    ast2ufdyxkb1.png


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

  • Zitat von Kaliber

    Das habe ich doch auch erklärt, du änderst einfach den Token:

    Verstanden.


    Guck mal in der Zeile 6. da ist auch die Schleife und ich brauche diese ansonsten geht das nicht. (Der Code den ich vorher geschickt habe)
    Und hier in Zeile 15. brauch ich das, hier fragt er ab welches Fahrzeug von den Austellungsfahrzeugen man kaufen will.
    ich kann den Code nicht benutzen den du geschrieben hast weil i nicht definiert ist, deswegen die Schleife.
    das break; habe ich aus Versehen mit gelöscht.


    also die Schleife war auch schon vorher da beim Originalen :D

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

  • ich kann den Code nicht benutzen den du geschrieben hast weil i nicht definiert ist, deswegen die Schleife.

    Lösche die Schleife!



    Nutze dort einfach: GetPlayerVehicleID(playerid) anstatt Autohausauto1[i], du hast ja schon vorher gecheckt, ob er da wirklich drinnen sitzt.

    ast2ufdyxkb1.png


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

  • Auto wird nicht gespawnt. Randomzahl auch nicht generiert soweit kommt es nicht.

    Code
    for(new d = 0; d < sizeof(PCar[]); d++)
    							{
    								//Prüfe, ob Fahrzeug existiert. Wenn nicht, nutze den Slot und lege das Fahrzeug an.
    								SetPVarInt(playerid,"_tmp_veh",d);
    								StartGenerateUniqueRandomNumber(playerid, handle, NUMBER_PLATE_POOL, 0);
    								break;
    							}

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

  • Schau mal..so sieht meine Code aus..


    ...siehst du den Unterschied?


    Bei dir ist keine if-Abfrage..nur ein break..was keinen Sinn macht...


    //Edit:
    Und sag mal willst du mich hier trollen oder so?! :D



    PCar[playerid][d][P_MID] = GetPlayerVehicleID(playerid);

    Ich sagte, du sollst es ersetzen..und nicht das GetVehicleModel drum herum löschen...

    ast2ufdyxkb1.png


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

  • Zitat von Kaliber

    Und sag mal willst du mich hier trollen oder so?!

    Nein :D :D


    Hab alles hinbekommen danke dir und ich hab nicht getrollt :D
    Ist das nicht ein "Sicherheit" Fehler. Man kann sich doch bestimmt mit Sobeit oder anderen Vorteilsprogrammen in einen anderen Fahrzeug teleportieren
    GetVehicleModel(GetPlayerVehicleID(playerid)); dann wird ja das Model dort eingetragen (und ja ich weiß vorher wurde ja schon abgefragt)


    Kann man das theoretisch machen?

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

  • Kann man das theoretisch machen?

    Nein, da ja nur eine Millisekunde vergeht bis zur vorherigen Abfrage.


    Und dort hast du ja geprüft, ob er wirklich in dem Fahrzeug ist oder nicht.


    Das hatte ich auch oben geschrieben xD

    ast2ufdyxkb1.png


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

  • Unabhängig davon ob Jemand die SQLite Variante nutzt, sind da paar Memory leaks. (Z. 82, Z.90, Z. 100).
    Wenn die INSERT-Statements ein Problem sind was die Laufzeit betrifft, dann würde ich mir mal Transactions ansehen ( Transaction, Begin, Commit, Autocommit mal als Keywords.)

  • sind da paar Memory leaks. (Z. 82, Z.90, Z. 100).

    Z. 82 = Create Table
    Z.90 = Insert
    Z.100 = Offensichtlich Leer


    Soweit ich das mal gelesen hatte, muss man da nichts clearen, weil da eh nichts existiert.



    Wenn die INSERT-Statements ein Problem sind was die Laufzeit betrifft, dann würde ich mir mal Transactions ansehen

    Ja, das gar keine schlechte Idee, schau ich mal, ob das die Performance verbessert, danke :)

    ast2ufdyxkb1.png


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

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