Funktion funktioniert nicht wie gewollt.

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
  • Hi,


    ich habe ein kleines Straßenreinigersystem geschrieben, welches nach Zonen arbeitet (wie verdreckt diese sind).
    Beim Serverstart wird die Verschmutzung in jedem Gebiet auf 10 gesetzt. Wenn ich nun allerdings den Job starten möchte,
    kommt keine Rückmeldung sobald ich den Befehl ausführe.


    Hier der Inhalt meines Befehls:
    ocmd:sweep(playerid,params[])
    {
    new c,t;
    for(new i; i < sizeof Zonen; i++) { //sizeof Zonen = 2
    if(ZoneInfo[i][Verschmutzung] < 10)continue;
    t++;
    if(t > sizeof Zonen){
    c = -1;
    break;
    } else {
    if(ZoneInfo[i][Reiniger] != INVALID_PLAYER_ID)continue;
    c++;
    }
    }
    printf("c = %d | t = %d",c,t);
    if(t > sizeof Zonen)return SendClientMessage(playerid,COLOR_ERROR,"* Zur Zeit sind alle Zonen besetzt. Versuche es Später erneut!");
    if(c == -1)return SendClientMessage(playerid,COLOR_ERROR,"* Alle Zonen sind bereits gereinigt. Versuche es Später erneut!");
    if(c > sizeof Zonen)return SendClientMessage(playerid,COLOR_ERROR,"* Alle Zonen werden zur Zeit gereinigt. Versuche es Später erneut!");
    ZoneInfo[i][Reiniger] = playerid;
    pZone[playerid] = c;
    for(new i; i < MAX_VEHICLES; i++) {
    if(Sweeper[i] != 3)continue;
    if(InSweeperUse[i] != INVALID_PLAYER_ID)continue;
    InSweeperUse[i] = playerid;
    i--;
    SetPlayerCheckpoint(playerid,SweeperPos[i][0],SweeperPos[i][1],SweeperPos[i][2],5);
    Sweeping[playerid] = 1;
    return SendClientMessage(playerid,COLOR_ADVISE,"* Setze dich in den dir zugewiesenen Sweeper und reinige die dir zugewiesene Zone.");
    }
    return 1;
    }


    In die Konsole wird folgendes geschrieben:

    Code
    [12:10:46] c = 2 | t = 2


    Was geht da nicht?


    @Jeffry



    lg
    Deagle