http://amxx.pl/topic/96978-rangi/
http://amxx.pl/topic/2998-ranga/
http://amxx.pl/topic/13035-ranga/
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.
|
Guest Message by DevFuse
RolgeN
Rejestracja: 23.03.2013Aktualnie: Nieaktywny
Poza forum Ostatnio: 04.04.2013 14:37





Statystyki
- Grupa: Nowy
- Całość postów: 3
- Odwiedzin: 775
- Tytuł: Nowy
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Płeć
Mężczyzna
-
Lokalizacja
Biała Podlaska
Kontakt
0
Nowy
Narzędzia użytkownika
Znajomi
RolgeN nie posiada znajomych
Ostatnio byli
Brak ostatnio odwiedzających do wyświetlenia
#528438 [ROZWIĄZANE] Rangi
Napisane przez Cofnij sie
w 26.03.2013 19:05
#308795 VIP na nick/IP/SID
Napisane przez sebul
w 16.10.2011 11:54
Plugin działa praktycznie na takiej samej zasadzie jak dodawanie/wczytywanie adminów/vipów z users.ini, tylko tutaj można ustalić także do kiedy dany gracz ma posiadać flagi oraz oczywiście wykorzystywany jest inny plik. Ogólnie sam plugin nie daje nic, ale można go wykorzystać w każdym innym pluginie, wystarczy używać natywów, które zostały dodane. Dodałem także komendę, dzięki której gracz zawsze będzie wiedział kiedy kończy mu się VIP (lub KP, jeśli plugin wykorzystamy do diablo czy coda) oraz 3 dni (wartość domyślna) przed końcem automatycznie po wejściu na serwer będzie mu się wyświetlać info o tym kiedy straci VIPa.
Dodatkowo zostaje udostępniony plugin do ustawienia flag w danych godzinach (vip_w_godzinach.amxx).
Changelog
Spoiler
v0.9
- dodanie forwardu "vip_client_authorized" oraz wykorzystanie go w pluginie vip_w_godzinach.amxx
v0.8
- Mała poprawka przy wczytywaniu vipów
- Zamiana funkcji "str_to_num" na "is_str_num" przy dodawaniu vipa za pomocą komendy
- Dodatnie oddzielnego pluginu do dawania flag w danych godzinach
v0.7
- Zmieniono sposób wyrzucania graczy ze złym hasłem
- Flagi gracza wczytują się teraz w funkcji "client_authorized"
- Dodanie sprawdzania nicków graczy w trakcie ich gry na serwerze
- "odświeżenie" kodu
v0.6
- Ulepszono sposób usuwania starych kont (teraz usuwane są wszystkie na raz)
- W pliku .sma można ustawić w jaki sposób ma informować o tym kiedy wygasa VIP
- "odświeżenie" kodu
v0.5
- Dodano nowe natywy
- "odświeżenie" kodu
v0.4
- Dodano komendę dla admina, dzięki której można dodać flagi dla VIPa bezpośrednio podczas gry na serwerze
- Stare, wygasłe już konta z flagami, usuwają się automatycznie pojedynczo z pliku, co każdą zmianę mapy po określonym przez nas czasie (domyślnie 10 dni)
v0.3
- Wydanie pluginu.
- dodanie forwardu "vip_client_authorized" oraz wykorzystanie go w pluginie vip_w_godzinach.amxx
v0.8
- Mała poprawka przy wczytywaniu vipów
- Zamiana funkcji "str_to_num" na "is_str_num" przy dodawaniu vipa za pomocą komendy
- Dodatnie oddzielnego pluginu do dawania flag w danych godzinach
v0.7
- Zmieniono sposób wyrzucania graczy ze złym hasłem
- Flagi gracza wczytują się teraz w funkcji "client_authorized"
- Dodanie sprawdzania nicków graczy w trakcie ich gry na serwerze
- "odświeżenie" kodu
v0.6
- Ulepszono sposób usuwania starych kont (teraz usuwane są wszystkie na raz)
- W pliku .sma można ustawić w jaki sposób ma informować o tym kiedy wygasa VIP
- "odświeżenie" kodu
v0.5
- Dodano nowe natywy
- "odświeżenie" kodu
v0.4
- Dodano komendę dla admina, dzięki której można dodać flagi dla VIPa bezpośrednio podczas gry na serwerze
- Stare, wygasłe już konta z flagami, usuwają się automatycznie pojedynczo z pliku, co każdą zmianę mapy po określonym przez nas czasie (domyślnie 10 dni)
v0.3
- Wydanie pluginu.
Dodawanie konta
Spoiler
Otwieramy vip.ini i następnie na sam koniec dodajemy, np.
1.
2.
3.
Do tego w pliku vip.ini jest wszystko wytłumaczone jak dodawać nowe konta, dokładnie w taki sam sposób jak w users.ini.
1.
"STEAM_0:0:123456" "" "abcde" "ce" "09-07-2011" "-1"Gracz będzie miał VIPa z flagami "abcde" na steam na czas nieokreślony.
2.
"123.45.67.89" "" "abcde" "de" "26-10-2011" "15"Gracz będzie miał VIPa z flagami "abcde" na ip przez 15 dni licząc od 26 października br.
3.
"My Name" "my_password" "abcde" "a" "20-10-2011" "30"Gracz będzie miał VIPa z flagami "abcde" na nick przez 30 dni licząc od 20 października br.
Do tego w pliku vip.ini jest wszystko wytłumaczone jak dodawać nowe konta, dokładnie w taki sam sposób jak w users.ini.
Natywy
/* zwraca flagi gracza */
native get_user_vip_flags(id);
/* ustawia flagi graczowi */
native set_user_vip_flags(id, flags = -1);
/* dodaje flagi graczowi */
native add_user_vip_flags(id, flags = -1);
/* usuwa flagi graczowi */
native remove_user_vip_flags(id, flags = -1);
Forwardy
/* forward wysylany po sprawdzeniu pliku z flagami, nie wykonywany tylko wtedy gdy gracz zostaw wyrzucony
id - id gracza
flags - przypisane flagi
endtime - data zakonczenia vipa w sekundach (unix time)
-2: nie znaleziono gracza lub czas vipa juz sie skonczyl
-1: vip na czas nieokreslony
*/
forward vip_client_authorized(id, flags, endtime);
Konfiguracja
Jeśli chcemy sprawdzać w jakimś pluginie czy gracz posiada flagi lub mu je dodać, należy najpierw na początek kodu sma dodać
#include <vip>
i teraz możemy już używać natywów dokładnie w taki sam sposób jak
get_user_flags(id)
set_user_flags(id, flags)
remove_user_flags(id, flags)
z tym że tutaj każda flaga ma inną nazwę define
#define VIP_FLAG_ALL 0 /* kazdy */
#define VIP_FLAG_A (1<<0) /* flaga "a" */
#define VIP_FLAG_B (1<<1) /* flaga "b" */
#define VIP_FLAG_C (1<<2) /* flaga "c" */
#define VIP_FLAG_D (1<<3) /* flaga "d" */
#define VIP_FLAG_E (1<<4) /* flaga "e" */
#define VIP_FLAG_F (1<<5) /* flaga "f" */
#define VIP_FLAG_G (1<<6) /* flaga "g" */
#define VIP_FLAG_H (1<<7) /* flaga "h" */
#define VIP_FLAG_I (1<<8) /* flaga "i" */
#define VIP_FLAG_J (1<<9) /* flaga "j" */
#define VIP_FLAG_K (1<<10) /* flaga "k" */
#define VIP_FLAG_L (1<<11) /* flaga "l" */
#define VIP_FLAG_M (1<<12) /* flaga "m" */
#define VIP_FLAG_N (1<<13) /* flaga "n" */
#define VIP_FLAG_O (1<<14) /* flaga "o" */
#define VIP_FLAG_P (1<<15) /* flaga "p" */
#define VIP_FLAG_Q (1<<16) /* flaga "q" */
#define VIP_FLAG_R (1<<17) /* flaga "r" */
#define VIP_FLAG_S (1<<18) /* flaga "s" */
#define VIP_FLAG_T (1<<19) /* flaga "t" */
#define VIP_FLAG_U (1<<20) /* flaga "u" */
#define VIP_FLAG_V (1<<21) /* flaga "v" */
#define VIP_FLAG_W (1<<22) /* flaga "w" */
#define VIP_FLAG_X (1<<23) /* flaga "x" */
#define VIP_FLAG_Y (1<<24) /* flaga "y" */
#define VIP_FLAG_Z (1<<25) /* flaga "z" */
Przykład:
Spoiler
if(get_user_vip_flags(id) & VIP_FLAG_E) {
// gracz posiada flagę "e"
}
if(!(get_user_vip_flags(id) & VIP_FLAG_ B)) {
// gracz nie posiada flagi "b"
}
Każdy sam może ustalić jakie przywileje ma dawać dana flaga. Flag do wykorzystania jest 26, czyli sporo ;]
Przykładowy plugin
Spoiler
#include <amxmodx>
#include <vip>
#define PLUGIN "Nowy"
#define VERSION "0.1"
#define AUTHOR "Sebul"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /test", "test");
}
public test(id) {
if(get_user_vip_flags(id) & VIP_FLAG_C) {
new name[48]; get_user_name(id, name, charsmax(name));
client_print(0, print_chat, "%s jest VIPem", name);
}
}
public vip_client_authorized(id, flags, endtime) {
if(flags & VIP_FLAG_C) {
new name[48]; get_user_name(id, name, charsmax(name));
client_print(0, print_chat, "%s jest VIPem", name);
}
}
Cvary
Tylko do pluginu vip_w_godzinach.amxx
vwg_wl "0" // czy plugin ma byc wlaczony vwg_od "21" // od ktorej godziny plugin ma dawac flagi vwg_do "24" // do ktorej godziny plugin ma dawac flagi vwg_flagi "abcdefghijklmnopqrstuvwxyz" // jakie flagi ma dawac plugin vwg_wiad "darmowego vipa" // co daja dawane flagi
Komendy
say /endvip - na czacie wyświetli się graczowi data kiedy kończy się VIP
Komendy admina
Tylko dla admina z flagą "a", można to zmienić w sma.
amx_addvip <name|ip|steamid> <password> <access flags> <account flags> <dd-mm-rrrr> <lenght in days> // dodaje VIPa
Instalacja
vip.ini do configs
vip_file.amxx do plugins
vip_file.sma do scrtipting
vip.txt do data/lang
vip.inc do scripting/include (tylko do kompilacji)
vip_w_godzinach.amxx do plugins
vip_w_godzinach.sma do scrtipting
Inne
Jeśli macie jakieś pytania, to proszę pytać. Samą funkcję dawania flag lekko przerobiłem z innego pluginu.
Download







#527768 [ROZWIĄZANE] Jak utworzyć "spambot"?
Napisane przez Na 5tyk
w 24.03.2013 14:26
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: RolgeN
- Regulamin