Ein neues Thema erstellen  Auf das Thema antworten  [ 26 Beiträge ]  Gehe zu Seite 1 2 Nächste
Autor Nachricht
 Betreff des Beitrags: [Plugin idee] Access denied
BeitragVerfasst: 04.05.2003, 08:55 

Registriert: 04.05.2003, 08:46
Beiträge: 8
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...


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04.05.2003, 09:28 
AM.de Team

Registriert: 04.10.2002, 16:14
Beiträge: 1212
möglich isses sogar


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04.05.2003, 12:09 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
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?

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04.05.2003, 13:59 
AM.de Team

Registriert: 04.10.2002, 16:14
Beiträge: 1212
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


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04.05.2003, 16:06 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
: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. :-)

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04.05.2003, 16:29 
AM.de Team

Registriert: 04.10.2002, 16:14
Beiträge: 1212
ich bin noch nicht dran, aber da sist ne sache von 5minuten...
ich mahc mal ebend


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04.05.2003, 16:38 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
ok.

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

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04.05.2003, 16:45 
AM.de Team

Registriert: 04.10.2002, 16:14
Beiträge: 1212
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;
}


Zuletzt geändert von Rinde am 04.05.2003, 18:45, insgesamt 1-mal geändert.

Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04.05.2003, 18:14 
AM.de Team

Registriert: 04.10.2002, 16:14
Beiträge: 1212
ich vergaß: das plugin muss in der plugin.ini ganz oben stehen
namen dürft ihr euch ausdenken


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04.05.2003, 19:27 

Registriert: 04.05.2003, 08:46
Beiträge: 8
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?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04.05.2003, 20:07 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
Außerdem sollte es an Platz 2 stehen. Ganz oben sollte immer das antiflood Plugin stehen.

_________________
Der schwarze Ritter triumphiert immer...
WING-Clan


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 05.05.2003, 17:04 
AM.de Team

Registriert: 04.10.2002, 16:14
Beiträge: 1212
das ist bei mir nicht drin, mich nervt es :)
funktioniert das access denied auch nicht?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 05.05.2003, 17:10 
AM.de Team

Registriert: 04.10.2002, 16:14
Beiträge: 1212
ich hab da ne idee wo der fehler ist. hast du defaul_access auf 0?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 05.05.2003, 19:29 

Registriert: 27.05.2002, 12:14
Beiträge: 541
Wohnort: im Osten ;)
access auf 0...
an 2ter stelle... :wink:

trotzdem kein sound...

_________________
Gameserver: 213.146.190.161:27005


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 06.05.2003, 13:36 
AM.de Team

Registriert: 04.10.2002, 16:14
Beiträge: 1212
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...


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 06.05.2003, 13:36 
AM.de Team

Registriert: 04.10.2002, 16:14
Beiträge: 1212
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;
}


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 06.05.2003, 17:03 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
O.T.: warum fangen Deine Versionen immer mit 0.8 an :-)

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 06.05.2003, 18:32 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
Solange sie nicht mit 15 enden...

_________________
Der schwarze Ritter triumphiert immer...
WING-Clan


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 06.05.2003, 18:37 

Registriert: 04.05.2003, 08:46
Beiträge: 8
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:


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 06.05.2003, 20:33 
AM.de Team

Registriert: 04.10.2002, 16:14
Beiträge: 1212
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 %.
*/


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 26 Beiträge ]  Gehe zu Seite 1 2 Nächste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de
Original Design von "[ Half-Life Admin Mod © Alfred Reynolds 2000-2003 ] - [ site design by Jägermeister ]"