SYNOPSIS
        int remove_action(int|string verb)
        int remove_action(int|string verb, object obj)

BESCHREIBUNG
        Wenn <verb> ein String ist: entferne das erste im Objekt <obj> durch
        add_action() definierte Kommando <verb>. Wenn <obj> nicht
        angegeben wird, wird standardmaessig this_player() verwendet.
        Gib 1 zurueck, wenn ein Kommando gefunden und entfernt wurde,
        sonst 0.

        Wenn <verb> ein Integer ist: wenn verb nicht 0 ist, entferne alle
        durch das Objekt <obj> definierten Kommandos. Wenn <obj> nicht
        angegeben wird, wird standardmaessig this_player() verwendet. Gibt
        die Anzahl der entfernten Kommandos zurueck.

GESCHICHTE
        Eingefuehrt seit 3.2.1.
        LDMud 3.2.10 fuehrte zusaetzlich die Moeglichkeit ein, alle Kommandos
        auf einmal zu entfernen.

SIEHE AUCH
        add_action(E), move_object(E)
