Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
- - - - -

Advanced Access Controlby MarWit

Advanced access controll marwit flagi dodatkowe biblioteka aac alternatywa dla ADMIN_* aac_get_user_flags

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
8 odpowiedzi w tym temacie

#1 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 14.10.2011 17:26

*
Popularny

Advanced Access Control by MarWit


opis

Jest to plugin-biblioteka, dodajacy możliwość dodawania zaawansowanych uprawnien, czyli alternatywa dla ADMIN_*.
Dzięki niemu mamy dostęp do większej liczby flag ( każdy znak może byc flagą!, [ wyj. ^ i " ] ), które można przechowywać w dowolnym pliku.

Jak korzystać z tego rozwiązania w swoich pluginach? Oto przykład:


#include <amxmodx>

native aac_get_user_flags(id, szOutput[], iLen) // Dodajemy aby korzystać z funkcji biblioteki.
native aac_user_has_flags(id, const szFlags[]) // Tak jak wyżej.

public plugin_init() {
register_plugin("Test AAC", "0.1", "MarWit")
register_clcmd("say /test", "cmdTest")
}

public cmdTest(id)
{
if(aac_user_has_flags(id, "$#Z")) // Sprawdzamy czy gracz posiada flagi $#Z
{
client_print(id, print_chat, "Posiadasz flagi $#Z :)")
return PLUGIN_CONTINUE
}

client_print(id, print_chat, "Nie posiadasz wszystkich wymaganych flag :(")
return PLUGIN_CONTINUE
}


konfiguracja

Do pliku z konfiguracja ( org. "aac_users.ini ) dodajemy graczy w formacie:
"nick_gracza/sid_gracza/ip_gracza" "flagi_gracza" "czas_posiadania_flag" "haslo_gracza"
Czas posiadania flag wpisujemy w formacie:
1. "ddmmrrrr" np. "16102011" - 16-10-2011
2. "ddmmrrrrggMM" np. "161020111147" - 16-10-2011 11:47
3. Wpisujemy "0", dzięki czemu dana osoba doststaje flagi pernametnie ( można usunąć gracza komendą "aacdel" )

d - dzień (1-31) , m - miesiąc(1-12) , r - rok ( xxxx ), gg - godzina ( 1-12 ), - minuta ( 0-59 )

Hasła nie wpisujemy, jeżeli w 1 polu daliśmy coś innego niż nick.

Oczywiście graczy możemy dodawać i usuwać także komendami.

Zmiana nazwy pliku konfiguracyjnego:
Szukamy
new const g_szFileName[128] = "aac_users.ini"

Gdzie "aac_users.ini", zmieniamy na własną nazwe

Hasło:
Gdy ustawimy graczowi hasło na nick, musi on wpisać do konsoli:
setinfo "_aacpw" "haslo"
Inaczej dostanie kicka z informacja o błędnym haśle.

komendy

Dodawanie gracza:
aacadd "nick_gracza" "flagi_gracza" "czas_posiadania_flag" "haslo_gracza"
Hasła nie wpisujemy, jeżeli w 1 polu daliśmy coś innego niż nick.


Czas posiadania flag wpisujemy w formacie:
1. "ddmmrrrr" np. "16102011" - 16-10-2011
2. "ddmmrrrrggMM" np. "161020111147" - 16-10-2011 11:47
3. Wpisujemy "0", dzięki czemu dana osoba doststaje flagi pernametnie ( można usunąć gracza komendą "aacdel" )

d - dzień (1-31) , m - miesiąc(1-12) , r - rok ( xxxx ), gg - godzina ( 1-12 ), - minuta ( 0-59 )

Usuwanie gracza:
aacdel "nick_gracza"

Menu:
aacmenu

Wszystkie komendy wymagają flagi ADMIN_IMMUNITY

inne informacje

Natywy:

aac_get_user_flags(id, szOutput[], iLen)
Zwraca flagi w postaci stringa. Przykład:


new szFlags[64]
aac_get_user_flags(id, szFlags, 63)


----------------------------------------------------------------

aac_user_has_flags(id, const szFlags[])
Sprawdza czy gracz posiada dane flagi. Przykład ( sprawdzi czy gracz posiada flagi "adt" ):
aac_user_has_flags(id, "adt")


!! UWAGA !!
Plugin dopisujemy NA SAMYM POCZĄTKU plugins.ini, przed wszystkimi pluginami korzystającymi z tej biblioteki!!

download

Załączone pliki


Użytkownik MarWit edytował ten post 16.10.2011 10:53

  • +
  • -
  • 7

marwit-0.png


#2 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 14.10.2011 17:55

Dobrze by było, żebyś dodał też coś takiego, żeby ktoś miał flagi na czas określony ;]
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#3 MarWit

    The Chosen One

  • Autor tematu
  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 14.10.2011 18:09

@Up, sie znajdzie czas, sie zrobi :D
  • +
  • -
  • 1

marwit-0.png


#4 stepdub

    Profesjonalista

  • Użytkownik

Reputacja: 43
Pomocny

  • Postów:207
  • Lokalizacja:Kobyłka
Offline

Napisano 14.10.2011 18:37

świetne, tego mi było trzeba :)
dzięki Ci wielkie za to, ogromny +
  • +
  • -
  • 0

#5 Niby co ? :P

    Zaawansowany

  • Zbanowany

Reputacja: 10
Początkujący

  • Postów:107
  • Lokalizacja:Warsaw
Offline

Napisano 14.10.2011 19:31

no ładnie

#6 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 15.10.2011 17:03

@Up, sie znajdzie czas, sie zrobi :D

To rób szybko, wtedy ja dodam swój plugin co działa praktycznie na takiej samej zasadzie jak wczytywanie adminów z users.ini ^^ albo może i tak dodam, ale jeszcze nie teraz :D


To teraz czas na mnie ^^

Użytkownik sebul edytował ten post 16.10.2011 11:01

  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#7 MarWit

    The Chosen One

  • Autor tematu
  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 16.10.2011 10:54

[Update!]
Dodano możiwość dania flag, na czaś określony.
Poprawiono drobny bug.
Drobna optymalizacja zapisu.
  • +
  • -
  • 0

marwit-0.png


#8 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 16.10.2011 11:04

Myślałem, że dodasz coś takiego jak jest w amxbansie, czyli podaje się tylko na ile dni mają być te flagi dla gracza, ale tak też źle nie jest ;]
Zaraz dodam swój plugin.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#9 MarWit

    The Chosen One

  • Autor tematu
  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 16.10.2011 11:11

@Up, to się zrobi :) Jak będę poprawiał menu ( na razie jest na opak xD ), to będzie możliwość wybrania na ile minut/godzin/dni/tyg/miesiecy/lat :)
  • +
  • -
  • 0

marwit-0.png






Również z jednym lub większą ilością słów kluczowych: Advanced, access, controll, marwit, flagi, dodatkowe, biblioteka, aac, alternatywa dla ADMIN_*, aac_get_user_flags

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych