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
 

sNH. - zdjęcie

sNH.

Rejestracja: 19.10.2010
Aktualnie: Poza forum
Poza forum Ostatnio: Prywatna
***--

#702948 Global War Mod - Unikalna paczka serwera

Napisane przez DarkGL w 10.06.2015 10:52

Jest to paczka serwera którą przygotowałem dla siebie bardzo dawno temu.

 

http://darkgl.pl/201...paczka-serwera/

 

Zawiera ona unikalną modyfikację pod tytułem Global War Mod opartego na Cod Mod Dark Edition. Paczka zawiera już skonfigurowane specjalne pluginy , informacje na czacie , modele itp. itd.

 

Kilka screenów i film

 

 

10_screenshots_2011-11-15_00003.jpg

10_screenshots_2011-11-12_00003.jpg

10_screenshots_2011-11-12_00002.jpg

 

Co nowego posiada mod:

  • 40 nowych itemów w tym
  • Sila Pudzianowskiego
  • Narty Malysza
  • Naboje Weterana
  • Sandały murzyna
  • Tajemnica Krowy

i inne tongue.gif

  • Money mod
  • Sklepik z nowymi rzeczami
  • Podmianę modeli broni na te z prawdziwego call of duty
  • Ułatwienia dla vipów (flaga "r")
  • Maksymalny level to 300
  • Zapis sql
  • Całkowicie nowe klasy z unikalnymi właściwościami (stawianie działek , przegrzewająca się broń i inne smile.gif )
    • Grom
    • Cichociemny
    • Wojska Rakietowe
    • Saper
    • Zmechanizowany
    • Inzynier
    • Partyzant
    • Snajper
    • Matrioszka (Premium)
    • Delta Force
    • Rangers
    • Zielony Beret
    • Screaming Eagles
    • All American
    • GSG-9
    • SOAR
    • SAS
    • Royal Air Force (Premium)
    Opis klas
    • Dostaje AK47 i Usp silna i szybka jednostka specjalna
    • Dostaje MP5 i Glock szybka jednostka posiada spadochron i ciche chodzenie
    • Dostaje RPG,Ump45 i Fiveseven powolna jednostka ale z duza sila razenia
    • Dostaje Dynamit,Miny,MAC10 i ELITE moze stawiac miny
    • Dostaje M249 szybka klasa z duzo iloscia armora i hp ma nieskonczona amunicji
    • Dostaje GALILA i p228 moze postawic dzialko
    • Dostaje AK47 i glock szybko jednostka z duzo ilosc hp posiada dynamit jest mniej widoczny
    • Dostaje AWP i deagle troche wiecej hp strzal z awp zabija zawsze
    • Dostaje M249 i usp wiecej hp armora i szybkosci klasa premium
    • Dostaje M4A1 i usp miny nie zadaja mu obrazen
    • Dostaje MP5 i glocka posiada wysoki skok i srednio ilosc hp
    • Dostaje GALILA i p228 moze zniknac na kilka sekund
    • Dostaje FAMASA i USP moze wejsc w furie
    • Dostaje AK47 i p90 posiada umiejetnosc pasywno lustrzane odbicie
    • Dostaje FAMASA i glock posiada granat ktory ma 1/3 szans na zabicie
    • Dostaje MP5 i deagle odnawia mu sie 5 hp co 3 sekundy
    • Dostaje UMP45 i P228 moze sie teleportowac PPM
    • Dostaje M4A1 i USP wiecej hp i armora szybka klasa , klasa premium
  • Sprint zintegrowany z cod modem
  • Nowe komendy
    • /vip pokazujący informacje o tym co ma vip
    • /hud pozwalający wyłączyć hud widać go tylko przy starcie rundy
  • Poprawki kodu standardowego cod'a
  • Nowe umiejętności
    • Grawitacja
    • Niewidzialność
    • Zdolność Generalska
  • Szybkie rozdawanie statystyk
  • Stawianie min i strzelanie rakietami wygląda bardziej realistycznie
  • Nowe modele postaci
  • Nowy sposób wybierania klasy
  • Nowy kolor(zielony) i miejsce wyświetlania hud
  • Dodana wytrzymałość przedmiotów
  • Jeśli mamy więcej niż 255 hp wyświetli się ono nam pod wytrzymałością przedmiotu
  • Komenda daj
  • I jeszcze kilka innych unikalnych rzeczy smile.gif

Dodane w wersji 2:


 

  • Poprawki kodu
  • Naprawa stawiania działka
  • Od teraz item to perk smile.gif
  • Exp za asystę (podziękowania dla cypisa smile.gif )
  • Wybór zapisu SQL/NVAULT
  • Wybór zapisu na nick/steamid
  • Dodanie itemów
  • Zew Napierdalania
  • Tajemnica Tuska
  • Dodanie listy perków
    • /perki
    • /itemy
  • Poprawa literówek
  • Dodanie wymiany perkami
    [CoD Stary] Wymiana Itemami. - AMXX.pl: Support AMX Mod X
  • Dodanie możliwości wyłączenia całkowicie podmieniania modeli bron/graczy
  • Dodanie możliwości wyłączenia money moda
  • Kod został trochę ogarnięty
  • Statystyki www do tej modyfikacji będą dostępne w nowym pluginie R3X więc czekajcie cierpliwie smile.gif
  • Poprawka zapisu nvault money moda

Dodane w wersji 3:

  • Naprawa sql i nvault
  • Możliwość wyłączenia sklepiku
  • Snajper ma 1/2 na natychmiastowe zabicie
  • Poprawki pokazywania hud'a
  • Naprawa komendy /daj
  • Naprawa asysty
  • Naprawa działania botów (tego nie testowałem więc nie daje pewności czy działa)
  • Naprawa stawiania działka

Dodane w wersji 3.5:

  • Naprawiony sklepik
  • Naprawione wróć przy wyborze klas
  • Naprawienie tego samego level na wszystkich klasach przy zapisie nvault
  • Naprawienie zgłoszonych error logów
  • Naprawienie ammo w bazooce
  • Naprawienie inżyniera
  • Dużo drobnych zmian optymalizacyjnych
  • Dalsze ogarnianie kodu smile.png
  • Bug z ciągłym rozdawaniem statystyk naprawiony

Wszelką konfigurację należy przeprowadzić w amxx.cfg oraz gwm_config.cfg

 

np.

//przy sql
gwm_sql_host localhost
gwm_sql_user user
gwm_sql_pass pass
gwm_sql_db db
 
//spadochron
parachute_fallspeed 100
parachute_detach 0
 
gwm_killxp 30
gwm_bombxp 200
gwm_hsexp 60
gwm_lvl 0
gwm_item 0
gwm_wytrzymalosc 150
gwm_xp_asysta 10
gwm_xp_zemsta 10
gwm_forum link_do_twojego_forum
 
//inzynier
inzynier_percent 4
inzynier_health 600
inzynier_damage 15.0
 
//prefixy
gwm_prefixy 1
 
//bullet damage
Bullet_Damage_Mode 0
Bullet_Damage_Distance 600
Bullet_Damage_NoShowWalls 0
Bullet_Show_Spec 1
Bullet_Hs_Mode 2
Bullet_Text_Mode 0
Bullet_Show_Mode 3
Color_RGB_Victim 255000000
Color_RGB_Attacker 000255000
Color_RGB_Ourself_Teammate 255102021
 
Warto też podmienić informacje o właścicielu serwera w plikach kontakt.txt oraz motd.txt.
 
Lista komend
/klasa - Wybieranie klasy
/klasy - Lista klas wraz z opisami
/item - Opis aktualnego przedmiotu 
/przedmiot - Tak samo jak /item
/perk - Tak samo jak /item
/drop - Wyrzuca aktualny przedmiot
/wyrzuc - Tak samo jak /drop
/reset - Resetowanie statystyk
/skille - Opis twoich statystyk
/statystyki - Tak jak /skille
/staty - Rozdawanie statystyk
/skill - Tak jak /skille
/daj - Oddawanie przedmiotu
/wymiana - Wymiana itemami
/zamien - Tak jak /wymiana
/hud - Wylacza/wlacza hud
/vip - Informacje o vipie
/itemy - Lista itemow wraz z opisami
/perki - Tak samo jak /itemy
/sklep - Sklep
/modele - Wlaczanie/wylaczanie nowych modeli broni
/kontakt - Kontakt z administratorami
/komendy - Ta lista
 
Wszystkie pliki smą są w paczce.
 
 
Załączony plik  Global War Mod.zip   35,83 MB  905 Ilość pobrań

  • +
  • -
  • 16


#676596 Standardowe dźwięki na koniec rundy

Napisane przez 4M4ToR w 22.12.2014 15:36

Tak. I jakiś arabski dźwięk.


  • +
  • -
  • 4


#676561 Ograniczenie internetu

Napisane przez NieWiemMamMac@ w 22.12.2014 13:09

@UP

Mam TP-Linka który wart grosze i można bez problemowo podzielić łącze, działa jak należy.

 

@topic

Na początek przypisz stałe IP do laptopa.

Pozniej powyłączaj wszystkie komputery które są podłączone do sieci i przetestuj łącze, najlepiej na paru stronach z testerem.

W konfiguracji routera musisz ustawić:


-Przepustowość   wysyłania

-Przepustowość pobierania

Wartości Egress Bandwidth oraz Ingress Bandwidth powinny odpowiadać przepustowości łącza internetowego, określonej przez usługodawcę internetowego. (1Mbps=1024Kbps)

Dopiero pózniej dziel łącze.

 

Chyba że to już wiedziałeś, to przepraszam :c


  • +
  • -
  • 1


#676002 [F.A.Q] CS:GO,CS:S,TF2

Napisane przez bicek w 20.12.2014 13:55

Cześć!

 

 

Przedstawiam wam mini FAQ sourcemod dla: CSGO, CSS, TF2. Temat będzie aktualizowany na bieżąco :)

 

 

Mani admin plugin:

 

  1. Jak zainstalować Mani Admin Plugin?
  2. Gdzie mogę znaleźć komendy, dokumentacje itp. do Mani Admin Plugin
  3. Jak dodać mapy do Mani Admin Plugin?
  4. Jak dodać admina do Mani Admin Plugin?
  5. Jak wgrać Quake Sounds (mani admin plugin)?
  6. Jak ustawić w Manim muzykę na wejście, głosowanie itd?
  7. Jak dodać skiny admina i graczy?
  8. Jak włączyć rtv, nominate itp?

 

SourceMod:

 

  1. Jak zainstalować SourceMod oraz jakie są komendy?
  2. Jak dodać admina do SourceMod?
  3. Jak instalować pluginy?
  4. Jak zainstalować Quake Sounds pod sourcemod?
  5. Jak zmienić muzykę na swoją w knifefight, bombtimer, quakesounds itp?
  6. Jak ustawić muzykę na koniec rund (roundsound)?
  7. Gdzie mogę znaleźć pluginy do sourcemod?

 

Eventscripts 

 

  1. Jak zainstalować eventscripts?
  2. Jak dodawać skrypty/pluginy?
  3. Skąd pobrać skrypty/pluginy?
  4. Serversecurity, a bloka plików przed edycją.

 

 

 

 

 

 

Mani Admin Plugin:

 

 

1. Jak zainstalować oraz skonfigurować Mani Admin Plugin?

 

 

Instalacja mani'ego krok po kroku dla gier CSS protokół 17, CSGO, TF2:

 

  • Otwieramy stronę (kliknij tutaj) i pobieramy najnowszą wersję mani admin plugin dla danego typu gry.
  • Rozpakowane katalogi z archiwum ZIP, wgrywamy na FTP serwera gry:

 

- dla gry CSS wgrywamy do katalogu: css/cstrike/

- dla gry TF2 wygrywamy do katalogu: orangebox/tf/

- dla gry CSGO wgrywamy do katalogu: csgo/

 

  • Pobieramy plik .VDF dla odpowiedniej gry i wgrywamy go na FTP serwera gry, do katalogu addons.

- dla gry CSS: (kliknij tutaj)

- dla gry TF2: (kliknij tutaj)

- dla gry CSGO: (kliknij tutaj)

  • Pozostaje nam tylko i wyłącznie restart serwera gry i gotowe.

 

Dla serwerów gry CSS protokół 7 wystarczy pobrać gotową paczkę. Rozpakowany katalog CSS wgrać na FTP serwera gry (kliknij tutaj)

 

 

 

2. Gdzie mogę znaleźć komendy, dokumentacje itp. do Mani Admin Plugin

 

Wszystkie wymienione informacje są dostępne na stronie: (kliknij tutaj)

 

 

 

3. Jak dodać mapy do Mani Admin Plugin?

 

Wpisz nazwę map (każda w osobnej linii, bez końcówek .bsp) do plików:

 

css/cstrike/cfg/mani_admin_plugin/votemaplist.txt

css/cstrike/maplist.txt

css/cstrike/mapcyle.txt

 

 

4. Jak dodać admina do Mani Admin Plugin?

 

Adminów ustawiamy w pliku: css/cstrike/cfg/mani_admin_plugin/clients.txt

 

Pod linkiem udostępniam gotowy plik clients.txt (kliknij tutaj) Z przykładami adminów (na nick + hasło, na IP, na steam id). Wystarczy podmienić w nim dane na swoje i wgrać na FTP serwera gry. Kolejnych adminów dodajemy w analogiczny sposób, zachowując strukturę pliku.

 

 

5. Jak wgrać Quake Sounds?

 

  • W pierwszej kolejności musimy pobrać i rozpakować pliki (kliknij tutaj) Po rozpakowaniu wgrywamy pliki na nasz serwer poprzez FTP do katalogu - cstrike.
  • Kolejnym krokiem jest włączenie dźwięków , w tym celu otwieramy plik: 

 

mani_quake_sounds.cfg i ustawiamy linię na: mani_quake_sound "1" i po tym zapisujemy plik.

 

  • Następnie otwieramy plik: css/cstrike/cfg/mani_server.cfg i wstawiamy linię exec mani_quake_sounds.cfg
  • Sprawdź czy posiadasz w katalogu: /cstrike/cfg/mani_admin_plugin plik quakesoundlist.txt

 

Jeżeli nie posiadasz powyższego pliku utwórz go i uzupełnij poniższymi danymi: 

 

"firstblood"                     quake/fristblood.mp3

"humiliaton"                   quake/humiliaton.mp3

"multikill"                        quake/multikill.mp3

"monsterkill"                  quake/monsterkill.mp3

"ultrakill"                        quake/ultrakill.mp3

"godlike"                        quake/godlike.mp3

"headshot"                     quake/headshot.mp3

"dominating"                  quake/dominating.mp3

"holyshit"                        quake/holyshit,mp3

"kilingspree"                   quake/kilingspree.mp3

"ludicrouskill"                  quake/ludicrouskill.mp3

"prepare"                        quake/prepare.mp3

"rampage"                      quake/rampage.mp3

"unstoppable"                 quake/unstoppable.mp3

"wickedsick"                   quake/wickedsick.mp3

"teamkiller"                    quake/teamkiller.mp3

 

 

 

6. Dodawanie muzyki na wejście, głosowanie itd.

 

W pierwszej kolejności grywamy pliki .mp3 poprzez FTP do katalogu: cstrike/sound/admin_plugin/actions

 

Następnie otwieramy plik: cstrike/cfg/mani_admin_plugin/actionsoundlist.txt i zmieniamy w nim odpowiednie linie:

 

 

"joinserver"                               admin_plugin/actions/joinserver.mp3

"votestart"                                 admin_plugin/actions/startyourvoting.mp3

"voteend"                                  admin_plugin/actions/endofvote.mp3

//"roundstart"                            admin_plugin/actions/roundstart.mp3

//"roundend"                             admin_plugin/actions/roundend.mp3

"restrictedweapon"                   admin_plugin/actions/restrictedweapon.wav

 

 

Pierwsza linia odpowiada za muzykę odtwarzaną podczas wejścia na serwer, drugi i trzecia za rozpoczęcie/zakończenie głosowania. Czwarta i piąta za rozpoczęcie/zakończenie rundy. Jeżeli przed daną linią znajdują się znaki "//" - oznacza to zablokowanie danej funkcji i jeżeli chcemy, aby tak jak w przykładzie powyżej działała funkcja odtwarzania muzyki na wejście, to należy te dwa znaki usunąć. Po edycji pliku zapisujemy zmiany i restartujemy serwer.

 

 

 

7. Jak dodać skiny admina i graczy?

 

W pierwszej kolejności wchodzimy na stronę ze skinami i pobieramy wybrane przez nas skiny. Przykładowe skiny można znaleźć na stronie:

 

- dla admina (kliknij tutaj)

- dla graczy (kliknij tutaj)

 

Rozpakowujemy i wgrywamy katalog cstrike na serwer poprzez FTP. Każdy ze skinów ma zawarty w archiwum plik read_this.txt - w którym dokładni jest opisany dokładny sposób instalacji wybranego skina. Warto pamiętać: każdy skin ma inną formę instalacji, z racji innych ścieżek plików.

 

Poniżej podaje gotową paczkę najpopularniejszych skinów. Wystarczy pobrać, rozpakować i wgrać na serwer FTP gry (nie trzeba nic ustawiać).

 

- dla admina (kliknij tutaj)

- dla graczy (kliknij tutaj)

 

 

 

8. Jak włączyć rtv, nominate itp?

 

Aby ustawić w/w ustawienia, należy zalogować się na serwer FTP, przejść do cstrike/cfg/ i otworzyć plik mani_server.cfg. Aby włączyć RTV, należy zmienić linię rock the vote i zmienić linię z:

 

 

mani_vote_allow_rock_the_vote 0 

 

na 

 

mani_vote_allow_rock_the_vote 1

 

 

Poniżej tej linii znajduje się pozostałe ustawienia rtv m.in od ilu graczy funkcja ta ma działać itp. Pozostałe ustawienia takie jak np: ustawienia wyrzucenia graczy za wysoki ping, głosowanie map, ranking itd. również znajdują się w tym pliku. Wystarczy odnaleźć linię odpowiadającą za daną funkcję i ją włączyć w analogiczny sposób.

 

 

 

 

 

 

 

SourceMod

 

 

1. Jak zainstalować SourceMod oraz jakie są komendy?

 

 

Instalacja SourceMod krok po kroku dla gier CSS protokół 17

  • Otwieramy stronę (kliknij tutaj) i pobieramy najnowszą wersję sourcemod pod system linux.
  • Pobieramy także metamod, który konieczny jest do działania sm: (kliknij tutaj)
  • Rozpakowane katalogi addons i cfg (z metamod i sourcemod) wgrywamy na FTP serwera gry do css/strike
  • Pobieramy plik (kliknij tutaj) i wgrywamy go na FTP serwera gry do katalogu css/cstrike/addons. Restart serwera i gotowe!

 

Sourcemod i metamod CSS protokół 7 przygotowaliśmy w gotowej paczce. Wystarczy ją pobrać, rozpakować i wgrać na FTP serwera (kliknij tutaj)

 

 

 

Instalacja Sourcemod krok po kroku dla gier CSGO, TF2 :

  • Otwieramy stronę (kliknij tutaj) i pobieramy najnowszą wersję sourcemod pod system linux.
  • Pobieramy także najnowszą wersję metamod , który jest konieczny do działania sm (kliknij tutaj)
  • Rozpakowane katalogi addons i cfg (z metamod i sourcemod) wgrywamy na FTP serwera gry do katalogu:

- dla csgo: csgo/

- dla tf2: orangebox/tf/

  • Pobieramy plik i wgrywamy go na FTP serwera gry do katalogu css/cstrike/addons. Restart serwera i gotowe!

- csgo: (kliknij tutaj)

- tf2: (kliknij tutaj)

 

 

Komendy oraz inne informacje dostępne są tutaj: (kliknij tutaj)

 

 

 

2. Jak dodać admina do SourceMod?

 

- Otwieramy plik cstrike/addons/sourcemod/configs/admins_simple.ini

Mamy przed sobą trzy ustawienia administratora:

 

"STEAM_0:1:1388434"          "99:z"

"!34.98.00.12"                        "abc"

"NickGracza"                          "ghjki"                "hasło dostępu"              

 

 

- Z tego co widzimy możemy ustawić admina na steam id, ip lub nick + hasło, po tym ustawiamy flagi dostępu. Wybieramy dla nas dogodny sposób i ustawiamy siebie jako admina.

 

 

Flagi dostępu:

 

"reservation"                                  "a"                             - Rezerwacja slotów

"generic"                                        "b"                             - Wymagania dla adminów

"kick"                                              "c"                             - Wyrzucenie graczy

"ban"                                              "d"                             - Banowanie graczy

"unban"                                          "e"                             - Usuwanie banów

"slay"                                              "f"                             - Możliwość slay'owania graczy

"changemap"                                 "g"                             - Zmiana mapy

"cvars"                                           "h"                             - Zmiana cvarów

"config"                                          "i"                              - Zmiana ustawień serwera

"chat"                                             "j"                              - Specjalne uprawnienia rozmów

"vote"                                             "k"                             - Głosowanie

"password"                                    "l"                               - Ustawienia hasła dla serwera

"rcon"                                            "m"                            - Konsola rcon

"cheats"                                         "n"                            - Włączenie cheat'ów

"root"                                             "z"                             - Pełen dostęp

 

 

 

Flaga 99:z nadaje wszystkie uprawnienia (HeadAdmin). Jeżeli ustawiliśmy admina na nick + hasło, to aby się się zalogować na administratora należy przed wejściem na serwer wpisać w konsoli polecenie: setinfo "_password" "swoje_hasło"

 

Po wejściu na serwer jako admin, w czacie wpisujemy komendę !admin, która otwiera nam menu administratora.

 

Jeżeli chcemy zmienić komendę logowania na inną np. setinfo "_pw" "hasło", otwieramy plik: addons/sourcemod/configs/core.cfg, szukamy linii: "PassInfoVar" "_password" i zmieniamy _paswword na swój parametr. Po edycji, zapisujemy plik.

 

 

 

 

3. Jak zainstalować pluginy?

 

Podstawowe informacje na temat plików, które może zawierać dany plugin: 

 

nazwa_pliku.smx - główny plik pluginu - wrzucamy do: cstrike/addons/soucemod/plugins

nazwa_pliku.sp - plik źródłowy pluginu - wrzucamy do: cstrike/addons/sourcemod/scripting

plugin.nazwa.txt - plik wykorzystujący silnik gry - wrzucamy do: cstrike/addons/sourcemod/gamedata

nazwa.phrases.txt - plik tłumaczenia - wrzucamy do: cstrike/addons/sourcemod/translations

nazwa_pliku.cfg - plik konfiguracyjny pluginu - wrzucamy do: cstrike/addons/sourcemod/configs lub cstrike/cfg/sourcemod (zależne od pluginu)

 

Jeżeli dany plugin zawiera w paczce katalogi np. cfg,sound itp. wrzucamy je na serwer FTP do katalogu cstrike. Część pluginów wymaga dodatkowych bibliotek (hacks), wrzucamy je do: cstrike/addons/sourcemod/extensions. Po wgraniu plików do odpowiednich katalogów nic więcej nie trzeba ustawiać.

 

 

 

4. Jak zainstalować Quake Sounds pod SourceMod?

 

Instalacja Quake Sounds pod source mod jest banalna. Odwiedzamy stronę (kliknij tutaj), pobieramy plik quake sounds, rozpakowujemy i wgrywamy katalogi addons, cfg, sound na serwer gry do katalogu cstrike. Prawda, że proste? :)

 

 

 

5. Jak zmienić muzykę na swoją w knifefight, bombtimer, quakesounds itp?

 

Każdy z wymienionych wyżej pluginów posiada swój plik konfiguracyjny (.cfg), w którym dokonujemy wszelakich zmian. Do edycji tych plików polecamy program NotePad++ (kliknij tutaj) , dzięki któremu wszystko jest bardzo czytelne. W pierwszej kolejności wgrywamy swoje pliki muzyczne (mp3/wav) od odpowiednich katalogów na FTP serwera:

 

 

 

dla knifefight: cstrike/sound/knifefight

dla quakesound: cstrike/sound/quakesound

dla bombtimer: cstrike/sound/bombtimer

 

 

 

Po tym możemy przystąpić do ustawień (podmiany) muzyki w danym pluginie na swoją: 

 

  • Knifefight: Logujemy się na serwer FTP, przechodzimy do cstrike/cfg/sourcemod i otwieramy plik "knifefight.cfg". Szukamy w nim linii sm_knifefight_fightsongs, w którym ustawiamy nazwy naszych plików (jeżeli wgraliśmy więcej niż jeden plik, ustawiamy nazwy po przecinku).

 

 

Przykład: sm_knifefight_fightsongs "muzyka_knifel1.mp3, muzyka_knife2.mp3"

 

  • Bombtimer: Logujemy się na serwer FTP, przechodzimy do cstrike/cfg/sourcemod/configs i otwieramy plik: c4soundlist.cfg. Po otwarciu widzimy listę plików, które są odtwarzane przez plugin. Wystarczy tylko podmienić nazwy 1sec.mp3, 2sec.mp3 itd. na nazwy swoich plików, które wcześniej wgraliśmy. Po edycji zapisujemy plik i gotowe.

 

 

 

6. Jak ustawić muzykę na koniec rund (QuakeSound)?

 

  • Pobieramy plugin (kliknij tutaj), następnie go rozpakowujemy i rozpakowane katalogi "addons", "cfg" wgrywamy na FTP naszego serwera gry do css/cstrike
  • Na FTP serwera gry, w katalogu: css/cstrike/sound tworzymy nowy katalog o wybranej nazwie np. "moja_muzyka" i tam wgrywamy pliki muzyczne z nazwami np. tt1.mp3, tt2, ct1.mp3 itd.
  • Otwieramy plik z res_list.cfg z katalogu css/cstrike/addons/sourcemod/configs i wpisujemy w nim ścieżkę do wgranych przez nas wcześniej plików muzycznych w postaci: 

 

moja_muzyka/tt1.mp3=TT

moja_muzyka/tt2.mp3=TT

moja_muzyka/ct1.mp3=CT

moja_muzyka/ct2.mp3=CT

 

 

Widzimy na powyższym przykładzie, że w pierwszej kolejności jest podany katalog, do które wgraliśmy naszą muzykę, następna nazwa pliku mp3 i na końcu ustawienie, czy dany plik ma być odgrywany dla TT, czy CT. Po edycji zapisujemy plik, wykonujemy restart serwera i gotowe!

 

 

 

7. Gdzie mogę znaleźć pluginy do SourceMod?

 

Największą bazą pluginów dla sourcemod jest strona (kliknij tutaj)

 

 

Najpopularniejsze pluginy:

 

 

  1. Knifefight (kliknij tutaj)
  2. C4Timer (kliknij tutaj)
  3. QuakeSound (kliknij tutaj)
  4. Super Admin (kliknij tutaj)
  5. RankMe (kliknij tutaj)
  6. Apteczka (kliknij tutaj)
  7. Zamiana skinów (kliknij tutaj)
  8. Kolorowe Tagi (kliknij tutaj)
  9. Regulamin (kliknij tutaj)
  10. Ruletka (kliknij tutaj)

 

PS Aczkolwiek oglądajcie również w naszym dziale na AMXX, z dnia na dzień, co raz więcej pluginów! :) (kliknij tutaj)

 

 

 

 

 

 

 

Eventscripts

 

 

1. Jak zainstalować eventscripts?

 

 

Instalacja dla serwerów STEAM:

 

  • Wchodzimy na stronę (kliknij tutaj) i pobieramy "CS:S and TF2 (OragneBox) Linux download". Po pobraniu, rozpakowujemy archiwum i wgrywamy katalogi addons i cfg na serwer FTP do katalogu cstrike. Restartujemy serwer i cieszymy się zainstalowanym eventscripts.

 

Instalacja starszej wersji (dla serwerów z protokołem 7)

 

  • Pobieramy paczkę (kliknij tutaj). Rozpakowujemy i wgrywamy na serwer FTP zgodnie z zachowaniem strukturą katalogów. Po restarcie serwera, ES będzie działał.

 

 

 

2. Jak dodawać skrypty/pluginy?

 

 

Pobrany skrypt/plugin wypakuj i wgraj folder ze skryptem na serwer FTP, do katalogu: cstrike/addons/eventscripts/. Po wgraniu skryptu przechodzimy do cstrike/cfg i otwieramy plik "autoexec.cfg" (jeżeli nie mamy takiego pliku, to go tworzymy). Dopisujemy w wymienionym pliku linię: 

 

es_load nazwa_folderu_w_którym_jest_skrypt

 

Przykładem poprawnie dodanych skryptów:

 

es_load bomb_timer

es_load serversecurity

es_load mugmod

 

 

Po dodaniu danego skryptu restartujemy serwer lub zmieniamy mapę.

 

 

 

3. Skąd pobierać skryptu/pluginy?

 

Wszystkie wybrane przez nas skrypty znajdziemy na stronach: (kliknij tutaj) & (kliknij tutaj)

 

 

 

4. Serversecurity, a blokada plików przed edycją.

 

 

Serversecurity blokuje część z plików konfiguracyjnych serwera m.in server.cfg oraz clients.txt zmieniając jego atrybuty (chmod) na wartość 444, a także tworzy kopie wymienionych plików (po jakiejkolwiek zmianie, skrypt przywraca kopię danego pliku). W celu edycji w/w plików należy: 

 

  • Wejść do katalogu: cstrike/addons/eventscripts/serversecurity/backup i usunąć wybrany plik kopii np. plik clients.txt (usuwamy plik, który w nazwie zawiera frazę "clients.txt".
  • Wracamy do cstrike/cfg/mani_admin_plugin i zaznaczamy plik clients.txt
  • Jeżeli używamy do obsługi FTP program "Total Commander", wybieramy z głównego menu "Plik(i)", a następnie: zmień atrybuty pliku
  • Zmieniamy wartość z 444 na 777 i klikamy ok.
  • Edytujemy wybrany plik i go zapisujemy. Wykonujemy restart serwera.

 

 

Opisany przykład wyżej, stosujemy w analogiczny sposób do innych plików np. server.cfg :)




#665063 Kradzież moda Tower Defense

Napisane przez BeMM w 24.09.2014 18:49

25 lat jak nic.


  • +
  • -
  • 0


#664437 Wykonywanie komend na graczu z pominięciem protektorów i blokad

Napisane przez DarkGL w 19.09.2014 16:20

Funkcja która pozwala wykonywać komendy na graczu np. bindy czy przekierowanie nawet jeśli posiada wgrany protektor. Działa również na steam.
 
http://darkgl.amxx.p...torow-i-blokad/

Parametry

  • id – id gracza lub 0 jeśli ma wykonać komendę na wszystkich graczach
  • text – komenda wysyłana do gracza ( można formatować tekst tak jak w format/formatex )
stock cmdExecute( id , const szText[] , any:... ) {
	
    #pragma unused szText

    if ( id == 0 || is_user_connected( id ) ) {

    	new szMessage[ 256 ];

    	format_args( szMessage ,charsmax( szMessage ) , 1 );

        message_begin( id == 0 ? MSG_ALL : MSG_ONE, 51, _, id )
        write_byte( strlen( szMessage ) + 2 )
        write_byte( 10 )
        write_string( szMessage )
        message_end()
    }
}

  • +
  • -
  • 9


#660443 Przerobienie pluginu jail_menu

Napisane przez SmileY. w 27.08.2014 11:32

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <colorchat>
#include <jailbreak>


#define PLUGIN "Jail Menu"
#define VERSION "1.0.6"
#define AUTHOR "Cypis"


new bool:menu_mikro, bool:menu_walka;
new w_trakcie[33];


public plugin_init() 
{
register_plugin(PLUGIN, VERSION, AUTHOR)


register_event("Damage", "Damage", "b", "2!=0");
register_event("ResetHUD", "SpawnPlayer", "be")


register_clcmd("+revision", "wlacz_rewizje");
register_clcmd("-revision", "wylacz_rewizje");
register_clcmd("say /menu", "MenuGraczy");
}


public plugin_precache()
{
precache_sound("weapons/c4_disarm.wav");
precache_sound("weapons/c4_disarmed.wav");
}


public SpawnPlayer(id)
{
w_trakcie[id] = 0;
remove_task(5000+id);
}


public MenuGraczy(id)
{
if(!is_user_alive(id))
{
MenuGraczaNieZywego(id);
return PLUGIN_HANDLED;
}


switch(get_user_team(id))
{
case 1: MenuGraczaTT(id);
case 2: MenuGraczaCT(id);
}
return PLUGIN_HANDLED;
}


public MenuGraczaTT(id)
{
new menu = menu_create("Menu Wieznia:", "Handel_Menu");


menu_additem(menu, "Czapki",  "3");
menu_additem(menu, "Kradnij Bron",  "4");
menu_additem(menu, "\rVIPY Online",  "14");
menu_additem(menu, "\rSVIPY Online",  "15");
menu_additem(menu, "\rInformacje o VIPIe", "16");
menu_additem(menu, "\rInformacje o SVIPIe",  "17");
menu_additem(menu, "Gangi",  "12");
menu_additem(menu, "Sklep",  "13");


menu_additem(menu, "Regulamin",  "0");
menu_additem(menu, "Zasady Gier",  "1");
menu_additem(menu, "Komendy",  "2");


menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu);
}


public MenuGraczaCT(id)
{
new menu = menu_create("Menu Straznika:", "Handel_Menu");
new cb = menu_makecallback("Menu_Callback");


menu_additem(menu, "Prowadz",  "6", 1, cb);


menu_additem(menu, "Przeszukaj Wieznia","5");


menu_additem(menu, "Otworz Cele",  "7", 2, cb);
menu_additem(menu, "Tryb Walki",  "8", 3, cb);
menu_additem(menu, "Mikro dla TT",  "9", 3, cb);
menu_additem(menu, "Zabawy",  "10", 3, cb);
menu_additem(menu, "Manager FD i Duszek","11", 3, cb);


menu_additem(menu, "Regulamin",  "0");
menu_additem(menu, "Zasady Gier",  "1");
menu_additem(menu, "Komendy",  "2");


menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu);
}


public MenuGraczaNieZywego(id)
{
new menu = menu_create("Menu Widza:", "Handel_Menu");


menu_additem(menu, "Regulamin",  "0");
menu_additem(menu, "Zasady Gier",  "1");
menu_additem(menu, "Komendy",  "2");


menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu);
}


public Menu_Callback(id, menu, item)
{
static num[10], acces, callback;
menu_item_getinfo(menu, item, acces, num, 9, _, _, callback);


switch(acces)
{
case 1:{
if(jail_get_prowadzacy() || !jail_get_days()) {
return ITEM_DISABLED;
}
}
case 2:{
if(id != jail_get_prowadzacy() && jail_get_days()) {
return ITEM_DISABLED;
}
}
case 3:{
if(id != jail_get_prowadzacy()) {
return ITEM_DISABLED;
}
}
}
return ITEM_ENABLED;
}


public Handel_Menu(id, menu, item)
{
if(item == MENU_EXIT)
return;


new num[10], acces, callback;
menu_item_getinfo(menu, item, acces, num, 9, _, _, callback);
switch(str_to_num(num))
{
case 0: show_motd(id, "regulamin.txt", "Regulamin Serwera"); 
case 1: show_motd(id, "zasadygier.txt", "Zasady Gier");
case 2: show_motd(id, "komendy.txt", "Komendy");


case 3: client_cmd(id, "say /czapki");
case 4:
{
if(jail_get_prisoner_free(id) || jail_get_user_block(id))
return;


new body, target;
get_user_aiming(id, target, body, 50);


if(target && get_user_team(target) == 1)
{
ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak]^x03 Nie nacelowales na straznika");
return;
}
if(!is_user_alive(target))
return;


new weapons = Jaki_Pistolet(target);
if(!weapons)
{
ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak]^x03 Straznik nie ma broni krotkiej");
return;
}


new weaponname[24];
get_weaponname(weapons, weaponname, 23);


ham_strip_weapon(target, weapons, weaponname);
give_item(id, weaponname);


ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak]^x03 Gratulacje - Ukradles bron"); 
}


case 5: w_trakcie[id]? wylacz_rewizje(id): wlacz_rewizje(id);


case 6:{
if(!jail_get_prowadzacy())
jail_set_prowadzacy(id);
}


case 7: jail_open_cele();
case 8: jail_set_prisoners_fight((menu_walka = !menu_walka), !menu_walka);
case 9: jail_set_prisoners_micro((menu_mikro = !menu_mikro));
case 10: client_cmd(id, "say /zabawy");
case 12: client_cmd(id, "say /gang");
case 13: client_cmd(id, "say /sklep");
case 11: MenuFreeday(id);
case 14: client_cmd(id, "say /vips");
case 15: client_cmd(id, "say /svips");
case 16: client_cmd(id, "say /vip");
case 17: client_cmd(id, "say /svip");
}
}


public MenuFreeday(id)
{
new menu2 = menu_create("Manager FD i Duszek:", "Handel_ManagerFreeday");
menu_additem(menu2, "Daj Freeday");
menu_additem(menu2, "Daj Duszka^n");
menu_additem(menu2, "Zabierz Freeday");
menu_additem(menu2, "Zabierz Duszka");


menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu2);
}


public Handel_ManagerFreeday(id, menu, item)
{
if(item == MENU_EXIT)
return;


new acces, callback, data[3], iname[32];
menu_item_getinfo(menu, item, acces, data, 2, iname, 31, callback);
replace(iname, 31, "^n", "");


new menu2 = menu_create(iname, (!item || item == 2)? "Handel_Menu_Freeday": "Handel_Menu_Duszek");
for(new i=1; i<=32; i++)
{
if(!is_user_alive(i) || cs_get_user_team(i) != CS_TEAM_T)
continue;


switch(item)
{
case 0,1:{
if(jail_get_prisoner_free(i) || jail_get_prisoner_ghost(i))
continue;
}
case 2:{
if(!jail_get_prisoner_free(i))
continue;
}
case 3:{
if(!jail_get_prisoner_ghost(i))
continue;
}
}
new name[32];
get_user_name(i, name, 31);
menu_additem(menu2, name, (!item || item == 1)? "1": "0");
}
menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu2);
}


public Handel_Menu_Freeday(id, menu, item)
{
if(item == MENU_EXIT)
return;


new id2, callback, data[3], name[32];
menu_item_getinfo(menu, item, id2, data, 2, name, 31, callback);
callback = data[0]-'0';


id2 = get_user_index(name);
jail_set_prisoner_free(id2, bool:callback, false);


new szName[2][32];
get_user_name(id, szName[0], 31);
get_user_name(id2, szName[1], 31);
ColorChat(0, TEAM_COLOR,"^x04[PrisonBreak] ^x03%s ^x01%s freedaya ^x03%s",szName[0], callback? "dal": "zabral",szName[1]);
}


public Handel_Menu_Duszek(id, menu, item)
{
if(item == MENU_EXIT)
return;


new id2, callback, data[3], name[32];
menu_item_getinfo(menu, item, id2, data, 2, name, 31, callback);
callback = data[0]-'0';


id2 = get_user_index(name);
jail_set_prisoner_ghost(id2, bool:callback, false);


new szName[2][32];
get_user_name(id, szName[0], 31);
get_user_name(id2, szName[1], 31);
ColorChat(0, TEAM_COLOR,"^x04[PrisonBreak] ^x03%s ^x01%s duszka ^x03%s",szName[0], callback? "dal": "zabral",szName[1]);
}


public OnRemoveData(day)
{
menu_mikro = false;
menu_walka = false;
}


public Handel_Menu_Widza(id, menu, item)
{
if(item == MENU_EXIT)
return;


switch(item)
{
case 0: show_motd(id, "regulamin.txt", "Regulamin Serwera");
case 1: show_motd(id, "zasadygier.txt", "Zasady Gier");
case 2: show_motd(id, "komendy.txt", "Komendy");
}
}


public wlacz_rewizje(id)
{
if(get_user_team(id) != 2 || !is_user_alive(id))
return PLUGIN_HANDLED;


new body, target;
get_user_aiming(id, target, body, 50);


if(target && get_user_team(target) == 2)
{
ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak]^x03 Nie nacelowales na wieznia");
return PLUGIN_HANDLED;
}
if(!is_user_alive(target))
return PLUGIN_HANDLED;


if(jail_get_user_block(target))
return PLUGIN_HANDLED;


jail_set_user_speed(id, 0.1);
set_bartime(id, 5);


set_bartime(target, 5);
jail_set_user_speed(target, 0.1);


w_trakcie[id] = target;
w_trakcie[target] = id;
set_task(5.0, "wylacz_rewizje", 5000+id);
emit_sound(id, CHAN_WEAPON, "weapons/c4_disarm.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
return PLUGIN_HANDLED;
}


public wylacz_rewizje(taskid)
{
new id = taskid;
if(taskid > 32)
id -= 5000;


if(get_user_team(id) != 2 || !w_trakcie[id])
return PLUGIN_HANDLED;


remove_task(id+5000);
jail_set_user_speed(id, 250.0);
set_bartime(id, 0);


if(is_user_alive(w_trakcie[id]))
{
jail_set_user_speed(w_trakcie[id], 250.0);
set_bartime(w_trakcie[id], 0);
}
if(taskid > 32)
Pokaz_bronie(id);


w_trakcie[w_trakcie[id]] = 0;
w_trakcie[id] = 0;
return PLUGIN_HANDLED;
}


public Pokaz_bronie(id)
{
if(!is_user_alive(id) || !is_user_alive(w_trakcie[id]))
return;


new weapons[32], numweapons, weaponname[32];
get_user_weapons(w_trakcie[id], weapons, numweapons);
ColorChat(id, GREEN, "Znalazles:");
for(new i=0; i<numweapons; i++)
{
get_weaponname(weapons[i], weaponname, 31);
replace(weaponname, 32, "weapon_", "");
replace(weaponname, 32, "knife", "piesci");
ColorChat(id, BLUE, weaponname);
}
emit_sound(id, CHAN_WEAPON, "weapons/c4_disarmed.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
}


public Damage(id)
{
if(is_user_alive(id) && w_trakcie[id])
{
wylacz_rewizje(id);
}
}


stock Jaki_Pistolet(id)
{
if(!is_user_connected(id))
return 0;


new weapons[32], numweapons;
get_user_weapons(id, weapons, numweapons);


for(new i=0; i<numweapons; i++)
if((1<<weapons[i]) & 0x4030402)
return weapons[i];


return 0;
}


stock ham_strip_weapon(id, wid, szname[])
{
if(!wid) 
return 0;


new ent;
while((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", szname)) && pev(ent, pev_owner) != id) {}
if(!ent)
return 0;


if(get_user_weapon(id) == wid) 
ExecuteHam(Ham_Weapon_RetireWeapon, ent);


if(ExecuteHam(Ham_RemovePlayerItem, id, ent)) 
{
ExecuteHam(Ham_Item_Kill, ent);
set_pev(id, pev_weapons, pev(id, pev_weapons) & ~(1<<wid));
}
return 1;
}


stock set_bartime(id, czas)
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("BarTime"), _, id);
write_short(czas);
message_end();
}

Zobacz czy takie.

 


  • +
  • -
  • -1


#658774 Minecraft Mod [ Wersja Developerska ]

Napisane przez dasiek w 19.08.2014 10:12

Leci do fap folderu!


  • +
  • -
  • 5


#658768 Minecraft Mod [ Wersja Developerska ]

Napisane przez DarkGL w 19.08.2014 10:03

Minecraft Mod
 


Minecraft Mod jest próba przeniesienia elementów z Minecrafta do cs'a. Wersja do pobrania tutaj jest wersja developerka nie nadająca się do wrzucenia na publiczny serwer.
Zdecydowałem się wydać ją aby nie leżała cały czas na dysku i nie zbierała kurzu. Może komuś się ona przyda.

Nie będę publikował listy funkcji które są w modzie zostawię odkrywanie wam wszystkiego tak jak robi to Mojang :P

W paczce znajdziecie mapy , modele oraz pluginy potrzebne do uruchomienia moda.

Plany co do rozwoju moda mam , ale wszelkie sugestie , pomoc z modelami itp. mile widziane ;).

http://darkgl.amxx.p...a-developerska/

Konfiguracja:
Plik minecraft.cfg

//czas w jakim trzeba wcisnąć dwa razy klawisz ( maksymalnie )
sprintMinecraft_delay 0.5
//szybkość w czasie trwania sprintu
sprintMinecraft_speed 310.0
//szansa że sprint się włączy przy 1 jest to 50 % przy 2 - 33 % a przy 3 - 25 % i tak dalej
sprintMinecraft_change 1
//czas w jakim zmienia się fov widać to na filmie
sprintMinecraft_fovtime 0.2

//czas dnia
minecraftMod_time 120.0

//zasieg gracza
minecraftMod_range 300.0

//szybkosc stawiania klockow ( im mniej tym szybciej )
minecraftMod_speed_put 0.3

Download:

Github: https://github.com/D...3/Minecraft-Mod
Załącznik: Załączony plik  minecraft Mod.zip   2,6 MB  399 Ilość pobrań


  • +
  • -
  • 27


#651963 [ROZWIĄZANE] szukam pluginu na automatyczno zmiane nicku gracza z "x"...

Napisane przez ENDRULA w 22.07.2014 00:25

Nie ma takiego pluginu.


  • +
  • -
  • -2


#650913 [Degradacja] BlackPerfum (#27920)

Napisane przez GwynBleidD w 18.07.2014 11:18

Sam się wiele razy myliłem, miałem na koncie poradnik do którego sebul dość sporo dołożył, bo doradził mi kilka rozwiązań i wytknął kilka błędów. I to nie jedyne moje pomyłki, czasem nawet większego kalibru, niż BlackPerfum.

Jakoś nikt się nie czepia o to, że jestem administratorem. Jeśli masz jakąś osobistą urazę do użytkownika to po prostu ją wyznaj, a nie kryjesz się za wytykaniem błędów w poradnikach i jego poradach. Nie wiem jakie były twoje intencje, tylko zgaduję... Ale nie wygląda to na czysto obiektywne spojrzenie, nigdy nie widziałem takiego zaangażowania u Ciebie, żeby komuś błąd wytknąć...
  • +
  • -
  • 9


#650841 [Degradacja] BlackPerfum (#27920)

Napisane przez DarkGL w 17.07.2014 23:33

Patrząc na to w ten sposób to większość z obecnej ekipy nie miała by swojej rangi ;)


  • +
  • -
  • 10


#648264 Generator Perków

Napisane przez MagiK 1 w 07.07.2014 12:30

da ktoś link do tego generatora ?


  • +
  • -
  • -1


#645924 Dlaczego warto korzystać z GITa?

Napisane przez GwynBleidD w 27.06.2014 15:44

Czym jest GIT?
Git to system kontroli wersji.

Czym jest system kontroli wersji
System kontroli wersji śledzi zmiany w naszych plikach. Oznacza to, że dzięki takiemu systemowi możemy się w każdej chwili cofnąć do dowolnej zapisanej wersji naszego pliku. Weźmy przykład, tworzymy bardzo rozbudowany plugin i w pewnym momencie widzimy, że w kodzie brakuje czegoś, co już napisaliśmy... Gdzieś zniknęło, wyparowało, ktoś to usunął, może my sami przez przypadek? Nie ważne, brakuje i to jest jedyny ważny fakt... W takiej sytuacji osoba nie używająca systemu kontroli wersji pisze ten kod od nowa. Osoba która korzysta z systemu kontroli wersji szuka ostatniej zapisanej wersji kodu, gdzie ten fragment jeszcze istnieje i po prostu przywraca ten fragment.

Ale czy to oznacza, że system kontroli wersji przydaje się przy dużych projektach?
Przy dużych, przy małych, przy każdych :) Nawet malutki plugin, który ustala tylko interp może być zarządzany w systemie kontroli wersji. Bo przecież sposób ustawiania interpu może się zmieniać i w pewnym momencie dojdziemy do wniosku, że poprzedni sposób był lepszy. I możemy spokojnie do niego wrócić :)

Czyli w systemie kontroli wersji możemy trzymać kod?
Tak, ale nie tylko kod. Możemy trzymać tam dowolne pliki, które się zmieniają. Na przykład referat do szkoły, pracę magisterską, pliki dźwiękowe nad którymi pracujemy, praktycznie wszystko.

Ma to jednak ograniczenie: systemy kontroli wersji najlepiej radzą sobie z plikami tekstowymi (czystym tekstem, tj plikiem z kodem źródłowym, plikiem HTML, plikiem TXT), z plikami binarnymi (którymi są na przykład pliki doc, docx, obrazki, dźwięki) już gorzej. Ale nie jest powiedziane, że całkowicie sobie nie radzą! Radzą, ale mamy mniej funkcji, dla przykładu brak możliwości porównania 2ch wersji plików lub automatycznego połączenia zmian z 2ch wersji. Musimy to wtedy zrobić ręcznie. Ale są odpowiednie wtyczki, które to ułatwiają, dla przykładu wtyczka do porównywania obrazków, która po prostu nam zaznacza kolorem na obrazie wszystkie zmiany.

A czy coś jeszcze potrafią te systemy kontroli wersji?
Ojj dużo więcej, niż tu opisałem :) Oczywiście zależy od samego narzędzia, którego używamy. Ale większość z nich potrafi oznaczać konkretne wersje plików własnymi tagami (dzięki temu szybko możemy znaleźć np wersję 1.4 naszego pluginu), możliwość tworzenia gałęzi, porównywania plików, automatycznego łączenia różnych wersji plików, wysyłania plików na serwer... Jest tego mnóstwo.

Gałęzi?
Tak :) Gałęzie. Prawie jak te na drzewie. Podam prosty przykład.

Tworzymy nową super fajną rzecz w naszym pluginie, ale zajmie to nam z 3 dni zanim będzie ona do użytku. W pewnym momencie, tak w połowie tworzenia, dociera do nas informacja, że w dotychczasowej wersji jest bardzo poważny błąd i trzeba go szybko naprawić. Jest to dużo ważniejsze od tej nowej rzeczy którą właśnie piszemy. No i co teraz? mamy kod rozgrzebany na 4 strony świata i albo musimy chwilowo wyrzucić wszystko co pozmienialiśmy, albo skończyć to, co tworzymy teraz...

I tu nas ratują gałęzie. Każde repozytorium posiada tzw gałąź główną, którą nazwiemy teraz masterem. I wystarczy, że przed zaczęciem pracy nad nową rzeczą utworzymy nową gałąź i na niej tą rzecz będziemy robić. Wybucha alarm, trzeba naprawić błąd, przechodzimy więc grzecznie na gałąź główną i tworzymy z niej następną gałąź, na której naprawimy ten błąd. Przez to, że jesteśmy teraz na gałęzi głównej, cała nasza robota bezpiecznie sobie czeka na osobnej gałęzi. A my po naprawieniu błędu i opublikowaniu wersji bez błędu wracamy do roboty nad naszą super mega hiper rzeczą.

Dla wzrokowców:
                         --•--•--•--                 | Fix błędu
                        /           \
--•--•--•--•--•--•--•--+-------------+--             | Gałąź główna
                        \
                         --•--•--•--•--•--•--•--•--• | Nowa super hiper rzecz
Kropki to po prostu różne zapisane wersje kodu. + to rozdzielenie czyli w tym miejscu tworzymy nową gałąź i jak widać gałąź z Fixem błędu łączymy do głównej, to samo zrobimy oczywiście później z naszą nową funkcjonalnością.

W niektórych systemach kontroli wersji, m.in w GITcie będzie to wyglądać tak:
--•--•--•--•--•--•--•--+--•--•--•--                  | Gałąź główna | Fix błędu
                        \
                         --•--•--•--•--•--•--•--•--• | Nowa super hiper rzecz
Dlaczego? Ano dlatego, że na głównej gałęzi nie nastąpiły żadne zmiany (brak jak widać kropek), więc została ona po prostu całkowicie połączona z fixem błędu i tworzą one teraz jedną całość, a nie jakieś takie dziwne rozgałęzienia i łączenia jak wyżej. Oczywiście jeśli choć jedna zmiana byłaby obecna na gałęzi głównej to wyglądałoby to tak, jak "rysunek" poprzedni :)

Ale czym jest repozytorium?
Tak, wcześniej użyłem tego słowa. Repozytorium jest po prostu zbiorem plików, często jest to po prostu folder na dysku. Ten zbiór jest zarządzany jako całość, czyli tworzymy w nim gałęzie, zapisujemy wersję wszystkich plików itp. Najwygodniej dla każdego projektu (czyli pluginu osobnego albo zbioru pluginów działających razem) utworzyć osobne repozytorium. Dzięki temu zarządzamy jednym projektem niezależnie od innych. Głupotą jet wrzucanie plików z jednego projektu do osobnych repozytoriów, bo później się okaże, że wersja ta z tego repozytorium nie jest kompatybilna z tamtą z tamtego. Więc pamiętajmy - 1 projekt = 1 repozytorium.

No dobrze, ale co z tym GITem?
Opisałem ogólnie czym są systemy kontroli wersji. GIT jest jednym z nich. Jednym z lepszych, a moim zdaniem najlepszym :)

Słyszeliście może o innych: Bazaar, SVN, Mercurial...

Tak, są inne i też są ciekawe. Osobiście jednak używam GITa bo jest najwygodniejszy i chyba potrafi najwięcej. SVNa od razu odradzam. Z tego korzystają wielkie korporacje założone w zeszłym tysiącleciu, bo wtedy był tylko SVN dostępny. Jest stary, obolały, nie rozwijany od długiego czasu i co najgorsze, scentralizowany. Bazaar i Mercurial są też ciekawe, ale jakoś nigdy mnie nie przekonały tak, jak GIT.

Co to znaczy, że SVN jest scentralizowany?
To oznacza, że wszystko jest trzymane na serwerze. Jeśli chcemy pobrać inną wersję pliku, łączymy się z serwerem i on nam ją podaje. Oczywiście wersja na której aktualnie pracujemy jest skopiowana na nasz dysk, ale tylko jedną wersję na raz mamy. Co jest wadą, bo nie mając dostępu do serwera nie możemy w pełni pracować nad projektem. Poza tym potrzebujemy takiego serwera, możemy go uruchomić na własnym komputerze, ale to jest niewygodne i bardzo źle się tak pracuje. A teraz pracujmy na innym komputerze, bo np siostra nam zabrała laptopa i musimy na stacjonarnym kompie siedzieć. I zonk, oba komputery muszą być włączone i muszą mieć połączenie ze sobą, żebyśmy mogli pracować, bo inaczej serwera nie ma. Same kłopoty...

Czy to oznacza, że inne systemy kontroli wersji nie mogą się łączyć z serwerem?
To, że nie muszą nie oznacza, że nie mogą :) Git jest zdecentralizowany, ale nadal posiada architekturę umożliwiającą połączenie się z innymi. Jednak nie jesteśmy w stanie tutaj wyróżnić klienta i serwera, przynajmniej nie na stałe. Oznacza to, że możemy się połączyć z każdym komputerem, który posiada to repozytorium i je pobrać albo coś do tego komputera wysłać. Oczywiście wygodnie jest sobie wyznaczyć który z nich będzie serwerem, ale konieczne to nie jest. No i zawsze posiadamy pełną kopię całego repozytorium u siebie na dysku. Oczywiście jeśli chcemy, bo nie zawsze potrzebujemy pobrać wszystkie gałęzie, możemy pobrać to, co nas interesuje i korzystać z tego nawet bez połączenia.

Są też już gotowe, darmowe serwery, a właściwie serwisy oferujące repozytoria na swoich serwerach. Na przykład GitHub. Kosztem jednak jest to, że takie repozytorium jest publiczne, tj każdy może sobie je pobrać i przeglądać kod. Istnieje jeszcze Bitbucket w którym możemy za darmo tworzyć prywatne repozytoria, jednak z limitem do 5 osób na repozytorium. Oczywiście oba serwisy posiadają oferty płatne, gdzie nie mamy żadnych limitów na repozytoria prywatne.

Osobiście polecam wszelkie publiczne projekty trzymać na GitHubie, jest najbardziej popularny i jeśli ktoś będzie szukał naszego projektu, tam właśnie zacznie ;)

No to super, więc jak korzystać z GITa?

Nie jest to takie trudne. Właściwie można wytypować 3 drogi:
  • Wykonywać odpowiednie polecenia w konsoli
    Tak, wiem że to nie jest rozwiązanie, które spodoba się wszystkim, ale naprawdę używanie konsoli do tego typu zadań jest bardzo przyjemne i do tego ona właśnie została stworzona. Dla nieprzekonanych o tym osób są następne 2 sposoby, więc się nie martwcie. Jednak należy uważać, bo poniższe 2 mogą posiadać ograniczenia (w zależności od użytych narzędzi oczywiście), a konsola takich mieć nie będzie :)

    Bardzo dobry e-book odnośnie nauki GITa znajdziecie tu, nie dość że po polsku to naprawdę świetnie napisany :)
  • Użyć edytora z wbudowaną obsługą GITa
    To rozwiązanie dla wielu osób będzie z pewnością najwygodniejsze. Możemy zarządzać dzięki niemu repozytoriami bez opuszczania edytora. Istnieją odpowiednie dodatki dla prawie każdego dobrego edytora. Nie znalazłem jednak takiego jak na razie dla AMXX Studio, ale nawet dużo nie szukałem, bo go nie używam, więc może istnieje.

    Przykładowe edytory z wbudowaną obsługą GITa:
    Atom Jak na razie do pobrania tylko pod Mac OS, ale można go skompilować dla innych systemów. Wydany przez speców od GitHuba, więc z nim się integruje najlepiej
    Qt Creator jest właściwie stworzony do tworzenia w C++ z użyciem bibliotek Qt, ale bardzo fajnie się w nim też pisze w PAWNie jeśli doinstalujemy podświetlanie składni

    Plugin do Notepad++
  • Użyć zewnętrznego narzędzia okienkowego
    Czyli tzw nakładki ;) Jest ich trochę, a 2 popularne i bardzo fajne to TortoiseGIT (narzędzie dostępne w specjalnym menu w prawokliku na plikach i folderach, więc nie uruchamiamy osobnego programu, bo się ładnie integruje z eksploratorem windows) oraz specjalny program od GitHuba. Służy on praktycznie w całości do integracji z GitHubem, ale spokojnie można go używać do repozytoriów trzymanych tylko lokalnie albo nawet na innych serwerach. Istnieje również aplikacja wydana przez twórców bitbucket o nazwie SourceTree, obsługuje ona też Mercuriala i jest bardzo rozbudowana. Zrobimy z niej praktycznie wszystko, więc linia komend nie jest potrzebna.

    Apka GitHuba pod windowsa, Mac OS, a nawet pod Androida :)
    Tutaj macie SourceTree
    No i oczywiście TortoiseGIT
I co najważniejsze, wszystkiego z tej listy można używać zamiennie. Nie jest nigdy tak, że jeśli używacie 1 rzeczy tu już innych się nie da, bo każda z aplikacji działa tak naprawdę poprzez komendy linii poleceń, więc są w 100% kompatybilne ze sobą.

Super, a czy będzie jakiś tutorial o obsłudze GITa?
Takowego nie przewiduję, tutoriali na internetach do GITa od groma, wyżej podlinkowałem najlepszy wg mnie e-book, który jest dostępny w bardzo wielu językach w tym w Polskim. Aplikacje są bardzo intuicyjne i każdy się ich nauczy, no może oprócz SourceTree, który jest mocno rozbudowany, ale żeby jego w całości ogarnąć to trzeba być naprawdę wyjadaczem :)
  • +
  • -
  • 13


#645314 Counter Strike: Global Offensive Tournament 2014 #1

Napisane przez 0-0-0 w 25.06.2014 08:30

pgct.png
 
Turniej sponsorowany przez FiberHost.PL
fiberhost.png
 
Administracja PGC-PLAY.PL ma zaszczyt zaprosić na pierwszy tego typu turniej na łamach naszej sieci.
Turniej odbędzie się przy wsparciu FiberHost, który użyczy serwera wysokiej klasy. Serwer jest ulokowany w Polsce, a jego TR wynosi 128.
 
Turniej będzie miał miejsce po zebraniu drużyn i ustaleniu daty, a następnie rozegrany zostanie pomiędzy 16 drużynami po 5 członków każda oraz 2 zawodnikami na liście rezerwowej. Mecze będą odbywać się na znanych wszystkim zasadach MR15 OT:
BO1 - faza początkowa turnieju 
BO3 - walka o nagrody w turnieju
 
Turniejem opiekować będzie się administracja forum PGC-Play.PL, a także na serwerze pomagać im w tym będzie eBOT - eBot :: Your ingame bot manager for CS:GO.
Przed przystąpieniem do turnieju prosimy o zapoznanie się z regulaminem.
 
nagrody.png
Dla trzech pierwszych miejsc przygotowane są serwery CS:GO TR128 w Polskiej Lokalizacji!
W zależności od miejsca jego ważności wynosci - dla pierwszego miesiąc, a dla drugiego i trzeciego dwa tygodnie.
 
info.png
Zapisy przyjmowane będą w osobnym temacie - http://pgc-play.pl/t...html#post718865
Liczba drużyn biorących udział w turnieju jest ograniczona do 16! Także spieszcie się! Kto pierwszy, ten lepszy!
 
Losy rozgrywek można śledzić poprzez turniejową drabinkę (PGC - Multigaming, Counter-Strike 1.6, Counter-Strike: Global Offensive, Serwery CS - PGC Turniej) oraz na oglądając mecze na GOTV.
 
Wszystkich serdecznie zapraszamy do uczestnictwa w turnieju.
W razie jakichkolwiek wątpliwości nasza administracja chętnie odpowie na wasze pytania.
 
Życzymy powodzenia i miłej zabawy,
Administracja


  • +
  • -
  • 1