AdminMod.de
https://www.adminmod.de/

[Plugin idee] Access denied
https://www.adminmod.de/viewtopic.php?t=4948
Seite 1 von 2

Autor:  armistice [ 04.05.2003, 08:55 ]
Betreff des Beitrags:  [Plugin idee] Access denied

Moin Leute ich hätte da eine schöne pluginidee für möchte gern admins .... und zwar folgendes...

Wenn man als "nicht admin" also als user auf einen Server ist und einen Adminbefehl eingeben möchte .... taucht dann immer der Text auf, denn man in der adminmod.cfg geschrieben hat, in der Console auf...
(standart... U dont have access 4 this command... kennt das ja :D)

Meine Idee:

Wenn sich wer als Admin versuchen will... kommt eine HLvoice und sagt .. "Access denied" ... das were kool ... und mal was anderes ...

Und ... wenn man sich als admin eingeloggt hat, sollte beim ersten admincommand auch der HLVoice ertönen ... "Access granted"..

Na haltes ihr was von der Idee? oder gibts das vieleicht schon? oder is ds schreiben unmöglich :D

naja haut rein un seht mal was ihr machen könnt... wenn da bock habt..

so long armistice...

hf...

Autor:  Rinde [ 04.05.2003, 09:28 ]
Betreff des Beitrags: 

möglich isses sogar

Autor:  Sir Drink a lot [ 04.05.2003, 12:09 ]
Betreff des Beitrags: 

Bekommt man bei plugin_exec eigentlich einen Wert zurück?
Dann könnte man das ja richtig fett machen.

Mit einem plugin_command(...) den Befehl aufrufen und wenn 0 zurückkomt, ein ACCESS DENIED ausgeben.

Klar, um NICHT-ADMINS den Sound vorzuspielen reicht ein check_auth. Aber bei den anderen Befehlen kann man ja nicht deren Rechtelevel auslesen? Oder doch?

Autor:  Rinde [ 04.05.2003, 13:59 ]
Betreff des Beitrags: 

ich dachte eher an das ein wenig neuere
native plugin_checkcommand( sCommand[], &iAccess = 0 );
in verbindung mit einem
public plugin_command(HLCommand,HLUserName,HLData,UserIndex)
und return PLUGIN_CONTINUE

Autor:  Sir Drink a lot [ 04.05.2003, 16:06 ]
Betreff des Beitrags: 

:o
wo wie was?

hänge ich der Entwicklung mal wieder hinterher...
Muss ich erst mal checken, da mir die native unbekannt ist.

*check...such...check*

ach da hat sie sich versteckt. Nette Sache. Sehr nützlich.

Muss ich direkt mal verwenden :-) Oder bist Du na dem Plugin schon dran? Ich würde es genauso machen, wie Du vorgeschlagen hast. :-)

Autor:  Rinde [ 04.05.2003, 16:29 ]
Betreff des Beitrags: 

ich bin noch nicht dran, aber da sist ne sache von 5minuten...
ich mahc mal ebend

Autor:  Sir Drink a lot [ 04.05.2003, 16:38 ]
Betreff des Beitrags: 

ok.

Meist, wenn man denkt, es dauert nur 5 min, dann stellt man nachher fest, dass es doch länger dauert :-)

Autor:  Rinde [ 04.05.2003, 16:45 ]
Betreff des Beitrags: 

ok, 10 minuten. aber ich wurde von meinen eltern gestört ;)

wie immer ungetestet, nur testcompiliert
Code:
/* Includes */
#include <plugin>
#include <adminlib>

/* Global Variables */
new g_Version[] = "0.8";
new g_AccessGranted[MAX_PLAYERS] = {0};

/* Event Handlers */
public plugin_init() {
    plugin_registerinfo("Access Speak","Speaks when a use of a command is denied or granted",g_Version);
    return PLUGIN_CONTINUE;
}

public plugin_connect(HLUserName,HLIP,UserIndex) {
    g_AccessGranted[UserIndex] = 0;
    return PLUGIN_CONTINUE;
}

public plugin_disconnect(HLUserName,UserIndex) {
    g_AccessGranted[UserIndex] = 0;
    return PLUGIN_CONTINUE;
}

/* Command Handlers */
public plugin_command(HLCommand,HLData,HLUserName,UserIndex) {
    new iAccess;
    new Command[MAX_COMMAND_LENGTH];
    convert_string(HLCommand,Command,MAX_COMMAND_LENGTH);
    if(plugin_checkcommand(Command,iAccess)) {
        if(!check_auth(iAccess)) {
            new UserName[MAX_NAME_LENGTH];
            convert_string(HLUserName,UserName,MAX_NAME_LENGTH);
            speakto(UserName,"access denied");
        } else if(g_AccessGranted == 0 && iAccess > 0 && !(iAccess & getvar("default_access"))) {
            g_AccessGranted[UserIndex] = 1;
            new UserName[MAX_NAME_LENGTH];
            convert_string(HLUserName,UserName,MAX_NAME_LENGTH);
            speakto(UserName,"access granted");
        }
    }
    return PLUGIN_CONTINUE;
}

Autor:  Rinde [ 04.05.2003, 18:14 ]
Betreff des Beitrags: 

ich vergaß: das plugin muss in der plugin.ini ganz oben stehen
namen dürft ihr euch ausdenken

Autor:  armistice [ 04.05.2003, 19:27 ]
Betreff des Beitrags: 

Bei mir funtz es leider net :(

Probier du es mal ...

Aber echt dickes merci das ihr mir helft :D

// Probierte es übriegens auf meinen Windows LAN Server ... hab es eben noch einmal mit dem AMX Converter in eine Linux AMX gemacht und auf einen Linux Dedicated probiert... dort ging es leider auch nicht...

Oder darf man nich sofort als regestrierter admin auf dem server joinen?

Autor:  [WING] Black Knight [ 04.05.2003, 20:07 ]
Betreff des Beitrags: 

Außerdem sollte es an Platz 2 stehen. Ganz oben sollte immer das antiflood Plugin stehen.

Autor:  Rinde [ 05.05.2003, 17:04 ]
Betreff des Beitrags: 

das ist bei mir nicht drin, mich nervt es :)
funktioniert das access denied auch nicht?

Autor:  Rinde [ 05.05.2003, 17:10 ]
Betreff des Beitrags: 

ich hab da ne idee wo der fehler ist. hast du defaul_access auf 0?

Autor:  DarkEyes1 [ 05.05.2003, 19:29 ]
Betreff des Beitrags: 

access auf 0...
an 2ter stelle... :wink:

trotzdem kein sound...

Autor:  Rinde [ 06.05.2003, 13:36 ]
Betreff des Beitrags: 

okay, plugin_checkcommand macht doch etwas anderes als ich dachte, auf diese art und weise geht das mit access denied nciht. access granted habe ich hinbekommen. die methode mit plugin_exec geht übrigens nicht.
ich habe noch eine idee wie ich den access denied auch hinbekomme. aber man hat mir mal gesagt dass sekündlich ausgeführte timer nicht gut seien...

Autor:  Rinde [ 06.05.2003, 13:36 ]
Betreff des Beitrags: 

ich schussel, code anhängen schdet sicher nicht
Code:
/* Includes */
#include <plugin>
#include <adminlib>

/* Global Variables */
new g_Version[] = "0.8";
new g_AccessGranted[MAX_PLAYERS] = {0};

/* Event Handlers */
public plugin_init() {
    plugin_registerinfo("Access Speak","Speaks when a use of a command is denied or granted",g_Version);
    g_AccessGranted[0] = 1;
    return PLUGIN_CONTINUE;
}

public plugin_connect(HLUserName,HLIP,UserIndex) {
    g_AccessGranted[UserIndex] = 0;
    return PLUGIN_CONTINUE;
}

public plugin_disconnect(HLUserName,UserIndex) {
    g_AccessGranted[UserIndex] = 0;
    return PLUGIN_CONTINUE;
}

/* Command Handlers */
public plugin_command(HLCommand,HLData,HLUserName,UserIndex) {
    if(g_AccessGranted[UserIndex] == 0 && auth("")) {
        new Command[MAX_COMMAND_LENGTH];
        new Access;
        convert_string(HLCommand,Command,MAX_COMMAND_LENGTH);
        if(plugin_checkcommand(Command,Access) && Access && !(Access & getvar("default_access"))) {
            new UserName[MAX_NAME_LENGTH];
            convert_string(HLUserName,UserName,MAX_NAME_LENGTH);
            speakto(UserName,"access granted");
            g_AccessGranted[UserIndex] = 1;
        }
    }
    return PLUGIN_CONTINUE;
}

Autor:  Sir Drink a lot [ 06.05.2003, 17:03 ]
Betreff des Beitrags: 

O.T.: warum fangen Deine Versionen immer mit 0.8 an :-)

Autor:  [WING] Black Knight [ 06.05.2003, 18:32 ]
Betreff des Beitrags: 

Solange sie nicht mit 15 enden...

Autor:  armistice [ 06.05.2003, 18:37 ]
Betreff des Beitrags: 

sauber jetzt funtz das ... aller ding nur access granted :))

aber is schonmal fett.. wird gleich mal auf unseren linux server packen .. habs nur aufm LAN server getestet..

nochmal BIG THX 2 ALL ! :oops: :lol:

Autor:  Rinde [ 06.05.2003, 20:33 ]
Betreff des Beitrags: 

Zitat:
O.T.: warum fangen Deine Versionen immer mit 0.8 an :-)
eigentlich, damit ich noch platz bis zur 1.0 habe, die dann funktionieren sollte. allerdings bin ich immer zu faul, die version zu ändern, so dass es im endeffekt nichts bringt. weshalb ich es immernoch tue: ich habe ein sample plugin, dass ich wenn ich ein neues anfange, kopiere und umbenenne
plugin_rindy_template
Code:
/*********************************************************
 * A sample plugin - Version 0.8                         *
 *********************************************************
 *                                                       *
 * Name: plugin_rindy_                                   *
 * Author: Rinde (rinde@fiatnox.de)                      *
 * Released: 15/11/02                                    *
 *                                                       *
 *                                                       *
 * Commands:                                             *
 *                                                       *
 * admin_                                                *
 *                                                       *
 * Changelog:                                            *
 *                                                       *
 * Version 0.8                                           *
 *                                                       *
 *  -  Initial release                                   *
 *                                                       *
 *********************************************************/

/* Includes */
#include <plugin>
#include <adminlib>
#include <rindy>

/* Constants */
#define ACCESS_

/* Global Variables */
new g_Version[10] = "0.8";

/* Function Declarations */
forward a(HLCommand,HLData,HLUserName,UserIndex);

/* Event Handlers */
public plugin_init() {
    plugin_registerinfo("","",g_Version);
    plugin_registercmd("","a",ACCESS_,"");
    return PLUGIN_CONTINUE;
}

/* Command Handlers */
public a(HLCommand,HLData,HLUserName,UserIndex) {
    return PLUGIN_HANDLED;
}

/* Support Functions */



/*
    Stufe 15
( )         Gruppieren von Ausdrücken
[ ]         Auswahl einer Feldkomponente

    Stufe 14
! ~         Negation (logisch, bitweise)
++ --      Inkrementieren, Dekrementieren (Präfix oder Postfix)
+ -        Vorzeichen (unär)

    Stufe 13
* /        Multiplikation, Division (binär)
%          Rest bei ganzzahliger Division (binär)

    Stufe 12
+ -        Summe, Differenz (binär)

    Stufe 11
<< >>      bitweise Verschiebung nach links, rechts

    Stufe 10
< <=       Vergleich auf kleiner, kleiner oder gleich
> >=       Vergleich auf größer, größer oder gleich

    Stufe 9
== !=      Vergleich auf gleich, ungleich

    Stufe 8
&          Und (bitweise)

    Stufe 7
^          exklusives Oder (bitweise)

    Stufe 6
|          inklusives Oder (bitweise)

    Stufe 5
&&         Und (logisch)

    Stufe 4
||         inklusives Oder (logisch)

    Stufe 3
? :        bedingte Auswertung (nur paarweise)

    Stufe 2
=          Wertzuweisung
°=         zusammengesetzte Wertzuweisung mit ° für: * / % + - << >> & ^ |


servertime(sDest[],iMaxLen,sFormat[]);
%a abbreviated weekday name.
%A full weekday name.
%b abbreviated month name.
%B full month name.
%c appropriate date and time representation.
%C century number as a decimal number [00-99].
%d day of the month as a decimal number [01,31].
%D same as %m/%d/%y.
%e day of the month as a decimal number [1,31]; a single digit is preceded by a space.
%h same as %b.
%H hour (24-hour clock) as a decimal number [00,23].
%I hour (12-hour clock) as a decimal number [01,12].
%j day of the year as a decimal number [001,366].
%m month as a decimal number [01,12].
%M minute as a decimal number [00,59].
%n newline character.
%p either a.m. or p.m.
%r equivalent to %I:%M:%S %p.
%R time in 24 hour notation (%H:%M).
%S second as a decimal number [00,61].
%t tab character.
%T the time (%H:%M:%S).
%u weekday as a decimal number [1,7], with 1 representing Monday.
%U week number of the year (Sunday as the first day of the week) as a decimal number [00,53].
%V week number of the year (Monday as the first day of the week) as a decimal number [01,53]. If the week containing 1 January has four or more days in the new year, then it is considered week 1. Otherwise, it is the last week of the previous year, and the next week is week 1.
%w weekday as a decimal number [0,6], with 0 representing Sunday.
%W week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0.
%x locale's appropriate date representation.
%X locale's appropriate time representation.
%y year without century as a decimal number [00,99].
%Y year with century as a decimal number.
%Z name or abbreviation, or by no bytes if no timezone information exists.
%% is replaced by %.
*/

Seite 1 von 2 Alle Zeiten sind UTC+01:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/