for(new i=0; i<GetMaxPlayers(); i++)
- Litpa
- Geschlossen
- Erledigt
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
-
-
Warum machst du 2x eine Scheife durch die Spieler? Was hast du vor?
-
-
Achso, jo. Sorry. Nicht drauf geachtet :x
In meinem Script ist es schon richtig. Nur ist es richtig so wenn ichs untereinander mache & dann die Funktion?
Ich mach ein Einnahmesystem. i soll die Nachricht bekommen das es Erfolgreich eingenommen worden ist, i2 soll die Nachricht erhalten das Sie ihr Bizz verloren haben.
MfG.
-
So ist es falsch.
Denn jetzt bekommt jeder Spieler, sagen wir mal es sind 12 auf dem Server, 12x die Nachricht davon das ein Biz eingenommen wird. Einmal reicht völlig aus
-
Ja grade gemerkt.
Aber wenn ich das nur 1 mal definiere, wie mache ich es das nur die, die in der - sagen wir freundlichen - Fraktion sind, die Nachricht bekommen das die es eingenommen haben, und die gegnerische Fraktion das sie es verloren haben.
Hab es mir irgendwie so vorgestellt. -
-
Wenn du noch mal mehrere Schleifen in einander schachteln musst:
Normalerweise benutzt man bei der ersten Schleife als Laufvariable i, in der zweiten j, in der dritten k und so weiter.Wann immer möglich sollte man das aber vermeiden, erhöht die Laufzeit des Scripts enorm.
-
Wenn ich aber schon davor abgefragt hab ob i in einer jeweiligen Fraktion ist, wie mache ich es dann?
Hier mal mein Code, damit Ihr wisst wovon ich rede..
Code
Alles anzeigen{ for(new i=0; i<GetMaxPlayers(); i++) { if(sSpieler[i][Fraktion] == sSpieler[playerid][Fraktion]) { if(GetPlayerVirtualWorld(i) == BizzNummer[playerid]) { if(EinnahmeTimer[playerid] == 3) { EinnahmeTimer[playerid] = 2; GameTextForPlayer(i, "~b~1 Minute.", 3000, 1); } else if(EinnahmeTimer[playerid] == 2) { EinnahmeTimer[playerid] = 1; GameTextForPlayer(i, "~b~30 Sekunden.", 3000, 1); } else if(EinnahmeTimer[playerid] == 1) { EinnahmeTimer[playerid] = -1; if(BizzNummer[playerid] == 1) //BSN { new string[56]; new Erpresser[56]; if(Bizz[BSNErpresser] == 5) Erpresser = "Groove Street"; if(Bizz[BSNErpresser] == 6) Erpresser = "La Cosa Nostra"; //... SendClientMessage(i, Grün, "Ihre Fraktion hat den Mullholland Burgershot erfolgreich eingenommen."); format(string, sizeof(string), "Die %d hat den Mullholland Burgershot erfolgreich eingenommen.", Erpresser); if(sSpieler[i][Fraktion] == Bizz[BSNErpresser]) SendClientMessage(i, Blau, string); KillTimer(TimerEinnahme); Bizz[BSNErpresser] = sSpieler[playerid][Fraktion]; SaveBizzes(); } } } } } }
Wer fragen zum Codeschnippsel hat, nur zu. Wäre mir lieber den Code detailierter zu erklären anstatt keine Hilfe mehr zu bekommen
-
breadfish.de
Hat das Thema geschlossen.