Hallo, ich habe wieder ein Problem xD Und zwar habe ich eine Funktion geschrieben, die mit einem Timer (bei OnPlayerSpawn) jede Sekunde aufgerufen wird. Sie prüft, ob man keine gecheateten Waffen hat aber irgendwie werde ich nicht gekickt wenn ich eine andere Waffe habe o.0
public Weaponcheat()
{
for(new io = 0; io < MAX_PLAYERS; io++)
{
for(new i = -1; i <= 12; i++ )
{
GetPlayerWeaponData(io,i,weapons[i],ammo[i]);
if(weapons[i] != 0 || weapons[i] != 24 || weapons[i] != 26 || weapons[i] != 18 || weapons[i] != 6|| weapons[i] != 31|| weapons[i] != 22|| weapons[i] != 32|| weapons[i] != 23|| weapons[i] != 4)
{
Kick(io);
}
}
}
}
Simples Anti Weapon-cheat funktioniert nicht
- Brotfischer
- 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
-
-
also versteh ich das richtig? du testest das ding mit gecheateten waffen aus oder?
-
hätte da nen anderen vorschlag:
for(new i = 0; i <= MAX_PLAYERS; i++) {
if((GetPlayerWeapon(i) == waffenid) || GetPlayerWeapon(i) == waffenid || GetPlayerWeapon(i) == waffenind) {
kick(i) }} -
Hi, danke, es klappt.
-
Ihr solltet euch mal angewöhnen nicht zu Scripten das es einfach funktioniert
sondern es auch praktisch bzw so zu scripten das es nicht unnötig Zeit verschwendet.Deine Funktion klappt zwar,kann man aber besser machen,schneller sowieso.
Ich erklär mal nicht wieso es so besser ist .new InvalidWeapons[]=
{35,37,38
};
//Irgendwo in deiner Checkfunktion
for(new i,j=GetMaxPlayers();i<j;i++) {
if(IsPlayerConnected(i)) {
new
weapid=GetPlayerWeapon(i);
for(new k;k<sizeof(InvalidWeapons);k++) {
if(weapid==InvalidWeapons[k]) {
Kick(i);
break;
}
}
}
} -
breadfish.de
Hat das Thema geschlossen.