Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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
CoD Stary

Dodanie nowych Flag do amxconst.inc ADMIN_LEVEL_zabrakło mi flag dla klas premium, chcę dodać nowe ale nie działają.

CoD Stary

  • Zamknięty Temat jest zamknięty
2 odpowiedzi w tym temacie

#1 Marek89-

    Nowy

  • Użytkownik

Reputacja: 0
zer0.

  • Postów:4
  • Imię:Marek
  • Lokalizacja:Tarnów
Offline

Napisano 21.07.2011 18:32

Witam
Na początku nadmienię że oszukałem się bardzo dużo na forach jak rozwiązać ten problem, ale go nie znalazłem, zawsze forum pomagało na problemy, ale nie tym razem, więc postanowiłem napisać pierwszy post.

Mam problem, skończyły mi się wszystkie wolne flagi dla klas premium. (Klas mam więcej niż wolnych ADMIN_LEVEL_)
Postanowiłem stworzyć nowe, kombinowałem z liczbami, oraz tymi literami które jeszcze nie były używane, oraz dodawałem polskie znaki ale żadne z flag które potem przypisałem do klasy nie działało. Czyli użytkownik miał przypisaną odpowiednią utworzoną nową flagę, a premium było niedostępne jak bym nie posiadał preferowanej flagi.
Plik amxconst.inc zmieniłem na serwere jak i dla AMXX-Studio. Kompilowało się ładnie beż żadnych błędów.

Do CodMod dodaję dla premium flagę jak zawsze, ale jak dodam te nowe to nie działa:

 if(item == SzybkiSniper && !(get_user_flags(id) & ADMIN_LEVEL_W))
{
client_print(id, print_chat, "[COD:MW] Klasa Premium -> Klasa Premium");
WybierzKlase(id);
return PLUGIN_CONTINUE;


Wyedytowałem plik amxconst.inc następująco:
Całość pliku w załączniku


#define ADMIN_ALL 0 /* everyone */
#define ADMIN_IMMUNITY (1<<0) /* flag "a" */
#define ADMIN_RESERVATION (1<<1) /* flag "b" */
#define ADMIN_KICK (1<<2) /* flag "c" */
#define ADMIN_BAN (1<<3) /* flag "d" */
#define ADMIN_SLAY (1<<4) /* flag "e" */
#define ADMIN_MAP (1<<5) /* flag "f" */
#define ADMIN_CVAR (1<<6) /* flag "g" */
#define ADMIN_CFG (1<<7) /* flag "h" */
#define ADMIN_CHAT (1<<8) /* flag "i" */
#define ADMIN_VOTE (1<<9) /* flag "j" */
#define ADMIN_PASSWORD (1<<10) /* flag "k" */
#define ADMIN_RCON (1<<11) /* flag "l" */
#define ADMIN_LEVEL_A (1<<12) /* flag "m" */
#define ADMIN_LEVEL_B (1<<13) /* flag "n" */
#define ADMIN_LEVEL_C (1<<14) /* flag "o" */
#define ADMIN_LEVEL_D (1<<15) /* flag "p" */
#define ADMIN_LEVEL_E (1<<16) /* flag "q" */
#define ADMIN_LEVEL_F (1<<17) /* flag "r" */
#define ADMIN_LEVEL_G (1<<18) /* flag "s" */
#define ADMIN_LEVEL_H (1<<19) /* flag "t" */
#define ADMIN_MENU (1<<20) /* flag "u" */
#define ADMIN_ADMIN (1<<24) /* flag "y" */
#define ADMIN_USER (1<<25) /* flag "z" */
/* moje nowe wprowadzone flagi */
#define ADMIN_LEVEL_W (1<<26) /* flag "w" */
#define ADMIN_LEVEL_X (1<<27) /* flag "x" */
#define ADMIN_LEVEL_V (1<<28) /* flag "v" */
#define ADMIN_LEVEL_1 (1<<29) /* flag "1" */
#define ADMIN_LEVEL_0 (1<<30) /* flag "0" */
#define ADMIN_LEVEL_2 (1<<31) /* flag "2" */
#define ADMIN_LEVEL_Ś (1<<32) /* flag "ś" */
#define ADMIN_LEVEL_Ć (1<<33) /* flag "ć" */

#define FLAG_KICK (1<<0) /* flag "a" */
#define FLAG_TAG (1<<1) /* flag "b" */
#define FLAG_AUTHID (1<<2) /* flag "c" */
#define FLAG_IP (1<<3) /* flag "d" */
#define FLAG_NOPASS (1<<4) /* flag "e" */

#define PLUGIN_CONTINUE 0 /* Results returned by public functions */
#define PLUGIN_HANDLED 1 /* stop other plugins */
#define PLUGIN_HANDLED_MAIN 2 /* to use in client_command(), continue all plugins but stop the command */

Załączone pliki


Użytkownik Marek89- edytował ten post 21.07.2011 18:36

  • +
  • -
  • 0

#2 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1227
Godlike

  • Postów:2334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 21.07.2011 18:54

Od razu mówię - nie próbuj dodawać nowych flag do amxconst.inc, bo to nic nie da. Możesz użyć mojego pluginu, który dodaje nowy zakres flag (od 'a' do 'z'). Trzymaj:
Załączony plik  vip.rar   1,5 KB  75 Ilość pobrań

Flagi dodajesz do pliku amxmodx/configs/vips.ini w następujący sposób:
"Nick" "abc" "1"
"SteamID" "abc" "2"
"IP" "abc" "3"
A do odczytu flag, używasz funkcji get_user_vip_flags, zamiast get_user_flags. Przykład:
 if(item == Klasa && !(get_user_vip_flags(id) & VIP_FLAG_B))
{
client_print(id, print_chat, "[COD:MW] Klasa jest premium itd.");
WybierzKlase(id);
return PLUGIN_CONTINUE;
}

Teraz dana klasa będzie tylko dla osób z flagą B.

PS. Na początku pluginu, w którym używasz funkcji get_user_vip_flags, musisz dopisać na początku:
#include <vip>

I oczywiście wrzucić vip.inc i vip_const.inc do folderu include kompilatora.
  • +
  • -
  • 2

#3 Marek89-

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:4
  • Imię:Marek
  • Lokalizacja:Tarnów
Offline

Napisano 21.07.2011 19:08

Zapomniałem dodać ważną kwestię, mianowicie korzystam z bazy Mysql dla użytkowników (amxxbans 6.xx) Także nie zapisuje graczy w user.ini
W tym przypadku ten plugin mi się nie przyda, ale dzięki.
Dalej szukam rozwiązania problemu.
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: CoD Stary

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

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