Mache ich nicht mehr!!!
![]()
Mache ich nicht mehr!!!
![]()
Nope.
Teste es doch wenn du es so meinst.
Es geht zwar, aber dank deinem return, nur einmal
Blackace.
Das soll ja auch so sein, weil man schlagartig den SCM abkriegt.
Und sowas unnötiges von dem Vorposter , wie vonwegen es würde nicht klappen, dass sollte man es erstmal ausprobieren und dann schreiben...
Das Script setzt nun den Socre des Spielers mit der ID 0 auf +50,
dann sendet er eine ClientMessage, und dann beendet er die Schleife.
Alle anderen Scores werden nicht verändert.
Die Lösung:
ocmd:giveallscore (playerid,params[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SetPlayerScore(i, GetPlayerScore(i) +50);
}
}
SendClientMessage(playerid, 0xffffffff, "Allen Spielern wurden 50 Score geschenkt!");
return 1;
}
Das Script setzt nun den Socre des Spielers mit der ID 0 auf +50,
dann sendet er eine ClientMessage, und dann beendet er die Schleife.
Nein tut es nicht.
Es erhöht den Score des Spielers um 50, der Connected ist
wenn keine ID 0 connected ist, bekommt ID 1 das...
Sehe nur dass du es von mir kopiert hast, außer dass du SCM unter dem } gemacht hast.
MAX_PLAYERS sagt einfach aus, dass wenn der Wert darunter liegt (sprich die Anzahl der Spieler) dass er dann weiter macht , sprich continue; (in dem Fall nicht nötig!
Habe 3 Freude drauf und die Haben auch alle +50 Bekommen :O
Kurz gesagt: Mit folgender Lösung bekommt der User mit der niedrigsten ID,
der gerade auf dem Server ist +50 Score, und das wars.
Nurnoch die Nachricht kommt.
ocmd:giveallscore (playerid,params[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SetPlayerScore(i, GetPlayerScore(i) +50);
SendClientMessage(playerid, 0xffffffff, "Allen Spielern wurden 50 Score geschenkt!");
return 1;
}
}
return 1;
}
Na siehste.
Bedankt dich mal beim Herrn Forbidden ![]()
//edit Pille_ hör auf Beiträge zu kopieren!
Wieso so umständlich?
ocmd:giveallscore (playerid,params[])
{
new score, string[128], PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
//Adminabfrage
if(sscanf(params, "d", score)) return SendClientMessage(playerid, FARBE, "Nutze /giveallscore [Menge]");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SetPlayerScore(i, GetPlayerScore(i) +score);
}
}
format(string, sizeof(string), "Admin %s hat allen Verbundenen Spielern auf dem Server %d Score geschenkt!", PlayerName, score);
SendClientMessageToAll(0xffffffff, string);
return 1;
}
ungetestet.
/e: Rechtschreibfehler behoben.