Beiträge von TheDivine

    rand = random(SpielerInRunde - count);zu:
    rand = random(sizeof(RoundCars) - count);


    Ist halt nicht passend, wenn die Fahrzeuge hintereinander stehen. Falls wild durcheinander, dann geht das so und es ist viel zufälliger bei geringen Spielerzahlen.

    Okay danke dir @Jeffry :3
    Ein Problem habe ich noch... aktuell ist es ja so das maximal so viele Spieler wie Fahrzeuge existieren auf den Seat 0 gesetzt werden. Sprich, wenn mehr Spieler als Fahrzeuge existieren, würden diese die anderen Spieler aus dem Fahrzeug werfen. Wie kann ich es am besten machen das die Spieler die in die Fahrzeuge gesetzt werden wenn schon jemand anderes im Fahrzeug sitzt auf einen anderen Platz gesetzt werden?

    Warum muss es denn random() sein? Passt hier nicht viel mehr eine Variable, die du einfach hoch zählst?

    Ich lasse pro Runde mehrere Fahrzeuge spawnen. Damit nicht jeder Spieler jede Runde das selbe Fahrzeug hat, sollen die Fahrzeuge bei jedem Runden beginn neu verteilt werden. Lässt sich mit einer Variable die hochzählt schlecht machen weil dann alle immer die selben Fahrzeuge bekommen, oder nicht? :o

    Hey, wie bekomme ich es hin das bei der random Funktion jeder Wert nur einmal rauskommen kann.

    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(GetPVarInt(i,"JointInRunde") == 1 && IsPlayerConnected(i))
    {
    new rand = random(SpielerInRunde);
    RoundCars[i][carID] = CreateVehicle(RoundCars[i][carModel],RoundCars[i][X],RoundCars[i][Y],RoundCars[i][Z],RoundCars[i][R],RoundCars[i][color1],RoundCars[i][color2],0);
    if(!IsPlayerInAnyVehicle(i))
    {
    PutPlayerInVehicle(i,RoundCars[rand][carID],0);
    }
    new string[128];
    format(string,sizeof(string),"[DEBUG] Random: %i, PlayerID: %i, SpielerInRunde: %i",rand,i,SpielerInRunde);
    SendClientMessageToAll(-1,string);
    }
    }

    Sprich das von 0 - 10 jede Zahl nur einmal ausgegeben wird. Aktuell ist es so das sagen wir mal der Wert 2 doppelt vorkommt und somit zwei Personen in ein Fahrzeug setzt. Das soll halt vermieden werden so das jedes Fahrzeug einen Insasse hat.

    Du hast die Objekte doch auf Index 0 und 1 attatcht, dann musst du die auch wieder löschen... Das hat nichts mit der Objektid zutun.



    RemovePlayerAttachedObject(playerid, 0);
    RemovePlayerAttachedObject(playerid, 1);

    Ja wenn er über 0.60 ist dann soll er die 0.60 weg machen und +0.1 rechnen
    aber was passiert dann wenn es 0.1 ja dann ist dann ist der Wert ja über 0.60

    Meinst du nicht eher das der Wert auf 1 gesetzt werden soll da die 60 ja eine ganze Stunde voll machen? Und naja ich frage mich grade wieso du die Spielstunden dann extra nochmal umrechnen willst. Speicher die Spielminuten doch einfach als Minuten ab und lass dir den Wert dann einfach /60 ausgeben. Dieses hin und her ist einfach unnötig.


    Sprich:

    forward Spielstunde();
    public Spielstunde()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    //Erhöht den Wert in pSpielstunden jede Minute um 1
    pInfo[i][pSpielstunden] ++;
    }
    return true;
    }


    Und wenn du dir den Wert dann irgendwo als gesamte Spielzeit ausgeben willst machst du das zum Beispiel einfach so:



    new string[128];
    format(string ,sizeof(string),"Spielstunden: %i ", pInfo[playerid][pSpielstunden]/60);
    SendClientMessage(playerid,-1,string);


    //Handy

    Es ist schade, das dort so viele Objekte genutzt wurden, man hätte es bestimmt lösen können.

    Sorry aber bei solchen Kommentaren könnte ich wieder kotzen... Wie möchtest du den bitte eine detailliert map in so einer größe mit weniger Objekten erstellen? Klar man könnte das Gebäude nur als Exterior erstellen und dann einfach einen Teleport ins Interior erstellen. Sieht aber bei weitem nicht so gut aus.
    Wenn du schon schreibst "man hätte es bestimmt lösen können", dann mach doch einfach mal einen Vorschlag wie.


    Zurück zur Map.. finde die recht gut gelungen nur für die Location etwas zu modern vom Aufbau.

    Zitat von BrightLeaN

    Ich kann ja nicht abfragen ob der Wert größer als 0.60 ist oder?

    Klar geht das? ^^



    forward Spielstunde();
    public Spielstunde()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(pInfo[i][pSpielstunden] < 0.60)
    {
    pInfo[i][pSpielstunden] +=0.01;
    }
    else
    {
    //Was passieren soll wenn der Wert 0.60 oder höher ist.
    }
    }
    return true;
    }


    //Handy

    Ja, mit dem Streamer Plugin :)


    Hast du überhaupt gesucht?

    CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 300.0);

    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.