Skocz do zawartości

LolikZabijaka

Użytkownicy
  • Postów

    1173
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    2

Zawartość dodana przez LolikZabijaka

  1. Temat ze spritesami załatwiony. Następne zagadnienie dotyczy AI, jest mały problem, mianowicie mamy taki kodzik: STEP przeciwnika: pocisk.direction = point_direction(x,y,gracz_par.x,gracz_par.y); Pocisk tworzy się w taki sposób, że przeciwnik w ułamku sekundy(jeden step) obraca się w stronę gracza i niemal zawsze we mnie trafia, mimo że unikam strzałów. Trafia mnie średnio 9 na 10 razy, nie sposób tego uniknąć i teraz: Załóżmy, że dam mu w create zmienną maksymalnego kąta obrotu na jeden STEP, dajmy na to 0.25 stopnia. Jak zaimplementować w kodzie, aby w momencie interakcji z graczem przeciwnik obrócił się płynnie i celował we mnie z pewnym błędem(załóżmy 15 stopni) i przede wszystkim, żeby nie robił tego tak szybko, tylko najpierw we mnie "wymierzył" pozdrawiam.
  2. Będę pisać w tym wątku, nie ma sensu robić nowego, temat "wizualny" niemal rozwiązany, dalsze pytanie będzie już stricte optymalizacyjne: 1. Jest sobie taki oto kodzik: if wyg2<5{ s_lydka1=s_wer_lyda_pr1 } if wyg4<5{ s_lydka2=s_wer_lyda_pr1 } } Generalnie kod działa poprawnie, ale zamiast robić s_lydka1=sprite_bla_bla, chcę zrobić, żeby s_lydka1=drugi subimage sprite_bla_bla. Nie wiedziałem, jak to napisać Mam nadzieję, że rozumiecie xd Nie mam pojęcia w jakiej funkcji to zawrzeć, próbowałem sprite_get_texture, ale wychodziły jakieś niestworzone rzeczy xd 2. W grze jest kilka rodzajów pocisków, załóżmy, że 3. Pistoletowy, karabinowy, pośredni, wszystkie są dziećmi obiektu "Parent pocisków" Niestety problem pojawia się przy ustawianiu parametru wroga, ponieważ oberwanie z każdego rodzaju pocisku przynosi inne skutki(takie było założenie) - zadaje inne obrażenia, a w przypadku zejścia - inny rodzaj obiektu ciała. Jest to o tyle upierdliwe, że z każdym rodzajem pocisku muszę robić osobną kolizję. Pytanie brzmi: Czy można ustawić kolizję z "Parentem pocisków" i potem w kodzie ustawić, że jeśli trzepnie go pośredni, to dzieje się jedno, a jak dostanie z karabinowego, to drugie? Podziękował
  3. Ok, znalezione, teraz pytanie, każdy jeden sprite muszę osobno tak dobijać ?
  4. Te pre-multiply robi się jakimś kodem, czy w ustawieniach sprite'a ?
  5. Znalazłem(częściowe) źródło problemu. Miałem wgrane stare Pole Tekstowe, które kiedyś zrobił Gnysek, to ono pierdzieliło mi całą grafikę, usunąłem dziadostwo i wygląda okej, jednak niektóre spritesy nadal mają jakieś wtrącenia innych kolorów, np. krew ma zielone piksele, a drzewa niebieską obwódkę, ogólnie obiekty, których image_angle jest zmiennie, te krzaczą się najczęściej(nie wszystkie) Gdzie szukać rozwiązania ?
  6. Skalowanie ustawiłem na MAX, 8192x8192, jeśli chodzi o surface, to nie używam, poza tym problem dotyczy też titlesów, rozmiar okna i view tak jak w oryginale, rozmiar okna 1280x720, taki sam obszar widzenia. Antyaliasing włączony, ale gdy nie jest aktywny, to wygląda to jeszcze gorzej.
  7. Cześć, pisałem już wcześniej o tym, ale odpowiedzi nie uzyskałem. Jakiś czas temu zrobiłem konwersję silnika gry z gm8 na gms 1.4, poprawiłem drobne błędy, aby gra chciała się uruchomić, niestety, po uruchomieniu produkcja mocno straciła wizualnie, zrobiła się pikseloza, pełno różnych "wtrąceń" i ogólnie dziwne rozmycie, co może być przyczyną, gdzie szukać problemu? Pokazuję screeny: Gra na GM8 Gra na GMS1.4
  8. Dobra, na modelu testowym problem zlikwidowany. Druga sprawa, po konwersji na GMS gra wygląda do dupy, wszystkie obiekty są rozpixelowane(nawet przy daniu wygładzenia krawędzi) całość wygląda, jakby była na najniższych ustawieniach, grafika stała się zniekształcona i zakrzywiona? Ustawiłem View na 1280x720, na poprzedniej wersji wyglądało dobrze, a tu taka kaszana, gdzie to ustawić ?
  9. W create mam po prostu wpisane to: bron = bron[ active ] Na gm8 wszystko działało, co tu trzeba zmienić? Tablicy w create nie ruszałem.
  10. Witam, postanowiłem przenieść swój projekt na GMS(chwilowo korzystam z wersji 1.4, tej najnowszej nie ogarniam, jest cholernie nieczytelna) Niestety nie udało mi się przenieść całej zawartości, jedynie sprity, dźwięki, tła, obiekty, te kluczowe przenoszę ręcznie, o ile AI i inne efekty przeszły bezproblemowo, to problem pojawił się przy obiekcie gracza, w dwóch kluczowych dziedzinach, czyli strzelanie i zmiana broni, Oto kod na zmianę broni: if ( not laduj ) exit i = 0 while( true ) { active -= 1 if ( active < 1 ) active = count if ( ammo_wmagazynku[ bron[ active ]] > 0 or ammo_zapasowe[ bron[ active ]] > 0 ) break if ( i = count ) break else i += 1 } trzyma=true celowanie=0 broni = bron[ active ] //zmiana broni Rolka myszy w górę, gra wywala do pulpitu, pokazując taki komunikat: ############################################################################################ FATAL ERROR in action number 1 of Mouse Event for Mouse Wheel Down for object o_gracz: trying to index a variable which is not an array at gml_Object_o_gracz_MouseWheelDown_1 (line 11) - if ( ammo_wmagazynku[ bron[ active ]] > 0 or ammo_zapasowe[ bron[ active ]] > 0 ) break ############################################################################################ Drugi crash następuje przy oddaniu strzału, postać wydaje dźwięk, pocisk się pojawia, ale od razu pokazuje się to: ############################################################################################ FATAL ERROR in action number 1 of Draw Event for object o_gracz: trying to index a variable which is not an array at gml_Object_o_gracz_DrawEvent_1 (line 8) - if ( ammo_wmagazynku[ bron[ active ]] > 0 or ammo_zapasowe[ bron[ active ]] > 0 and shoot=false ) ############################################################################################ Jak na moje, to wygląda na to, że GMS nie odróżnia od siebie zmiennych na zasadzie "strzał=strzał", w GM8 tego problemu nie było. KOD w DRAW bohatera: if trzyma=false and laduj=true { draw_sprite_ext(sprite_bron[bron],image_index,x-5,y+5,image_xscale, image_yscale,direction ,c_black,0.5) if ( shoot == true ) { if ( ammo_wmagazynku[ bron[ active ]] > 0 or ammo_zapasowe[ bron[ active ]] > 0 and shoot=false ) draw_sprite_ext( sprite_bron[ bron ],image_index,x,y,image_xscale, image_yscale, direction , image_blend,image_alpha) else draw_sprite_ext( sprite_strzal[ bron ],image_index,x,y,image_xscale, image_yscale,direction , image_blend,image_alpha) } else draw_sprite_ext( sprite_bron[ bron ],image_index,x,y,image_xscale, image_yscale,direction , image_blend,image_alpha) } if ( shoot == false and trzyma=true and laduj=true ) { if ( shoot=false ) draw_sprite_ext(sprite_trzyma[bron],image_index,x-4,y+4,image_xscale, image_yscale,direction ,c_black,0.5) draw_sprite_ext( sprite_trzyma[ bron ],image_index,x,y,image_xscale, image_yscale, direction , image_blend,image_alpha) } if laduj=false{ draw_sprite_ext(load_sprite[bron],image_index,x-4,y+4,image_xscale, image_yscale,direction ,c_black,0.5) draw_sprite_ext( load_sprite[ bron ],image_index,x,y,image_xscale, image_yscale, direction , image_blend,image_alpha) } Co tu się gryzie, jeden tego typu problem naprawiłem, ale tutaj nie mam pojęcia.
  11. czemu strona główna nie działa ?

     

  12. Siemka, mam do Was dwa pytania powiązane z obsługą kompa, piszę tutaj, bo społeczność GMC ma szeroko pojętą wiedzę w tym temacie 1. Naszło mnie na partyjki w UT, zawsze ja stawiałem serwery, do tej pory nie było problemu, ale od dłuższego czasu łączę się z netem po WiFi, jak wiadomo, router sprawia, że IP mojego komputera staje się wewnętrzne.(Dostawca daje zewnętrzne stałe IP, ale tylko wtedy, gdy łącze się przez Ethernet) Co należało by zrobić, abym mógł postawić serwer gry łącząc się przez WiFi? 2. Druga sprawa, to mikrofon, który mam wbudowany w laptopa, niby działa, ale jest jebitny szum, a głosu w zasadzie nie słychać. Podłączałem różne urządzenia, ale dziwnym trafem komputer ich nie widzi, cały czas operuje na tym wbudowanym(Podłączałem m.in słuchawki z mikrofonem od PS4, oraz słuchawki od Samsung Galaxy, też z mikrofonem, oczywiście w port od mikrofonu) Czy taki zewnętrzny mikrofon trzeba jakoś "konfigurować" ? Czy jest możliwe, że wejście Mini-Jack w laptopie jest trzepnięte? Laptop działa na systemie Windows 7 Home Premium. Pozdrawiam
  13. No z rzutem izometrycznym to podejrzewam, że sprawa nie jest łatwa, nieźle, widzę że gierka będzie we współczesnym stylu Ja jednak pozostanę przy TOP-Down i realiach II wojny Dołożę nowy zrzut z wersji testowej. Z racji, że będę robił konwersję na GMS, pracuję na razie głównie nad grafiką, zmieniłem trochę kolorystykę Wermachtu, na bardziej realistyczną, krew również ma ciemniejszą barwę, jest jej więcej i co najważniejsze, zaokrągliłem trochę ulice, bo były zbyt kanciaste. Jeśli po ustawieniu wszystkiego gra będzie grywalna(optymalizacja) to wstawię kolejne demo.
  14. No dobra, łapię, w takimrazie zainwestuję już te 39$, ale nie teraz, skupię się na razie na grafice itp, a jak znajdę wolne środki, to sobie kupię licencję
  15. Z tego co widzę, to swojego projektu nie odpalę, bo jest jakiś tam limit spritów itp. (bo już to ściągnąłem)
  16. A uda się wgrać już gotowy projekt do GMSA ?
  17. Można w jakiś sposób wypróbować gmsa? Niekoniecznie go wykupując, bo nie wiem, czy ten silnik, który mam w ogóle pójdzie.
  18. Czyli to oznacza, że nic nie da się zrobić ?
  19. Znalazłem w pomocy zakładkę "Drawing Surface" - oto wpis: Note that there are no functions to copy part of the screen to a surface. (This is impossible due to possible format differences between the screen and the surfaces.) If this is required you must set a surface as render target and next draw the room. You can then use the surface copying routines to get parts of it. Note that you can also create sprites and backgrounds from surfaces. See the section on changing resources for more information. Some care must be taken when using these functions. In particular please notice the following: You should never change the drawing target while you are actually drawing on the screen, that is, never use it in drawing events. This will cause serious problems with the projection and viewport. Surfaces do not work correctly with 3D mode. You can use them while not in 3D mode (by calling d3d_end() before using them), but once you start 3D mode again the surfaces will be destroyed. For reasons of speed, the surface is maintained in videomemory only. As a result, you might loose the surface when e.g. the screen resolution changes or the screensaver pops up. Surfaces will not be saved when saving a game. Oraz wpis o titlesach: The following functions deal with layers of tiles, that is, collections of tiles at the same depth. tile_layer_hide(depth) Hides all tiles at the indicated depth layer. tile_layer_show(depth) Shows all tiles at the indicated depth layer. tile_layer_delete(depth) Deletes all tiles at the indicated depth layer. tile_layer_shift(depth,x,y) Shifts all tiles at the indicated depth layer over the vector x,y. Can be used to create scrolling layers of tiles. tile_layer_find(depth,x,y) Returns the id of the tile with the given depth at position (x,y). When no tile exists at the position -1 is returned. When multiple tiles with the given depth exist at the position the first one is returned. tile_layer_delete_at(depth,x,y) Deletes the tile with the given depth at position (x,y). When multiple tiles with the given depth exist at the position they are all deleted. tile_layer_depth(depth,newdepth) Changes the depth of all tiles at the indicated depth to the new depth. With this function you can move whole tile layers to a new depth.
  20. Sorki, mam mały remont na kwadracie, nie miałem jak odpisać. Sprawa wygląda tak: Każdy kawałek, krew itp jest osobnym obiektem, które ma zapisane w create np. losowy kierunek itp. Po drugie, programuję w GM8 (nie w 8.1 - bo jest jakiś niedorobiony) Wiem, że to prehistoryczny program, ale jakoś nie mam ochoty łożyć na GMSa, grami zajmuję się w charakterze hobby ^^ A co do kradnięcia pamięci, to wiele obiektów robi cienie, za pomocą draw, po drugie, same ciała, ze względu na zastosowany ragdoll mogą mulić(aczkolwiek same ciała chyba aż tak nie szkodzą) w każdym poziomie jest sporo titlesetów. Także jeszcze raz, co powinienem zrobić, niekoniecznie zmieniając efekty, które już zaimplementowałem. Pozdro @Edit Same ciała nie mulą, bardziej te wszystkie flaki, odłamki itp, podejrzewam, że solidy też mogą mieć swój wkład w to.
  21. Oparte na tamtym silniku Szkieletówki, za to przerobione na własne potrzeby Proszę :D Lewy myszy, robisz nowe ciało Enter - Reset
  22. Może, ale według mnie są potrzebne, bo przy takiej sytuacji FPS zaczyna spadać
  23. Próbowałem na różne sposoby i nadal się ów proceder powtarzał, poza tym z samej deaktywacji niewiele wynika, bo czasem się ostro odwala w samym polu widzenia (przy jakiejś ostrzejszej wymianie ognia wszystko fruwa) Uważam, że deaktywacja, tylko po części rozwiązuje problem, potrzebne też są surface.
×
×
  • Dodaj nową pozycję...