Minigun abfrage

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
  • GetPlayerWeapon - Wenn der Spieler die Waffe in der Hand hält
    GetPlayerWeaponData - Wenn der die Waffe bei sich hat (allgemein seine Waffen)

  • Ich habe es so gemacht aber jetzt Spamt es mir den Chat zu, selbst wenn ich nicht mal eine in der Hand habe...

    public WeaponCheck()
    {
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pAdminlevel] == 0)
    {
    if(GetPlayerWeapon(i) == 38 || 28 || 32 || 35 || 36 || 37 || 39 || 40)
    {
    new string[128],name[MAX_PLAYER_NAME];
    GetPlayerName(i,name,sizeof(name));
    format(string,sizeof(string),"AntiCheat: %s ist im Verdacht sich Waffen zu cheaten.",name);
    SendClientMessageToAdmin(Rot,string);
    }
    }
    }
    }
    return 1;
    }

  • Du musst ja auch die Waffe immer erneut abfragen
    Nicht so: 38 || 28 || ..
    Sondern: 38 || GetPlayerWeapon(playerid) == 28 || ..

  • Wieso denn einmal in der Stunde?
    Wenn du den Spieler kicken möchtest, dann Kick(i); und die Nachricht hört bei dem Spieler auf.


    #edit:
    Jede Stunde ist nicht wirklich sinnvoll, denn wenn in dieser Stunde ein 2. Cheater da ist, dann wird dieser nicht gemeldet.. :)

    2 Mal editiert, zuletzt von AirM4X ()

  • //Callback (Timer)
    forward WeaponCheck();
    public WeaponCheck(){
    for(new i,string[75],pname[MAX_PLAYER_NAME];i<GetMaxPlayers();++i){
    if(!IsPlayerConnedted(playerid) || IsPlayerNPC(playerid))continue;
    GetPlayerName(i,pname_,sizeof pname_);
    new weapons[13][2];
    for(new x;x<12;++x){
    GetPlayerWeaponData(i,x,weapons[x][0],weapons[x][1]);
    if(weapons[x][0] == 38){
    format(string,sizeof string,"AdmCmd: %s wurde vom Anti-Cheat gebannt. Grund: Minigun",pname_);
    SendClientMessageToAll(colorcode,string);
    return Kick(i);
    }
    }
    }
    }


    //Timer starten bei OnGameModeInit
    SetTimer("WeaponCheck",6*10000*60,true);


    Ist ungetestet, müsse aber soweit Funktionieren.
    Aber es rentiert sich wirklich nicht nur jede Stunde den Spieler abzufragen..


    mfg :thumbup:

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Kann man, wäre aber auf Dauer nicht die beste Lösung.
    Mit einen Timer ist er schon gut dran ;)