Skocz do zawartości

Znajdź zawartość

Wyświetlanie wyników dla tagów 'sourcemod' .



Więcej opcji wyszukiwania

  • Wyszukaj za pomocą tagów

    Wpisz tagi, oddzielając je przecinkami.
  • Wyszukaj przy użyciu nazwy użytkownika

Typ zawartości


Kategorie

  • Error'y w kompilatorze
  • Warning'i w kompilatorze
  • Fatal error'y w kompilatorze

Forum

  • Go-Code.pl - Ogólne
    • Informacje
    • O serwisie
  • Sourcemod Scripting
    • Baza wiedzy
    • Masz problem?
    • Pytania na temat kodowania
  • Pluginy Sourcemod
    • Wszystko o pluginach
    • Duże modyfikacje
    • Dodatki
  • Konfiguracja serwera
    • Baza wiedzy
    • Pytania
    • Problemy
  • Counter-Strike: Global Offensive
    • Nowości
    • Artykuły, poradniki, tutoriale
    • Pytania
    • Problemy
  • Hostingi serwerów & WWW
    • Oferty firm
    • Opinie o hostingach
    • Pytania
  • Poza tematyką forum, OFF-TOPIC
    • Życie społeczności
    • Biznes
    • Zareklamuj swoją sieć/serwer
    • RoundSoundy
  • Archiwum
    • Przestarzałe tematy
    • Kosz

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Od tej daty

    Do tej daty


Ostatnia aktualizacja

  • Od tej daty

    Do tej daty


Filtruj po ilości...

Dołączył

  • Od tej daty

    Do tej daty


Grupa podstawowa


Imię


Lokalizacja


Zawód


O mnie


Strona WWW

Znaleziono 51 wyników

  1. Witam jako że paczka nie jest jakaś super mega wy***ana tylko większość jak każda inna to opublikuję ją może ktoś coś z tego weźmie jakiś przykład lub danej osobie się nie chce konfigurować serwera. Paczka została zrobiona cała od nowa przeze mnie. Pluginy w paczce są dostępne za darmo na różnych forach związanych z Sourcemod. Jako że paczka jest skonfigurowana tak aby tylko wgrać i grać. Paczka była testowana na 1s1k z sourcemod BETA 1.11 Jako że w paczce znajdują się pluginy z go-code i brak zezwolenia na publikację na inne fora to paczkę wstawiam tylko na tym forum. W paczce znajdują się pluginy które według mnie są albo przydatne albo ładnie wygląda jak NP: !ws czy też !agents Jako że nie lubię zbędnych i dla mnie nie potrzebnych informacji w konsoli typu "[ RANGI ] [ MAIN ] [ WYJŚCIE ] | %N (%s) przy wyjściu posiadał: rangę %s (%d), %d punktów" Zostało to jak i inne wiadomości z różnych pluginów które dla mnie były nie potrzebne w konsoli zostały usunięte. Lista Pluginów: 1. abner_resetscore.smx 2. chat-processor.smx 3. clientprefs.smx 4. csgo_agentschooser.smx - Agenty z najnowszej aktualizacji CS:GO 5. csgo_demo_crash_fix.smx 6. csgo_voiceagents_enabler.smx 7. custom-chatcolors-cp.smx 8. drapi_high_ping_kicker.smx 9. esl_admin_esp.smx 10. example.smx 11. FixHintColorMessages.smx 12. fpvm_interface.smx 13. franug_countryflagicons.smx 14. franug_csgosprays.smx - Spraye na serwerze - Poradnik jak dodać taki spray na serwer zrobię w osobnym temacie. Spray domyślnie pod "E" 15. FreeVip.smx - Darmowy vip na % ilośc dni konfiguracja w cfg. 16. gloves.smx 17. goAFK.smx 18. GoCode_VipTrybSplewisArena.smx 19. H2K_InformacjaPoZginieciu.smx 20. H2K_Kontakt.smx 21. H2K_WiadomoscHud.smx 22. hl_challenge.smx 23. joinsnd.smx 24. kento_rankme.smx 25. konkurs.smx - Informacje o konkursie w gdy robiłem konkurs może komuś się przyda. 26. listenexample.smx 27. mapchooser.smx 28. mirror_csgo.smx 29. multi1v1.smx 30. multi1v1_flashbangs.smx 31. multi1v1_headshot.smx 32. multi1v1_kniferounds.smx 33. multi1v1_online_stats_viewer.smx 34. multi1v1-hp.smx 35. multi1v1-ns.smx 36. namefilter.smx 37. nwayne_adminmowitozamknijmorde.smx 38. Paintball2.smx 39. PBMP7.smx 40. pomoc.smx - Komenda pomoc wywołująca listę komend serwera po nacisnięciu NP 2 komenda ta zostanie wywołana z menu. 41. pRanks.smx 42. server_redirect.smx -Lista serwerów z możliwością łączenia się na wybrany serwer komenda !serwery lub !serwer nie pamiętam 43. ServerAdvertisements3.smx 44. SimpleShowDamage.smx 45. thirdperson_csgo.smx 46. ukryjsieadmin.smx - Ukrywa admina pod sm_ukryj z informacja że dany administrator wychodzi z serwera. 47. vipmenu.smx 48. voiceannounce_ex.smx 49. weapons.smx W paczce znajdują się takie tryby jak: noscope paintball - z markerem paintball. 1hp Only HS Runda na kosy MAPY: Też nie będę opisywał wszystkich map. W paczce znajduje się 34 mapy. W większości mapach znajduje się 16 aren czyli w sam raz na 32 slotowy serwer. Jak dobrze pamiętam 3-4 mapy posiadają 14-15 aren. Mapy były sprawdzane by nie było problemu że znajdzie się mapa gdzie jest 10 aren czyli zmieści się 20 graczy a reszta w poczekalni. Wszystkie pluginy w paczce są po aktualizacjach przez autorów. Może być sytuacja że mogą wam stattraki nie działać z pluginu !ws (Mi działały bez problemowo) zalecam aktualizację sourcemoda do najnowszej wersji lub też zainstalować sourcemod 1.11 jeżeli po instalacji sourcemoda 1.11 nie będą działały stattraki zalecam aktualizację sourcemoda 1.11 jako że ja używam 1s1k to korzystam z instalatora hostingu. Co do pluginu "server_redirect" "Lista serwerów z możliwością łączenia się na wybrany serwer komenda !serwery lub !serwer nie pamiętam" Pokazuję reklamę danego serwera na czacie lub tez pod daną komendą. Plugin pokazuje tez listę graczy na danym serwerze. ←---- Informacja do osób które szukają danego pluginu ale go nie umią znaleźć. Nie będę się rozpisywał bo zawsze znajdą się hejterzy którzy coś znajdą i się doczepią. Paczka nie jest idealna ale mi niczego w niej nie brakowało. Wszelkie problemy z paczką lub jej konfiguracją proszę pisać w tym temacie nie będę skakał po działach i szukał czy ktoś ma problem z ta paczką. Paczka będzie aktualizowana wraz z aktualizacją pluginów przez autorów. !!!Paczka po rozpakowaniu z RAR waży 509MB!!! Link do paczki ↓ https://mega.nz/file/y95gGAwS#DF6g6yzwfg9--9LBcgYEKzk6ZHFRYnn9OdnVpSH59Ys Zabrania się udostępniania paczki na inne fora bez zgody autora! Dla ciekawskich jak wygląda paczka od środka zapraszam do testowania na serwerze - 91.224.117.165:27015
  2. Serwer testowy z wgraną paczką: 145.239.237.168.2737 Typ paczki: Only Awp Co znajduje się w paczce: Paczka z mojej strony jest skonfigurowana w 100%. Jedyne co klient musi zrobić to edytować configi pod siebie oraz podłączyć pluginy pod bazę danych. Filmiki: Cena: 140 zł. Kontakt: https://steamcommunity.com/id/pawelsteam Dodatkowe informacje: Oferuję pomoc z wgraniem paczki na serwer oraz podpięciem pluginów pod bazę danych Po zakupie paczki nabywca otrzymuje wszystkie kody źródłowe W celu zakupu należy kontaktować się ze mną na pw forum lub steam. Jeżeli ktoś posiada jakieś pytania dotyczące zakupu z chęcią odpowiem na pw. Overlay wykonał KamyK.
  3. SourceMod Download MetaMod Download Konsolę uruchamiamy przyciskiem tyldy (~) (pod Esc). Jeśli konsola nie uruchamia się, przechodzimy do Ustawienia->Ustawienia Gry->Włącz konsolę (zmieniamy na TAK) Jeżeli poprawnie zainstalowałeś SourceModa i MetaModa, po wpisaniu w konsoli 'sm' powinieneś otrzymać podobny komunikat do tego, który pojawił się w filmie 1. Lokalnie Najprostsza metoda, jednak brak możliwości grania (lub testowania pluginów) z innymi graczami. Zawartość obydwu paczek wrzucamy do folderu z grą. Możemy go znaleźć, przechodząć do Steama. Następnie, po znalezieniu CS:GO w bibliotece, klikamy na niego prawym, a następnie Właściwości->Zakładka 'Pliki lokalne'->Przeglądaj pliki lokalne... . Po otworzeniu się okna wchodzimy do folderu 'csgo' i tutaj wrzucamy MetaModa i SourceModa Grę uruchamiamy z parametrem -insecure, następnie wybieramy tryb 'Lokalnie z botami' 2. SteamCMD Można grać z kolegami, jednak wydajność serwera zależy od naszego łącza. Metoda ta nie wymaga korzystania z parametru -insecure SteamCMD Download Tworzymy gdzieś folder 'SteamCMD' (chyba najwygodniej zrobić to w C:/), wrzucamy plik .exe z archiwum i odpalamy W tej samej lokalizacji tworzymy nowy folder i nazywamy np. 'CSGO_Server' Kiedy już SteamCMD się spatchuje i zobaczymy 'Steam>', wpisujemy 'login anonymous' Następnie 'force_install_dir c:/CSGO_Server' (lub Twoja nazwa folderu). Komendy służy do określenia gdzie SteamCMD ma wrzucać pliki serwerowe Pobieranie uruchamiamy komendą 'app_update 740 validate' W międzyczasie tworzymy Token GSLT (jak na filmie), a także plik start.bat. Komenda: srcds -game csgo -tickrate 128 -console -usercon -maxplayers_override 10 +sv_setsteamaccount TUTAJ_TWOJ_TOKEN +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 Pamiętaj o podmianie tokenu za 'TUTAJ_TWOJ_TOKEN' Plik wrzucamy do folderu 'CSGO_Server' (lub Twoja nazwa) Kiedy się pobierze, uruchamiamy start.bat, a następnie, kiedy serwer skończy się inicjować, wpisujemy w konsoli 'status' i kopiujemy adres IP z TCP/IP. Z serwerem łączymy się poprzez konsole, wpisując frazę 'connect TWOJE_IP', lub poprzez zakładkę serwerów społeczności. Musimy również pamiętać o wgraniu SM i MetaModa, jak w przypadku pierwszej metody 3. Serwer na hostingu Należy pamiętać, że firm hostingowych jest bardzo dużo i praktycznie każda oferuje podobny wachlarz możliwości, co przytoczona w filmie firma LiveServer. Po założeniu konta i zasileniu portfela kupujemy serwer, dobierając parametry do naszych potrzeb. Później musimy pamiętać o aktualizacji, wgraniu SM i MetaModa (zazwyczaj jedno kliknięcie), oraz wprowadzenie Tokena GSLT Poprawnie skonfigurowany serwer na hostingu będzie działał przez cały czas - nie jest do tego potrzebny nasz komputer, jak w przypadku dwóch poprzednich metod. Wiąże się to jednak niestety z kosztami, nierzadko całkiem sporymi. Jeżeli masz dobre łącze i korzystasz z serwera tylko w celach samokształcenia się, SteamCMD lokalnie w zupełności wystarczy. Pytania? Pisz poniżej ?
  4. Szukam pluginu / osoby która by napisała takowy plugin za jakąś cenę, który po wejściu na serwer wyświetlałby info, które można byłoby dostosowywać w zależności od sytuacji. Przykład Graczowi po wejściu na serwer wyświetli się informacja o evencie Darmowy vip - klikając go wyświetlałyby się bardziej szczegółowe informacje. p.s Ważne aby menu można byłoby dostosowywać i zmieniać informacje zawarte w nim.
  5. [Opis] Udostępniam niepublikowaną dotychczas wersje nowego cod moda napisanego pod grę cs:go. Modyfikacja napisana została stosunkowo dawno dlatego, też kod mógłby zostać napisany gdzie nie gdzie trochę lepiej jednak ogólnie rzecz biorąc jestem zadowolony z końcowego efektu. Paczka dostępna do tej pory była wyłącznie w wersji płatnej dlatego pragnę serdecznie podziękować tym którzy ją nabyli, wspierając w ten sposób mnie na przestrzeni tych paru lat. Modyfikacja znana z czasów ery cs 1.6, polega na wybieraniu klas, zdobywaniu doświadczenia, poziomów za które otrzymujemy punkty statusu. W załączniku znajduje się silnik, 14 klas oraz 25 itemów. Różnice między nowym silnikiem a starym? - W nowym silniku rozbite zostały klasy, perki czy inne dodatki na osobne pluginy dzięki czemu nie musimy już babrać się w jednym długim kodzie by coś zmienić, jest to spora wygoda. Dzięki takiemu zastosowaniu o wiele łatwiej znajdziemy również ewentualny błąd jaki popełniliśmy przy edycji moda. - Wprowadzona została znacznie obszerniejsza konfiguracja dzięki której zmienimy ilość wymaganego doświadczenia do nowego poziomu, wszystkie limity, wyłączymy wytrzymałość perków itp. - Zmiany nie ominęły również zapisu modyfikacji, ten został poprawiony w taki sposób by nie nadpisywał już danych a je sumował - w praktyce oznacza to, że pojedyncza utrata naszych danych już nigdy nie nastąpi. [konfiguracja] Standardowa. Większość zmian w konfiguracji przeprowadzisz w /cfg/sourcemod/codmod.cfg. By podłączyć zapis dopisujemy do databases.cfg poniższe dane a następnie uzupełniamy w prawidłowy sposób. "codmod_lvl_sql" { "driver" "mysql" "host" "host" // adres bazy mysql "database" "db" // database bazy mysql "user" "login" // login uzytkownika do bazy mysql "pass" "haslo" // haslo uzytkownika do bazy mysql } [cvary] [natywy] [inne] Proszę o nie kopiowanie tematu na inne fora bez mojej zgody. [download] COD MW2.rar
  6. Opis Plugin tworzy dodatkową rundę nożową po rozgrzewce(warmup) i przed rundami. Drużyna, która wygra tę rundę może wybrać po której stronie chce zaczynać mecz. Wybór odbywa się poprzez menu do głosowania. Cvary Changelog Download https://github.com/maciej-wrzesinski/CSGO-Knife-Round https://github.com/maciej-wrzesinski/CSGO-Knife-Round/archive/master.zip Inne Plugin jest przeze mnie wspierany, gdyby pojawiły się jakieś bugi lub sugestie chętnie pomogę/wysłucham jeśli napiszecie poniżej 😄 Support Aktualnie support tego pluginu jest prowadzony przez @Vasto_Lorde
  7. Witam. Dziś po upgrade do najnowszej wersji sourcemoda wyskoczył mi następujący błąd w logach: L 04/11/2020 - 04:16:29: [SM] Exception reported: Menu handle 0 is invalid (error 4) L 04/11/2020 - 04:16:29: [SM] Blaming: gloves.smx L 04/11/2020 - 04:16:29: [SM] Call stack trace: L 04/11/2020 - 04:16:29: [SM] [0] Menu.Display L 04/11/2020 - 04:16:29: [SM] [1] Line 365, tmp/addons/sourcemod/scripting/gloves/menus.sp::MainMenuHandler L 04/11/2020 - 04:16:36: [SM] Exception reported: Language phrase "GloveMenuTitle" not found (arg 5) L 04/11/2020 - 04:16:36: [SM] Blaming: gloves.smx L 04/11/2020 - 04:16:36: [SM] Call stack trace: L 04/11/2020 - 04:16:36: [SM] [0] Menu.SetTitle L 04/11/2020 - 04:16:36: [SM] [1] Line 57, tmp/addons/sourcemod/scripting/gloves/config.sp::ReadConfig L 04/11/2020 - 04:16:36: [SM] [2] Line 90, tmp/addons/sourcemod/scripting/gloves.sp::OnConfigsExecuted Komenda !gloves działa, lecz potem po kliknięciu dowolnej opcji z menu, ono znika. Proszę o pomoc, pozostałe pluginy działają prawidłowo. W załączniku plik gloves.sp gloves.sp
  8. Witam! Prosty plugin wyświetlający w pierwszej kolejności menu, a następnie panel z dowolną informacją. Wystarczy dostosować pod własny serwer.
  9. Nową wersję pluginu znajdziesz tutaj: O Pluginie: Wprowadza na serwer system rang. Wprowadza na serwer walutę jaką są złote naboje. Wszystko konfiguruje się poprzez 3 różne pliki. Komendy: !ap - Panel administracyjny !adminpanel - Panel administracyjny !reloadcfg - Przeładowanie configów !ranks - Główne menu rang !rank - Główne menu rang !ranga - Główne menu rang !rangi - Główne menu rang Instalacja: Standardowa Zrzuty ekranu: Podłączenie do bazy danych: Dodatkowe informacje: Plugin nie był testowany na żadnym serwerze z graczmi, więc każdy błąd proszę o zgłaszanie w tym temacie 😉 . Do pliku admin_overrides.cfg należy dodać: "sm_oVip" "flagi vipa" Download: yRanks_Go-Code.rar Pliki na Mega.nz
  10. Witam w SourceMod jestem początkujący, w sumie na poważnie zacząłem dzisiaj. I nie wiem jak wpłynąć na event tak aby zrobić funkcję blokująca dmg. To znaczy uderzam kogoś i mu nie bierze hp. Pomoże ktoś z góry dzięki.
  11. Witam Mam takie pytanko... Czy da się wyłączyć cień rzucany przez gracza? jeśli tak to jak?
  12. Łatwy sposób na testowanie pluginów 1. Przechodzimy do folderu gdzie mamy zainstalowany steam 2. Przechodzimy steamapps/sourcemods/ 3. Wrzucamy zawartość załącznika CSGO + SM.7z do /sourcemods/ 4. Wgrywamy tam najpierw Metamoda potem Sourcemoda (tutaj tutorial na ten temat) 5. Uruchamiamy ponownie Steam 6. Wchodzimy do biblioteki gier 7. Ustawiamy dla gry "CSGO + SM" w parametrach startowych -insecure 8. Końcowy układ folderów powinien wyglądać tak: Dzięki temu mamy "osobną" grę CS:GO gdzie możemy testować pluginy LOKALNIE UWAGA Byłoby miło całej ekipie GO-Code.pl jeśli skorzystasz z CSGO + SM by GO-Code.pl.7z zamiast podanego wyżej CSGO + SM. Ta paczka zawiera reklamę naszego forum i za każdym razem gdy będziesz testował pluginy dasz znać znajomym o naszym forum 😄 (ponieważ gra nazywa się "CSGO + SM by GO-Code.pl" zamiast samego "CSGO + SM") UWAGA2 Ten poradnik jest skopiowany słowo w słowo z tego postu napisanego przez @mastah7991 za jego pozwoleniem. Uznałem że jest to na tyle wygodny sposób że zasługuje on na osobny temat
  13. Witam, chciałbym się dowiedzieć czy można kogoś wyłączyć z rozgrywki. Chodzi mi o to że na niektórych serwerach surf+rpg możesz powrócić do życia po śmierci z samym nożem lecz nie możesz ich zranić oraz inni cię nie widzą. Jak wygląda taki plugin czy też jaka funkcja jest do tego używana. Mnie by ciekawiła funkcja dzięki której byś się mógł znów pojawić ale tak żeby inni ciebie widzieli. Jest mi to potrzebne do zrobienia specjalnego pluginu. Za odpowiedzi z góry dziękuję ?
  14. Hej, Chcę zrobić fireball'a i freezeball'a, który startową pozycję będzie miał przy oczach gracza, no i poleci w kierunku aim'a, może dam sterowanie myszką jeszcze - ale brak mi modelu.. co tu wrzucać? Robił ktoś kiedyś coś podobnego? Z customowych to jedyne co mi przychodzi do głowy to kamehameha z superheromod'a, ale tam jest niebieskie i tego nie przeskoczysz, a ja potrzebuję czerwoną kulę 😄 Za pro tipy będę lajkował jak opętany! // bez beama jeśli o to chodzi, tylko head kuli żeby leciał
  15. 1. FastDL Strona użyta w filmie: https://www.000webhost.com/ Komendy: sv_allowdownload 1 sv_allowupload 1 sv_downloadurl "TWOJ URL" Hint: nie każdy plik wrzucony na FastDL będzie się pobierał graczom! Przed nagrywaniem stworzyłem prosty plugin, który wymusił download plików które wystąpiły w filmie. Bzip2 download: http://gnuwin32.sourceforge.net/packages/bzip2.htm 2. Mapy steam workshop API key wygenerujemy tutaj: https://steamcommunity.com/dev/revokekey Polecenie startowe: -authkey <NASZ KOD> Wgranie mapy: host_workshop_map <ID MAPY (znajdziecie w linku jak pokazane na filmie)> Aktualnie wgrane mapy: maps workshop Mapę dodajemy do mapcycle.txt, maplist.txt, adminmenu_maplist.ini, ewentualnie plik z mapchoosera 3. RCON Wprowadzenie hasła: rcon_password <NASZE HASŁO> wykonywanie poleceń serwerowych: rcon BLABLABLA bz2.zip
  16. Witam drogą społeczność tego forum! Szukam technika SourceMod ze sporym bagażem doświadczeń w tejże dziedzinie. W niedługim czasie planuję rozpocząć prace nad serwerem CS:GO, na temat którego chętnie opowiem osobie zainteresowanej współpracą na dłuższą metę. Z uwagi na fakt, iż szukam osoby doświadczonej, jestem w stanie zaoferować wynagrodzenie za współpracę, co jest raczej oczywiste. Jeśli nie jesteś pewien/pewna swoich umiejętności bądź nie potrafisz programować pluginów - nawet nie pisz, bo stracimy tylko cenny czas. Kontakt: Wyłącznie przez platformę Steam < Kliknij
  17. Usuwanie niepotrzebnego, zbędnego kodu z naszego projektu jest istotnym elementem dobrej opieki nad nim. Ale są ludzie, którzy powiedzą "Hej! Panie! Ja tu się namęczyłem z pisaniem tego kodu i NIE MA OPCJI żebym go teraz kasował nawet jeśli już go nie używam". Ten artykuł ma wszystkich upartych przekonać, dlaczego martwy kod trzeba zakopywać głęboko klawiszem backspace. Nad projektem może pracować więcej niż jedna osoba. A jeśli produkujesz oprogramowanie open-source, to kod będzie przeglądać o wiele więcej ludzi niż Twój zespół programistyczny. Jak dobrze wiemy kod jest przede wszystkim komunikacją między programistami, a to, że działa i spełnia swoje zadania jest sprawą drugorzędną. Obca osoba czytając martwy kod musi poświęcić dwa razy więcej czasu niż w przypadku kodu który jest w użytku ponieważ a) Musi zrozumieć jak działa b) Musi zrozumieć dlaczego ten kod nie jest używany i czy na pewno nie jest nigdzie używany i może go usunąć; Za każdym razem przeglądając kod po raz dziesiąty czy setny, ktoś spędzi dłuuugie sekundy myśląc sobie "ah, to tu jest martwy kod, moje oczy muszą go ominąć". Taki kod to po prostu hałas dla oczu. Niepotrzebny żwir na naszym asfalcie. Dlaczego na naszym płaskim, idealnym asfalcie jest wysypany żwir? To na pewno nie jest sposób w jaki chcemy produkować a tym bardziej przeglądać kod; Martwy kod jest martwy. Nie jest rozwijany. Został pozostawiony sam sobie kilka, kilkadziesiąt, kilkaset iteracji temu. Programista może użyć go bez wiedzy, że jest martwy. "Jest tam, więc czemu miałby być źle napisany?" Otóż nierozwijany kod zostawiony sam sobie może już nie spełniać obecnych standardów projektu, lub nawet jego autor mógł go nie dokończyć. Wtedy przy jego użyciu mogą wystąpić konsekwencje - bugi Jeśli używasz jakiegokolwiek systemu kontroli wersji kodu i to na Ciebie spada odpowiedzialność za utrzymanie i konserwację kodu (zachowując jednocześnie martwy kod w projekcie), to masz więcej linii kodu do przejrzenia, więcej odpowiedzialności na Twoich barkach oraz większe pole do popisu dla błędów w zarządzaniu kodem Konsekwencją chomikowania martwego kodu jest to, że ten kod się kumuluje. Normalnie, zachowuje się tylko najpotrzebniejsze rzeczy, tylko rzeczy używane, tylko rzeczy które spełniają jakąś rolę w naszym programie. Dlatego opiekujemy się nim, optymalizujemy go, refaktorujemy. W przeciwieństwie do martwego kodu. Ten, kumuluje się i zbiera, rosnąc diametralnie, a swoim rozmiarem zniechęca maksymalnie kogokolwiek, żeby zrobił co trzeba - przejrzał jeszcze raz kod, zrozumiał go i wyrzucił do kosza Nie martw się, że kod który napisałeś zostanie skasowany, bo nie jest już potrzebny. W dzisiejszych czasach praktycznie zawsze używa się systemu kontroli wersji (np. GIT). Twój kod, który kiedyś w swojej świetności działał idealnie, jest zakopany gdzieś w commitach. Nie ma powodu żeby za nim płakać. Z czasem, szansa na ponowne użycie nieużywanego kodu maleje. Nie musisz go trzymać w każdej iteracji. Odpuść, zrób przysługę sobie w przyszłości i skasuj go. Jeśli był naprawdę ważny i kiedyś zdarzy się sytuacja, gdzie będziesz potrzebował tego kodu, odkopiesz go z czeluści GITa. Tutaj widzę dobrą okazję na przedstawienie jednej z reguły tworzenia oprogramowania w trybie extreme programming: YAGNI (ang. You aren't gonna need it). Mówi nam ona o tym, że mamy pisać tylko i wyłącznie funkcjonalności których potrzebujemy teraz. Nie mamy przewidywać jakich funkcjonalności będziemy potrzebować. Skupiamy się na chwili obecnej. Można to też interpretować w drugą stronę - jeśli czegoś już nie potrzebujesz to skasuj to natychmiast Bibliografia https://stackoverflow.com/questions/15699995/why-unused-code-should-be-deleted https://en.wikipedia.org/wiki/You_aren't_gonna_need_it https://www.infoq.com/news/2017/02/dead-code/
  18. Cześć. Wgrywam sobie metamoda i sourcemoda (najnowsze) do folderu z CS:GO, włączam CS:GO z komendą -insecure, wbijam na serwer z botami, wpisuję komendę w konsolę "sm exts list" i wyskakuje to: <FAILED> file "": Prodecura inicjowania biblioteki dołączanej duynamicznie (DLL) nie powiodła się. Co robić gocodziarze?
  19. Przed tłumaczeniem sprawdź czy plugin nie ma pliku *.phrases.txt odpowiadającego za tłumaczenie tekstów. Poradnik na temat tłumaczenia w pliku phrases.txt znajdziesz tutaj. W przypadku, gdy plugin nie posiada tego pliku, a wyświetla graczowi jakieś informacje, będzie go trzeba przetłumaczyć. Można to zrobić na dwa sposoby. Pierwszy, którego tutaj nie omówię, to przerobienie pluginu tak, by korzystał z pliku phrases.txt. Drugi, to na sztywno zmienienie fraz wyświetlanych w innym języku na frazy w naszym języku. 1. Plugin Informacje o Serwerze. Linia 24: CPrintToChat(client, "{darkred}Server name :{default} %s", sBuffer) Linia 37: CPrintToChat(client, "{darkred}Server IP: {default}%d.%d.%d.%d:%d", pieces[0], pieces[1], pieces[2], pieces[3], port) Linia 72: CPrintToChat(client, "{DarkRed}Timeleft:{default} %s", sBuffer) Interesują nas zaznaczone na kolorowo frazy zamieszczone w cytacie. Wynik końcowy będzie następujący: Linia 24: CPrintToChat(client, "{darkred}Nazwa serwera :{default} %s", sBuffer) Linia 37: CPrintToChat(client, "{darkred}IP serwera: {default}%d.%d.%d.%d:%d", pieces[0], pieces[1], pieces[2], pieces[3], port) Linia 72: CPrintToChat(client, "{DarkRed}Czas do końca mapy:{default} %s", sBuffer) Jak można zauważyć, zmieniły się tylko angielskie wyrazy. Specjalne znaki takie jak {darkred} czy %d zostawiamy w spokoju, są to informacje potrzebne pluginowi w jaki sposób ma wyświetlić wiadomość. Po zmianach plik zapisujemy kompilujemy i wrzucamy na serwer 2. Plugin Block sm plugins Linia 34: SetFailState("Failed to find offset for ClientPrintf"); Linia 133: PrintToConsole(client, "\t\tNo chance\n"); Linia 75: BuildPath(Path_SM, g_sLogs, sizeof(g_sLogs), "logs/sbp-%s.log", sDate); Linia 95: else if(StrContains(sBuffer, "To see more, type \"sm plugins") != -1) Robimy właściwie to samo, uważając na znaki specjalne \t. Natomiast w liniach 75 oraz 95 NIC nie tłumaczymy! Musimy uważać tłumacząc w ten sposób pluginy, gdyż niekiedy angielski tekst w cytatach nie wyświetla się użytkownikom a jego zmiana może spowodować zepsucie pluginu! Wynik końcowy: Linia 34: SetFailState("Nie znaleziono offsetu dla ClientPrintf"); Linia 133: PrintToConsole(client, "\t\tBrak szans\n"); Linia 75: BuildPath(Path_SM, g_sLogs, sizeof(g_sLogs), "logs/sbp-%s.log", sDate); Linia 95: else if(StrContains(sBuffer, "To see more, type \"sm plugins") != -1) Plik zapisujemy, kompilujemy i wrzucamy na serwer
  20. Na prośbę jednego z użytkowników poniżej umieszczam rozpiskę i przykłady zastosowania tekstu w hint i hud. HudText Tekst, który jest wyświetlany bezpośrednio na ekranie gracza. Tekst, który nie jest ani w menu, ani w żadnym z okienek dialogowych. To jest właśnie tzw HudText. Istnieją co najmniej dwa sposoby wyświetlania takiego tekstu. Skupimy się na funkcji ShowHudText, która zawsze idzie w parze z funkcją SetHudTextParams, lub SetHudTextParamsEx. Różnica między tymi dwiema polega na tym, że w pierwszej z nich określamy jeden zestaw kolorów, a w drugiej dwa. Nie będę się w to zagłębiał, bo przyznam szczerze że z drugiej funkcji nie korzystałem bodajże nigdy, więc nie czuję się w tym obszarze ekspertem. W kodzie wygląda to tak, że najpierw należy określić parametry tekstu, a potem można go wyświetlić. Używając wcześniej wspomnianej funkcji SetHudTextParams możemy określić położenie na osiach X i Y, czas wyświetlania tekstu, kolor wraz z alfą i efekt (fade in/out z czasem zanikania). Śmiało mogę powiedzieć, że odpowiednie ustawienie tekstu nierzadko wymaga nakładu pracy. Mamy do czynienia z różnymi rozdzielczościami ekranów graczy, i tylko środek pozostanie środkiem. Dla przykładu - mnie interesuje tekst, który docelowo ma zostać wyświetlony w górnym lewym rogu ekranu. Nie ma mieć żadnego efektu, ma być zielony i w lekko przezroczysty. SetHudTextParams(0.01, 0.20, 0.2, 0, 255, 0, 140); ShowHudText(client, -1, "ŁADUNKI : %i", ilosc_min_gracza[client]); Po ustaleniu parametrów, funkcją ShowHudText wyświetlamy tekst klientowi, na kanale -1 = kanale poprzednio używanym, bądź najprawopodobniej randomowym przy pierwszym użyciu. Trzecim argumentem jest właśnie tekst - może to być wcześniej Formatowany string, może to być tekst w cudzysłowie. Argumenty wypisujemy po przecinku w odpowiedniej kolejności, dokładnie jak w przypadku np funkcji PrintToChat. Przykład zastosowania kodu w timerze, którzy wyświetla tekst zawierający zabójstwa gracza w różnych kolorach, zależnie od ich ilości. Przy śmierci gracza resetujemy te wartości. Hint text Tekst, który jest wyświetlany w okienku z informacją np przy rozbrajaniu bomby. W tej sytuacji sprawa wygląda nieco inaczej, bo mimo używania tylko jednej funkcji możemy kolorować bądź zmieniać wielkość liter używając HTML. Przykład użycia znajdziemy m.in w codmodzie. Wygląda groźnie? To złudzenie. Pierwszym argumentem jest index klienta, któremu wyświetlamy tekst. Jeśli chcemy wyświetlić go wszystkim, użyjemy funkcji PrintHintTextToAll. W tym wypadku nie umieszczamy żadnego ID. Treść zostanie wyświetlona wszystkim. Wracając - po indexie klienta umieszczamy stringa - albo formatowanego tak jak w przypadku HudTextu, albo w cudzysłowie. Możemy również używać \n, czyli skoku linijkę w dół. Co tu dużo mówić, zwyczajny tekst - z tym że formatowanie polega na używaniu HTML, a argumenty wciskane są tak jak w przypadku PrintToChat, i implementowane po cudzysłowie w odpowiedniej kolejności. Nic trudnego, spróbujcie sami 🙂 Co do HudText'u - bardzo pomocnym może okazać się plugin naszego kolegi z forum, @Master. Dzięki temu pluginowi w dość prosty sposób jesteśmy w stanie określić położenie i kolor HUD tekstu, który chcemy wyświetlić. Bardzo polecam to rozwiązanie. W razie pytań piszcie, bo trzasnąłem to dość na szybko i jestem delikatnie zmęczony, ale chciałem dotrzymać słowa i chyba mi się udało 😛
  21. Podstawową rzeczą jaką musi umieć każdy kto zanurzy się w środowisku sourcemoda, to oczywiście kompilowanie kodów źródłowych z formatu .sp na kod maszynowy w formacie .sp. Przykładem kodu źródłowego może być: public void OnPluginStart() { HookEvent("round_start", RoundStart); } A przykładem kodu maszynowego: FFPS/ ­= ´ / / ¤ Ó Ó @ H [ ` ' » • . P( 9 h( F , Q (1 Ä ^ ě4 Q k =9 u M9 ` .code .data .publics .pubvars .natives .names .dbg.files .dbg.symbols .dbg.lines .dbg.natives .dbg.strings .dbg.info .tags xÚí[{t\ĹyżűĐölÉ& o`‚#˲F Ĺ’Öf’-´˛l§Ú«Ý+íâÝ{—{ďĘRžNJˇ”:©›ăś’Ňă6¦p“đJë¤Nˇ MˇR'qhĆMbZ7uJß|ß˝{×ŇPzÚÓţSŤ~3ż™;3ßĚ73ß<´g©a$Ćúiƒ›1ř§î#â.+ŔÝ&q±˙^ Do czego potrzebna jest kompilacja? Maszyna (serwer) nie rozumie kodu źródłowego, jest to kod przeznaczony tylko i wyłącznie dla programisty. Aby nasz serwer mógł go zrozumieć potrzebny jest kompilator. Jak skompilować plugin? Pobieramy sourcemoda na windowsa z tego tematu, lub jeśli temat jest przestarzały, z tej strony. Pobiera nam się plik sourcemod-jakieścyferki-windows.zip. Rozpakowujemy go programem 7zip, winrar lub innym. W powstałym folderze wchodzimy do \addons\sourcemod\scripting\. Tam kasujemy prawie wszystkie pliki i foldery, aż zostanie nam to: Aby skompilować jakikolwiek plugin w pliku nazwa.sp, musimy go wrzucić do tego folderu tak, żeby był razem z plikiem compile.exe: Teraz włączamy plik compile.exe. (Nawiasem mówiąc, błędy wyskakujące podczas kompilacji można sprawdzić tutaj) Utworzy nam się folder compiled a w nim nasz skompilowany plugin z rozszerzeniem .smx. UWAGA! Zaznaczam, że jest to poradnik do kompilacji na systemie windows. To znaczy, że jeśli TY jako osoba używasz innego systemu operacyjnego na swoim komputerze, poniższy sposób jest nieadekwatny. UWAGA2! Wszystkie serwery na hostingach stoją na maszynach zawierających system oparty na linuxie. Nie ma to jednak związku z naszą kompilacją, gdyż wykonujemy ją u siebie na komputerze a na serwer wrzucamy plik .smx którego nie obchodzi na jakim systemie stoi serwer. Wspominam o tym tylko i wyłącznie dlatego, że komuś może się pomylić i szukać sposobu kompilacji tylko i wyłącznie na linuxie bo jego serwery stoją na linuxie
  22. Sourcemod oferuje nam bardzo wygodny system językowy, dzięki któremu jeden plugin może posiadać nieskończoną ilość wersji językowych, a wyświetlany język w danej chwili jest zależny od ustawienia serwera. Jednakże to, czy plugin będzie z tego korzystał, zależny tylko i wyłącznie od programisty. Ale niezależnie, czy umiesz programować czy nie, tłumaczenie pluginów jest proste i przyjemne. Jeśli plugin posiada wyżej wymienioną opcję to w paczce w której go pobrałeś powinien znajdować się folder /translations/ a w nim plik językowy z rozszerzeniem .phrases.txt. Jego zawartość jak w każdym pluginie wygląda podobnie: "Phrases" { "Bideo_Game_Dunky" { "en" "i will see you grandpa" "jp" "おじいちゃんに会いましょう" /* tutaj dalsze linie z kodem */ } "Im_Done_With_League_Of_Legends" { "en" "not even close baby" "jp" "赤ちゃんも閉じない" /* tutaj dalsze linie z kodem */ } } Nad pierwszymi klamrami znajduje się słowo kluczowe "Phrases", które mówi pluginowi "hej, to ja jestem ten plik od tłumaczeń". W dalszych blokach możemy zauważyć takie bloki { } jak "Bideo_Game_Dunky" oraz "Im_Done_With_League_Of_Legends". Dla tłumacza, czyli w naszym wypadku nie mają one absolutnie żadnego znaczenia i nie możemy ich zmieniać, ponieważ są one zastosowane jako zmienne w pluginie i ich zmiana tylko zepsułaby tłumaczenie. Dalej, między klamrami { } są już właściwe tłumaczenia, każdy język znajduje się w osobnej linii a format tłumaczenia frazy jest następujący: "kod_kraju" "tłumaczenie" Kod naszego kraju to oczywiście "pl". A więc wystarczy że dopiszemy następujące linie do pliku w ten sposób: "Phrases" { "Bideo_Game_Dunky" { "en" "i will see you grandpa" "jp" "おじいちゃんに会いましょう" "pl" "zobaczę cię dziadku" /* tutaj dalsze linie z kodem */ } "Im_Done_With_League_Of_Legends" { "en" "not even close baby" "jp" "赤ちゃんも閉じない" "pl" "nawet nie blisko dziecko" /* tutaj dalsze linie z kodem */ } } Zapisujemy plik, wgrywamy na miejsce jego oryginału, ustawiamy język serwera na polski i mamy przetłumaczony plugin! Aby zobaczyć jak wygląda normalny plik ze spolszczeniem możecie zajrzec do pluginu runda nożowa. Miłego tłumaczenia! PS. Pojawił się poradnik jak tłumaczyć pliki "solo", które nie posiadają *.phrases.txt. Link:
  23. Opis Plugin pozwala na autobunnyhop gdy gracz przytrzymuje klawisz skoku (IN_JUMP - domyślnie spacja). Plugin jest kompatybilny z multijumpem. Cvary Changelog Download abh.sp Inne Plugin jest przeze mnie wspierany, gdyby pojawiły się jakieś bugi lub sugestie chętnie pomogę/wysłucham jeśli napiszecie poniżej Support Aktualnie support tego pluginu jest prowadzony przez @Vasto_Lorde
×
×
  • Dodaj nową pozycję...