Ranking
Popularna zawartość
Treść z najwyższą reputacją w 08/04/17 uwzględniając wszystkie działy
-
W dniu dzisiejszym nowymi Support Adminami zostają @.:Aga:. @BORN2KILL. oraz @Ripton Gratulujemy i życzymy dobrej skuteczności w banowaniu baranów7 punktów
-
3 punkty
-
Kolejne Multi Konto, co z tego że inne ip jak łączą Cię inne elementy?3 punkty
-
[ZAMKNIĘTY]Nick xD
Tomass ツ oraz jeden pozostały przyznał reputację Ripton za temat
Stary nick: Ripton Nowy nick: RipSON Reklamy (5), bądź premium: premka Albo jednak nie zmieniam sorki2 punkty -
[ZAMKNIĘTY]NAJPOPULARNIEJSZY UŻYTKOWNIK MIESIĄCA [Lipiec] - Głosowanie!
koksy oraz jeden pozostały przyznał reputację Baniatowaty za temat
Nick Kandydata: @BORN2KILL. Dlaczego ta osoba(Rozwinięta, sensowna wypowiedź)? : Aktywny na forum, "wkłada" swój nos tam gdzie popadnie.2 punkty -
2 punkty
-
[KOSZ]Reklama durex
Bezzi oraz jeden pozostały przyznał reputację KRYCHA22 za temat
2 punkty -
2 punkty
-
2 punkty
-
[ODRZUCONE]Serdecznie proszę o unbana na serverZe csgo#5
~MiyaGu* oraz jeden pozostały przyznał reputację NexyeR za temat
Przepatrzyłem forum bo jego nick wydawał mi się znajomy. Znalazłem parenaście odwołań gościa, który odwoływał sie pod tym samym nickiem ale UB nie dostał, więc zaczęłem przypuszczać, że może to być ten sam gracz i na tej podstawie dalem bana. Może to jego kolejne multikonto, tylko że na innym IP. Jeśli nie no to przepraszam gracza, ale wątpie żeby pare osób miało ten sam nick na paru serwerach.2 punkty -
2 punkty
-
Nick: `KinG` Ilość odpracowywanych punktów: 1 Reklamy: Premium1 punkt
-
1 punkt
-
Propozycje
KreatywnyAli przyznał reputację JAKoB za temat
Co ty chcesz od tych rakiet. Może by it o było dobrą propozycją ale Wtedy klasy te miałby nikłe szanse z np shoterem czy szturmowcem. Jak już chcesz osłabiać klasy to właśnie te dwie gdyż sam wczoraj stwierdziłeś że nie wspomniałem o zwinnym żołnierzu bo nim grałem a ty dlaczego nie wspomnisz o Szturmowcu niewidka na kosie 3 skoki gra nim wygląda mniej więcej tak ze na niewidce lecisz przez całą mapę idziesz na resp wroga i bijesz każdego od pleców Mój pomysł na szturmowca : INT: 0 HP:30 WYTRZ: 40 KOND :35 OPIS : Ma M4 i AK-47 + 15dmg 1/3 z HE , 3 skoki I eliminator rozrzutu (aktywowany na E którego długość zależy od inteligencji na początku 5 sekund a potem 10int = 1 sekunda dłużej co da nam 25 sekund eliminatora ) i Shotera INT; 10 HP:20 WYTRZ: 40 KOND : 20 AK +10 DMG 2 skoki 1/3 HE 1/7 Na trafienie krytyczne1 punkt -
nick kandydata @^^RYBSON^^ Dlaczego? To nasz nowy rangowiec udziela się FP, serwerze TS, chatboxie po prostu nołlajf nick kandydata @WolfIDraV Dlaczego? Nasz najnowszy programista gość z wielkim zapałem, który chce chyba naprawić wszystko na serwerach1 punkt
-
To są chyba jakieś jaja xD @Just NoOne zobacz co zrobiłaś xD Jeśli za to mam dostać Warna to powiedzcie usunę post xD1 punkt
-
1 punkt
-
1 punkt
-
[ODRZUCONE]Serdecznie proszę o unbana na serverZe csgo#5
Master przyznał reputację Jak ty chyba po wojaku za temat
Twój nick podczas gry:KRYCH2 Godzina, data zdarzenia:14:35 04.08 2017 Mapa:css_nuke STEAM_ID / IP: Uzasadnienie: dostałem bana ab na servezrze csgo#5 nie wiem za co ponieważ ani nie miałem wspomagaczy do strzelania ani nie miałem wh ani nie miałem auto bh wiec proszę serdecznie panowie administratorzy o odbanowanie pozdrawiam fotki na dole ?? Tam jest moje id steam i moje id1 punkt -
1 punkt
-
Myślę, że można to podpiąć gdzieś żeby każdy widział a nie musiał szukać po necie... "1 punkt
-
[ZMIENIONY]Powrót Idealna Bania
RYBSON przyznał reputację Baniatowaty za temat
Stary nick: Strażnik Gracuś Nowy nick: Idealna Bania Reklamy (5), bądź premium: premium1 punkt -
Propozycje i uwagi - FORUM
SUNN. przyznał reputację pionteczekessa za temat
edit: @SUNN. nvm, błąd stylu, pracuję nad tym1 punkt -
@StiCo spokojnie. 24:50 - Lag dema. 25:00 - magiczne przeskoki +B 25:32 - Przeskok na głowę. Ewidentny aimbot, aby dostać ub należy zrobić100 reklam sieci. Ban słuszny. Niby mało, ale ja jestem pewna swojego werdyktu. :> @Bezzi1 punkt
-
[KOSZ]Podanie na Admina
Gormit lowca kotow przyznał reputację Born za temat
Jesteś nowym graczem tego serwera co widać było po dzisiejszym dniu. Nie masz też steam'a, także jestem na Nie.1 punkt -
Kiedy "Jaka to melodia"? Zapisuję Karola i Damiana. 1. Nick na TS: Freezu lov1e 2. Piosenka: Tarzan Boy - Promienie (Dla mnie luty dla Ciebie Maj)1 punkt
-
[KOSZ]Podanie na Admina
Gormit lowca kotow przyznał reputację Baniatowaty za temat
Hmmm kto to jest? Zbyt "anonimowy" jak jego nick, ns więcej wymieniać nie trzeba Na Nie1 punkt -
Podstawy amxx
sypkilopez przyznał reputację klqs za temat
Cześć. Nie zauważyłem na tym forum jakiegoś dużego grona osób, które potrafią cokolwiek w amxx, więc postanowiłem się z Wami podzielić moją niewielką wiedzą. Będę się starał opisać wszystko najprościej jak potrafię, aby każdy kto chce, mógł to zrozumieć. Od razu mówię, że moje słownictwo tj. nazywanie konkretnych rzeczy nie będzie idealne i fachowe. Jest to spowodowane tym, że jestem samoukiem i nie wkuwałem teorii na pamięć tylko pobierałem pluginy i próbowałem rozgryźć jak to wszystko działa. Co to wgl jest jak się do tego zabrać. AMXX (AMX Mod X - ulepszona i rozwijana wersja AMX Mod). Na tym opiera się praktycznie każdy serwer w 1.6 (z wyłączeniem mixów etc.). To dzięki temu wszystkie pluginy działają. W to zagadnienie nie ma potrzeby się głęboko zagłębiać. Pliki *.sma i *.amxx. Zapewne nie raz o tym słyszeliście. Pierw pliki *.sma - Wszystkie projekty (tj. pluginy, silniki) w wersji możliwej do rozczytania przez człowieka są zapisywane właśnie w takim rozszerzeniu. Po co ono jest? Otóż gdy chcemy chociażby edytować istniejący już plugin to edytujemy właśnie plik *.sma. Gdy już skończymy prace, specjalnym kompilatorem który opisze później zamieniamy ten plik *.sma na plik *.amxx. Po co coś takiego robimy? AMXX rozpoznaje tylko pliki *.amxx. Do rozczytania przez człowieka są chyba niemożliwe. Kompilator zamienia to kolokwialnie mówiąc z "języka ludzkiego na język komputera". Ważne! Każdy plik *.sma można zamienić na *.amxx bez większego problemu (oczywiscie gdy nie występują errory, przy warningach kompiluje lecz zazwyczaj dana część kodu nie działa). W drugą strone jest większy problem. Istnieją dekompilatory (przeciwienstwa kompilatorów) które robią dokładnie odwrotną akcje. Niestety, nie są one zbyt dokładne. Często bywa, że większość część kodu jest nierozszyfrowana, a istnieją nawet metody które całkowicie uniemożliwiają dekompilacje. Mam nadzieje, że zrozumieliście, że pliki *.sma w FTP serwera są potrzebne tylko i wyłącznie w razie konieczności sprawdzenia działania pluginu/edycji etc., czyli z FTP można całkowicie wywalić folder "Scriptings", w którym znajdują się pliki *.sma oraz bilbioteki (o których będzie niżej) Kompilacja. Myślę, że każdy kto prowadzi/ł serwer słyszał o czymś takim. Jest to jak już wyżej pisałem, zamiana pliku *.sma na *.amxx. Istnieją tak jakby dwie kompilacje: lokalna i online, czym się różnią? Lokalna - kompilujemy naszym programem w którym najczęściej piszemy (w moim przypadku jest to amxx_studio, istnieje też możliwość pisania i kompilowania w notepad++ lecz to wymaga większego trudu. Można poszukać poradniki na internecie jak to zrobić.), a pliki *.amxx odrazu zapisują nam się w ustalonym miejscu na komputerze. Online - Przykładowy kompilator online: amxx.pl/kompilator. Wrzucamy tam kod albo uploadujemy plik *.sma, kompiluje a my musimy pobrać plik *.amxx który oczywiscie zapisuje się tam gdzie zapisują się pobierane pliki przez przeglądarke/ustalonym miejscu. Biblioteki. Chyba najczęsciej używaną biblioteką która nie jest domyślnie w amxx jest ColorChat. Co to takiego? Gdy piszemy to w kodzie wykorzystujemy funkcje. Zaincludowanie czyli pokazanie kompilatorowi, że ma użyć tej biblioteki, w kodzie to wygląda: #include <ColorChat> . Dzięki temu możemy używać funkcji które ta biblioteka zawiera, w tym przypadku jest to jedna, bardzo przydatna funkcja która pozwala w łatwy sposób kolorować wiadomosci wysyłane przez serwer (plugin) do gracza. Oczywiście, można zamiast includować to wrzucić umiejętnie to do kodu i wtedy nie trzeba - tylko po co, skoro tak jest szybciej i prościej. Biblioteki mają rozszerzenie zwykłe .inc Funkcje. Niestety, funkcje to rzecz które trzeba się nauczyć na pamięć, jednakże ich nazwy są na tyle intuicyjne, a jeśli dobrze skonfigurujemy nasz program do pisania który nam będzie podpowiadał składnie danej funkcji to z używaniem ich nie będzie większego problemu. Spis wszystkich dostepnych znajduje się tu: -> Klik <- po Polsku, a po Angielsku (więcej informacji) -> Klik <- Funkcje forward. Wywoływane są one gdy się stanie coś konkretnego. Konkretniej: przykładem takiej funkcji jest public plugin_init(){ //code } "public" przed funkcją jest oznajmieniem że jest to forward. Zamiast //code wpisujemy kod który w przypadku tej funkcji wykona się przy załadowaniu mapy. Używana jest ona zazwyczaj do rejestrowania pluginu (autor, wersja, nazwa), rejestrowania komend, cvarów (niżej) etc. Funkcje natywne. Można je umieścić np. w funkcjach forward. Przykładem takiego użycia byłoby: public plugin_init(){ register_plugin("Nazwa", "Wersja", "Autor"); } Po czymś takim po wpisaniu komendy amx_plugins byłby nasz plugin, nazywał by się Nazwa, przy wersji by pisało Wersja a jako autor byłby podany Autor. Po prostu rejestracja pluginu. Cvary. Najprosciej mówiąc - coś co pozwala nam sterowac pluginem przy pomocy komend/ustawien w amxx.cfg (w ftp serwera). Do zmieniania ich ustawien z poziomu admina na serwerze (oczywiscie z odpowiednimi flagami) uzywamy komendy amx_cvar. Cvary trzeba zarejestrować tam gdzie plugin, czyli w plugin_init. Zmienne. Zmienne dodajemy poprzedzajac je wyrazem "new". Służą do przechowywania, edytowania i odczytywania danych. Przykłady takich zmiennych to new Zmienna //Może przechowywać max 1 literke/liczbe czyli np: "A", "a", "x" albo "1", "13", "69" etc. new Zmienna[32] //Może przechowywać 32 literki/cyfry. Jak to działa? Każdy taki [1] to jest jedna zmienna, czyli można było by to zapisać new Zmienna0, new Zmienna1 itd. Ostatnia (32) jest to znak kończący, którego się nie edytuje czyli jak mamy 32 to mozemy wykonać operacje Zmienna[1] = 69 albo Zmienna[31] = 69. new Float:Zmienna // Przechowuje liczby zmiennoprzecinkowe czyli np "1.69", "6.9" "1.141561" itd. Może występować również jako new Float:Zmienna[32] wtedy jest dokładnie jak przypadek wyżej new bool:Zmienna //Może ona tylko być jak true/false (True = 1, false = 0). Formatowanie zmiennych. Dokładnie o znakach powiem niżej, ale zmienne po zadeklarowaniu na początku czyli np przed plugin_init można edytować/odczytywać w całym pluginie, czyli gdziekolwiek można napisać Zmienna = 1 lub if(zmienna == 1) Pierwszy przypadek ustawia Zmiennej wartość 1, drugi sprawdza czy zmienna równa się 1, jesli nie to zwraca 0, jeśli tak to zwraca 1. Operatory. W większości używane w funkcji if, for lub while oraz przy działaniach. a == b - Sprawdza czy lewa równa się prawej - jeśli tak zwraca 1, jeśli nie zwraca 0 a = b - Zmienna a przyjmuje wartość b, czyli jeśli b było równe 5 to a teraz tez jest równe 5 a < b - Jesli a jest mniejsze od b - zwraca 1, jeśli nie zwraca 0 a <= b - Jesli a jest mniejsze lub równe b - zwraca 1, jeśli nie zwraca 0 a != b - Jeśli a jest różne od b - zwraca 1, jeśli nie zwraca 0 a+b - a dodać b a+=5 - a dodać 5 a-b - a odjąć b a-=5 - a odjąć 5 a*b - a razy b a*=5 - to samo co a=a*5 a/b - a podzielone przez b a/=5 - to to samo co a=a/5 a%2 - zwrócenie reszty z dzielenia (przykład: 5%2 - zwróci nam 1) a++ - a użyte a potem zwiększone o 1 ++a - a zwiększone o jeden i dopeiro użyte a-- - a uzyte a potem zmniejszone o 1 --a - a zmniejszone o 1 a potem użyte is_user_connected(id) && is_user_alive(id) - jeśli jest połączony i żywy zwróci 1, jeśli nie jest żywy/nie jest połączony lub oba warunki są fałszywe to zwraca 0 is_user_connected(id) || is_user_alive(id) - jeśli jest połączony lub żywy zwróci 1, jesli żadne z tych zwróci 0. UWAGA!! 7.0/3 = 3.5 7/3 = 3 Istnieje tez znak "?" Sprawdza on czy wartość po jego lewej jest 1, jeśli tak to wykona sie pierwszy argument, jeśli nie to drugi. Praktyka: is_user_alive(id) ? "Jest zywy" : "Jest martwy" Pętle oraz warunek if. Zawarty w nich kod wykona się określona ilość razy albo zanim zostanie wykonany wykona się sprawdzenie. Istnieja 3 pętle, trzeciej za bardzo nie rozumiem więc opisze dwie ktore się używa, jej jeszcze nie widziałem żeby ktoś uzywał, a nazywa się "do,while". Warunek if - sprawdza czy wyrażenie w nim jest prawdziwe (1) czy fałszywe (0) i zwraca odpowiednią cyfre. Praktyka: if(is_user_alive(id)){ user_kill(id) } Jeśli gracz jest zywy, zwróci 1 po czym wykona się zawarty w nim kod, czyli gracz zostanie zabity, jeśli gracz nie zyje, kod zostanei pominięty. Jeśli zostanei pominięty - czyli gracz będzie martwy, a chcemy sprawdzić skoro jest martwy to czy może jest w SPECT wiec robimy: if(is_user_alive(id){ user_kill(id)(id) } else if(cs_get_user_team(id) == 0 || cs_get_user_team(id) == 3){ cs_set_user_team(id, random(1,2)) } Juz tłumacze i objaśniam: Jak można wyczytać z dokumentacji -> Klik <- funkcja cs_get_uset_team zwraca 0 jeśli gracz nie wybrał drużyny lub 3 jesli jest na spect, więc w warunku if sprawdzamy czy jest 0 lub 3. Jeśli tak, przenosimy go do losowego teamu. W 2 argumencie funkcji cs_set_user_team wybieramy team do którego ma go przenieść. Funkcja random(1,2) losuje liczbe od 1 do 2 czyli 1 = TT, 2 = CT. Gdyby zamiast else if(cs_get_user_team(id) == 0 || cs_get_user_team(id) == 3) dać samo else to kod wykonał by się gdyby w pierwszym if gracz był martwy. Pętla for. Jest to jak sama nazwa mówi, pętla, w której kod będzie się wykonywał do pewnego momentu. for(new i; i<=get_maxplayers(), i++){ if(is_user_admin(i)) break; } Jak widać, tworzymy zmienną i która po każdej pętli się zwieksza o 1 aż do maksymalnej ilości graczy która jest pobierana funkcją get_maxplayers(). Jak to wyglada? for(NOWA ZMIENNA; KIEDY MA SIĘ PĘTLA SKOŃCZYĆ; CO MA SIĘ ZROBIĆ PO SKOŃCZENIU PĘTLI). W pętlach między argumentami nie używamy "," tylko ";" W środku pętli: Jeśli użytkownik o id = zmiennej i jest adminem to pętla się kończy czyli dzieje się tak jakby i doszło do maksymalnej ilości graczy. Po co to? Gdy chcemy np znaleźć jednego admina i wyświetlić go komuś, wtedy po ifie a przed breakiem wysyłamy komuś wiadomosć. for(new i; i<=get_maxplayers(), i++){ if(is_user_admin(i)) continue; user_kill(i) //TEN KOD SIE NIE WYKONA JESLI GRACZ JEST ADMINEM, ALE PĘTLA BĘDZIE SPRAWDZAŁA DALEJ } Jeśli gracz o id = zmiennej i jest adminem to jest to pomijane i traktowane jakby pętla się skończyła, reszta kodu wtedy nie jest brane pod uwage Pętla while, podobna do for jednak w jej "wnętrzu" (nawiasach) nie tworzymy zmiennej. while(1==2){ //kod } Taka pętla nigdy się nie skończy ponieważ nigdy 1 nie będzie się równało 2. new zmienna new id=1 while(zmienna==5){ if(is_user_alive(id++)) zmienna++ } Ta pętla skończy się gdy będzie żyło 5 graczy Formatowanie. Czyli podmienianie np wyświetlanej wiadomosci do gracza. Załóżmy, że chcemy mu wysłać ile jest graczy online. W takim przypadku nie możemy wklepać na sztywno do kodu że jest 32 bo mijałoby się to z prawdą, dlatego robimy: client_print(id, print_center, "Na serwerze jest %d graczy!", ilosc_graczy) Gdzie ilosc_graczy to zmienna do której wcześniej zapisaliśmy liczbe graczy. Znaki formatujace: %s - string (ciag znaków) czyli np. "bober", "krowa", "elo" etc. %d lub %i - Liczba, czyli np "5", "15", "30". %f - float - liczba zmiennoprzecinkowa czyli np "1.3", "6.9" itd. Czasami będziemy chcieli wyświetlić tylko np. 2 cyfry po przecinku, taki problem wystepował swego czasu na niektorych codmodach gdzie po zmienieniu wymaganego doświadczenia na % wychodzilo im coś w stylu 50.4112308501%. Aby temu zapobierać zamiast %f piszemy %0.2f i wtedy wyświetli 2 cyfry po przecinku. Jeśli chcemy 5 cyfr to piszemy %0.5f. To są te najpotrzebniejsze, reszty się praktrycznie nie używa. Jeśli chcemy w jednej funkcji dodac kilka stringów to robimy to po prostu w kolejności. Jeśli chcemy wysłać zwykły znak % musimy go napisac podwójnie, czyli %%: client_print(id, print_center, "Na serwerze jest %d graczy, godzine temu było %d graczy a za 5 lat na 50%% bedzie %d graczy", ilosc_graczy, ilosc_graczy1hago, ilosc_graczy5y) To nam wyświetli np: "Na serwerze jest 20 graczy, godzine temu bylo 15, a za 5 lat na 50% bedzie 0 graczy" Dokładna rozpiska znajduje się tu: Może w końcu po tej nudnej teorii się czymś zajmiemy? Pasowało by ogarnąć jakiś program do pisania. W tym celu pobieramy z tej strony -> Klik <- AMX Mod X Full Installer, odpalamy go i instalujemy jak zwykły program. Potem wchodzimy w zainstalowany folder i uruchamiamy Installer. Klikamy Next, next, wybieramy select mod directory - next, wybieramy ścieżkę do cstrike, poniżej "Custome game addon:" wybieramy Counter-Strike i instalujemy wszystko. Teraz wracamy się do folderu w którym znajdował się pliczek Installer i wchodzimy w amxxstudio>AMXX_studio. Tam wchodzimy w Tools>settings>Compiler>Compiler settings i w Compiler (amxxpc.exe) ustalamy ścieżko do pliku amxxpc.exe który znajduje się w cstrike>addons>amxmodx>scripting. W moim przypadku jest to D:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmodx\scripting\amxxpc.exe W Deafult Output directory wybieramy ścieżke gdzie mają się zapisywać pliki *.amxx. I Gotowe! Mamy program do pisania i dobrze skonfigurowany kompilator! Gdy skonczysz edytować lub pisać jakiś plugin, aby skompilować należy wcisnąć przycisk F9 lub na górze kliknąć Compile>Compile. Jeśli pobieramy biblioteki tak jak np. ColorChat to wrzucamy je do cstrike>addons>amxmodx>scripting>include. Zaczynamy pisać Włączamy amxx_studio i klikamy File>new>empty plugin. Naszym oczom powinno się ukazać Po kolei tłumaczę. #include <amxmodx> - Podstawowa biblioteka zawierajaca podstawowe funkcje. #define PLUGIN "New Plug-In" - Define lubie tak śmiesznie na nie mówić - zmienna niezmienna Jak widzimy w register_plugin zamiast nazwy pluginu jest PLUGIN. Przy kompilacji kompilator podmienia PLUGIN na "new Plug-In" Najczęściej jest to wykorzystywane przy pluginach które korzystają z jakiejś flagi admina a dla wygody uzytkownika robi się #define ADMIN_FLAG ADMIN_CHAT i jeśli w jakiejś funkcji bedziemy chcieli sprawdzić czy gracz ma flage ADMIN_FLAG to zamieni nam to na ADMIN_CHAT dzięki czemu będziemy sprawdzać czy gracz ma ADMIN_CHAT. Po co takei babranie? Po to żeby przy 2000 linijkach nie szukać i nie podmieniać flagi tylko wejść sobie na początek, zmienić, skompilować i wrzucić na serwer. No to spróbujemy sobie zrobić powitanie na serwerze. Do tego potrzebujemy funkcji forward która będzie wyłapywała graczy ktorzy wchodzą na serwer. Istnieją dwie funkcje które nam to umożliwiają: client_putinserver(id) client_connect(id) Czym się różnią? Pierwsza wywołuje się gdy gracz wejdzie na serwer, czyli będzie miał do wyboru team. Druga wywołuje się przy kliknieciu connect! Przez co niemożliwe jest pobieranie takich danych przez tą funkcje jak uprawnienia, ponieważ one się dopiero załadują. Do tych celów używamy client_putinserver(id) My możemy sobie użyć client_connect(id) gdyż pobieramy tylko nick gracza który nie jest narzucany przez serwer i nie musi się ładować, ale wtedy może zaistnieć taka sytuacja, że wszyscy już go przywitają a on dopiero wejdzie na serwer, ponieważ np. będzie mu się długo ładowało Wiec używamy client_putinserver(id). Pod } od plugin_init dopisujemy: public client_putinserver(id){ } Teraz przydało by się pobrać nick gracza którego chcemy przywitać, więc używamy funkcji get_user_name(id, name[], len). Już pędze z wyjaśnieniami. id - Jak wiadomo id gracza który wszedl na serwer. name[] - nazwa zmiennej do której chcemy zapisać nick tego gracza oraz len - długość tej zmiennej. Teraz trzeba wyświetlić gdzieś te powitanie. Najlepiej do tego posłuży HUD. samodzielne konfigurowanie tego nie należy do najprzymeniejszych rzeczy wiec polecam w amxxstudio: Generators>hudmessage generator i wybranie sobie koloru i pozycji. Następnei formatujemy wiadomość. Powinno to wyglądać mniej więcej tak: public client_putinserver(id){ new name[48]; get_user_name(id, name, 47); set_hudmessage(0, 127, 255, 0.02, 0.13, 0, 6.0, 12.0) show_hudmessage(id, "Witamy %s na serwerze!", name) } To może teraz sprawdzimy czy gracz jest vipem i odpowiednio napisać. Założymy, że VIP jest na flage t czyli w kodzie będzie to ADMIN_LEVEL_H (pełny link do tego: -> Klik <-) Więc robimy odpowiednie ify, czyli będzie to mniej więcej cos takiego: public client_putinserver(id){ new name[48]; get_user_name(id, name, 47); set_hudmessage(0, 127, 255, 0.02, 0.13, 0, 6.0, 12.0) if(get_user_flags(id) & ADMIN_LEVEL_H) show_hudmessage(0, "[VIP]Witamy %s na serwerze!", name) else show_hudmessage(0, "Witamy %s na serwerze!", name) } W funkcji show_hudmessage pierwszy argument "0" powoduje wysłanie do każdego gracza. Można też zrobić to w pętli gdy funkcja nie ma takiej możliwości. Całość: Zdaje sobie sprawe, że jest to mało, lecz pisanei tego poradnika troche mi zajeło. Ja wiem, że nie jestem w tym jakiś wybitny a co dopiero idealny, więc zapewne jakieś błędy się wkradły. No niestety, wszyscy jestesmy ludźmi, mam nadzieje że mi wybaczycie i uszanujecie mój czas włożony w ten poradnik, który napisałem dla Multi-Head.pl i proszę o uszanowanie tego i nie przywłaszczanie/kopiowanie na inne fora.1 punkt -
1 punkt
-
Przed podaniem swoich liczb zapoznaj się z REGULAMINEM! 1. Typujemy 6 liczb z zakresu 1-42. 2. Jedna osoba może typować tylko raz w danej odsłonie. 3. Typy należy zgłaszać w postaci posta z wytypowanymi przez was liczbami np. 1,2,3,4,5,6. 4. Nie można zmienić swoich typów ani edytować po napisaniu posta. 5. Losowanie odbywać się będzie zawsze co środę w godzinach wieczornych. 6. Aby wziąć udział potrzeba mieć minimum 15 postów (Nie dotyczy rangi Premium). Swoje liczby podajemy do 9.08.2017 do godz 20:00 Zapraszam do zabawy!0 punktów
-
@StiCo, wybacz ślepa jestem. Ten SkokNaBunge (StiCo - PIES) ma te przeskoki, a nie Ty. Jeszcze raz przepraszam. Wracaj do gry. @Kain, błędix, jak ja.0 punktów
-
0 punktów
-
Jak nazwiemy naszą córkę? Poród tuż tuż ;_;0 punktów
-
0 punktów
-
0 punktów
-
0 punktów
-
0 punktów
-
24:50 Straszny lag demka (hltv ma lagi) więc nic nie powiem. 25:00 Bardzo dziwna akcja, przeskoki nienaturalne. +B 25:32 Przeskok na głowę. +B Niby 2 akcje na 3 spalone, ale myślę że to za mało.. Załatw jeszcze coś, to ocenię.0 punktów
-
UBT zapraszam do demka.0 punktów
-
Proszę was ludzie, o (za przeproszeniem) byle pierdołach będziecie tematy pisać na forum? Brak różnicy w tym hp totalnie. Szukajcie dalej postów na siłę. Powodzenia.0 punktów