[ SUCHE ] Anti-AFK System!

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
  • Hey, ich suche ein Anti-AFK System, also das alle paar Minuten (~10) eine Abfrage kommt, ob der Spieler AFK ist, und der Spieler dann eingeben muss: /notafk [zahl] -- so wie auf GRP (German-Roleplay) in der Art..

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • Keine eigenen Ideen? -.-


    Naja also du machst einen Timer bei OnGameModeInit der auf 10 Minuten gestellt ist. Da ich keine Zeit habe um es zu schreiben hier als Hilfe ist eig. ganz Simple ich bin anfänger und schaffe dies sogar:^^


    unter dem Timer Public der nach 10Minuten aufgerufen ist machst du erneut SetTimer auf 10Minuten damit er immer wieder von vorne läuft. Nun erstellst du ein Random Code und eine Eingabe MSG Box, wenn der Input der dazugehörigen Randomzahl gleicht passiert folgendes= Der Timer erneut sich um 10Minuten. Wenn er falsch eingibt steht dort "Falsch dein Code ist %d". Sobald du ShowPlayerDialog oder wie das hießt machst einen Timer starten mit dem Kick da man nur begrenzt zeit haben soll z.B 60Sekunden, nach den 60sek machst du "kick(playerid);" fertig.^^

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25

  • das is umständlich machs einfach per Variable weil wenn der Spieler aufn Desktop is wird das Callback OnPlayerUpdate nicht aufgerufen

    Sorry =) kanns nur mit Timern bin selbst Anfänger. War nur ein Vorschlag...

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25

  • Es soll AUCH kommen, wenn der Spieler aufm Desk ist oder so, kann mir das keiner eben machen, anstatt nen riesen tuto zu schreiben?^^

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • Jo danke.. und eig ja, aber das is mir einfach noch n bissl zu schwer^^


    Da brauch ich hilfe :P


    Und Selfmade isses ja so oder so, denn jemand hat es ja gemacht xD

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • Wie ist es mit OnKeyStateChange?
    Wen er die (windows taste) drückt läuft ein timer für 10min.
    Am start des Timers liest du die Position vom Player aus und nach den 10Min wird noch mal die Pos ausgelesen und verglichen
    falls nicht gleich = Kick.


    Geht das vllt so?

  • Nein ich meine, dass alle 10 Minuten, egal was der grade macht eine AFK Meldung kommt mit: Bitte gib /notafk [zahl] ein um deine anwesenheit zu bestätigen, ansonsten wirst du innerhalb einer minute gekickt

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ich glaube bei


    // Unter OnGameModeInit
    SetTimer("AFKtimer",600000,true);


    // forwards
    forward AFKtimer()
    forward 60Sekunden()


    // Publics
    Public AFKtimer(playerid)
    {
    SendClientMessage(playerid,0xFFFAF0,"Bitte tippen sie "/Notafk" ein um ihre Anwesenheit zu Bestätigen!"); // Farbe Weiß
    SendClientMessage(playerid,0xFFFAF0,"Oder sie werden in 60 Sekunden automatisch gekickt");
    SetTimer(60Sekunden,60000,true);
    }


    Public 60Sekunden(playerid)
    {
    kick = playerid // weis jetzt nicht wie man kickt :D
    }



    So müsste es gehen.


    // Edit: Das wichtigste vergessen.


    // Unter OnPlayerCommandText
    if(strcmp(cmdtext, "/Notafk", true) == 0)
    {
    // Command fürs Stopen des 60Sekunden timers
    }

    Einmal editiert, zuletzt von AdnaN ()

  • Bitte tippen sie "/Notafk" ein um ihre Anwesenheit zu Bestätigen!


    Da is doch das command net, um die anwesendheit zu bestätigen, oda? xD

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • Das ist ne Message die ihm Sagt er solls tippen.
    In der zeit wird automatisch der 60Sekunden timer gestartet.
    Falls er Innerhalb der 60Sekunden nicht /Notafk = Nichtafk ^^ eingibt wird er gekickt.

  • Haha beide Fail xD



    kicken tut man so


    Kick(playerid);

  • Und wie mache ich das, dass da steht: Anwesenheit bestätigt!


    Wenn er /notafk eigibt? Weil das ist ja kein text command :X

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • // Command fürs Stopen des 60Sekunden timers



    Kann mir niemand sagen, was "command fürs stoppen des 60sec timers" is?! :<

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


    Einmal editiert, zuletzt von Hijashy ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen