Komischer Error

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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

  • stock checkenoughplayers()
    {
    new counter;
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(SpielerInfo[i][afk] == 1) continue;
    //if(IsPlayerOnDesktop(i)) continue;
    counter++;
    }
    printf("%i",counter);
    if(counter > 1) { return 1; } else { return 0; }
    }



    Wo liegt der Fehler?

  • Zeig uns mal den ganzen Befehl ocmd:rundestarten, an der Funktion liegt es nicht :)


    Wobei du die ein wenig vereinfachen kannst:



    C
    stock checkenoughplayers()
    {
        for(new i,c; i<MAX_PLAYERS; i++)
        {
            if(!IsPlayerConnected(i) || SpielerInfo[i][afk] == 1 || IsPlayerNPC(i)) continue;
            if(++c == 2) return 1;
        }
        return 0;
    }

    Dann musst du auch nicht alle Spieler durchlaufen, sondern sobald du mehr als einen gefunden hast, bricht er direkt ab :)

    ast2ufdyxkb1.png


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


  • ocmd:rundestarten(playerid,params[])
    {
    if(isRound == 1) return SendChatInfo(playerid, "Es läuft bereits eine Runde. Beende diese mit /rundebeenden");
    if(checkenoughplayers() == 0) return SendChatInfo(playerid, "Es sind nicht genug Spieler anwesend und bereit.");
    new target = getrandomplayer();
    isRobber[target] = 1;
    new szid = 0;
    robbercar[0] = CreateVehicle(SzenarioInfo[szid][carid], SzenarioInfo[szid][sX][0], SzenarioInfo[szid][sZ][0], SzenarioInfo[szid][sY][0], SzenarioInfo[szid][sR][0], 3, 3, -1);
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid, SzenarioInfo[szid][sX][0], SzenarioInfo[szid][sZ][0], SzenarioInfo[szid][sY][0]);
    PutPlayerInVehicle(playerid, robbercar[0], 0);
    setcops(szid);
    sendszmsg(szid);
    return 1;
    }




    stock setcops(szid)
    {
    new counter = 1;
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(SpielerInfo[i][afk] == 1) continue;
    if(IsPlayerOnDesktop(i)) continue;
    if(isRobber[i] == 1) continue;
    copcar[counter] = CreateVehicle(SpielerInfo[i][carid], SzenarioInfo[szid][sX][counter], SzenarioInfo[szid][sZ][counter], SzenarioInfo[szid][sY][counter], SzenarioInfo[szid][sR][counter], 3, 3, -1);
    SetPlayerInterior(i, 0);
    SetPlayerPos(i, SzenarioInfo[szid][sX][counter], SzenarioInfo[szid][sZ][counter], SzenarioInfo[szid][sY][counter]);
    PutPlayerInVehicle(i, copcar[counter], 0);
    counter++;
    }
    return 1;
    }




    stock sendszmsg(szid)
    {
    new msg[144];
    format(msg, sizeof(msg), "{dea045}Szenario{F2F2F2}: Bei Szenario handelt es sich um ein/e/n {dea045}%s{F2F2F2}.", SzenarioInfo[szid][SzName]);
    SendClientMessageToAll(Hellgrau, msg);
    return 1;
    }