ZitatZeig uns am Besten mal die komplette Funktion. Ich fange langsam an daran zu zweifeln, dass wir uns im richtigen Abteil befinden.
Du meinst den ganzen Timer ?
ZitatZeig uns am Besten mal die komplette Funktion. Ich fange langsam an daran zu zweifeln, dass wir uns im richtigen Abteil befinden.
Du meinst den ganzen Timer ?
Es Funktioniert trotz den logischen argumenten immer noch nicht
value = GetPlayerSpeed(playerid);
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 520 && value >= 250)
{
printf("%d", value);
mysql_format(dbhandle, query, sizeof(query), "INSERT INTO `Bans` (`Datum`,`Uhrzeit`,`Benutzername`,`Grund`,`Verantwortlicher`,`active`) VALUES ('%e','%e','%e','Speedhack','Anti-Cheat System',1)",gDate(), gTime(), GetName(playerid));
mysql_pquery(dbhandle, query, "", "");
format(string, sizeof(string), "Ban: {FFFFFF}%s wurde vom Anti - Cheat gebannt. Grund: Speedhack (Geschwindigkeit: %d)", GetName(playerid), value);
SendClientMessageToAll(Orange, string);
KickEx(playerid);
return 1;
}
Liegt es vllt daran das ich den Spieler beim Kicken freezen lasse (Unwarscheinlich da KickEx ganz unten ausgeführt wird)
stock KickEx(playerid)
{
TogglePlayerControllable(playerid, false);
return SetTimerEx("KickTimer", 10, false, "i", playerid);
}
[22:39:36] 520
[22:39:37] 520
[22:39:38] 520
[22:39:39] 520
[22:39:40] 520
[22:39:41] 520
[22:39:42] 520
[22:39:43] 520
[22:39:44] 520
[22:39:45] 520
[22:39:46] 520
[22:39:47] 520
[22:39:48] 520
[22:39:49] 520
[22:39:50] 520
[22:39:51] 520
[22:39:52] 520
[22:39:53] 520
[22:39:53] 239
Alles anzeigen
mfg ![]()
Du versteht nicht Kaliber, ich fliege in einer Hydra mit der Geschwindigkeit 238/239. Dafür werde ich wegen Speedhack gesperrt, erlaubt für die Hydra sind aber 250!
...was ist denn der Fehler..ist doch alles richtig?
Mit der Hydra soll man maximal 250 fliegen können!
So möge man uns den neuen, bearbeiteten Code veröffentlichen, auf dass der Pöbel nicht mehr in der Jauche ungewisser Arbeit wühlen muss.
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 520 && GetPlayerSpeed(playerid) >= 250)
{
printf("%d", GetPlayerSpeed(playerid));
mysql_format(dbhandle, query, sizeof(query), "INSERT INTO `Bans` (`Datum`,`Uhrzeit`,`Benutzername`,`Grund`,`Verantwortlicher`,`active`) VALUES ('%e','%e','%e','Speedhack','Anti-Cheat System',1)",gDate(), gTime(), GetName(playerid));
mysql_pquery(dbhandle, query, "", "");
format(string, sizeof(string), "Ban: {FFFFFF}%s wurde vom Anti - Cheat gebannt. Grund: Speedhack (Geschwindigkeit: %d)", GetName(playerid), GetPlayerSpeed(playerid));
SendClientMessageToAll(Orange, string);
KickEx(playerid);
return 1;
}
[22:22:01] 520
[22:22:02] 520
[22:22:03] 520
[22:22:04] 520
[22:22:05] 520
[22:22:06] 520
[22:22:07] 520
[22:22:08] 520
[22:22:09] 520
[22:22:10] 520
[22:22:11] 520
[22:22:12] 520
[22:22:13] 520
[22:22:14] 520
[22:22:14] 238
Alles anzeigen
mfg ![]()
Mir fällt gerade ein das 240 nicht die modelid war, sondern die geprintet geschwindigkeit ![]()
Dennoch funktioniert es jetzt immer noch nicht!

mfg ![]()
Da fehlt ne schließende Klammer für's GetVehicleModel.
Es gibt ja keinen Error, es ist einfach nur Ingame falsch.
Dennoch hab ichs jetzt mal so geschrieben:
if(GetVehicleModel(GetPlayerVehicleID(playerid) == 520 && GetPlayerSpeed(playerid) >= 250))
mfg ![]()
Guten Abend,
Mein Name lautet CIBERKILLER.
Und zwar bräuchte ich mal eure Hilfe!
Ich habe ein Anti-Speedhack geschríeben, leider stimmt da was nicht mit der Hydra!
printf("%d", GetVehicleModel(GetPlayerVehicleID(playerid)));
if(GetVehicleModel(GetPlayerVehicleID(playerid) == 520) && GetPlayerSpeed(playerid) >= 250)
{
printf("%d", GetPlayerSpeed(playerid));
mysql_format(dbhandle, query, sizeof(query), "INSERT INTO `Bans` (`Datum`,`Uhrzeit`,`Benutzername`,`Grund`,`Verantwortlicher`,`active`) VALUES ('%e','%e','%e','Speedhack','Anti-Cheat System',1)",gDate(), gTime(), GetName(playerid));
mysql_pquery(dbhandle, query, "", "");
format(string, sizeof(string), "Ban: {FFFFFF}%s wurde vom Anti - Cheat gebannt. Grund: Speedhack (Geschwindigkeit: %d)", GetName(playerid), GetPlayerSpeed(playerid));
SendClientMessageToAll(Orange, string);
KickEx(playerid);
return 1;
}
Am ende sagt er mir in der Log das ich der Modelid 240 sitze, somit gilt die erlaubte geschwindigkeit 250 nicht mehr!
Log:
[22:03:50] 520
[22:03:51] 520
[22:03:52] 520
[22:03:53] 520
[22:03:54] 520
[22:03:55] 520
[22:03:56] 520
[22:03:57] 520
[22:03:58] 520
[22:04:00] 520
[22:04:01] 520
[22:04:02] 520
[22:04:03] 520
[22:04:04] 520
[22:04:05] 520
[22:04:05] 240
Alles anzeigen
mfg ![]()
Die maximal Geschwindigkeit bei deiner Berechnung, liegt bei 241
mfg.
Das habe ich auch gerade herausgefunden, wie hast du das herausgefunden?
Gerechnet oder Getestet ?
mfg ![]()
Kommt ganz auf deine Rechnung an...
Hier die Berechnung:
stock GetPlayerSpeed(playerid)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)GetVehicleVelocity(GetPlayerVehicleID(playerid), pPos[0], pPos[1], pPos[2]);
else if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)GetPlayerVelocity(playerid, pPos[0], pPos[1], pPos[2]);
pPos[3] = floatsqroot(pPos[0] * pPos[0] + pPos[1] * pPos[1]);
return floatround(pPos[3] * 100 * 1.61);
}
Guten Tag,
Mein Name lautet CIBERKILLER.
Und zwar wollte ich fragen wie schnell maximal eine Hydra fliegen kann ?
mfg ![]()
Guten Tag,
Mein Name lautet CIBERKILLER.
Könnte mir jemand sagen, wie diese Animation heißt ? (Lib + Name)

EDIT://
Habs mit diesem Quellcode herausgefunden!
if(GetPlayerAnimationIndex(playerid))
{
new lib[32], nam[32];
GetAnimationName(GetPlayerAnimationIndex(playerid), lib, 32, nam, 32),
format(string, sizeof(string), "Du führst gerade die Animation %s in der lib %s aus!", nam, lib),
SendClientMessage(playerid, Weis, string);
}
Es war DEALER & DEALER_IDLE
mfg ![]()
Probier es doch aus in dem du dir das ausgibst, sollte jedoch schon der Fall sein ?
Anscheinend nicht, aber wenn ich GetPlayerAmmo(playerid)-1 rechne, dann komme ich auf das richtige ergebnis!
EDIT:// Das Anti-Munnitions Cheat funktioniert nun wie gewollt!
mfg ![]()
Ist ja nicht so als würde es dieses Callback auch geben
OnPlayerWeaponShot
Also ich habe das Callback mal getestet, Funktioniert einwandfrei!
Nur ist bis dahin schon GetPlayerAmmo aktuell ?
mfg ![]()
Manchmal dauert es ein wenig länger..
Setze den Timer deswegen nicht mit einem zu kleinen Interval [falls du überhaupt einen Timer dafür setzt]..
Es ist außerdem ein Unterschied, ob man die Taste gedrückt hält, oder nicht, es updated sich verschieden.. ( War bei mir jedenfalls so [Anti-Cheat Tests] )
Das ist sehr schade...
Kann mir jemand anderes noch seine Erfahrung preisgeben!
Guten Tag,
Mein Name lautet CIBERKILLER.
Und zwar hätte ich mal eine Simple frage.
Nach wie viel Sekunden/Millisekunden updatet der Wert von GetPlayerAmmo.
Wenn der Key 'KEY_FIRE' eintritt, ist die neue Munnition schon in GetPlayerAmmo vorhanden, oder braucht das noch bisschen bis sich das Synchronisiert ?
Das würde ich gerne mal wissen, wäre nützlich für mein Anti-Munnitions Cheat.
mfg ![]()
Nimm pos[2] aus der Rechnung. Dann hast du nur die horizontale Bewegung, nicht die vertikale Bewegung.
Vielen Dank, Funktioniert nun wie gewollt ![]()
Guten Abend,
Mein Name lautet CIBERKILLER.
Und zwar wollte ich mal fragen wie man am besten die Spielergeschwindigkeit berechnen könnte?
Die Fahrzeuggeschwindigkeit klappt wunderbar, die vom Spieler eigentlich auch.
Nur das Problem ist das dass Anti-Cheat ein Benutzerkonto sperrt sobald der vom Himmel fällt (Speedhack).
Hier mal meine Berechnung!
stock GetPlayerSpeed(playerid)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)GetVehicleVelocity(GetPlayerVehicleID(playerid), pPos[0], pPos[1], pPos[2]);
else if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)GetPlayerVelocity(playerid, pPos[0], pPos[1], pPos[2]);
pPos[3] = floatsqroot(pPos[0] * pPos[0] + pPos[1] * pPos[1] + pPos[2] * pPos[2]);
return floatround(pPos[3] * 100 * 1.61);
}

Ich lasse den Spieler ab dem Tempo 46 Bannen!
mfg ![]()
Ich habe gehört das System wurde nie fertig gestellt.
mfg ![]()
Das funktioniert so nicht, die String-Übergabe per Timer ist verbuggt.
Sprich du kannst das so nicht übergeben
mfg.
Also bei mir Funktioniert die String übergabe wunderbar ![]()