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
 

Cypis' - zdjęcie

Cypis'

Rejestracja: 15.06.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 30.12.2024 14:05
*****

#745872 JailBreak Mod 1.0.6a by Cypis [Aktualizacja]

Napisane przez Robiin w 12.01.2018 21:59

Ej Cypis. Problem z kompilowaniem twoich zabaw. (Lokalnie) Pomocy.

W końcu, Cypis czekał 6 lat tylko na Ciebie! Stwórz osobny temat


  • +
  • -
  • 5


#733010 Nieopublikowane wersje modu: Tower Defense oraz ExpMod by GT Team

Napisane przez gtteamamxx w 05.12.2016 10:23

Cześć, może niektórzy mnie (nas) pamiętają, może nie, natomiast na wstępie chciałbym zwrócić się do administracji.

- Tak, miałem kiedyś bana na forum, minęło sporo czasu, czy ja wiem, 2-3 lata? Poza forum rozwijałem z bratem dawno już zaczęty mod Tower Defense oraz ExpMod; Mody miały być tu wydane, jednak ban przekreślił tę możliwość. Chciałbym poprosić o możliwość publikacji tutaj tych, w tym dziale, w tym temacie. Era CS 1.6 powoli dobiega końca, wszyscy powoli zaczynają się uczyć SourceMod'a, a nie chciałbym, by pewne rzeczy odeszły w zapomnienie.

Dawno temu, bodajże od 2012 tworzyłem i rozwijałem dwa mody.

* Tower Defense ( Obrona wieży: link: https://amxx.pl/topi...ieży-v03-alpha/ )
* ExpMod By GT Team ( link: https://amxx.pl/topi...mod-by-gt-team/ )

Poniżej publikuję wszystkie wersje, w tym nie opublikowane wcześniej. Dla wszystkich, którzy jeszcze chcą się pouczyć, popatrzeć jak to wygląda, proszę.

ExpMod:

Tower Defense:

Poniżej prezentuje Changelogi tych modów:


Tower Defense:

Spoiler

 
ExpMod:
Spoiler



Oba mody były pisane pod kątem możliwości całkowitej konfiguracji bez edytowania kodu źródłowego. To znaczy, że użytkownik może zmieniać dosłownie wszystko w plikach konfiguracyjnych, nie musząc przy tym grzebać w kodzie. Jeśli nie rozumiesz, zobacz ten plik: https://github.com/g...figs/exp_config

To tyle z mojej strony, mam nadzieje, ze kiedys/komuś ten kod pomoże w robieniu czegoś / podglądu

 

Całej administracji i użytkownikom życzymy Wesołych Świąt, Samych sukcesów w programowaniu oraz Szczęśliwego Nowego Roku!

PS DarkGL - Dzięki za wszystko oraz zarażenie jumpstylem :)
Pozdrawia Striker oraz z grupą OtherSide Jumpstyle Team

 


  • +
  • -
  • 5


#724501 JailBreak Mod Api 1.0.7p [8 sierpnia]

Napisane przez Robiin w 10.04.2016 01:05

CTRL+F "nazwa.wav"

i masz...

 

U mnie problem jest taki że zmieniam wszystko, a alarm się nie włącza w ogóle ^^


  • +
  • -
  • 1


#664907 Podmiana komendy meta

Napisane przez DarkGL w 23.09.2014 11:37

Zmienić w sma i ponownie przekompilować


  • +
  • -
  • 5


#661857 [ROZWIĄZANE] Usuwanie duplikatów z tablicy

Napisane przez G[o]Q w 02.09.2014 18:07

Trie


  • +
  • -
  • 2


#661445 Parametry serwera

Napisane przez Puchate w 31.08.2014 19:44


Jak nie masz pojęcia, to się nie wypowiadaj.
 

Jeżeli chcesz wkroczyć w wojnę na argumenty, to w porządku, jestem za :) Tylko jeżeli o czymś piszesz to pisz o tym w żargonie technicznym, bo na razie swoimi postami prezentujesz postawę typowego leminga.

 

 

Procesory tych dwóch producentów różnią się technologicznie - w odmienny sposób przetwarzają i operują danymi.

 

Tak ? A byłem przekonany ze obecne Intele i AMD są w architekturze i386 (x64)  ^D^ więc podstawowe rejestry są takie same, różnić się mogą rozkazy procesora ze specjalnych zestawów instrukcji typu SSE, ale tutaj one nie są potrzebne. HLDS nie potrafi korzystać z żadnych dodatkowych instrukcji obecnych w dzisiejszych procesorach, dlatego tak słabo działa mimo ogromnego przeskoku wydajnościowego CPU w czasie 15 lecia istnienia tej gry. Jedyne zmiany jakie weszły do engine przez ten czas to nowszy kompilator oraz biblioteki systemowe użyte do kompilacji kodu. Poza tym wciąż cały serwer opiera się o pętle while(1) oraz usleep, więc stabilności tutaj szukać też nie można  ;)

 

 

Obaj producenci kładą największy nacisk na zupełnie inne aspekty swoich procesorów.

 

Tak? A byłem przekonany że produkując CPU głównym aspektem jest jak najwyższe FLOPS

 

 

 Intel i AMD to dwaj różni producenci procesorów.

Niewiarygodne  :facepalm2:  poznałeś to po nazwie czy po czym innym? ;)


  • +
  • -
  • 8


#661417 Parametry serwera

Napisane przez Lokator w 31.08.2014 16:09

Nie chodzi tu o producenta procesora, tylko o to jak jest rozdzielana moc. Intel ma inne wartości mocy (taktowania), więc przydział będzie tam inny, więc inaczej też będzie działać serwer.

 

Bezsensowna wypowiedź. W tym przypadku właśnie chodzi o producenta. Intel i AMD to dwaj różni producenci procesorów.

Procesory tych dwóch producentów różnią się technologicznie - w odmienny sposób przetwarzają i operują danymi.

Obaj producenci kładą największy nacisk na zupełnie inne aspekty swoich procesorów.

 

Jak nie masz pojęcia, to się nie wypowiadaj.


  • +
  • -
  • -7


#661093 Problem z ustawieniem lvlu

Napisane przez Onyke w 29.08.2014 21:04

Nie! Reset to ja zrobilem lvli. Ale oto mi chodzi ja usunac 

Spoiler

FIX'D  :lol: 
Spoiler

  • +
  • -
  • 12


#661072 Problem z ustawieniem lvlu

Napisane przez StanLey w 29.08.2014 20:04

Proszee. 31779062157425051426.png

00658484240201876103.png

38634841253696801872.png

85543452356346338906.png

20025915499505922248.png

84633323650494693166.png

46240444314424936976.png




#652854 FATAL ERROR (shutting down): SZ_GetSpace: overflow without FSB_ALLOWOVERFLOW...

Napisane przez dredek w 25.07.2014 16:49

Jeżeli nie pomoże nic z wyżej wymienionych opcji to wgraj HLDS (6027) , dproto 0.9.322 i amxmoda 1.8.1.

Posiadałem wcześniej identyczny problem i ta opcje wyżej mi go rozwiązała.


  • +
  • -
  • 1


#647534 SourceMod 1.6.0

Napisane przez Misiaczek ;c w 04.07.2014 13:32

Oryginalna wiadomość

We are pleased to announce that SourceMod 1.6.0 has been officially released.

This is a major update with a large number of under-the-hood improvements, as well as new features and bug fixes.

Highlights for Server Admins:
    New Game Support - SourceMod, including base plugins, now supports Dota 2, Source SDK 2013 mods, Insurgency, Contagion, and Blade Symphony.
    Updated gamedata and binary support for many games and mods.
    Added support to create custom ban reasons for the basebans plugin (thanks Matthias "Dr. Greg House" Kollek).
    Many stability fixes.
    Better performance.

Highlights for Developers:
    Added an API for off-thread SQL transactions.
    Added support for string literal concatenation (with new "..." operator) (thanks Peace-Maker).
    Adjusted the OnClientSayCommand forwards to be more developer-friendly (thanks SystematicMania).
    Too much to name here. For overview of all sourcepawn and SM extension API changes and additions, please see the SourceMod 1.6.0 API Changes wiki article

 Lista zmian

User Changes
    Added support for Dota 2 (bug 5656, bug 6068).
    Added support for Source SDK 2013 mods (bug 5917).
    Added support for Insurgency (bug 5951).
    Added support for Contagion (bug 6007).
    Added support for Blade Symphony (bug 5949).
    Updated support for some mods that moved to SDK 2013*No More Room In Hell, Fistful of Frags, Empires, Synergy.
    Updated gamedata and other support for TF2, DoD:S, HL2:DM, CS:S, CS:GO, Left 4 Dead, and Nuclear Dawn.
    Added support for customizing ban reasons in basebans.sp (bug 5762) (Matthias "House" Kollek).
    Added support for searching all gameinfo search paths when seeking mapcycle file (bug 5839).
    Added sm_reload_translations command (bug 5750).
    Added support for single-file gamedata custom overrides (bug 5386) (Ondrej "Ravu al Hemio" Hošek).
    Re-enabled SteamAuthstringValidation config option by default (bug 5791, PR 20).
    Fixed plugins not reaching ext dep lists, making dependent plugin not unload on ext unload (bug 5851) (Peace-Maker).
    Added printing of SendProp flags to netprop dumps (bug 6082).
    Removed support for obsolete plugin_settings.cfg (bug 5605).
    Fixed topmenu sorting not getting refreshed after reloading sorting config (bug 6032) (Peace-Maker).
    Fixed error log filename date sometimes being incorrect (bug 5761) (Matheus "M28" Valadares).
    Dump handle information when a plugin is forcefully unloaded. (bug 5666).
    Fixed sm_cancelvote not resetting rtv state. (bug 5808) (Peace-Maker).
    Fixed Mapchooser dying on single map rotation servers (bug 5179).
    Fixed various problems with unloading ClientPrefs and SourceMod (bug 5874).
    Fixed "sm version" command reporting incorrect compile time in many cases (bug 6078) (SystematicMania).
    Clear default database driver reference if backing extension is unloaded (bug 5934) (Peace-Maker).
    Moved funcommands material and sound definitions to gamedata for easier cross-game support (bug 6085).
    Implement a watchdog timer for scripts that take too long to execute (bug 5837).
    Use Linux game data for offsets and signatures/symbols on OS X if Mac-specific data is not available (bug 6056).

Developer Changes
    Added an API for off-thread SQL transactions. (bug 3775, PR 26).
    Added string literal concatenation using ellipses "..." (bug 4261, PR 5) (Peace-Maker).
    Added support for nested datatables. (bug 5446).
    Added PbRemoveRepeatedFieldValue native (bug 6066).
    Added support for getting/setting protobuf enum values with PbGetInt, PbSetInt, and PbAddInt natives.
    Removed deprecated PbReadRepeated natives that existed briefly in 1.5.0-dev prerelease versions.
    Added RequestFrame native for one-off next-frame actions (bug 5965).
    Added CS_DMG_HEADSHOT define for CS:S and CS:GO (PR 7) (Bara20).
    Added CS_SLOT_KNIFE define for CS:S and CS:GO (bug 6131).
    Updated TF_WEAPON enum (PR 37) (FlaminSarge).
    Added TFHoliday_AprilFools to TFHoliday enum (bug 6092) (Ross "Powerlord" Bemrose).
    Added new TF2_IsHolidayActive native to TF2 Ext (bug 6095) (Ross "Powerlord" Bemrose).
    Switch TF2 extension to hook CTFGameRules::IsHolidayActive for holiday forward (bug 6137, PR 42).
    Added GetPlayerJingleFile native. (bug 5690) (FlaminSarge).
    Added PrepSDKCall_SetAddress and Address support to PrepSDKCall_SetFromConf (bug 5261).
    Added ability to disable TopMenu Title Caching (bug 6034) (Peace-Maker).
    Added DisplayTopMenuCategory native (bug 6033) (Peace-Maker).
    Added support for Valve search paths to GetFileSize native (bug 5931).
    Fixed invalid entities sometimes passed to OnEntityCreated and OnEntityDestroyed (bug 6119).
    Fixed inconsistencies with OnClientDisconnected foward calls (bug 5988, PR 16).
    Changed OnClientSayCommand to now pass non-silent chat triggers onward (bug 5926) (SystematicMania).
    Changed OnClientSayCommand forwards to strip quotes from chat (bug 5986) (SystematicMania).
    Fixed FindStringIndex native not returning INVALID_STRING_INDEX when string not found (bug 6144, PR 40).
    Fixed GroundEntChanged hooks not being called (bug 6050) (Peace-Maker).
    Fixed INetChannelInfo natives to no longer require clients to be ingame (bug 5775) (SystematicMania).
    Fixed replace param being respected inconsistently in SetTrieArray (bug 6113).
    Fixed crash creating a timer when there are no handles available. (bug 5317) (Peace-Maker).
    Fixed crash in ReconnectClient and InactivateClient natives when IServer ptr is null (bug 6122).
    Fixed StoreFromAddress and LoadFromAddress continuing with bad values, usually crashing after error (bug 6080).
    Fixed compiler bug with multidimensional array variable release (bug 6100).
    Changed float comparison operators to return false for NaN (bug 6107).
    Added support in spcomp for sp/inc files > 32767 lines (bug 5959).
    Fixed FindFlagChar returning '?' for Admin_Custom6.
    Fixed AllPluginsLoaded activities happening before SM is loaded.
    Deduplicated a number of files used by extensions by moving them to the public directory (bug 5341).
    Removed 'state' keyword from compiler (bug 4572) (Ryan "VoiDeD" Stecker).
    Removed LogMessageEx definition from logging.inc because it never existed (bug 5897) (Peace-Maker).
    Removed native override API (bug 5852).
    Call OnLibraryAdded for all available libraries (bug 5925, PR 4).
    Made IGameConfig::GetMemSig return value clearer (bug 6081).
    Switched StringToInt(Ex) from using strtol to strtoul internally (bug 5939).
    Added an spcomp option to print #included files (bug 5997).
    Recompiled Regex extension libpcre against v8.32, enabling utf8, unicode props, and jit (bug 5593).
    Optimized native calls if statically bound (bug 5842).

Internal Changes
    Now using new AlliedModders Template Library (AMTL) in many places, https://github.com/alliedmodders/amtl
    Ported buildscripts to new AMBuild2 platform, https://github.com/alliedmodders/ambuild
    Moved much logic from core to logic binary to reduce file sizes and compile times (bug 5606, bug 5607, bug 5680, bug 5953, PR 12, PR 13).
    Refactored the JIT to use a newer, simpler macro assembler. (bug 5827).
    Added sourcepawn interpreter (bug 5902).
    Added support for compiling spcomp with emscripten.
    Rewrite IThreader implementation around new synchronization primitives (bug 5862).
    Rewrite DBManager to use the new synchronization primitives (bug 5870).
    Overhauled internals of ClientPrefs extension for improved stability (bug 5538).
    Changed ShareSys to store C++ native lists more optimally (bug 5852).
    Simplified NativeEntry state (bug 5852).
    Changed NativeEntry to use Refcounted to manage (bug 5852).
    Switched Translator and GameConfigs to hash tables (bug 5878).
    Switched numerous subsystems from KTrie to AMTL NameHashSet (bug 5884).
    Refactored Trie natives to use AMTL HashMap instead of KTrie (bug 5892).
    Removed usages of memtables from many subsystems (bug 5899).
    Changed EventHook name storage to use AMTL AString (bug 6188).
    Replaced SH List usages in game extensions with AMTL variants (PR 23).
    Replaced SourceHook list usages in clientprefs with AMTL (PR 25).
    Changed floating-point operations to use SSE when available (bug 5841).
    Moved tracker related opcodes entirely to C++.
    Statically align the stack at function boundaries (bug 5842).
    Removed InfoVars, reassigned DAT from EBP to ESI to preserve C++ stacktraces in JIT code (bug 5844).
    Fixed dereferencing potential null pointer in CPlugin::GetProperty (bug 5725).
    Fixed memory corruption when parsing natives. (bug 5840).
    Fixed some memory errors (bug 5904).
    Fixed unaligned memory access in spcomp.
    Move versioning to a static library to improve trivial build speed (bug 5997).
    Added many missing handle security checks (bug 5595).
    Made GetEntityClassname get and cache m_iClassname offset from worldspawn for ents not having it in datadesc (bug 5654).
    Cache m_iEFlags offset for datamaps dump instead of getting for each ent (bug 5657).
    Fixed mismatched delete [] on thunks in JIT CompData dtor (bug 5639).
    Fixed various memory issues. (bug 5766).
    Added reference counting and use it for CGameConfig and IDatabase (bug 5876).
    Added atomic reference counting and port DBI (bug 5876).
    Replaced usages of deprecated Sourcehook Add/Remove macros (bug 5631).
    Fixed SDKHooks hook ent validation missing first datatable name (bug 5881).
    Fixed case where bots leave server without disconnect notice (hibernation) (PR 20).
    Changed FindConVar to utilize convar cache for improved performance (PR 27) (VoiDeD).
    Gave define value (of 1) to PLATFORM defs to match the same-name defs in some SDKs (PR 10).
    Wrapped ClientPrintf into IGamePlayer (bug 6021).
    Consolidated FileExists usage in logic bin (bug 5931).
    Removed hardcoded paths to tier0/vstdlib in ICommandLine lookup.
    Use updated IServerTools iface on TF2 for getting tempent list and FindEntityByClassname (PR 33).
    Added early exit in entity output detour if entity has no classname to prevent crash.
    Updated SDKTools entity output functions to use core's GetEntityClassname instead of own (PR 39).
    Consolidated SDKTools entity factory lookups.
    Changed SDKTools PlayerRunCmd to a global vtable hook to improve performance (bug 6051).
    Changed SDKHooks to use global vtable hooks to improve performance (bug 6070).
    Added client validation checks to EmitSound SoundsHooks (bug 5873).
    Added missing meta results to some pre-hooks in SDKHooks.
    Replaced magic numbers for sm_show_activity with named constants (PR 14).

Załączony plik  sourcemod-1.6.0-linux.tar.gz   11,63 MB  319 Ilość pobrań

 

Załączony plik  sourcemod-1.6.0-mac.zip   9,87 MB  204 Ilość pobrań

 

Załączony plik  sourcemod-1.6.0-windows.zip   13,01 MB  337 Ilość pobrań


  • +
  • -
  • 5


#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


#644560 JailBreak Mod 1.0.6a by Cypis [Aktualizacja]

Napisane przez TheMrZabek w 21.06.2014 21:33

/home/gry/s7018/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory

tu jest błąd zdaje się xD


  • +
  • -
  • -2


#643816 Da się jakoś wydłużyć 'StatusText'?

Napisane przez Ogen Dogen w 17.06.2014 17:30

Poszerz tablice :D


  • +
  • -
  • -3


#628508 Co chcecie wiedzieć, jak powstało, dlaczego, z kim?

Napisane przez Droso w 27.03.2014 14:44

A jakiś przedział? :P

<0;+∞)

 

Proszę bardzo


  • +
  • -
  • 13