Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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
 

Zdjęcie

Canvasrysowania na ścianie


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
14 odpowiedzi w tym temacie

#1 R3X

    Godlike

  • Przyjaciel

Reputacja: 2960
Godlike

  • Postów:4247
  • Lokalizacja:Nie
Offline

Napisano 26.02.2014 21:56

*
Popularny

Canvas

 

w ramach eksperymentu i `for the lolz` pracuję nad własnym rendererem wewnątrz serwera hlds. Canvas, czyli płótno. O co chodzi?

 

Plugin oddaje do dyspozycji API, dzięki któremu stworzymy płótno o dowolnych (niestety ograniczonych) rozmiarach. Na tym płótnie możemy rysować ustawiając odpowiednio kolor każdego z pikseli. Rysowaniem zajmuje się Program, rejestrując go podajemy nazwę publicznej funkcji, która będzie wołana co ramkę serwera i w ten sposób możemy aktualizować stan płótna.

 

Aktualnie płótna można dodawać i konfigurować jedyne z menu dostępnego pod komendą

amx_canvas

Można tam dodawać płótna, zmieniać wymiary, rozmiar i program.

 

Interakcja

Samo rysowanie to mało. Oczywiście, że chciałoby się mieć wpływ na to co jest rysowane będąc graczem. Podstawowa interakcja to pozostawanie w zasięgu. Główny plugin pozwala zarejestrować callbacki wołane gdy gracz wchodzi i wychodzi z zasięgu płótna. Pozwala to np. zmienić wyświetlany kolor, gdy ktoś patrzy.

 

Bardziej zaawansowany jest interfejs związany z klawiaturą. Jeśli zdecydujemy się zablokować kamerę gracza na płótnie, wysyłane będą forwardy (również dostępne jako rejestrowalne callbacki) gdy gracz naciska, puszcza lub przytrzymuje klawisz. Na razie nie ma żadnych blokad. Sterując mini-grą gracz będzie biegał i strzelał. Wkrótce się to zmieni :)

 

W planach jest także interfejs dotykowy, tzn gdyby jeden piksel był większy niż gracz to możliwe będzie precyzyjne określenie na którym z pikseli gracz stoi. Z tym wiąże się mnóstwo pomysłów do zrealizowania.

 

Innym typem interakcji może być strzał w piksel. Umożliwiłoby to np. grę w kółko i krzyżyk, gdzie gracze na przemian strzelają w pole gdzie chcą postawić swój znak.

 

Inicjalizacja

Głównie z powodów technicznych narodziła się idea inicjalizacji. Narysowanie dwustu pikseli na raz zawiesiło mi serwer na dobre kilka sekund, a chwilę potem dostawałem channel overflow. Jako obejście wybrałem liniowe rysowanie pikseli w pierwszych chwilach życia płótna. Podstawowy initializer rysuje po 4 piksele na ramkę, od pierwszego do ostatniego. Potem będzie więcej opcji.

 

Ograniczenia

Silnik hl pozwala klientowi rysować ~256 bytów. Każdy piksel płótna jest bytem, więc teoretycznie możemy osiągnąć kwadrat 16x16. Jednak kto pierwszy ten lepszy, więc od tej puli należy odjąć wszystko co jest narysowane na mapie + miejsce na nowe obiekty jak wypadające po śmierci bronie czy rzucone granaty. Będąc sam na serwerze bez zamiaru strzelania się z kimś używałem płótna 28x8. Gdyby ktoś chciał umieści płótno na żywym serwerze wątpię czy udałoby się to zrobić dla rozmiarów większych niż w sumie 100-150 (np. 15x10 ).

 

Demo

Podczas prac robiłem krótkie filmiki z postępów. Oto lista: http://www.youtube.c...hKwIexxiDB238rI

 

Źródło

https://github.com/e...iks/amxx-canvas

 

Na razie nie ma sensu robić paczki. Wersja jest dość wczesna. Da się już coś zrobić, ale raczej również jako ekperyment. 

 

 


Użytkownik undefined edytował ten post 27.02.2014 21:49

  • +
  • -
  • 26

#2 Cypis'

    Master

  • Przyjaciel

Reputacja: 1138
Super Hero

  • Postów:964
  • GG:
  • Steam:steam
  • Lokalizacja:polska
Offline

Napisano 26.02.2014 22:10

Pomysł bardzo fajny, i z pewnością da spore możliwości na różnych modach np. jailbreak itd.


  • +
  • -
  • 0

#3 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1339
Godlike

  • Postów:3556
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 27.02.2014 01:15

R3X czy ty to k**wa google translate tlumaczyles? xDDD


ale efekt meeeega :D


  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#4 sNH.

    Czy MisieQ ukradł ciasteczko?

  • Power User

Reputacja: 297
Wszechwidzący

  • Postów:1070
  • Steam:steam
  • Imię:Bartek
  • Lokalizacja:Ełk
Offline

Napisano 27.02.2014 14:53

Zaje super


  • +
  • -
  • 0

#5 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6033
Godlike

  • Postów:10825
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 27.02.2014 15:45

Witamy z powrotem reksiu ;)


  • +
  • -
  • 0

#6 ToRRent

    Dirty Bomber

  • Power User

Reputacja: 227
Wszechwidzący

  • Postów:861
  • Steam:steam
  • Imię:Łukasz
  • Lokalizacja:Kraków
Offline

Napisano 27.02.2014 23:27

Pytanie, czy możemy dynamicznie zmieniać położenie płótna? w ten sposób można by stworzyć motion tracking na obiektach.


  • +
  • -
  • 0

ZdobywcyGier

YouTubeFacebook |  Twitch


#7 R3X

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 2960
Godlike

  • Postów:4247
  • Lokalizacja:Nie
Offline

Napisano 27.02.2014 23:32

Cieszę się, że się wam podoba :)

 

@ToRRent

aktualnie nie, ale nic nie stoi na przeszkodzie żeby przesuwać płótno, z poziomu menu czy pluginem; jeśli masz czas i chcesz mi pomóc z takim featurem to zapraszam do forkowania 


  • +
  • -
  • 0

#8 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 28.02.2014 09:49

Dostajesz + ode mnie za 3 rzeczy:
1. Że Ci się chciało
2. Że to zrobiłeś
3. Że kod trzymasz na GITcie :)
  • +
  • -
  • 1
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark

#9 R3X

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 2960
Godlike

  • Postów:4247
  • Lokalizacja:Nie
Offline

Napisano 26.04.2014 20:32

*
Popularny

Dodałem zdarzenie gdy gracz patrzy na konkretny piksel, Ciężko było użyć silnika, bo np pod kątem byt nie będzie dokładnie takiego rozmiaru co piksel. Pomogła matematyka. Kod wciąż wymaga optymalizacji, ale zaczęło się coś dziać :)

 


  • +
  • -
  • 12

#10 Makale

    Wszechwidzący

  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:231
  • Lokalizacja:Płock
Offline

Napisano 23.06.2015 21:59

Co dalej z projektem ? Zapowiedział się ciekawie.


  • +
  • -
  • 0

Poszukuję: serwerów do sieci, grafika do sieci oraz kilku stron WWW (prywatnych), adminów na serwery, itp.

Szukasz zajęcia na wolne chwile ? Pisz !

b_350_20_5A6C3E_383F2D_D2E1B5_2E3226.png

Zapraszam !


#11 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6033
Godlike

  • Postów:10825
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 23.06.2015 22:03

R3X jest już raczej nie aktywny ale z tego co już jest można korzystać ;)


  • +
  • -
  • 0

#12 Makale

    Wszechwidzący

  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:231
  • Lokalizacja:Płock
Offline

Napisano 24.06.2015 08:49

Kody otwarte, udostępnione. Może ktoś przejmie inicjatywę.


  • +
  • -
  • 0

Poszukuję: serwerów do sieci, grafika do sieci oraz kilku stron WWW (prywatnych), adminów na serwery, itp.

Szukasz zajęcia na wolne chwile ? Pisz !

b_350_20_5A6C3E_383F2D_D2E1B5_2E3226.png

Zapraszam !


#13 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6033
Godlike

  • Postów:10825
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 25.06.2015 11:45

Pytanie co tu jest jeszcze do zrobienia , nie widziałem jeszcze aby ktoś użył tego w swoich projektach


  • +
  • -
  • 0

#14 Pawelek:*

    Życzliwy

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:31
  • GG:
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 22.07.2015 11:30

Haha nie no zaje****e kiedy to udostępnicie? 


  • +
  • -
  • 1

j67tcj.jpg

b_350_20_082669_000000_FFFFFF_000000.png


#15 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6033
Godlike

  • Postów:10825
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 22.07.2015 11:36

Przecież masz w 1 poście :P


  • +
  • -
  • 2




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych