Skocz do zawartości

klqs

 VIP

Aktywność reputacji

  1. Haha
     klqs otrzymał reputację od MamusiaaPokażcie swoje mordki!   
    proponuje ustawić tu +18 
  2. Lubię to
     klqs przyznał reputację dla  Frost`Premium   
    Witam, żeby nie zaśmiecać temat milionami tematów związanymi z premium, tutaj możecie pisać o zamianie starych premium na nowe.
     
    Ja osobiście miałem na starym codzie: Kapitana, sanitariusza, imigranta, morderce bodajże.
  3. Lubię to
     klqs przyznał reputację dla SUNN. [ZAMKNIĘTY]/problem - komunikacja miedzy steam-nonsteam   
    Wgrane, dajcie znać czy komunikacja już działa.
  4. Lubię to
     klqs otrzymał reputację od sypkilopezPodstawy amxx   
    Cześć. Nie zauważyłem na tym forum jakiegoś dużego grona osób, które potrafią cokolwiek w amxx, więc postanowiłem się z Wami podzielić moją niewielką wiedzą. Będę się starał opisać wszystko najprościej jak potrafię, aby każdy kto chce, mógł to zrozumieć. Od razu mówię, że moje słownictwo tj. nazywanie konkretnych rzeczy nie będzie idealne i fachowe. Jest to spowodowane tym, że jestem samoukiem i nie wkuwałem teorii na pamięć tylko pobierałem pluginy i próbowałem rozgryźć jak to wszystko działa. 
    Co to wgl jest jak się do tego zabrać.
    AMXX (AMX Mod X - ulepszona i rozwijana wersja AMX Mod).
    Na tym opiera się praktycznie każdy serwer w 1.6 (z wyłączeniem mixów etc.). To dzięki temu wszystkie pluginy działają. W to zagadnienie nie ma potrzeby się głęboko zagłębiać. 
    Pliki *.sma i *.amxx.
    Zapewne nie raz o tym słyszeliście. Pierw pliki *.sma - Wszystkie projekty (tj. pluginy, silniki) w wersji możliwej do rozczytania przez człowieka są zapisywane właśnie w takim rozszerzeniu. Po co ono jest? Otóż gdy chcemy chociażby edytować istniejący już plugin to edytujemy właśnie plik *.sma. Gdy już skończymy prace, specjalnym kompilatorem który opisze później zamieniamy ten plik *.sma na plik *.amxx. Po co coś takiego robimy? AMXX rozpoznaje tylko pliki *.amxx. Do rozczytania przez człowieka są chyba niemożliwe. Kompilator zamienia to kolokwialnie mówiąc z "języka ludzkiego na język komputera". Ważne! Każdy plik *.sma można zamienić na *.amxx bez większego problemu (oczywiscie gdy nie występują errory, przy warningach kompiluje lecz zazwyczaj dana część kodu nie działa). W drugą strone jest większy problem. Istnieją dekompilatory (przeciwienstwa kompilatorów) które robią dokładnie odwrotną akcje. Niestety, nie są one zbyt dokładne. Często bywa, że większość część kodu jest nierozszyfrowana, a istnieją nawet metody które całkowicie uniemożliwiają dekompilacje. Mam nadzieje, że zrozumieliście, że pliki *.sma w FTP serwera są potrzebne tylko i wyłącznie w razie konieczności sprawdzenia działania pluginu/edycji etc., czyli z FTP można całkowicie wywalić folder "Scriptings", w którym znajdują się pliki *.sma oraz bilbioteki (o których będzie niżej) 
    Kompilacja.
    Myślę, że każdy kto prowadzi/ł serwer słyszał o czymś takim. Jest to jak już wyżej pisałem, zamiana pliku *.sma na *.amxx. Istnieją tak jakby dwie kompilacje:  lokalna i online, czym się różnią? Lokalna - kompilujemy naszym programem w którym najczęściej piszemy (w moim przypadku jest to amxx_studio, istnieje też możliwość pisania i kompilowania w notepad++ lecz to wymaga większego trudu. Można poszukać poradniki na internecie jak to zrobić.), a pliki *.amxx odrazu zapisują nam się w ustalonym miejscu na komputerze. Online - Przykładowy kompilator online: amxx.pl/kompilator. Wrzucamy tam kod albo uploadujemy plik *.sma, kompiluje a my musimy pobrać plik *.amxx który oczywiscie zapisuje się tam gdzie zapisują się pobierane pliki przez przeglądarke/ustalonym miejscu.
    Biblioteki.
    Chyba najczęsciej używaną biblioteką która nie jest domyślnie w amxx jest ColorChat. Co to takiego? Gdy piszemy to w kodzie wykorzystujemy funkcje. Zaincludowanie czyli pokazanie kompilatorowi, że ma użyć tej biblioteki, w kodzie to wygląda:
    #include <ColorChat> . Dzięki temu możemy używać funkcji które ta biblioteka zawiera, w tym przypadku jest to jedna, bardzo przydatna funkcja która pozwala w łatwy sposób kolorować wiadomosci wysyłane przez serwer (plugin) do gracza. Oczywiście, można zamiast includować to wrzucić umiejętnie to do kodu i wtedy nie trzeba - tylko po co, skoro tak jest szybciej i prościej. Biblioteki mają rozszerzenie zwykłe .inc
    Funkcje.
    Niestety, funkcje to rzecz które trzeba się nauczyć na pamięć, jednakże ich nazwy są na tyle intuicyjne, a jeśli dobrze skonfigurujemy nasz program do pisania który nam będzie podpowiadał składnie danej funkcji to z używaniem ich nie będzie większego problemu. Spis wszystkich dostepnych znajduje się tu: -> Klik <- po Polsku, a po Angielsku (więcej informacji) -> Klik <- 
    Funkcje forward. Wywoływane są one gdy się stanie coś konkretnego. Konkretniej: przykładem takiej funkcji jest 
    public plugin_init(){ //code } "public" przed funkcją jest oznajmieniem że jest to forward. Zamiast //code wpisujemy kod który w przypadku tej funkcji wykona się przy załadowaniu mapy. Używana jest ona zazwyczaj do rejestrowania pluginu (autor, wersja, nazwa), rejestrowania komend, cvarów (niżej) etc.
    Funkcje natywne. Można je umieścić np. w funkcjach forward. Przykładem takiego użycia byłoby:
    public plugin_init(){     register_plugin("Nazwa", "Wersja", "Autor"); } Po czymś takim po wpisaniu komendy amx_plugins byłby nasz plugin, nazywał by się Nazwa, przy wersji by pisało Wersja a jako autor byłby podany Autor. Po prostu rejestracja pluginu.
    Cvary.
    Najprosciej mówiąc - coś co pozwala nam sterowac pluginem przy pomocy komend/ustawien w amxx.cfg (w ftp serwera). Do zmieniania ich ustawien z poziomu admina na serwerze (oczywiscie z odpowiednimi flagami) uzywamy komendy amx_cvar. Cvary trzeba zarejestrować tam gdzie plugin, czyli w plugin_init.
    Zmienne.
    Zmienne dodajemy poprzedzajac je wyrazem "new". Służą do przechowywania, edytowania i odczytywania danych. Przykłady takich zmiennych to 
    new Zmienna //Może przechowywać max 1 literke/liczbe czyli np: "A", "a", "x" albo "1", "13", "69" etc.  new Zmienna[32] //Może przechowywać 32 literki/cyfry. Jak to działa? Każdy taki [1] to jest jedna zmienna, czyli można było by to zapisać new Zmienna0, new Zmienna1 itd. Ostatnia (32) jest to znak kończący, którego się nie edytuje czyli jak mamy 32 to mozemy wykonać operacje Zmienna[1] = 69 albo Zmienna[31] = 69.  new Float:Zmienna // Przechowuje liczby zmiennoprzecinkowe czyli np "1.69", "6.9" "1.141561" itd. Może występować również jako new Float:Zmienna[32] wtedy jest dokładnie jak przypadek wyżej new bool:Zmienna //Może ona tylko być jak true/false (True = 1, false = 0).  Formatowanie zmiennych. Dokładnie o znakach powiem niżej, ale zmienne po zadeklarowaniu na początku czyli np przed plugin_init można edytować/odczytywać w całym pluginie, czyli gdziekolwiek można napisać
    Zmienna = 1 lub
    if(zmienna == 1) Pierwszy przypadek ustawia Zmiennej wartość 1, drugi sprawdza czy zmienna równa się 1, jesli nie to zwraca 0, jeśli tak to zwraca 1.
     
    Operatory.
    W większości używane w funkcji if, for lub while oraz przy działaniach.
    a == b - Sprawdza czy lewa równa się prawej - jeśli tak zwraca 1, jeśli nie zwraca 0 a = b - Zmienna a przyjmuje wartość b, czyli jeśli b było równe 5 to a teraz tez jest równe 5 a < b - Jesli a jest mniejsze od b - zwraca 1, jeśli nie zwraca 0 a <= b - Jesli a jest mniejsze lub równe b - zwraca 1, jeśli nie zwraca 0 a != b - Jeśli a jest różne od b - zwraca 1, jeśli nie zwraca 0 a+b - a dodać b a+=5 - a dodać 5 a-b - a odjąć b a-=5 - a odjąć 5 a*b - a razy b a*=5 - to samo co a=a*5 a/b - a podzielone przez b a/=5 - to to samo co a=a/5 a%2 - zwrócenie reszty z dzielenia (przykład: 5%2 - zwróci nam 1) a++ - a użyte a potem zwiększone o 1 ++a - a zwiększone o jeden i dopeiro użyte a-- - a uzyte a potem zmniejszone o 1 --a - a zmniejszone o 1 a potem użyte is_user_connected(id) && is_user_alive(id) - jeśli jest połączony i żywy zwróci 1, jeśli nie jest żywy/nie jest połączony lub oba warunki są fałszywe to zwraca 0 is_user_connected(id) || is_user_alive(id) - jeśli jest połączony lub żywy zwróci 1, jesli żadne z tych zwróci 0. UWAGA!!
    7.0/3 = 3.5 7/3 = 3 Istnieje tez znak "?" Sprawdza on czy wartość po jego lewej jest 1, jeśli tak to wykona sie pierwszy argument, jeśli nie to drugi. Praktyka:
    is_user_alive(id) ? "Jest zywy" : "Jest martwy" Pętle oraz warunek if.
    Zawarty w nich kod wykona się określona ilość razy albo zanim zostanie wykonany wykona się sprawdzenie. Istnieja 3 pętle, trzeciej za bardzo nie rozumiem więc opisze dwie ktore się używa, jej jeszcze nie widziałem żeby ktoś uzywał, a nazywa się "do,while".
    Warunek if - sprawdza czy wyrażenie w nim jest prawdziwe (1) czy fałszywe (0) i zwraca odpowiednią cyfre. Praktyka:
    if(is_user_alive(id)){     user_kill(id) } Jeśli gracz jest zywy, zwróci 1 po czym wykona się zawarty w nim kod, czyli gracz zostanie zabity, jeśli gracz nie zyje, kod zostanei pominięty. Jeśli zostanei pominięty - czyli gracz będzie martwy, a chcemy sprawdzić skoro jest martwy to czy może jest w SPECT wiec robimy:
    if(is_user_alive(id){     user_kill(id)(id) } else if(cs_get_user_team(id) == 0 || cs_get_user_team(id) == 3){     cs_set_user_team(id, random(1,2)) } Juz tłumacze i objaśniam: Jak można wyczytać z dokumentacji -> Klik <- funkcja cs_get_uset_team zwraca 0 jeśli gracz nie wybrał drużyny lub 3 jesli jest na spect, więc w warunku if sprawdzamy czy jest 0 lub 3. Jeśli tak, przenosimy go do losowego teamu. W 2 argumencie funkcji cs_set_user_team wybieramy team do którego ma go przenieść. Funkcja random(1,2) losuje liczbe od 1 do 2 czyli 1 = TT, 2 = CT. Gdyby zamiast else if(cs_get_user_team(id) == 0 || cs_get_user_team(id) == 3) dać samo else to kod wykonał by się gdyby w pierwszym if gracz był martwy.
    Pętla for. Jest to jak sama nazwa mówi, pętla, w której kod będzie się wykonywał do pewnego momentu.
    for(new i; i<=get_maxplayers(), i++){     if(is_user_admin(i)) break; } Jak widać, tworzymy zmienną i która po każdej pętli się zwieksza o 1 aż do maksymalnej ilości graczy która jest pobierana funkcją get_maxplayers(). Jak to wyglada? for(NOWA ZMIENNA; KIEDY MA SIĘ PĘTLA SKOŃCZYĆ; CO MA SIĘ ZROBIĆ PO SKOŃCZENIU PĘTLI). W pętlach między argumentami nie używamy "," tylko ";" W środku pętli: Jeśli użytkownik o id = zmiennej i jest adminem to pętla się kończy czyli dzieje się tak jakby i doszło do maksymalnej ilości graczy. Po co to? Gdy chcemy np znaleźć jednego admina i wyświetlić go komuś, wtedy po ifie a przed breakiem wysyłamy komuś wiadomosć.
    for(new i; i<=get_maxplayers(), i++){     if(is_user_admin(i)) continue;     user_kill(i) //TEN KOD SIE NIE WYKONA JESLI GRACZ JEST ADMINEM, ALE PĘTLA BĘDZIE SPRAWDZAŁA DALEJ } Jeśli gracz o id = zmiennej i jest adminem to jest to pomijane i traktowane jakby pętla się skończyła, reszta kodu wtedy nie jest brane pod uwage
    Pętla while, podobna do for jednak w jej "wnętrzu" (nawiasach) nie tworzymy zmiennej.
    while(1==2){ //kod } Taka pętla nigdy się nie skończy ponieważ nigdy 1 nie będzie się równało 2.
    new zmienna new id=1 while(zmienna==5){ if(is_user_alive(id++)) zmienna++ } Ta pętla skończy się gdy będzie żyło 5 graczy
    Formatowanie.
    Czyli podmienianie np wyświetlanej wiadomosci do gracza. Załóżmy, że chcemy mu wysłać ile jest graczy online. W takim przypadku nie możemy wklepać na sztywno do kodu że jest 32 bo mijałoby się to z prawdą, dlatego robimy:
    client_print(id, print_center, "Na serwerze jest %d graczy!", ilosc_graczy) Gdzie ilosc_graczy to zmienna do której wcześniej zapisaliśmy liczbe graczy.
    Znaki formatujace:
    %s - string (ciag znaków) czyli np. "bober", "krowa", "elo" etc. %d lub %i - Liczba, czyli np "5", "15", "30". %f - float - liczba zmiennoprzecinkowa czyli np "1.3", "6.9" itd. Czasami będziemy chcieli wyświetlić tylko np. 2 cyfry po przecinku, taki problem wystepował swego czasu na niektorych codmodach gdzie po zmienieniu wymaganego doświadczenia na % wychodzilo im coś w stylu 50.4112308501%. Aby temu zapobierać zamiast %f piszemy %0.2f i wtedy wyświetli 2 cyfry po przecinku. Jeśli chcemy 5 cyfr to piszemy %0.5f. To są te najpotrzebniejsze, reszty się praktrycznie nie używa. Jeśli chcemy w jednej funkcji dodac kilka stringów to robimy to po prostu w kolejności. Jeśli chcemy wysłać zwykły znak % musimy go napisac podwójnie, czyli %%:
    client_print(id, print_center, "Na serwerze jest %d graczy, godzine temu było %d graczy a za 5 lat na 50%% bedzie %d graczy", ilosc_graczy, ilosc_graczy1hago, ilosc_graczy5y) To nam wyświetli np: "Na serwerze jest 20 graczy, godzine temu bylo 15, a za 5 lat na 50% bedzie 0 graczy"
    Dokładna rozpiska znajduje się tu: 
     
    Może w końcu po tej nudnej teorii się czymś zajmiemy? Pasowało by ogarnąć jakiś program do pisania. W tym celu pobieramy z tej strony -> Klik <-  AMX Mod X Full Installer, odpalamy go i instalujemy jak zwykły program. Potem wchodzimy w zainstalowany folder i uruchamiamy Installer.
    Klikamy Next, next, wybieramy select mod directory - next, wybieramy ścieżkę do cstrike, poniżej "Custome game addon:" wybieramy Counter-Strike i instalujemy wszystko. Teraz wracamy się do folderu w którym znajdował się pliczek Installer i wchodzimy w amxxstudio>AMXX_studio. Tam wchodzimy w Tools>settings>Compiler>Compiler settings i w Compiler (amxxpc.exe) ustalamy ścieżko do pliku amxxpc.exe który znajduje się w cstrike>addons>amxmodx>scripting. W moim przypadku jest to 
    D:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmodx\scripting\amxxpc.exe W Deafult Output directory wybieramy ścieżke gdzie mają się zapisywać pliki *.amxx.
    I Gotowe! Mamy program do pisania i dobrze skonfigurowany kompilator! Gdy skonczysz edytować lub pisać jakiś plugin, aby skompilować należy wcisnąć przycisk F9 lub na górze kliknąć Compile>Compile. 
    Jeśli pobieramy biblioteki tak jak np. ColorChat to wrzucamy je do cstrike>addons>amxmodx>scripting>include.
     
    Zaczynamy pisać
    Włączamy amxx_studio i klikamy File>new>empty plugin. Naszym oczom powinno się ukazać
    Po kolei tłumaczę. #include <amxmodx> - Podstawowa biblioteka zawierajaca podstawowe funkcje.
    #define PLUGIN "New Plug-In" - Define lubie tak śmiesznie na nie mówić - zmienna niezmienna  Jak widzimy w register_plugin zamiast nazwy pluginu jest PLUGIN. Przy kompilacji kompilator podmienia PLUGIN na "new Plug-In" Najczęściej jest to wykorzystywane przy pluginach które korzystają z jakiejś flagi admina a dla wygody uzytkownika robi się #define ADMIN_FLAG ADMIN_CHAT i jeśli w jakiejś funkcji bedziemy chcieli sprawdzić czy gracz ma flage ADMIN_FLAG to zamieni nam to na ADMIN_CHAT dzięki czemu będziemy sprawdzać czy gracz ma ADMIN_CHAT. Po co takei babranie? Po to żeby przy 2000 linijkach nie szukać i nie podmieniać flagi tylko wejść sobie na początek, zmienić, skompilować i wrzucić na serwer. 
    No to spróbujemy sobie zrobić powitanie na serwerze. Do tego potrzebujemy funkcji forward która będzie wyłapywała graczy ktorzy wchodzą na serwer. Istnieją dwie funkcje które nam to umożliwiają:
    client_putinserver(id) client_connect(id) Czym się różnią? Pierwsza wywołuje się gdy gracz wejdzie na serwer, czyli będzie miał do wyboru team. Druga wywołuje się przy kliknieciu connect! Przez co niemożliwe jest pobieranie takich danych przez tą funkcje jak uprawnienia, ponieważ one się dopiero załadują. Do tych celów używamy client_putinserver(id) My możemy sobie użyć client_connect(id) gdyż pobieramy tylko nick gracza który nie jest narzucany przez serwer i nie musi się ładować, ale wtedy może zaistnieć taka sytuacja, że wszyscy już go przywitają a on dopiero wejdzie na serwer, ponieważ np. będzie mu się długo ładowało  Wiec używamy client_putinserver(id).
    Pod } od plugin_init dopisujemy:
    public client_putinserver(id){ } Teraz przydało by się pobrać nick gracza którego chcemy przywitać, więc używamy funkcji get_user_name(id, name[], len). Już pędze z wyjaśnieniami. id - Jak wiadomo id gracza który wszedl na serwer.  name[] - nazwa zmiennej do której chcemy zapisać nick tego gracza oraz len - długość tej zmiennej. Teraz trzeba wyświetlić gdzieś te powitanie. Najlepiej do tego posłuży HUD. samodzielne konfigurowanie tego nie należy do najprzymeniejszych rzeczy wiec polecam w amxxstudio: Generators>hudmessage generator i wybranie sobie koloru i pozycji. Następnei formatujemy wiadomość. Powinno to wyglądać mniej więcej tak:
    public client_putinserver(id){     new name[48];     get_user_name(id, name, 47);     set_hudmessage(0, 127, 255, 0.02, 0.13, 0, 6.0, 12.0)     show_hudmessage(id, "Witamy %s na serwerze!", name) } To może teraz sprawdzimy czy gracz jest vipem i odpowiednio napisać. Założymy, że VIP jest na flage t czyli w kodzie będzie to ADMIN_LEVEL_H (pełny link do tego: -> Klik <-)
    Więc robimy odpowiednie ify, czyli będzie to mniej więcej cos takiego:
    public client_putinserver(id){     new name[48];     get_user_name(id, name, 47);     set_hudmessage(0, 127, 255, 0.02, 0.13, 0, 6.0, 12.0)     if(get_user_flags(id) & ADMIN_LEVEL_H)         show_hudmessage(0, "[VIP]Witamy %s na serwerze!", name)     else         show_hudmessage(0, "Witamy %s na serwerze!", name)     }     W funkcji show_hudmessage pierwszy argument "0" powoduje wysłanie do każdego gracza. Można też zrobić to w pętli gdy funkcja nie ma takiej możliwości.
     
    Całość:
     
     
    Zdaje sobie sprawe, że jest to mało, lecz pisanei tego poradnika troche mi zajeło. Ja wiem, że nie jestem w tym jakiś wybitny a co dopiero idealny, więc zapewne jakieś błędy się wkradły. No niestety, wszyscy jestesmy ludźmi, mam nadzieje że mi wybaczycie i uszanujecie mój czas włożony w ten poradnik, który napisałem dla Multi-Head.pl i proszę o uszanowanie tego i nie przywłaszczanie/kopiowanie na inne fora.
  5. Haha
     klqs przyznał reputację dla SUNN.[ZAMKNIĘTY Szukam Pluginu   
    Są paczki COD 301, 5s gogla.
    co?
    Normalnie xD Jak inne pluginy.
  6. Lubię to
     klqs otrzymał reputację od Darshil[ODRZUCONE]Dostałem bana za nic ;p   
    Masz czelność pisać odwołanie jeszcze? Bez UB
  7. Haha
     klqs przyznał reputację dla RYBSON #URLOP[ODRZUCONE]Dostałem bana za nic ;p   
    Zastosuj się do wzoru:
    Twój nick podczas gry:
    Godzina, data zdarzenia:
    Mapa:
    STEAM_ID / IP:
    Uzasadnienie:
  8. Lubię to
     klqs otrzymał reputację od BezziHistoria gier komputerowych   
    Pegasusa do dzisiaj mam Kupiony za pare milionów złotych  Ciekawy artykuł.
  9. Haha
     klqs przyznał reputację dla BezziHistoria gier komputerowych   
    Okey mam wystarczającą ilość komentarzy żeby coś podsumować, mianowicie w środku artykułu jest ukryta treść byłem ciekaw ile osób to przeczyta jak widać nikt nie dotarł do połowy Nic nie szkodzi poprostu sie dowiedziałem żeby pisać krótsze artykuły na przyszłość żeby was nie zanudzać ^^ 
    (A teraz mały test - chce wiedzieć czy jest sens tworzyć tak długie artykuły, każdy kto tutaj dotarł niech napisze komentarz "Malu krul" ja podepne serduszko! Pamiętajcie żeby rozwinąć swoje wypowiedzi)
    Pozdrawiam! 
  10. Serduszko
     klqs przyznał reputację dla BezziHistoria gier komputerowych   
    HISTORIA GIER KOMPUTEROWYCH (Konsole)
    Dzisiaj przedstawię Wam dość obszerny artykuł na temat gier komputerowych i ich początk m.in jak powstawały, jaka była ich ideologia i dużo więcej, zapraszam serdecznie do lektury.
    ZACZYNAJMY!
    Czym są gry komputerowe? Gry komputerowe to nic innego jak interaktywne programy służące do celów rozrywkowych. Początki "gier" miały miejsce już w 1947 roku, co może wydawać sie absurdalne, lecz jest jak najbardziej prawdziwe. Bardziej szczegółowo w tych czasach wynaleziono pierwszy *prototyp/symulator. Do roku 1972 gry były produktami akademickimi, do życia weszły dopiero za sprawą gry nazwanej Pong.

    CZYŻ NIE WYGLĄDA ZNAJOMO?
    Dzięki tej grze tak naprawdę zawdzięczamy to co mamy obecnie, ponieważ ona pchneła świat rozrywki do przodu w ciągu kilku lat powstały konsole i automaty, a następnie pierwsze komputery stacjonarne zawitały w naszych domach. Cofnijmy sie teraz troszkę w czasie i poznajmy jak to wszystko powstawało od pierwszej generacji do obecnej. 
    POWRÓT DO PRZESZŁOŚCI.
    Pierwsza generacja.
    W 1951 roku pewien mechanik telewizyjny Ralph Bear wpadł na pomysł interaktywnej telewizji, podczas budowania szkicu telewizora Loral, wszystko odbyło sie w Nowym Jorku na Bronksie, lecz to dopiero wierzchołek góry lodowej. Przez lata badał swój projekt, aż w 1966 roku stworzył pierwszą interaktywną gre, którą nazwał CHASE. Były to dwie kropki scigające sie po ekranie telewizora. Swoją pierwszą produkcję przedstawił Herbertowi Camanowi, który przekazał fundusze na dalsze rozwijanie projektu, który stał sie oficjalny. 1967 roku zatrudniono Billa Harisona, który stworzył pierwszy pistolet świetlny.

    pistolet świetlny XG-1 do konsoli XEGS
    Znamy już początek, a żeby Was nie zanudzać przejdziemy do pierwszych konsol i gier pierwszej generacji.
    Konsole gier wideo pierwszej generacji. 

    Magnavox Odyssey
    Cena w dniu premiery: 100US$ 
    Data Wydania: USA 1972-94
    W akcesoriach posiadał pistolet świetlny (zdjęcie wyżej)
     

    Magnavox Atari/Sears Telgames Pong
    Cena w dniu premiery: 100US$
    Data wydania: USA 1975. Konsola była dostępna tylko w Ameryce.
    Akcesoria: Brak.
     
    Druga generacja.
    Interaktywne pierwsze gry 8-bitowe w latach 1976-83 były wydawane na tzw. Kartidżach, które wyglądały następująco 

    Pierwsze Programy były zapisywane w pamięci **ROM. Pierwszą konsolą na rynku z kartidżami była Farchild VES, która powstała w 1976 roku. Atari również nie chciała odbiegać od konkurencji, więc stworzyła własną konsole nazwaną Video Computer System (VCS). W 1979 roku kilku niezadowolonych pracowników Atari postanowiło stworzyć własny projekt, który znamy do dziś, firma nazywa sie Activision. W 1980 roku firma Matell wydała konsole o nazwie Intellivision, która była lekko zacofana w przypadku konkurencji z powodu 8-bitowca, lecz jej procesor był najbardziej sprawnym na rynku - to ją wyróżniało. W grudniu 1983 roku po wielu sukcesach era gier zaczęła przeżywać swoją klęske.
    Konsole gier wideo drugiej generacji.
     Magnavox RCA STUDIO II (nie mylić z dwójką to lierka i)
    Cena w dniu premiery: - 
    Data wydania: 1977 r.
    Akcesoria: Brak
     

    Fairlchild Channel F
    Cena w dniu premiery: 169.95US$
    Data wydania: 1976 r.
    Akcesoria: Dżojstik
     
    Atari 2600
    Cena w dniu premiery: 199US$
    Data wydania: 1977 r.
    Akcesoria: Dżojstik
     
    Intellvision 
    Cena w dniu wydania: 299US$
    Data wydania: 1979 r.
    Akcesoria: Kontroler
    Atari 5200
    Cena w dniu wydania: -
    Data wydania: 1982 r.
    Akcesoria: Dżojstik
     
    ColecoVision
    Cena w dniu wydania: -
    Data wydania: 1982 r.
    Akcesoria: Kontroler
     
     
    Koniec ery gier? 1983-84
    Pierwszy tzw. Krach gier miał swoje miejsce w 1983 roku, wiele setek gier wyprodukowamych w tym czasie nigdy nie ujrzało światła dziennego, liczba sprzedaży została ograniczona do minium. Twórcy myśleli, że to koniec. Tym samym naprzeciwko wyszła nowa konsola Nintendo Eintertaiment System (NES), gdzie skorzystała z owej zapaści. Przyczyną kryzysu było masowe wypuszczanie gier o bardzo niskiej jakości co spowodowało ich mierne zainteresowanie. Jednym z głównych powodów było masowe wprowadzanie komputerów stancjonaenych cytując "Po co kupować dziecku konsole skoro można kupić komputer przygotowujący do szkół".
    Kryzys nie trwał długo.
     
    Trzecia generacja
    Po kryzysie nastała nowa era gier trzeciej generacji, przez wielu uznawana jako "współczesna". Gry były oparte na tej samej wersji czyli 8-bitowce. Co ją wyróżniało to, to, że owe bity zostały podzielone na kategorie "ilości bitów". W trakcie ery trzeciej generacji największą sławą cieszyly sie konsole Japońskiej firmy Famicon. W tym okrrsie powstały również pierwsze oznaczenia jakie mamy do tej pory, a dokładniej każda konsola miała swoje oznaczenia w tamtym okresie od pierwszej do trzeciej generacji. Przykład mamy z powstałej konsoli Atari 7800, która powstała  okresie trzeciej generacji, a była nazywana jako konsola pierwszej generacji ze względu na swoje niskie jak na ten czas parametry.
    Konsole gier trzeciej generacji

    Nintendo Eintertaiment System (NES)
    Cena w dniu wydania: 179US$
    Data wydania: 1983 r.
    Akcesoria: 2 dżojstiki + pistolet świetlny
     

    Atari 7800
    Cena w dniu wydania: 140US $
    Data wydania: 1986 r.
    Akcesoria: Gamepad
     

    Sega Master System
    Cena w dniu wydania: 200US $
    Data wydania: 1985 r.
    Akcesoria: -
     
    Czwarta generacja
    Czwarta generacja zapoczątkowały gry 16 bitowe, była to ogromna odskocznia od poprzedniej generacji. W rynku gier ogromną popularność zdobyły konsole Super Nintendo Eintertaiment System i Sega Mage Drive. Konsola TurboGrafx-16 również zdobyła popularność, lecz jedynie w Japonii. Nintendo jak i Sega zaczęły ze sobą rywalizować co nazwano "czasem największej konkurencyjności na rynku gier". W tym samym czasie pojawiły sie pierwsze napędy CD-ROM, które zostały wykorzystane w konsolach Sagi jak i TurboGrafx. NEC, Nintendo i Sega rywalizowały ze sobą na rynku w zakresie dodatków do konsoli, jedna z firm NEC wyprodukowała dodatek, którym był TurboGrafx CD, osiągnęła ona cene niebagatelną i bardzo wysoką jak na tamten okres, bo aż  500US $. Nintendo również nie odbiegało od konkurencji i stworzyło Sega-Mega CD jak i Sega 32X, nie było to jednak żadnym przełomem, zwyczajnie był to dodatek jak każdy inny, wejście na płyty CD o czym świadczy nazwa. (A teraz mały test - chce wiedzieć czy jest sens tworzyć tak długie artykuły, każdy kto tutaj dotarł niech napisze komentarz "Malu krul" ja podepne serduszko! Pamiętajcie żeby rozwinąć swoje wypowiedzi) Podczas czwartej generacji powstały pierwsze przenośne konsole, które zaprezentuje poniżej. 
    Konsole czwartej generacji

    TurboGrafx-16
    Cena w dniu wydania: -
    Data wydania: 1989 r.
    Akcesoria: Dżojstik
     
    Sega Mage Drive
    Cena w dniu wydania: -
    Data wydania: 1988 r.
    Akcesoria: Dżojstik
     

    Super Nintendo Eintertaiment System 
    Cena w dniu wydania: 199US$
    Data wydania: 1990 r.
    Akcesoria: ***Gamepad
     
    Atari Lynx
    Cena w dniu wydania: 179US$
    Data wydania: 1989 r.
    Akcesoria: Brak
     

    Game Boy
    Cena w dniu wydania: 1989 r.
    Data wydania: 89.95US$
    Akcesoria: Brak
     
    Sega Nomad
    Cena w dniu wydania: 180US$
    Data wydania: 1995 r.
    Akcesoria: Brak
    Piąta generacja 
    Piątą generacja to początek gier 32 jak i 64 bitowych, na rynku dominowały głównie marki, które każdy z Was zna, mianowicie chodzi o firmy takie jak Sony, Nintendo i Sega. Co bardzo ciekawe konsola Sony była 32 bitowa, mini gry też nie chciały pozostać w tyle dlatego też wydały swoje dwie przenośne konsole, które kryją sie pod nazwą GameBoy. Była to dość krótka era nie miała wielkiego znaczenia na rynku, a wojna firm trwała. 
    Konsole piątej generacji
    PlayStation
    Cena w dniu wydania: 299US$
    Data wydania: 1994 r.
    Akcesoria: Gamepad
     

    Sega Saturn
    Cena w dniu wydania: 299US$
    Data wydania: 1994 r.
    Akcesoria: Gamepad
     

    Nintendo Saturn
    Cena w dniu wydania: -
    Data wydania: 1996 r.
    Akcesoria: Gamepad

    GameBoy Color
    Cena w dniu wydania: -
    Data wydania: 1998 r.
    Akcesoria: -
     
    Szósta generacja
    Jest to era gier 128 bitowych, odnosi sie do gier komputerowych jak i konsol, konsol przenośnych. Konsole te zaczęły sie pojawiać sie na początku 21 wieku, naprawdę w internecie jest bardzo mało informacji na temat tej ery co może znaczyć jej znaczyć jej niskie zainteresowanie, mianowicie w tym czasie zaczęły rządzić gry na PC-ety, m.in w tym czasiw powstał nasz kochany counter strike, który każdy z Was zna, o tym w kolejnym artykule. 
     
    Konsole szóstej generacji

    PlayStation 2
    Cena w dniu wydania: 299US$
    Data wydania: 2000 r.
    Akcesoria: Gamepad
     
    Xbox One
    Cena w dniu wydania: 499US$
    Data wydania: 2002 r.
    Akcesoria: Gamepad
     
    Siódma i ósma genracja
    Okres gier komputerowych, który rozpoczął sie w 2005 roku w tym okresie powstały takie konsole jak PlayStation 3 jak i również Xbox 360, były one i są do tej pory topowymi konsolami na świecie. Bardzo popularne stały sie mikropłataności, osiągnięcia (puchary za wykonanie zadań w grach), które znamy choćby ze steam. Za sprawą bardzo dużej popularności tabletów i smartfonów, znacząco zmalała sprzedaż ówczesnych konsol, nie miało to jednak wpływu na rozrost emitowanych gier. Gry zaczęto pokazywać jako rozrywke dla widza, a sport dla gracza, dało to mocnego kopa do powstania e-sportu, który znamy do dzisiaj i który nadal sie rozwija. Ósma genracja Czyli wszystko to co mamy obecnie, owa generacja powstała w 2011 roku przynajmniej tak twierdzimy. Smartfony, tablety, konsole, komputery wszystko co mobilne jest właśnie tą erą. W internecie nie ma zbyt wielu informacji, a to dlatego, że ta generacja nadal trwa. Konsolami jakie zapoczątkowały tę ere są PlayStation 4, Wii i Nintendo DS. 
     
    Konsole siódmej i ósmej generacji

    Xbox 360
    Cena w dniu wydania: 599US$
    Data wydania: 2005 r.
    Akcesoria: Gamepad
     

    PlayStation 3
    Cena w dniu wydania: 599US$
    Data wydania: 2006 r.
    Akcesoria: Gamepad
    PlayStation Portable
    Cena w dniu wydania: -
    Data wydania: 2004 r.
    Akcesoria: - 
    PlayStation 4
    Cena w dniu wydania: 700US@
    Data wydania: 2013 r.
    Akcesoria: Gamepad
     
    To by było na tyle, naprawdę starałem sie wszystko streścić tak bardzo jak to możliwe. Jeśli chcecie kolejny artykuł, lecz o sprzętach komputerowych, to zostawcie suba lajka i napiszcie w komentarzu  
    źródło: KLIK
     
    *pierwotne, najwcześniejsze urządzenie, obwód lub program zaprojektowany i zbudowany w celu zademenostrowania zdolności do budowy urządzenia docelowego.
    **(od ang. read-only memory) – pamięć półprzewodnikowa urządzenia elektronicznego, w szczególności komputera, z której dane można tylko odczytywać, natomiast zapis jest niemożliwy albo może wymagać dodatkowych czynności lub sprzętu (na przykład programatora).
    ***Gamepad/ kontroler (także joypad, pad) – urządzenie sterujące używane w grach wideo i komputerowych
    Pozdrawiam mame tate i rodziców
  11. Lubię to
     klqs przyznał reputację dla malykibol[ODRZUCONE]Malykibol na admima? po raz 2 drugi   
    Nick: malykibol
    Wiek: 17
    Doświadczenie (w byciu adminem): byłem kilka razy adminem
    Znajomość AMXX (W skali 1-10): 6-7
    Staż w CS-sie: 6-7 lat bez przerw
    Steam / NonSteam: steam
    Dlaczego Ty: widzę co raz częściej haxow na serverze czy dzieci nad używające mikrofonu i chce pomoc ich banowac.
    Czas jaki dziennie poświęcasz na CS-a: różnie czasami cały dzień a czasami w ogóle (7h na tydzień bedzie).
    Kontakt: steam, od kopać GG mogę
    Link do GameTracker'a: https://cache.gametracker.com/player/malykibol/91.224.117.58:27060/
  12. Lubię to
     klqs otrzymał reputację od Wojtyś[ZAAKCEPTOWANE]Powrót Wojtka.   
    Na tak. Aktywny, steam, doświadczony.
  13. Haha
     klqs otrzymał reputację od  ~MiyaGu*Pokażcie swoje mordki!   
    proponuje ustawić tu +18 
  14. Serduszko
     klqs otrzymał reputację od BezziPokażcie swoje mordki!   
    proponuje ustawić tu +18 
  15. Haha
     klqs przyznał reputację dla wandiPokażcie swoje mordki!   
    dwa lajki A N I A

  16. Haha
     klqs przyznał reputację dla dexter887 [ZAMKNIĘTY]Dziwne lub magiczne   
    Nie mam  kodu  zwrotnego  a pieniadze  mi zabralo  z  konta rozumiesz   czy   trzeba ci  to  napisac  24zl mi   zabraliscie!!!!!!z  komorki  za  tamten miesiac to samo  bylo 12zl  i kod  niepasowal  terawogole kodu  niemam  a pieniadze zabralo    masz   system  sprawdz  w  systemie i  nie  rob se  jaj   ze mnie nie lubie tego!!!!
  17. Haha
     klqs przyznał reputację dla SUNN. [ZAMKNIĘTY][COD 200] Awans na bezrobocie Gustawa   
    W dniu dzisiejszym na zasiłek przechodzi @Gustaw.
    Dziękujemy za współpracę
  18. Serduszko
     klqs otrzymał reputację od RYBSON #URLOP [ZAMKNIĘTY]Luźna propozycja   
    10+ do każdych stat i + 5%dmg dodane
  19. Haha
     klqs przyznał reputację dla ScoobyDoo[ZAMKNIĘTY Co byś kupił/a osobie wyżej xD   
    A to browarek dla tego Pana jak tak
  20. Lubię to
     klqs przyznał reputację dla Master [ZAMKNIĘTY][Moderator TS3] Awans - WolfiDraV   
    W dniu dzisiejszym nowym moderatorem TS3 zostaje @WolfidraV.
    Gratuluje i zycze owocnej wspolpracy
  21. Lubię to
     klqs otrzymał reputację od Dzej [ZAMKNIĘTY]csgo 3maps   
    Zbanowany, dzięki za zgłoszenie. Następnym razem staraj sie wrzucać na zippy bo tutaj jest limit prędkości i przy wiekszych demkach sie długo pobieraja 
  22. Nie mam pytań
     klqs przyznał reputację dla TacoProGamer [ZAMKNIĘTY]Dpi w cs 1.6   
    Oj dzieci, dzieci...
    Dpi jest najwazniejsze w cs bo bez tego nie masz w ogole jak trafic bo przykladowo przy dpi 1000 masz 1000 receptorow wykrywajacych ruch myszki wiec oczywice ze trzeba ustawiac jak najwiecej najlepiej 16 000 bo najdokladniej wtedy wyrywa. Np przy 100 dpi myszka wykrywa ruch i go rejestruje co 1cm wiec sobie wyobraz gre na takiej dokladnosci.
    Pro gracze ustawiaja zasze najwieksze DPI i SENS w cs grajac na 16k dpi i 20 sens w cs, do tego maja 300-400 fps(bez tego nie ugrasz)
    Dlatego sa tak czesto banowani bo przy takiej dokladnosci celownik skacze jak na sprezynie i wyglada to jak aim.
    Pograjcie sobie na roznych serwerach i zobaczcie pro graczy m-h takich jak  @5g_kolos @Bezzi  @Idealna Bania
     
  23. Wkurzony
     klqs przyznał reputację dla RYBSON #URLOP[UB]Banicja   
    Witaj Graczu. Zostałeś odbanowany. Twoje SSy bądź odwołanie od bana zostało rozpatrzone pozytywnie. Wracaj do gry i pamiętaj, aby grać czysto.
    Pozdrawiamy,
    Zespół Multi-Head.pl
  24. Haha
     klqs przyznał reputację dla  Maajkeel[ODRZUCONE]Podanko Missia :)   
    Oczywiście, że jestem na TAK:
    + posiada wielkie doświadczenie w dodawaniu rang nie będąc oficjalnie moderatorem ts3  
    http://scr.hu/6cd5/3m695
    Mogę się mylić, ale wydaję mi się, że nadawanie rang należy do obowiązków moderatorów,  których w tamtym momencie było trzech na ts3, wystarczyło któregoś z nas poke.
  25. Lubię to
     klqs otrzymał reputację od WolfIDraV[ZAAKCEPTOWANE]Znowu Ja   
    Na tak, prawie zawsze jak wbije to siedzi. Poradzi sobie 
×
×
  • Dodaj nową pozycję...