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
 

Szafrant - zdjęcie

Szafrant

Rejestracja: 16.05.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 13.04.2011 16:41
-----

#200786 Magazyn na perki v2.2

Napisane przez Goliath w 29.12.2010 12:07

Dołączona grafika
Ten plugin umożliwia przechowywanie kilku perków w specjalnym magazynie. Po wpisaniu na czacie /magazyn, otwiera się menu, w którym możemy włożyć, wyjąć, zamienić lub usunąć dany perk (raz włożonego perku, nie będzie można wyjąć do końca rundy).
Dodałem zapis na nVault, więc po wyjściu i ponownym wejściu na serwer, perki w magazynie zostaną (można zmienić w konfiguracji pluginu).

Dołączona grafika
say /magazyn - otwiera menu magazynu

Dołączona grafika
1. Jeżeli jeszcze tego nie zrobiliśmy, dokonujemy zmiany z tego tematu: [CoD Nowy] Naprawa natywu cod_get_user_perk - AMXX.pl: Support AMX Mod X
2. Otwieramy plik cod_magazyn.sma i dokonujemy konfiguracji pluginu:
Spoiler

3. Kompilujemy plik cod_magazyn.sma.
4. Wrzucamy skompilowane pluginy na serwer (jakby ktoś nie wiedział, to do katalogu amxmodx/plugins).
5. Dopisujemy do plugins.ini (lub plugins-codmod.ini, Wasza wola Dołączona grafika):
cod_magazyn.amxx

Dołączona grafika
Aktualna wersja (v2.2):
Spoiler


Starsze wersje:
Spoiler

  • +
  • -
  • 39


#215148 Przenoszenie lvl

Napisane przez byCZUS w 12.02.2011 16:44

Napisałem plugin który przenosi lvl między dwoma klasami, na prośbę jednego z użytkowników.

Na sam początek trzeba sprawdzić czy mamy poprawny nativ, ponieważ został on naprawiony dopiero w najnowszej ver mod'a.

A więc tak odpalamy QTM_CodMod.sma i szukamy

public PobierzNazweKlasy(klasa, Return[], len)

Jeśli kod jest poprawny to powinien wyglądać tak:

public PobierzNazweKlasy(klasa, Return[], len)
{
if(klasa <= ilosc_klas)
{
param_convert(2);
copy(Return, len, nazwy_klas[klasa]);
}
}


Lecz jeśli taki nie jest zamieniamy >= na <=. Kompilujemy plugin i wgrywamy na ftp. Teraz przechodzimy do "głównej części programu". Wgrywamy plugin(załącznik) i można już sobie przenosić poziomy :]
Sposób użycia pluginu: w consoli wpisujemy

cod_przenies <nick> <id starej> <id nowej>

Po tej czynności powinno nas przenieść na nową klasę. Jeśli nie wiesz jakie ID mają klasy specjalnie dodałem opcję sprawdzenia. Służy do tego funkcja

lista_klas
To tyle myślę że się przyda :]

Załączone pliki


  • +
  • -
  • 18


#189817 Jak zrobić prostą klasę

Napisane przez QTM. Peyote w 19.11.2010 14:39

W tym tutorialu pokażę jak stworzyć prostą klasę do nowego CodModa.
*.sma Naszej klasy będzie wyglądać tak: (Niżej wytłumaczę co od czego)
#include <amxmodx>
#include <codmod>

new const nazwa[] = "Henio";
new const opis[] = "Brak";
new const bronie = 1<<CSW_M4A1 | 1<<CSW_DEAGLE;
new const zdrowie = 13;
new const kondycja = 69;
new const inteligencja = 2;
new const wytrzymalosc = 15;


public plugin_init()
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

#include <amxmodx>

  • Jeżeli nie wiesz poczytaj inne tutoriale.
#include <codmod>

  • Wymagany plik codmod.inc który musimy wrzucić do folderu include naszego kompilatora.
  • Dołącza plik nagłówkowy CodModa dzięki któremu będziemy mogli używać natywów takich jak na przykład cod_register_class.
new const nazwa[] = "Henio";

  • Nazwa naszej klasy - u nas będzie to Henio.
new const opis[] = "Brak";

  • Opis naszej klasy - u nas jest Brak.
  • Jeżeli ktoś się dziwi się dlaczego nie opisuję jakie bronie, szybkość i zdrowie ma klasa to odpowiem - To wyświetla się osobno.
new const bronie = 1<<CSW_M4A1 | 1<<CSW_DEAGLE;

  • Tutaj określamy jakie bronie ma mieć Henio.
  • Przed każdą bronią dodajemy 1<<
  • Jeżeli chcemy dodać następną to wstawiamy | - pełni rolę czegoś w rodzaju.. przecinka.
new const zdrowie = 13;

  • Punkty statystyki zdrowie jakie klasa dostanie na start.
  • Czyli w naszym przypadku jeżeli damy dodatkowe 13 zdrowia to na start będziemy mieli 113 hp
new const kondycja = 69;

  • Ilość punktów kondycji jaką Henio ma dostać na start. Henia gnębią koledzy dlatego musi szybko uciekać.
  • To zastępuje dawne procenty szybkości naszej klasy
new const inteligencja = 2;

  • Punkty inteligencji na start.
new const wytrzymalosc = 15;

  • Punkty wytrzymalosci na start.
  • Można używać zamiast kamizelek.

W plugin_init rejestrujemy Henia, żeby pojawił się w menu wybierania klas:
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

  • +
  • -
  • 74


#189630 Call of Duty: MW Mod [UPDATE]

Napisane przez QTM. Peyote w 18.11.2010 18:56

testyq.png

Nowa wersja modyfikacji Call of Duty: MW.
Główną zmianą jest budowa moda.
Teraz wszystkie perki(przedmioty) i klasy są oddzielnymi pluginami.

Podziękowania dla:
MieTeK - za grafa.
Szyfrant - za testa.
testbs.png

say /klasa - Otwiera menu wyboru klasy.
say /klasy - Otwiera menu opisów klas.
say /perk - Pokazuje informacje o posiadanym perku.
say /perki - Otwiera menu opisów perków.
say /wyrzuc - Wyrzuca aktualny perk.
say /reset - Resetuje statystyki.
say /statystyki - Pokazuje aktualne statystyki.
say /pomoc - Tajne.
testue.png

cod_killxp 10 - Doswiadczenie za zabojstwo.
cod_winxp 50 - Doswiadczenie za wygrana.
cod_damagexp 1 - Doswiadczenie za 20 obrazen.
cod_savetype 1 - Typ zapisu 1- Nick 2-SteamID 3-IP.
cod_maxlevel 200 - Maksymalny poziom.
cod_levelratio 35 - Ustawia ile doswiadczenia potrzebne do zdobycia 1 poziomu.
cod_weaponsblocking 1 - blokowanie podnoszenia broni
testhm.png

Kopiujemy zawartość folderu cstrike z CodMod.rar do folderu cstrike na serwerze.
Nic nie trzeba dopisywać do plugins.ini!

testdi.png
(Tylko dla skrypterów)

forward cod_perk_changed(id, perk);
/*------------------------------
Forward wysylany do wszystkich pluginów w momencie zmiany perku
------------------------------*/


forward cod_class_changed(id, klasa);
/*------------------------------
Forward wysylany do wszystkich pluginów w momencie zmiany klasy
------------------------------*/


forward cod_perk_enabled(id, wartosc);
/*------------------------------
Forward wysylany do pluginu z ktorego zarejestrowany jest perk w momencie aktywacji
------------------------------*/


forward cod_perk_disabled(id);
/*------------------------------
Forward wysylany do pluginu z ktorego zarejestrowany jest perk w momencie dezaktywacji
------------------------------*/


forward cod_perk_used(id);
/*------------------------------
Forward wysylany do pluginu z ktorego zarejestrowany jest perk w momencie uzycia perku
------------------------------*/


forward cod_class_enabled(id);
/*------------------------------
Forward wysylany do pluginu z ktorego zarejestrowana jest kasa w momencie aktywacji
------------------------------*/


forward cod_class_disabled(id);
/*------------------------------
Forward wysylany do pluginu z ktorego zarejestrowana jest kasa w momencie dezaktywacji
------------------------------*/
testkdr.png
(Tylko dla skrypterów)

native cod_get_user_xp(id);
/*------------------------------
Zwraca doswiadczenie gracza
------------------------------*/


native cod_get_user_level(id);
/*------------------------------
Zwraca poziom gracza
------------------------------*/


native cod_get_user_points(id)
/*------------------------------
Zwraca punkty gracza
------------------------------*/


native cod_set_user_xp(id, wartosc);
/*------------------------------
Ustawia doswiadczenie gracza
------------------------------*/


native cod_get_user_class(id);
/*------------------------------
Zwraca klase gracza
------------------------------*/


native cod_set_user_class(id, klasa, zmien=0);
/*------------------------------
Ustawia klase gracza,
jezeli zmien=1 zmienia ja natychmiast
------------------------------*/


native cod_get_user_perk(id, &wartosc=0);
/*------------------------------
Zwraca perk gracza,
oraz przypisuje zmiennej wartosc wartosc perku
------------------------------*/


native cod_set_user_perk(id, perk, wartosc=-1, pokaz_info=1);
/*------------------------------
Ustawia perk gracza.
Jezeli wartosc = -1,
wartosc perku bedzie losowa.
Jezeli perk = -1 perk
bedzie losowy
------------------------------*/


native cod_get_user_health(id, zdrowie_zdobyte=1, zdrowie_klasy=1, zdrowie_bonusowe=1);
/*------------------------------
Zwraca punkty statystyki zdrowie
------------------------------*/


native cod_set_user_bonus_health(id, wartosc);
/*------------------------------
Ustawia dodatkowe punkty statystyki zdrowie
------------------------------*/


native cod_get_user_intelligence(id, inteligencja_zdobyta=1, inteligencja_klasy=1, inteligencja_bonusowa=1);
/*------------------------------
Zwraca punkty statystyki inteligencja
------------------------------*/


native cod_set_user_bonus_intelligence(id, wartosc);
/*------------------------------
Ustawia dodatkowe punkty statystyki inteligencja
------------------------------*/


native cod_get_user_trim(id, kondycja_zdobyta=1, kondycja_klasy=1, kondycja_bonusowa=1);
/*------------------------------
Zwraca punkty statystyki kondycja
------------------------------*/


native cod_set_user_bonus_trim(id, wartosc);
/*------------------------------
Ustawia dodatkowe punkty statystyki kondycja
------------------------------*/


native cod_get_user_stamina(id, wytrzymalosc_zdobyta=1, wytrzymalosc_klasy=1, wytrzymalosc_bonusowa=1);
/*------------------------------
Zwraca punkty statystyki wytrzymalosc
------------------------------*/


native cod_set_user_bonus_stamina(id, wartosc);
/*------------------------------
Ustawia dodatkowe punkty statystyki wytrzymalosc
------------------------------*/


native cod_points_to_health(id, ilosc);
/*------------------------------
Przydziela punkty do statystyki zdrowie
------------------------------*/


native cod_points_to_intelligence(id, ilosc);
/*------------------------------
Przydziela punkty do statystyki inteligencja
------------------------------*/


native cod_points_to_trim(id, ilosc);
/*------------------------------
Przydziela punkty do statystyki kondycja
------------------------------*/


native cod_points_to_stamina(id, ilosc);
/*------------------------------
Przydziela punkty do statystyki wytrzymalosc
------------------------------*/


native cod_inflict_damage(atakujacy, ofiara, Float:obrazenia, Float:czynnik_inteligencji=1.0, byt_uszkadzajacy=0, dodatkowe_flagi=0);
/*------------------------------
Zadaje obrazenia z uwzglednieniem inteligencji
------------------------------*/


native cod_get_perkid(const nazwa_perku[]);
/*------------------------------
Zwaca numer perku o podanej nazwie
------------------------------*/


native cod_get_perks_num();
/*------------------------------
Zwaca ilosc perkow
------------------------------*/


native cod_get_perk_name(perk, Return[], len);
/*------------------------------
Kopiuje nazwe perku do Return
------------------------------*/


native cod_get_perk_desc(perk, Return[], len);
/*------------------------------
Kopiuje opis perku do Return
------------------------------*/


native cod_get_classid(const nazwa_klasy[]);
/*------------------------------
Zwaca numer klasy o podanej nazwie
------------------------------*/


native cod_get_classes_num();
/*------------------------------
Zwaca ilosc klas
------------------------------*/

native cod_get_class_name(perk, Return[], len);
/*------------------------------
Kopiuje nazwe klasy do Return
------------------------------*/


native cod_get_class_desc(perk, Return[], len);
/*------------------------------
Kopiuje opis klasy do Return
------------------------------*/


native cod_give_weapon(id, bron);
/*------------------------------
Daje okreslona bron oraz pozwala na jej posiadanie
------------------------------*/


native cod_take_weapon(id, bron);
/*------------------------------
Zabiera okreslona bron oraz zabrania jej posiadania
------------------------------*/


native cod_set_user_shield(id, wartosc);
/*------------------------------
Ustawia tarcze gracza.
------------------------------*/


native cod_set_user_nightvision(id, wartosc);
/*------------------------------
Ustawia noktowizor gracza.
------------------------------*/


native cod_register_perk(const nazwa[], const opis[], min_wartosc=0, max_wartosc=0);
/*------------------------------
Rejestruje nowy perk oraz zwraca jego numer
------------------------------*/


native cod_register_class(const nazwa[], const opis[], bronie, punkty_zdrowia, punkty_kondycji, punkty_inteligencji, punkty_wytrzymalosci);
/*------------------------------
Rejestruje nowa klase oraz zwraca jej numer
------------------------------*/    


native cod_get_level_xp(poziom);
/*------------------------------
Zwraca ilosc potrzebnego doswiadczenia do przejscia danego poziomu
------------------------------*/
testpx.png testyi.png
----------------> Link
Załączony plik  CodMod.rar   965,15 KB  39668 Ilość pobrań

Poprawiona wersja zapisu do pliku vault -> [cod nowy] Call of Duty: MW Mod %5BUPDATE%5D - post #328

Ostatnie zmiany:
  • Naprawione natywy cod_get_class_name i cod_get_class_desc i błąd z pojawiającą się informacją o zdobyciu poziomu.05.01.11-17:03
  • Usunięte bugi crashujące serwer, dodane 5 nowych natyw&#243;w, blokowanie podnoszenia broni w stylu starego CodModa12.12.10-17:00
  • Dodane param_convert do get_perk_name/desc i get_class_name/desc oraz dodane poprzednie zmiany do *.amxx24.11.10-20:03
  • Naprawiony błąd z brakiem fraga za zabicie z rakiety, miny i dynamitu21.11.10-19:07
  • Usunięty client_cmd z pętli i dodany natyw cod_get_user_level21.11.10-12:07
  • Naprawiony perk notatki sapera i poprawiona funkcja UstawPerk19.11.10-12:35
  • Naprawiony natyw cod_get_perkid19.11.10-21:44
  • Usunięty bug z niewłaściwą losową wartością perku. Od teraz cod_perk_enabled wysyła numer perku, a cod_class_enabled numer klasy19.11.10-18:51
  • Dodana klasa Admirał(dawny Rambo) i naprawiony perk Tajemnica Generała.[sup]19.11.10-16:06
  • Poprawiony plik "codmod.inc" i małe zmiany. [sup]19.11.10-15:00
Zgłaszajcie bugi i zaglądajcie co jakiś czas czy nie ma łatek.
  • +
  • -
  • 323


#118481 [MySQL] Nadawanie dostępu do bazy z zewnątrz

Napisane przez Portek w 13.03.2010 17:55

Cała operacja ogranicza się do 4-5 kliknięć ale wiele osób ma z tym problemy, więc mały tutorial dla nich robiony z nudów. W tutorialu nie opisuję procesu logowania do paneli bo ten jest chyba nazbyt prosty, posługuję się też panelami w Polskojęzycznej wersji, ale w tych z językami obcymi przebieg operacji jest identyczny.

Dołączona grafika

1. Po zalogowaniu do panelu przechodzimy do menu "Konfiguracja MySQL" (1.)
Dołączona grafika
2. W otwartym menu wybieramy bazę do której chcemy nadać dostęp, w naszym przypadku jest to "cserwerek_test" (2.)
Dołączona grafika
3. W polu oznaczonym na screenie numerem 3. wpisujemy host który ma mieć dostęp do bazy, w naszym przypadku jest to %, więc każdy serwer będzie bez problemów komunikował się z bazą. Wybór potwierdzamy kliknięciem na przycisk "Add Host" (4.)
Dołączona grafika

O pomyślności operacji informuje nas komunikat przedstawiony poniżej, konfiguracja bazy zakończona. Każdy serwer może się z nią połączyć!
Dołączona grafika


Dołączona grafika

1. Po zalogowaniu się do panelu odszukujemy tabelę "Bazy Danych"
Dołączona grafika
2. Przechodzimy do zakładki "Zdalny dostęp MySQL (1.)
3. W otwartym menu podajemy adres hosta który ma mieć dostęp do baz (2.), w naszym przypadku jest to %, więc każdy serwer będzie bez problemów komunikował się z bazą. Wybór potwierdzamy kliknięciem w przycisk "Dodaj Host" (3.)

Dołączona grafika

O pomyślności operacji informuje nas komunikat przedstawiony poniżej, konfiguracja bazy zakończona. Każdy serwer może się z nią połączyć!
Dołączona grafika



Uwaga!
Zamiast znaku % możemy podać IP serwera bez portu.
  • +
  • -
  • 13


#151485 cod

Napisane przez R3X w 13.07.2010 19:36

No dobra, wrzucam paczkę z pluginem do instalacji i kod, który należy wklepać do CodModa (natywy.txt). Mam nadzieję, że nic nie pomyliłem. Sma się kompiluje, bo sprawdziłem.

Jako, że dla przekazywania przy diablo nie było osobnego tematu to i teraz niech zostanie jako odpowiedź na pytanie

Załączone pliki


  • +
  • -
  • 10


#209113 plugin uruchamiający mody

Napisane przez mgr inż. Pavulon w 25.01.2011 00:25

Konfiguracja danej mapy - Nieoficjalny polski support AMX Mod X
Włączenie/Wyłączenie pluginów na danej mapie - Nieoficjalny polski support AMX Mod X
  • +
  • -
  • 2


#202979 Automatyczne pobieranie fotek map

Napisane przez L0rdS^P0l4K w 05.01.2011 17:42

Temat ten będzie korespondował z:
Obrazki Map

Wdrażam dopiero skrypt GM 1.5 u siebie i od razu modyfikuję co znajdę.
Trochę irytujące wydało mi się pobieranie i wrzucanie ręcznie fotek z map skoro mamy je wszystkie lub praktycznie wszystkie na gametrackerze.
Ten sposób będzie zwłaszcza przydatny dla dużych sieci serwerów gdzie skompletowanie obrazków dla każdej użytej mapy na serwerach będzie problemem. Wiadomo że jakiś tam zestaw najczęściej granych map tzn ich obrazków będziemy mieli w swoim katalogu z fotkami - ze wszystkimi innymi przychodzi z pomocą gametracker.

UWAGA!! Proszę spojrzeć na POST nr #3 może okazać się że jest tam lepsze dla Ciebie rozwiązanie :-).

Otwieramy plik:
.\templates\NAZWA_TWOJEGO_STYLU\view.tpl

Wyszukujemy kod:
<td class="_center" colspan="2">
<img style="border:1px #000000 solid;" src="images/maps/{$serv.mod}/{$serv.mappic}.jpg" alt="{$serv.map}" width="80%">
</td>

Podmieniamy go na:
<td class="_center" colspan="2">
 {if $serv.mappic != "noimage"}
<img style="border:1px #000000 solid;" src="images/maps/{$serv.mod}/{$serv.mappic}.jpg" alt="{$serv.map}" width="80%">
{else}
<img style="border:1px #000000 solid;" src="http://image.www.gametracker.com/images/maps/160x120/cs/{$serv.map}.jpg" alt="{$serv.map}" width="80%">
{/if}
 </td>

Zapisujemy i wrzucamy na serwer.
Wynik możemy zobaczyć na [AMXBans GM 1.5] PoByku.com - Aktualny Status Serwera
Zwłaszcza przy mapkach które nie są standardowe. :-) Rozpoznacie je po literce G w prawym dolnym rogu.

Pozdrawiam, jeżeli ktoś ma pomysł jak ulepszyć kod, bo nie wiem czy nie będę mieć jakiś błędów związanych np. z serwerem offline, to od razu pisać :-)
L0rd$^P0|4K

Jeżeli ktoś chciałby wykorzystać moje modyfikacje do czegokolwiek masowego :-) Zasymilować ze swoim dodatkiem później opublikowanym szerszej ilości użytkowników, proszę o dodanie do stopki:
Edited by <a target="_blank" href="http://www.webpolak.pl">L0rd$^P0|4K - webpolak.pl</a>

  • +
  • -
  • 18


#204765 [L$P]Lista zbanowanych wyróżnienie wygasłych banów

Napisane przez L0rdS^P0l4K w 10.01.2011 16:38

Kolejna mini zmiana. Nie wiem dlaczego nie było to uwzględnione w projekcie GM.
W projekcie AmxBans 6.0, taki skrypt jeszcze mam zainstalowany, wyróżnione było jeżeli ban wygasł. Niestety nie ma tego w stylu darkgold w GM 1.5, dlatego przedstawiam usprawnienie tego tematu:

1. Otwieramy plik
./templates/darkgold/ban_list.tpl
Nie wiem czy jest to w domyślnym stylu czy nie dlatego domyślnie piszę dla stylu darkgold. Oczywiście zależy to od nazwy stylu-folderu.

Wyszukujemy linijkę z kodem:
<tr onclick="NewToggleLayer('layer_{$ban_list.bid}')" class="list">

Edytujemy ją na:
<tr onclick="NewToggleLayer('layer_{$ban_list.bid}')" class="list" {if $ban_list.ban_end < $smarty.now && $ban_list.ban_length>0} style="background: none repeat scroll 0% 0% rgb(100, 100, 100);"{/if}>
W tej małej zmianie podałem RGB 100 100 100, oczywiście każdy może sobie zmienić jak tylko mu się podoba, więc paleta kolorów i lecimy z koksem.
Zapisujemy, podmieniamy plik i cieszymy się listą banów z wyszczególnionymi wygasłymi banami.

DEMO: [AMXBans GM 1.6] PoByku.com - Lista Banów

Pozdrawiam,
L0rd$^P0|4K

Jeżeli ktoś chciałby wykorzystać moje modyfikacje do czegokolwiek masowego :-) Zasymilować ze swoim dodatkiem później opublikowanym szerszej ilości użytkowników, proszę o dodanie do stopki:
Edited by <a target="_blank" href="http://www.webpolak.pl">L0rd$^P0|4K - webpolak.pl</a>

  • +
  • -
  • 6


#208257 Gm 1.5 serwer nie łaczy sie ze stroną

Napisane przez mgr inż. Pavulon w 22.01.2011 16:35

;mysql
;sqlite

odblokuj moduł mysql.
Niby powinien się sam odblokować, ale czasem są z tego powodu problemy.

Logi czyste

Jakieś byś muszą.
  • +
  • -
  • 1


#208485 Gm 1.5 serwer nie łaczy sie ze stroną

Napisane przez Szyfrant w 23.01.2011 10:09

hmm dodałeś Ip serva do zezwoleń hostów? Najlepiej dodaj "%" do zezwoleń
  • +
  • -
  • 1


#204695 Problem z COD przy kompilacji

Napisane przez DaddyKuba w 10.01.2011 14:15

Sprawdź:

Załączone pliki


  • +
  • -
  • 1


#4261 Timeleft

Napisane przez Abes Mapper w 18.04.2008 23:28

Jak masz adma to wpisz:

amx_cvar mp_timelimit 25

Lub w tym server.cfg wpisz bez ""
  • +
  • -
  • 1


#114531 Generowanie statusu serwera

Napisane przez Mikro w 25.02.2010 21:13

przydatne xD
  • +
  • -
  • 1


#113645 Generowanie statusu serwera

Napisane przez mgr inż. Pavulon w 21.02.2010 16:05

Żeby otrzymać bannerek z danymi serwera podobny do tego: Dołączona grafika możemy skorzystać z biblioteki GD2 dostępnej w PHP oraz klasy PQ której użyjemy do pobrania danych o serwerze. Aby otrzymać przyjazne linki wykorzystamy również mod_rewrite aby zamiast rozszerzenia .php mieć np .png

GD2 musi być zainstalowane na serwerze, PQ jest w załączniku

Pobieramy i wypakowujemy załącznik: Załączony plik  server.zip   227,7 KB  2377 Ilość pobrań

np do głównego katalogu.
server
├── base.png
├── cache
├── cs.png
├── cs.ttf
├── digit.ttf
├── impact.ttf
├── index.php
├── key.png
├── lucon.ttf
├── ocr.ttf
├── SNS
│   ├── class_PQ.php
│   └── PQ
│       ├── gamespy.php
│       ├── halflife.php
│       ├── oldhalflife.php
│       ├── PQ_PARENT.php
│       └── quake3.php
└── steam.png

Nadajemy katalogowi cache prawa do zapisu i odczytu (chmod 777).

Standardowe ustawienia umożliwiają generowanie statusu dla IP podanego w parametrze $_GET['ip'] lub $_GET['ip'] i $_GET['port'].
Więc jeżeli mamy domenę amxx.pl i wypakowaliśmy pliki do głównego katalogu to dostęp do skryptu będziemy mieli poprzez kilka linków (mod_rewrite):

amxx.pl/server/index.php
amxx.pl/server/index.png
amxx.pl/server/index.jpg
amxx.pl/server/status.png
amxx.pl/server/status.jpg

i do nich doklejamy parametr ip (lub ip i port) tj.
?ip=IP_SERWERA:PORT
lub
?ip=IP_SERWERA&port=PORT_SERWERA
Czyli otrzymujemy przykładowo
amxx.pl/server/index.png?ip=127.0.0.1:27015

Jeżeli chcemy tworzyć status tylko jednego serwera to zamieniamy:
	if (strpos($_GET['ip'], ':'))
{
$ipp = explode(":", $_GET['ip']);
if (count($ipp)==2)
{
$conf_ip = $ipp[0];
$conf_port = $ipp[1];
}
} else {
$conf_ip = ($_GET['ip'])?$_GET['ip']:'localhost';
$conf_port = ($_GET['port'])?$_GET['port']:'27015';
}

na:
	$conf_ip = 'IP_SERWERA';
$conf_port = 'PORT_SERWERA';

I nie musimy już podawać parametru ?ip= w linkach.

Stan serwera jest cache'owany (zapisywany) na 30 sekund (standardowo - $cachetime) aby zapobiec częstemu łączeniu się z serwerem.
Jako baza służy nam grafika o rozmiarach 350x20px w formacie .png (standardowo - $ext) i nazwie base.png (standardowo - $base) znajdująca się w tym samym katalogu co index.php
Do wyboru jest kilka czcionek (tablica $fonts) w formacie TTF (załączone).

Dodatkowo wszystko mniej więcej opisane w pliku index.php.


Oczywiście wymagane są otwarte porty i odblokowana funkcja fsock_open do pobrania statusu serwera.


p.s.
nie jest to jakoś super zrobione, ale każdy może sobie dopracować i zrobić wg własnego uznania ;)
  • +
  • -
  • 32