←  Pluginy AMXX

AMXX.pl: Support AMX Mod X i SourceMod

»

Rangi na czacie

  • +
  • -
Robiin - zdjęcie Robiin 12.08.2018

opis

W odpowiedzi na ten temat napisałem plugin na rangi (nic nadzwyczajnego, po prostu nie znalazłem nigdzie tutaj czytania z configu itd.).

 

Dodałem także menu z listą rang - komendy znajdują się na liniach 28-36 Wybranie opcji w menu spowoduje jego zamknięcie.

 

Prefixy z poprawką czatu z lipca 2017.

 

 

 

konfiguracja

Wystarczy wrzucić plik konfiguracyjny (linia 12.), domyślnie "addons/amxmodx/configs/RanksConfig.ini" na podaną ścieżkę i uzupełnić go w następujący sposób:

"Ranga #1" = 0-150
"Ranga #2" = 151-250
"Ranga #3" = 251-350
"Ranga #4" = 351-450

Wzorcowo:

"Nazwa rangi" = (minimum fragów do rangi)-(maximum fragów do rangi)

Ważne są znaki "=" oraz "-", ponieważ to na ich podstawie pobierane są dane min&max fragów.

 

 

download

 


Robiin (16.12.2019 21:16):
Update:
Refactor kodu
Dodanie hud (/hud)
Dodanie natywów

Załączone pliki


Użytkownik Wicked. edytował ten post 16.12.2019 21:15
Odpowiedz

  • +
  • -
darnoK^ - zdjęcie darnoK^ 12.08.2018

Super sprawa na pewno skorzystam + zostawiony :)

Odpowiedz

  • +
  • -
Boski Z Polski - zdjęcie Boski Z Polski 16.08.2018

Jak testowałem u siebie to ns'y nie widziały prefixów.
Odpowiedz

  • +
  • -
darkeno - zdjęcie darkeno 26.09.2018

Plugin fajny ale zauwazyłem 1 błąd w sumie nie wiem czy błąd

jak wchodzi gracz na serwer nie ważne kto ma range silver dopiero po zabiciu innego gracza

ranga się aktualizuje do dobrej rangi mógłbyś to poprawić?

Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 26.09.2018

w końcu ktoś zrobił coś skąd można kopiować kod prefixów :D

 

Also

Spoiler
Spoiler

 

Wyciąg wnioski :D (lubie sie czepiać)


Robiin (27.09.2018 00:36):
Funkcję skopiowałem i skróciłem. Używam jej na zombie do sprawdzania zmiennych + index + is_user_* + do konkretnego trybu, więc nawet nie popatrzyłem na to od tej strony, ale dzięki za info :P
Odpowiedz

  • +
  • -
darkeno - zdjęcie darkeno 27.09.2018

Wszystko ładnie ;D a co z moim problemem ?;P

Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 27.09.2018

Wszystko ładnie ;D a co z moim problemem ? ;P

 

Pokaż plik konfiguracyjny.

Odpowiedz

  • +
  • -
darkeno - zdjęcie darkeno 27.09.2018

 

Wszystko ładnie ;D a co z moim problemem ? ;P

 

Pokaż plik konfiguracyjny.

 

"Silver" = 0-1
"Silver II" = 2-5
"Silver III" = 6-15
"Silver IV" = 16-29
"Silver elite" = 30-49
"Silver elite master" = 50-75
"Gold nova I" = 76-100
"Gold nova II" = 101-150
"Gold nova III" = 151-200
"Gold nova Master" = 201-300
"Master guardian I" = 301-500
"Master guardian II" = 501-750
"Master guardian elite" = 751-1000
"Distinguished master guardian" = 1001-1500
"Legendary eagle" = 1501-2000
"Legendary eagle master" = 2001-2500
"Supreme master first class" = 2501-3000
"THE GLOBAL ELITE" = 3001-5000
Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 27.09.2018

 

 

Wszystko ładnie ;D a co z moim problemem ? ;P

 

Pokaż plik konfiguracyjny.

 

"Silver" = 0-1
"Silver II" = 2-5
"Silver III" = 6-15
"Silver IV" = 16-29
"Silver elite" = 30-49
"Silver elite master" = 50-75
"Gold nova I" = 76-100
"Gold nova II" = 101-150
"Gold nova III" = 151-200
"Gold nova Master" = 201-300
"Master guardian I" = 301-500
"Master guardian II" = 501-750
"Master guardian elite" = 751-1000
"Distinguished master guardian" = 1001-1500
"Legendary eagle" = 1501-2000
"Legendary eagle master" = 2001-2500
"Supreme master first class" = 2501-3000
"THE GLOBAL ELITE" = 3001-5000

 

 

Zamień funkcję GetUserRank na tę:

Spoiler
Odpowiedz

  • +
  • -
darkeno - zdjęcie darkeno 28.09.2018

Nadal to samo:<

Odpowiedz

  • +
  • -
darkeno - zdjęcie darkeno 02.10.2018

ref
Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 03.10.2018

ref

 

Nie mam czasu na dokładniejszą analizę, ale domyślam się, że jest to spowodowane zbyt wczesnym eventem względem połączenia się gracza do serwera (serwer nie otrzymuje jeszcze danych, które są potrzebne do pobrania statystyk gracza). Spróbuj tego, jak nie zadziała to będziemy analizować dalej.

Linijki 74-99 zamień na:

Spoiler
Odpowiedz

  • +
  • -
darkeno - zdjęcie darkeno 03.10.2018

Niestety :< to samo dopiero po zabicu 1 osoby sie aktualizuje 

Odpowiedz

  • +
  • -
darkeno - zdjęcie darkeno 03.10.2018

Mógłbyś przy nastepnej próbie dać cały plik sma być może to ja gdzieś popełniam błąd:) Spróbuje jeszcze wyłaczyc all pluginy może z czymś sie gryzie

Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 03.10.2018

usnKR62.png

Załączone pliki

  • Załączony plik  Rangi.sma   5,31 KB   238 Ilość pobrań
Odpowiedz

  • +
  • -
Toldi - zdjęcie Toldi 03.10.2018

W przypadku właśnie gdy serwer nie otrzymał jeszcze danych potrzebnych do ustawienia należytej rangi można by powtórzyć wywołanie się funkcji GetUserRank(index); np. 5s po dołączeniu gracza na serwer przez taska.

Odpowiedz

  • +
  • -
darkeno - zdjęcie darkeno 03.10.2018

Dalej jest tak samo  :< Cięzki temat  zawsze po zabiciu gracza sie odswieża

Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 02.01.2019

Update:

  • Prefixy są formatowane w sposób, na który można patrzeć bez chęci wydłubania sobie oczu,
  • Dużo bardziej czytelny kod, lepsze rozmieszczenie go w pliku,
  • Możliwość konfiguracji configu w constach u góry,
  • Brak rejestracji komend w przypadku braku załadowanych rang,
  • Zmieniony moment pobrania danych po raz pierwszy, żeby uniknąć próby ustawienia rangi graczowi, który nie wszedł jeszcze do końca na serwer,
  • Zmienione nazwy natywów odpowiednio do ich rzeczywistej funkcjonalnośći,
  • Mniejsze poprawki niewarte uwzględniania

Użytkownik aSiorr edytował ten post 02.01.2019 09:30
Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 02.01.2019

Takie pytanko mam. Nie trzeba niszczyć Arrayów w plugin_end? W sensie czy one sie same czyszczą jakoś?

Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 02.01.2019

Dynamiczne tablice są niszczone pod koniec działania pluginu, dalej objaśnie dlaczego tak uważam.

Opcjonalnie ArrayDestroy ma służyć do niszczenia tablic w trakcie działania pluginu, ale użyte może zostać pod jego koniec, np. w plugin_end właśnie.

W ten, czy inny sposób tablice zawsze są niszczone, ponieważ przy załadowaniu kolejnej mapy tablice nie istnieją, tym samym wnioskuję, że nie muszą być niszczone manualnie pod koniec mapy.


Użytkownik aSiorr edytował ten post 02.01.2019 12:07
Odpowiedz