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:
Was geht da nicht?
lg
Deagle