Es ist kein Anti-Waffenhack.
Es ist ein Bad-Weapon System.. Etwas was mein 12 Jähriger Bruder scripten kann und das ohne sonderliche vorkentnisse.
Ausserdem gibts sowas schon.. Aber wirklich gute AntiWeaponHack systeme fehlen.
Anti-Waffenhack
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
-
-
Als 10% aufm Desktop, keine Ahnung wie Du darauf kommst, trotzdem kann man drehen und Wenden wie man will. Dieses "Callback" ist nun mal für andere Sachen gedacht.
Für was soll denn das sonst sein, als für Anticheats?Im Changelog steht das sogar explizit drin
ZitatAdded OnPlayerUpdate, a callback fired for every player network update. This will help server-side anti-cheat.
-
Firefan? Kann er das, ja? Ohne Pawn-Kenntnisse? Alles klar.
Dann ist es halt ein "Verbotene-Waffen-Erkenn-System", mein Gott.. Es bannt jedenfalls Spieler die eine verbotene Waffe trägt - und SPieler die verbotenes machen werden gebannt.
-
Naja was soll man sagen...
Was ich dir noch mit geben kann, ist:
Das man das kleine System etwas Dynamischer machen kann , wie z.B Bools benutzen, Hier mal ein Beispiel:
new bool:Waffenerlaubnis;
Dann Könnte man eine Schleife machen:
if(Waffenerlaubnis == false)
{
Ban(playerid);
} -
Naja, das ist nicht wirklich gut
Und meines Wissens nach ist GetPlayerWeapon(playerid); nicht geeignet, da es nicht richtig funktioniert.
GetPlayerWeaponState ist besser/e und ein ResetPlayerWeapons(playerid); vor einem Ban ist ziemlich sinnlos
Für die Mühe 2/10 -
Man kann auch viele Resourcen sparen wenn man das so macht
#include <a_samp>
public OnFilterScriptInit()
{
print("Forbidden Weapon FS Loaded");
}public OnFilterScriptExit()
{
print("Forbidden Weapon FS Unloaded");
}public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_FIRE && ForbiddenWeap(playerid) && !IsPlayerAdmin(playerid))
{
new pname[MAX_PLAYER_NAME];
new string[124];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "SERVER: %s has been banned! Reason: Forbidden weapon", pname);
SendClientMessageToAll(0xffffffff,string);
print(string);
BanEx(playerid,string);
return 1;
}
return 0;
}stock ForbiddenWeap(playerid)
{
new weap = GetPlayerWeapon(playerid);
if( weap == 35 || weap == 36 || weap == 37 || weap == 38 || weap == 39 || weap == 40 || weap == 41 || weap == 42 || weap == 43 || weap == 44 || weap == 45)
{
return true;
}
return false;
}//===========================Forbidden Weapons==================================
//id 35 = Rocket Launcher
//id 36 = HS Rocket Launcher
//id 37 = Flamethrower
//id 38 = Minigun
//id 39 = Satchel Charge
//id 40 = Detonator
//id 41 = Spraycan
//id 42 = Fire Extinguisher
//id 43 = Camera
//id 44 = Nightvision Goggles
//id 45 = Thermal GogglesJa es stimmt, der Spieler kann sich die Waffe cheaten, jedoch wird er gebannt wenn er sie abfeuert