Falsch.
Funktioniert nur bei ID 0.
Hier die richtige Version:
Immernoch falsch (War aber eher ein Flüchtigkeitsfehler)
Das "new Warns[MAX_PLAYERS];" muss ganz oben ins Script, nicht in den Timer und beim zweiten public wird zwar ein string erstellt, der an niemanden gesendet wird, und auch noch unnötig 128 cells "verschwendet", da er nichtmal 60 lang ist. Nebenbei kann man das lieber mal zusammenfassen, ist Resourcenschonender und laääst den Cheatern nicht einen so großen Interval bis zum Kick/Ban
public AntiWaffenCheat() {
for(new i = 0; i < MAX_PLAYERS; i++) {
if(IsPlayerConnected(i)) {
new weapon = GetPlayerWeapon(i);
if((weapon == 35 || weapon == 36 || weapon == 37 || weapon == 38) && !IsPlayerAdmin(i)) {
if(Warns[i]<3) { Warns[i]++; }
else {
new s[60], name[16];
GetPlayerName(i,name,sizeof(name));
format(s,sizeof(s),"%s wurde wegen Waffencheat gekickt",name);
SendClientMessageToAll(farbe,s);
Kick(i); }
}}}
return 1;
}
Und das "new Warns[MAX_PLAYERS];" ganz nach oben