...was ist denn der Fehler..ist doch alles richtig?
Mit der Hydra soll man maximal 250 fliegen können!
...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
Vielleicht lässt du den Bot kicken.
Wenn du wirklich nicht weist wieso der Bot den Server verlässt benutze diesen Quellcode:
public OnPlayerDisconnect(playerid, reason)
{
if(IsPlayerNPC(playerid)) return SetTimerEx("@ConnectBot", 1000, false, "ss", "botname", "scriptname");
return 1;
}
@ConnectBot(const botname[], const scriptname[]); @ConnectBot(const botname[], const scriptname[]){
ConnectNPC(botname, scriptname);
}
Damit sollte er schnell wieder Connecten (1000 ms)
mfg
Du kannst aber auch SetPlayerWantedLevel benutzen.
http://wiki.sa-mp.com/wiki/SetPlayerWantedLevel
mfg
Als erstes finde ich es schon einmal unverschämt. Klar habe ich Ahnung von Scripten. Habe mich sehr lange und Intensiv mit Pawno auseinandergesetzt.
Nur brauche ich in diesem Fall einen kleinen Anschubser... ich weis einfach nicht wie ich es am besten Anstellen kann.
Er hat dich ganz normal gefragt ob du Grundkenntnisse hast, daran ist nichts unverschämt
mfg