Jump to content

Podsumowanie grudnia

Zobacz co ciekawego działo się w ubiegłym miesiącu

Kliknij i sprawdź!

Nowy Serwer - DeathMatch

Kolejny tryb na naszej sieci

Kopiuj IP i wbijaj!

Winter BatCup 5vs5

Najbardziej wyczekiwany turniej na naszej sieci wystartował!

Wszystkie informacje na jego temat tutaj

Nasi partnerzy:

grafi1337

Keeper - Hide & Seek
  • Content count

    772
  • Posts on chatbox

    760
  • Donations

    4.63 PLN 
  • Joined

  • Last visited

  • Time Online

    15d 3g 29m 39s

Community Reputation

339 Intellectual

About grafi1337

Members
  • Rank
  • Birthday 06/30/2006

About user

  • First name
    Gracjan
  • Gender
    Mężczyzna
  • From
    Okolice Gdańska
  • Hobbies
    Piłka nożna
  • Favourite server
    Hide and Seek

Contact

Recent Profile Visitors

3,536 profile views
  1. Co 20 minut, jak mnie @ xKacperKoxPLxYT potrąci i odjedzie.
  2. Gratuluje i życzę powodzenia 😄
  3. Wypominam @ xKacperKoxPLxYT , że nie pomógł ani troche w wygranej.
  4. Wyżywam się na @ xKacperKoxPLxYT
  5. Zaraiając potęzne pieniądze z @ xKacperKoxPLxYT
  6. grafi1337

    Q&A - Joziu | Pytania

    1. Ulubione jedzenie twoje to? 2. Skąd nauczyłeś się pisać pluginy? 3. Często jesz fast foody, a może wcale? 4. Masz jakieś hobby? 5. Miałeś taki czas, że chciałeś zrezygnować z roli administratora sieci?
  7. Pętla for Pętla for będzie powtarzać pewne instrukcje, dopóki nie zostanie spełniony określony warunek, jeżeli chcesz pisać troche bardziej zaawansowane pluginy to powinnieneś chociaż troche wiedzieć jak można jej użyć, a przydać się taka pętla może, chociażby wtedy, gdy chcemy wyświetlać wiadomości osobom z np. konkretną flagą. Przykładowy plugin: Będzie on pozwalał graczowi pisać tylko i wyłącznie z osobami, które mają flage "a". By użyc komendy trzeba wpisać "sm_vipchat tutaj wpisz swoją wiadomość" Więc zacznijmy od dodania includów, które bedą nam potrzebne. #include <sourcemod> #include <multicolors> Biblioteka <multicolors> odpowiada za możliwość używania kolorów w taki sposób "CPrintToChat(client, " {lightred} WItaj"); zamiast "PrintToChat(client, " \x07 WItaj"); Skoro mamy już potrzebne nam include'y to możemy przejść do dalszej części pluginu. Jeżeli chcemy możemy dodać informacje na czym polega plugin oraz kto jest autorem pluginu. public Plugin myinfo = { name = "Nazwa pluginu", author = "Autor pluginu", description = "Opis pluginu", version = "Wersja pluginu", }; Teraz przechodzimy do zarejstrowania komendy dla osoby z flagą "a" na starcie pluginu. public void OnPluginStart() { RegAdminCmd("sm_vipchat", vipChat, ADMFLAG_RESERVATION); // RegAdminCmd - rejestruje komende dla osoby z podaną flagą, vipChat to callback, ADMFLAG_RESERVATION to flaga "a" - całość pozwala tylko osobie z flagą "a" użycia komendy "sm_vipchat" } Teraz zarejstrujemy co ma się wykonać, gdy ktoś wpisze "sm_vipchat". public Action vipChat(int client, int args) { char buffer[512] // tworzymy buffer z maksymalną ilością znaków, którą buffer może zachować i ("buffer" mozna zamienic na to co chcemy, czyli za "buffer" może być np. "text" GetCmdArgString(buffer, sizeof(buffer)) // Pobieramy wiadomość, który gracz napisał po "sm_vipchat" i przekazuje to do buffera. StripQuotes(buffer); // by pozbyć się cudzysłowii, które pojawiłyby się podczas pisania z innymi używamy StripQuotes, by je usuwał if (strlen(buffer) <= 1) return Plugin_Handled; // jeżeli cała wiadomość ma mniejszą lub równą ilość znaków 1 to w takim przypadku "return Plugin_Handled;" zatrzymuje akcje. if (buffer[0] == 'a' || buffer[0] == 'b') return Plugin_Handled; // jeżeli jako 1 słowo w wiadomości jest "a" lub "b" to "return Plugin_Handled;" przerywa akcje, znak "||" to "lub". Teraz tworzymy pętle, ktora bedzie po każdym graczu "przechodzić" i sprawdzać czy dana osoba ma taką flage jaką chcemy, jeżeli tak to wykonujemy akcje. for (int i = 1; i < MAXPLAYERS; i++) { // "i" to zmienna i możemy ja zmienić na co chcemy i ustawia odrazu przechodzenie od 1 gracza, 0 to serwer, zmienna "i" sprawdza wszystkim graczom to co jest poniżej, i++ dodaje się na końcu sprawdzonego warunku(tu. MAXPLAYERS) natomiast ++i dodaje się przy początku próby sprawdzanego warunku. if (!IsValidClient(i)) // jeżeli gracz nie jest połączony continue; // to przerywa akcje - wymagane, gdyż brak tej funkcji może czasami powodować crashe serwera else if (IsPlayerVIP(client) == IsPlayerVIP(i)) // jeżeli powyższy warunek nie jest prawdziwy to sprawdza czy gracz jest vipem i czy odbiorca również jest vipem, jeżeli tak to wykonuje akcje osobom z flagą "a" się akcja po między klamrami (tutaj. Wysłanie wiadomości) CPrintToChat(i, "[{lightred}VIP Chat{default}] {lightred}- {orange} %N: {yellow}%s", client, buffer); // client przechwytuje nick gracza i umieszcze je zamiast "%N" natomiast "buffer" w miejsce "%s" pokazuje tekst wpisany przez gracza. "buffer" jak już wczesniej wspomiałem przechwytuje tekst wpisany przez gracza, "client" było juz automatycznie zdefiniowane, gdy w handlerze podamy "int client" } return Plugin_Handled; } Teraz na sam koniec musimy utworzyć boole, które bedą przechowywać czy gracz jest połączony "IsValidClient(client)" oraz "IsPlayerVIP(client)" public bool IsPlayerVIP(int client) { if (GetUserFlagBits(client) & ADMFLAG_RESERVATION) // jeżeli gracz ma flage "a". return true; // jeżeli powyższy warunek jest prawdziwy to zwraca prawde. return false; // w przeciwnym wypadku zwraca fałsz } public bool IsValidClient(int client) { if (client >= 1 && client <= MaxClients && IsClientInGame(client)) // jeżeli gracz jest połączony. return true; // jeżeli powyższy warunek jest prawdziwy to zwraca prawde. return false; // w przeciwnym wypadku zwraca fałsz } Cały kod powinnien wyglądać mniej więcej tak. #include <sourcemod> #include <multicolors> public Plugin myinfo = { name = "[VIP Chat] Chat vipów", author = "Grafit", description = "Dodaje na serwer chat vip", version = "1.0", }; public void OnPluginStart() { RegAdminCmd("sm_vipchat", vipChat, ADMFLAG_RESERVATION); } public Action vipChat(int client, int args) { char buffer[512] GetCmdArgString(buffer, sizeof(buffer)) StripQuotes(buffer); if (strlen(buffer) <= 1) return Plugin_Handled; if (buffer[0] == 'a' || buffer[0] == 'b') return Plugin_Handled; for (int i = 1; i < MAXPLAYERS; i++) { if (!IsValidClient(i)) continue; else if (IsPlayerVIP(client) == IsPlayerVIP(i)) CPrintToChat(i, "[{lightred}VIP Chat{default}] {lightred}- {orange} %N: {yellow}%s", client, buffer); } return Plugin_Handled; } public bool IsPlayerVIP(int client) { if (GetUserFlagBits(client) & ADMFLAG_RESERVATION) return true; return false; } public bool IsValidClient(int client) { if (client >= 1 && client <= MaxClients && IsClientInGame(client)) return true; return false; } I o to koniec. W grze prezentuje się to tak: Link do include'a "multicolors": https://forums.alliedmods.net/showthread.php?t=247770 Spis flag: Legenda: Nazwa: // Flaga: // Opis: Liste flag wziąłem stąd --> https://go-code.pl/temat/70-flagi-sourcemod-opis/
  8. Mój typ: Ćwierćfinały: #1 - Pietrek 2 - 0 Its #2 - AdaX 2 - 0 Robot #3 - squall 2 - 1 Kathan #4 - P1x 2 - 1 NiN ♥ Półfinały: #5 - Pietrek 1 - 2 AdaX #6 - squall 2 - 1 P1x Mecz o trzecie miejsce: Pietrek 2 - 1 P1x Finał: #7 - squall 2 - 1 AdaX
  9. ktory serwer najgorszy? lubisz ryby? lubisz swoje imie? twoja wymarzona praca? ciezko gra sie na serwerach spolecznosci jako kobieta?
  10. ADMINISTRACJA 1. Najlepszy z zarządu Administracji (Właściciel, Administrator Sieci, Junior Admin, Moderator, Technik): @ Shadov 2. Najlepszy Redaktor: @ Inny 3. Najlepszy Grafik: @ NoName 4. Najlepszy opiekun serwera: @ BryleQ 5. Najlepszy Admin serwera: @ Mercedes 6. Najsurowszy Admin serwera: - SPOŁECZNOŚĆ 1. Najbardziej pomocny/a gracz/ka: @ xKacperKoxPLxYT 2. Najbardziej lubiana osoba: @ galbar 3. Najbardziej agresywny/a gracz/ka: @ To be fast 4. Najbardziej kulturalna osoba: @ Mercedes 5. Najbardziej wulgarna osoba: @ To be fast 6. Najbardziej odpowiedzialna osoba: - 7. Najmniej odpowiedzialna osoba: @ Bro_nek 8. Największy No-Lifer: - 9. Najbardziej kreatywna osoba: @ Scrash 10. Najbardziej niedoceniana osoba: @ B0mbel 11. Najbardziej rozgadana osoba: - 12. Osoba potrzebująca najwięcej uwagi:- 13. Największy spamer(chatbox): - 14. Największy prowokator: @ yoPoniacz 15. Największy leń: @ JustNikoś 16. Największy flirciarz: @ krulkamilek 17. Najzabawniejsza osoba: - 18. Osoba godna zaufania: @ NyuK 19. Najbardziej pracowita osoba: @ atroX 20. Najlepszy serwer: Oczywiscie ze hide and seek :DD
  11. Kasjusz "DonKasjo" Życiński Win - Lose Marcin "El Testosteron" Najman Piotr "Szeli" Szeliga Win - Lose Piotr "Bestia" Piechowiak Zusje Astafiewa Win - Lose Dagmara Szewczyk Piotr Pająk Win - Lose Alan "Alanik" Kwieciński Michał "Sobota" Sobolewski Win - Lose Filip "Filipek" Marcinek Paweł "Tybori" Tyburski Lose - Win Gabriel "Arab" Al-Sulwi Amadeusz Roślik Win - Lose Maksymilian "Wiewiór" Wiewiórka Maciej "Szewcu" Szewczyk Win - Lose Gamou Fall Mariusz "Hejter" Słoński Lose - Win Patryk "Mortalcio" Baran Kacper Błoński Lose - Win Marcin Dubiel
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.