Guten Tag,
Und zwar möchte ich gerne 10x "SendClientMessage" senden.
Aber irgendwas mache ich falsch.
Code:
for(new i = 10; i < MAX_PLAYERS; i++)
{
SendClientMessage(i, weiss, "");
}
Hoffe mir kann jemand helfen.
Mfg
Orakel
Guten Tag,
Und zwar möchte ich gerne 10x "SendClientMessage" senden.
Aber irgendwas mache ich falsch.
Code:
for(new i = 10; i < MAX_PLAYERS; i++)
{
SendClientMessage(i, weiss, "");
}
Hoffe mir kann jemand helfen.
Mfg
Orakel
Ich helfe dir mal indem ich dir bisschen was beschreibe:
So hast du das gemacht :
for(new i = 10; i < MAX_PLAYERS; i++)
for = Schleife
new i = 10; = Declaration and initialization of a variable
i < MAX_PLAYERS = Condition
i++ = Counter
Auf Deutsch:
Du deklarierst eine neue Variable und initzialisiert diese in deinem Fall i=10; Dann schreibst du die Condition (Abfrage) und sagst i < MAX_PLAYERS. Das heißt solange i kleiner als MAX_PLAYERS ist wird diese Schleife ausgeführt.
mit dem i++ zählst du i immer hoch. Also wenn die Message ausgeführt wird geht i++ also beim nächsten durchlauf wäre es 11. Das ging solange bis MaxPLAYERS erreicht ist.
Aber du willst diese Message 10 mal schreiben.
Also solltest du es so machen:
for(new i = 0; i < 10; i++)
So zählst du solange bzw. führst den Body of Loop solange durch bis i 10 erreicht hat.
Ich hoffe ich konnte dir damit etwas helfen.
So sendest du an jeden Spieler nur eine Zeile bis auf die ersten 10 ID's, soweit ich den Code so spontan am Handy verstehe
Könnte mir das so vorstellen:
for(new p; p < MAX_PLAYERS; p++) {
SendClearBlock(i, 10);
}
stock SendClearBlock(playerid, rows) {
for(new m; m < rows; m++) {
SendClientMessage(playerid, 0x00000000, " ");
}
}
Geht sicherlich noch besser, kürzer und einfacher, aber ok
Lg
Danke