NPCs / Bots Befehle erstellen

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
  • Hallo liebe Community,
    Ich wollte euch mal so fragen, ob man mit Npc's oder auch mit Bots sich Befehle erstellen kann. Also nicht das, womit man im Script arbeitet, sondern der Npc soll z.B. eingeben /kick und der Spieler wird vom Bot gekickt (in diesem Fall). Da es ein bisschen schwer ist, das ganze System zu machen, wollte Ich euch das mal fragen.


    Mit freundlichen Grüßen,
    Krasic27

  • Nein, du kannst aber natürlich die entsprechende Meldung simulieren.
    Heißt, du baust einen Auslöser für den entsprechenden Befehl ein, beispielsweise einen Timer, ein bestimmtes Wort oder einen manuellen Command, der das ganze auslösen soll. Dann führst du einfach die entsprechende Aktion aus, beispielsweise einen Kick, und schickst eine Meldung via SendClientMessageToAll, der Bot hätte das gemacht.


    Beispielsweise hast du einen normalen Kick befehl, dieser enthält die Zeile:

    format(randomtextvariable, sizeof(randomtextvariable), "Der Spieler %s wurde von %s gekickt! Grund: %s", spielername, adminname, grund);
    SendClientMessageToAll(0xFF0000AA, randomtextvariable);


    In diesem Fall wird den Spielern mitgeteilt, das der Spieler von selbigem Admin gekickt wird.


    Wenn du jetzt einen /botkick [id] befehl erstellst, kannst du dort einfach folgendes ausgeben lassen:



    format(randomtextvariable, sizeof(randomtextvariable), "Der Spieler %s wurde von [NPC]RandomLeuteKickBot gekickt! Grund: BotKick!", spielername);
    SendClientMessageToAll(0xFF0000AA, randomtextvariable);


    Der Spieler würde zwar dadurch immer noch von einem Spieler gekickt werden, die Spieler würden aber die Meldung erhalten, es wäre ein bot.
    Wenn du jetzt z.B. Badword abfragen unter OnPlayerText oder einen Timer hast, der ein AntiCheat überprüft, dann kickt nichtmal mehr ein Spieler, sondern das System.



    Lange Rede kurzer Sinn:
    Der Spieler wird immer vom SYSTEM gekickt.
    Die Frage ist nur, ob es durch einen Spieler ausgelöst (--> /kick)
    oder durch abfragen ausgelöst ist (-->automatischer kick "durch bot")