-
Postów
1 970 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Dawidds
-
QuadEngine RagDoll
Dawidds odpowiedział(a) na Crackkk-GM temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
Ale bieda ^^ W temacie pisałeś, że TAKI SAM efekt, jak na XenoNie da się osiągnąć lengthdir'ami i collision_circle(). A tu bieda, dużo więcej funkcji, potrzebny DLL, a efekt tak badziewny, że nie wiem, jak to opisać. Postać przelatuje przez kulki, brak pętli (a to już mówi po poziomie autora...), grawitacji nie komentuje, i w ogóle, praktycznie zero fizyki. Naprawdę nie ma co się brać za engine od fizyki, jeśli nie ma się o tym zielonego pojęcia. Sorry, ale oceniam efekt, a nie nakład pracy. 2/5. -
XeDI Pendulum
Dawidds odpowiedział(a) na PsichiX temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
Ehhh... to, że gra korzysta z DLL'a wcale nie oznacza, że będzie szybsza... Dla przykładu - chcę zrobić skrypt obliczający sumę dwóch liczb (dla przykładu, no :P), co będzie wydajneijsze: 1. Napisanie własnej funkcji w GM'ie. 2. Wczytywanie DLL'a, DLL to liczy, i zwraca nam wynik. Akurat przykład dość zły, bo ogólnie rzecz biorąc na DLL'u i tak wyjdzie szybciej, niż jakby to GM miał liczyć... :P I pytanie: PsichiX - używasz w swoim XenoNie jakiejś funkcji, której nie ma w GM'ie (i nie można by jej napisać (oczywiście bez użycia żadnego DLL'a :P))? Jeśli nie, to da się tego zrobić bez DLL'a, i tyle ;P Edit: Co jest O.o ? Najpierw Pental pisze do Yody, że nie da się tego zrobić samym GM'em, a potem pisze, że się da, bo "wszystko jest możliwe" O.o -
Tylko sprecyzuję... Uzjel, Pental - nie sprawdzaliście, a komentujecie ^_^ W draw_aa_init() tworzę sprite linii o szerokości 64. Po to tworzę to dynamicznie, aby móc se ustawić "jakość" tejże linii (właśnie to 64). Zaś w draw_line_aa() wykorzystuje GM'owy system interpolacji pixeli, aby namalować odpowiednio obrócony sprite kreski, o odpowiedniej skali. I wuala, czy jak to się tam pisze :P PS: O, GMC nie koloruje globalvar :D
-
Czyli po prostu skalować prostokątny sprite tak, aby wyglądał jak linia (tak odpowiednio się zeskalował, aby był tak duży, jak odległość od puntu B do C)? To masz ten kod, co dałem :P Powinie działać. Ew. masz kod na linię z antyaliasingiem - ja się dzielę kodem, nie tak jak PsichiX (haha! :P) GML // draw_aa_init() _surf = surface_create(64, 3); surface_set_target(_surf); draw_clear_alpha(c_black, 1); draw_set_color(c_white); draw_set_alpha(1); draw_line(0, 1, 64, 1); globalvar spr_aa_line; spr_aa_line = sprite_create_from_surface(_surf, 0, 0, 64, 3, 1, 1, 0, 1, 0, 1); surface_reset_target(); GML // draw_line_aa(x1, y1, x2, y2, color, alpha); // // Drawing an anti-aliasing line // by Dawidds =D _dist = point_distance(argument0, argument1, argument2, argument3) / 64; _dir = point_direction(argument0, argument1, argument2, argument3); texture_set_interpolation(1); draw_sprite_ext(spr_aa_line, 0, argument0, argument1, _dist, 1, _dir, argument4, argument5); texture_set_interpolation(0); Masz tu coś podobnego (obliczanie zmiennej _dist) :)
-
O.o Nie do końca rozumiem. O coś takiego ci chodzi...? GML image_xscale = odleglosc/sprite_width
-
XeDI Pendulum
Dawidds odpowiedział(a) na PsichiX temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
To zrób tak, żeby się nie rozciągał :P -
XeDI Pendulum
Dawidds odpowiedział(a) na PsichiX temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
To wyrabia maksymalnie zaledwie 212FPS O.o Ale efekt nawet nawet :) Tylko nie wiem, po co ten łańcuszek przechodzi rzez bąbelki :P -
UHX 3D Core(R) v0.3
Dawidds odpowiedział(a) na Darlix temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
Ten post trochę się tyczy postu w Lalce XenoNa, ale cóż... ^_^ Cytuję mniej-więcej Cracka:[guote]narysuj se lalke, w stepie kontrolera obliczasz punkty przez lengtihry, i sprawdzasz colision_circle() ze wszystkimi solidami A żeś się wyobraźnią popisał, chłopie ^_^ Pomyśl sobie, jakim cudem działałaby na takie coś fizyka. Pomyśl. Dokładnie. A jak dalej jesteś za swoim, to kurde, zamiast oraz dokładniej obrazować nam swoją "wizję", po prostu zrób tę lalkę, i już :) A co do tematu (no co? :P po co spamować? =D): kiedy możemy się spodziewać następnej wersji...? :P -
Mu chyba chodzi o... GML if(place_free(x, y+1)) { sprite_index = spr_leci; } else { sprite_index = spr_stoi; } :)
-
Dziwne, kod powinien działać... :P A teren robisz przy każdej eksplozji tworząc nowy sprite? :P Lepiej jest cały teren oprzeć na jednym wielkim surface - dużo szybciej, a jedyną trudnością jest napisanie własnego place_free() - nie patrzącego na solid normalnych pixeli, tylko na kolor pixeli surface'a. Może tworzysz belkę na złych pozycjach :P ? Jedyne, co się jakoś rzuca w oczy to tworzenie sprita przed surface_reset_target(), ale jakoś wątpię, aby to w tym miał tkwić problem ;/ Chociaż po GM'ie nie można się niczego spodziewać, także spróbuj... :P PS: Czy mi się wydaje, czy ja napisałem dokładnie to, co dwaj panowie wyżej...? :D
-
XeDI Ragdoll
Dawidds odpowiedział(a) na PsichiX temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
Hehehehe... Powiedzieć, co robi która funkcja po ich nazwach to se może ktoś, kto od pół godziny ma kontakt z GM'em, a zna podstawy angielsksiego (lub ma pod ręką słownik). Nie wymiguj się - miałeś poprawić przykład skrzynek - przecież sam go dla siebie w chwilkę poprawiłeś. Może i za chwilę poprawisz ten przykład - bo to prawda, jakby komuś bardzo zależało się "wgłębić" w ten kod, to by go zrozumiał. A przynajmniej umiał dorobić "kółka"... A nie to miałeś zrobić... napisałeś, że można sobie takie coś zrobić w prosty sposób za pomocą lengthdir'ów i collision_circle(). I to właśnie TO miałeś zrobić - a nie tłumaczyć mi kod, który każdy znający podstawy angielskiego może sobie bez problemu przetłumaczyć. A, i przyznaj się - wcale nie poprawiłeś sam dla siebie przykładu ze skrzynkami... :) Mimo, że tak napisałeś... PS: Nie, żeby to był spam - my tu w sumie na temat gadamy :P Wszystko o możliwościach i zrozumiałości kodu XenoNa... :D -
Kurde. Ale ze mnie idiota. Cały dzień siedziałem na laptopie (bez neta; komputer zajmował tata...), i się nudziłem. Żebym se chociaż przypomniał, że była tura, to bym zrobił... -.- Eh, takie życie. I kurde, tylko do siebie mogę mieć pretensje :P Nie obrażaj mojej nauczycielki od biologii... :)
-
Pierwszy gościu niezły, ale drugi to niewypał... :P Zbyt "skomplikowany", a na dodatek z ryjem nie za bardzo pasującym do klimatu gry... :P
-
Nie wiem, czy będę miał jutro czas, ale na 60% zrobię, bo temat (heh, w porównaniu do poprzedniego :P) całkiem fajny :) Hmmm... to musi być "typowy" Tower Defence? Znaczy, czy przeciwnicy muszą chodzić po ścieżkach :P ? Z pierwszego postu wnioskuję, że tak, ale wolę zapytać... :P Edit: Już nic :P
-
Wpisz sobie GML show_message(string(nazwa_sprita));, a zobaczysz, że nazwa spita jest stałą przechowującą id sprita :) A co do tematu - to co Marek.S, ale (chyba... :P) bez "return".
-
XeDI Ragdoll
Dawidds odpowiedział(a) na PsichiX temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
Efekt szczerze mówiąc słaby ;/ Rzucam postać wprawo, ta nagle leci w dół, głowa jak i inne części ciała nachodzą na przeszkody. A do tego niezwykle ekscytujący kod ^_^ OMG, WTF, LOL, ROTFL... Nie chce mi się dużo pisać, także tylko troszkę napiszę... 1. Pamiętasz temat o xenonowych skrzynkach? Wszyscy pisali, ze kod jest trudny, ty napisałeś, że jest prosty, i sam dla jaj sobie poprawiłeś ten przykład, czego o dziwo nawet PsichiX nie zrobił. Ja powiedziałem, że kitujesz, a jeśli nie kitujesz, to to udowodnij w prosty sposób. Ty odpisałeś, że nie będziesz podawał nikomu gotowego kodu... Podobnie teraz. Nie masz zielonego pojęcia o tym kodzie, nawet się mu dłuej nie przyglądałeś, a znawcę udajesz... 2. A moją tezę potwierdza fakt,. że uważasz, że da się to zrobić na colision_circle() i lengthdirach. Kur...de, powodzenia. PS: Zapewne już nic nie odpiszesz ^_^ A jak chcesz odpisywać, to dwaj swoją wizje zrobienia tego na collision_circle() -
GML text = Oto_twoj_tekst_ktory_zostanie_uciety"; if(string_length(text) > 10) { text = string_copy(text, 0, 10); //Nie jestem pewien kolejnosci argumentow, sprawdz to :P }
-
Mi np. Umbrella Engine działa na kompie normalnie, a na laptopie wyłazi Unexpected Error... Nie wiem, ja zobaczyłem ten błąd z 2 sytuacjach - 1. kiedy się particlami bawiłem, a 2. kiedy się DLL'ami bawiłem (znaczy przerabiałem przykład ;p). Spróbuj jakoś zidentyfikować te komputery, na których to nie działa. Znaczy... o, cecha wspólna tych komputerów, na których to nie działa :P
-
U mnie też ciągle 100 ^_^ A, i daj opcję gry w oknie :P Bo badziewnie to wygląda, jak pixele widać xd A teraz dawaj demko z edytorem leveli :D
-
objekt poruszający się w kierunku odciśnięcia myszy
Dawidds odpowiedział(a) na gol350 temat w Pytania zaawansowanych
Jezu... skoro kod jest w evencie Mouse Released, to po h...j jeszcze sprawdzasz to przez mouse_check_button_released()...? GML go_x = x; go_y = y; GML if(mouse_check_button_released(mb_left)) { go_x = mouse_x; go_y = mouse_y; } if(go_x != round(x) || go_y != round(y)) { mp_potential_step(<argumenty se ustaw sam, bo nie pamietam dokladnie;p> go_x, go_y, 2); } PS: Masz zwykłe chodzenie do punktu wciśnięcia myszy, bo tak to opisałeś, że wiesz ^_^ -
Absolutnie :P W ten sposób mogę wejść na praktycznie każdą podstronę, a to chyba można by zaliczyć pod atak... :P 1. Przede wszystkim sprawdzaj czy w tej zmiennej nie występuje przypadkiem "./" (albo nawet w ogóle jakikolwiek ukośnik) 2. Zrób jakiś system sprawdzania poprawności nazwy tego include'owanego pliku. Czyli najprostszym rozwiązaniem jest tutaj dozwolenie, aby nazwa pliku składała się wyłącznie z liter, cyfr i podkreślnika. 3. A poza tym to sprawdzaj, czy owy plik istnieje :P PS: A najbezpieczniej (bo raczej w głównym katalogu strony będziesz miał nie tylko podstrony, prawda...?) to wszystkie pliki podstron walnąć do osobnego katalogu :)
-
Jezus maria... Potępiam korzystanie z GM6, ale to jeszcze zrozumiem. Ale z GM5...? '-.- I opisz dokładniej problem. Ale najpierw, kurde, ściągaj GM7. A, i daj link do tego poradnika, bo możliwe, że po rpostu ten poradnik to głupota... :P
-
Czyli chodzi Ci ogólnie o połączenie wielu klientów do jednego serwera...? Ja np. tworzę sobie obj_client, w którym są zapisane wszystkie informacje o danym graczu, czyli sock, nick, i inne jakieś tam bajery. (że każdy klient na serwerze ma własny obj_client - są w nim zapisane jego dane) I obj_server odbiera dane po kolei od każdego clienta, a to, co odbierze, wysyła odpowiednio do każdego, innego klienta... :P Gracz naciskając spację wysyła do servera informację id wiadomości powiedzmy s_bullet_client (to jest stała, dawaj jej jakąś tam wartość naturalną), zawierającą x, y, i direction pocisku Kiedy serwer odbierze taką informację, wysyła ją po kolei do wszystkich graczy (oprócz tego, który ją wysłał), o id powiedzmy s_bullet_server. A w cliencie jest kod, który po odebraniu takowej wiadomości tworzy pocisk na odpowiedniej pozycji o odpowiednim kącie. Jak się nad tym głębiej pomyśli, to to jest proste :P PS: Przyjmuję, że wiesz, jak się przesyła dane w 39DLL ;)
-
1. Jeśli byś zrozumiał działanie tego przykładu, to byś wiedział. 2. Jak wyżej... 3. collision_line(x1, y1, x2, y2, obj, 1, 1) - sprawdza, czy obiekt obj koliduje z linią wyznaczoną przez x1, y1, x2 i y2. Czyli np... GML if(collision_line(x gornego punktu bramy, y gornego punktu bramy, x dolnego punktu bramy, y dolnego punktu bramy, obj_player, 1, 1)) { show_message("hurrraaa!!! przejro9czylem pierwsza brame :]##...a reszte bram zrob se sam;>"); }
-
Cóż, Kuba... Nie napisałeś nic o fabule, screenów nie dałeś, a jedyne, co dałeś to próbka gry, na dodatek... mała...? Może i grafika jest fajna, ale co z tego? Co jest fajoskiego w bieganiu nienaturalnie wysoko skaczącym kwadracikiem (swoją drogą to nienaturalny jest skok tego kwadracika... :P) po, może i ładnej, planszy...? Grafika to nie wszystko... A na pewno za mało, aby dawać zapowiedź. A tak swoją drogą, to kiedyś dawałeś link do tego an ShoutBoxie. Jeśli dobrze pamiętam, to to było z... 3 tygodnie temu...? I jedyne, czym się różniła tamta wersja od tej było to, ze tamta nie posiadała bohatera... :P Rozumiem, że grafik interesuje się grafiką. Ale be przesady, aby najpierw robić mega-super-bombowe-i-czadowe efekty, a dopiero później myśleć o tym, o czym będzie gra... :P PS: A, i ta plansza zbyt jasna jest ;) PS2: Ciekawe... W katalogu data jest "równe", gradientowe tło. Ale w grze jest "stopniowe" :D