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
 

lajT?. - zdjęcie

lajT?.

Rejestracja: 19.01.2009
Aktualnie: Nieaktywny
Poza forum Ostatnio: 28.10.2011 17:52
-----

#202133 AutoBuy and ReBuy bug Fix

Napisane przez Knopers w 01.01.2011 22:38

Ważna łatka dla wszystkich serwerów(steam jak i non steam). Okazuje się, że HLDS nie jest dobrze zabezpieczony.
Bardzo łatwo jest zbugować komendę która wywoła naruszenie ochrony pamięci, przez co nasz serwer się zresetuje.
Bug ten można przetestować np: za pomocą komendy:
cl_setautobuy *** 12345678901234567890123456789012

Łatka tym razem pochodzi od rosjan:
#define PLUGIN_AUTHOR    "PomanoB & UFPS.Team"
Łatką jest plugin którego działanie polega na ograniczeniu długości argumentu komendy cl_setautobuy oraz cl_setrebuy poprzez blokadę argumentów dłuższych niż 32 znaki.

Załączony plik  autobuyfix.amxx   2,34 KB  1241 Ilość pobrań

Załączony plik  autobuyfix.sma   1,38 KB  2344 Ilość pobrań
  autobuyfix.amxx

lub wersja z banowaniem(cvar amx_buybug_ban 1|0)
Załączony plik  autobuybugban.amxx   3,02 KB  581 Ilość pobrań

Załączony plik  autobuybugban.sma   1,41 KB  1473 Ilość pobrań
  autobuybugban.amxx

Instalacja standardowa.


Za pomoc dziękuję użytkownikowi Milek który to zgłosił oraz Naszemu Administratorowi mgr inż. Pavulon który pomógł w znalezieniu "lekarstwa".


Dla serwerów bez AMXX'a dostępne są biblioteki do podmiany:
Załączony plik  Autobuy_Fix_Linux.rar   1,05 MB  2179 Ilość pobrań

Załączony plik  Autobuy_Fix_Windows.rar   439,41 KB  1450 Ilość pobrań


Problem ten został również rozwiązany przez valve w binarkach w wersji 5006, dostępnych jako wersja beta.
Aby z nich skorzystać należy do komendy startowej dodać:

-beta hlbeta -autoupdate

Oraz ponownie uruchomić serwer.
  • +
  • -
  • 42


#202894 Dodanie Paru Rzeczy

Napisane przez GoldeN w 05.01.2011 13:15

Właśnie, pomagać a nie odwalać za kogoś robotę. Weź rusz pupę, ściągnij kompiler i zrób tak jak pisze w poradnikach. -.- Masz wszystko opisane, a dalej prosisz o gotowca. Jak jesz, to mama Cię też karmi?


#163670 Dynamiczny HUD

Napisane przez R3X w 24.08.2010 22:55

Dynamiczny HUD
dHUD.inc
v.1.03

Temat w budowie, stworzenie dokumentacji potrwa pewnie dłużej niż pisanie kodu :P
Tymczasem angielski opis wszystkich funkcji można znaleźć w pliku .inc

Dołączona grafikaDemonstracja

Eksperymentalna biblioteka do tworzenia różnych efektów na wiadomościach HUD. Jej głównym (lecz nie jedynym) zadaniem jest zautomatyzowanie ruchu i zmian koloru wyświetlanych komunikatów.



Plugin udostępnia szereg funkcji do pracy z efektami. Podstawowe operacje odbywają się na pojedynczych klatkach animacji, jak we flashu. Tak też wyświetlana jest wiadomość - klatka po klatce - zastąpienie napisu jego kopią w innym miejscu czy kolorze stworzy wrażenie ruchu i przekształceń kolorystycznych.

Download



Instalacja
Plik dHUD.sma należy skompilować i zainstalować na serwerze. Plugin korzystający z efektów skompiluje się wyłącznie lokalnie z dostępem do dHUD.inc.


Interfejs

Wszystkie udostępniane funkcje mają prefiks DHUD_*.

Pierwsze co trzeba zrobić to stworzyć 'obiekt' dhud. DHUD_create() zwraca uchwyt, którego używa się z pozostałymi funkcjami. Można utworzyć kopię istniejącego obiektu przez podanie jego uchwytu DHUD_create(dhud) [działa to podobnie jak konstruktor kopiujący w językach obiektowych].


Animację możemy zaprojektować manualnie przypisując właściwości każdej klatce z osobna (dHUD_test -> dhud) lub użyć filtrów (dHUD_test -> dhud3).

  • klatka po klatce
Wystarczy kilka wywołań DHUD_setFrame, każde przypisze kolor i położenie napisu tworząc animację

DHUD_setFrame(dhud, frame, iColor[3], Float:x, Float:y, iLen = 1);
dhud - uchwyt
frame - numer klatki, zaczynają się od 0, w przypadku numeru większego niż liczba dostępnych akurat klatek animacja zostaje wypełniona pustymi klatkami aż do podanego rozmiaru
iColor[3] - kolor napisu
x, y, - położenie napisu
iLen - długość klatki; w miejsce dwóch identycznych klatek z iLen=1 można dać jedną z iLen=2




  • filtry

Filtry służą do przetwarzania kilku klatek zgodnie z danym algorytmem.

DHUD_applyFilter(dhud, const szFilter[], startFrame, endFrame, Float:dx=D_LONG, Float:dy=D_ZERO, any:...)
dhud - uchwyt
szFilter[] - nazwa filtra, lista dostępnych jest drukowana po użyciu komendy "dhud info" przez admina z flagą od konfiguracji (H)
startFrame, endFrame - przedział klatek
dx, dy - przyrost wartości x i y, przydatne w funkcjach, funkcja realizująca filtr otrzymuje współrzędne x i y, z których może wyliczyć nowe położenie (przykład z sinusem w dHUD_test), każda ramka dostaje wartości x<poprzedniej ramki> + dx i y<poprzedniej ramki> + dy
any:.. dodatkowe parametry filtrów, opisane także w "dhud info"



Dwoma podstawowymi filtrami dHUD są SetPosition i SetColor. Dzięki nim, możemy ustawić kolor i położenie w wielu klatkach jednocześnie.

SetPosition ustawia podaną pozycję wszystkim klatkom z zakresu startFrame-endFrame
SetColor ustawia podany kolor wszystkim klatkom z zakresu startFrame-endFrame

Ten kod ustawi dhud długości 50 klatek w pozycji 0.5 0.5 w kolorze białym (255, 255, 255)
DHUD_setFrame(dhud, 50, {0,0,0}, 0.0, 0.0);
DHUD_applyFilter(dhud, "SetPosition", 0, 50, D_ZERO, D_ZERO, 0.5, 0.5);
DHUD_applyFilter(dhud, "SetColor", 0, 50, D_ZERO, D_ZERO, 255, 255, 255);



Jak już zbudujemy animację nadejdzie mement na wyświetlenie jej graczowi:
DHUD_display(id, dhud, Float:fInterval = 0.1, channel = 4, const szMessage[], any:...)
id - id gracza lub 0 - do wszystkich
dhud - uchwyt
fInterval - długość trwania klatki w sekundach; czas od pokazania pewnej ramki do następnej mnożony przez wartość iLen klatki
channel - kanał HUD, 1-4
szMessage[], ... - wiadomość; można użyć ciągów formatujących; %L + LANG_PLAYER z id = 0 niestety nie zadziała! może w przyszłym wydaniu


Forward
W momencie zakończenia animacji wykonywany jest forward
forward fwStopAnimation(id, dhud, bool:finished);

czyli w pluginie można dopisać publiczną funkcję, która zareaguje na to zdarzenie
public fwStopAnimation(id, dhud, bool:finished){}

parametr finished jest ustawiany na true, kiedy animacja zostanie zakończona zgodnie z planem i false jeśli zostanie zatrzymana/zastąpiona nową


Historia

1.03
- poprawione: rejestrowanie filtrów z parametrami w zewnętrznych pluginach

1.02
- poprawione: pierwsza ramka wyświetlana bez opóźnienia
- poprawione: forward wykonywany dokładnie w momencie końca animacji (a nie po puszczeniu ostatniej klatki)
- dodane: ustawienie iLen na 0 usuwa klatkę z animacji
- dodane: stock DHUD_removeFrames
- dodane: stock DHUD_removeAllFrames

1.01
- poprawa interfejsu
- dodane: czyszczenie nieużywanych tablic Array:
- dodane: forward onStopAnimation
- dodane: komenda "dhud info"

1.0
- pierwsza, nie publikowana szerzej wersja
  • +
  • -
  • 37


#197884 Menu automatycznie się zamyka?

Napisane przez R3X w 20.12.2010 11:09

set_task() na 5s i remove_task po wybraniu opcji z menu, coś takiego:


public Showklasa(id) {
	show_menu(...);
	set_task(5.0, "randomOption", id+STALA);
}
public Pressedklasa(id, key) {
	if(task_exists(id+STALA))
		remove_task(id+STALA);
	...
}
public randomOption(id){
	id -= STALA;
	
	if(is_user_connected(id))
		Pressedklasa(id, random(6));
}

  • +
  • -
  • 1


#111271 Item - pytanie z zamkniętego tematu

Napisane przez Nosek w 11.02.2010 21:27

player_item_name[id] = "Lajt"

		player_b_wall[id] = 1

		show_hudmessage(id, "Znalazles przedmiot: %s :: chodzisz po scianach",player_item_name[id],g_WallClimb[id])


  • +
  • -
  • 1


#111174 Item - pytanie z zamkniętego tematu

Napisane przez G[o]Q w 11.02.2010 16:15

zrob tak jak tam napisalem i wallclimb nie ma znaczenia ma byc caly czas 1 poprostu tworzysz new zmienna i sprawdzasz jej wartosc np w prethinku tak jak pokazalem
  • +
  • -
  • 1


#111246 Item - pytanie z zamkniętego tematu

Napisane przez G[o]Q w 11.02.2010 20:13

prethink po to by sprawdzic czy wcisnales klawisz zmien in_reload na in_USE
  • +
  • -
  • 1


#111181 Krok po kroku - początkujący

Napisane przez G[o]Q w 11.02.2010 16:39

ogolnie to tutki na allienmods jakies sa przynajmniej tam czytalem + dokumentacja & funcwiki bo tam jest wiecej funkcji ale ENG jesli znasz podstawy cpp to dobrze nie jest to moze wymagane ale w znacznym stopniu ulatwia prace no i lepiej przejsc z cpp na pawna ktory jest uproszczony niz na odwrot :D

ale najogulniej rzecz biorac to najlepszym sposobem nauki jest analiza pluginów i edycja dopisywanie swoich rzeczy bo najlepiej programowania nauczysz sie programujac :D
  • +
  • -
  • 1


#103334 Fast Download - unixstorm.org

Napisane przez mgr inż. Pavulon w 03.01.2010 11:07

Jeżeli pliki istnieją w odpowiednich miejscach to raczej nie powinno być problemów z działaniem.
  • +
  • -
  • 1