schleife

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
  • Guten Abend zusammen,


    Habe hier mal einen auszug aus meinen Script, wie man sieht wird an dieser stelle ein Notruf an alle Cops gesendet.Allerdings wird nicht berücksichtigt ob ein cop online ist, wenn jemand einen Notruf absetzt wird der Notruf abgesetzt und zusätzlich bekommt er die meldung das keiner im Dienst ist auch wenn einer da ist.Da die schleife ja alle Spielerdurchläuft findet sie logischerrweise Spieler die kein Cop sind undwelche die Cop sind, infolgedessen werden deswegen beide meldungen ausgegeben.


    Stellt sich also nur die frage was ich da hinzufügen muss um zu signalisieren das ein Cop gefunden wurde bevor der rest ausgeführt wird ?



    if(listitem == 0)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(pInfo[i][fraktion] == LSPOLICE)
    {
    SendClientMessage(playerid,COLOR_STAHLBLAU,"Du hast einen Notruf an das LSPD abgesetzt.");
    SendClientMessage(i,COLOR_STAHLBLAU,sosmsg);
    soslspdid = playerid;
    }
    else return SendClientMessage(playerid,COLOR_ROT, "Momentan ist kein Los Santos Polizist im Dienst.");
    }}



    Mit freundlichen Grüßen


    Anubis

    2 Mal editiert, zuletzt von Anubis ()

  • Funktioniert leider nicht. Diese meldung ->

    SendClientMessage(playerid,COLOR_STAHLBLAU,"Du hast einen Notruf an das LSPD abgesetzt.");



    wird jetzt immer - ich nehme an 500 mal ausgegeben.Auf jeden fall wird der chat damit zugespammt.

    Einmal editiert, zuletzt von Anubis ()

  • For schleifen werden meist dazu benutz um eine Funktion für jeden Spieler ausführen zu lassen
    Ich habe mal ein Tutorial zu den Schleifen/Loops geschrieben dort wirds eig recht ausführlich erklärt!
    Guck es dir mal an!

    GreetZ

    Zitat

    Joda21:47
    Joda = mein spritzname
    xD


    Ice21:47
    zeig mir dein lichtschwert !


    Joda21:47 spitzname* xDD

    Ich bin ein Vogel (Joda)


  • For schleifen werden meist dazu benutz um eine Funktion für jeden Spieler ausführen zu lassen
    Ich habe mal ein Tutorial zu den Schleifen/Loops geschrieben dort wirds eig recht ausführlich erklärt!
    Guck es dir mal an!

    Ja oder um zu überprüfen welcher Spieler eine gewisse bedingung erfüllt, zb bei einem Fraktionsschat der auch bei mir mit so einer schleife einwandfrei funktioniert. So eine Schleife wird in deinem Tutorial leider nicht erklärt :whistling:

    Einmal editiert, zuletzt von Anubis ()

  • Wiedermal ein sehr Qualitativer Beitrag von dir WooD :D



    if(listitem == 0)
    {
    new copsonline = 0;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(pInfo[i][fraktion] == LSPOLICE)
    {
    SendClientMessage(playerid,COLOR_STAHLBLAU,"Du hast einen Notruf an das LSPD abgesetzt.");
    SendClientMessage(i,COLOR_STAHLBLAU,sosmsg);
    soslspdid = playerid;
    copsonline ++;
    }
    }
    }
    if(copsonline == 0)
    {
    SendClientMessage(playerid,COLOR_ROT, "Momentan ist kein Los Santos Polizist im Dienst.");
    }
    }