Skocz do zawartości

OriPL

Użytkownicy
  • Postów

    332
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez OriPL

  1. 5/5 Gra epicka :D

    Co do KameHouse - Tam obok mistrza żółwia powinny tańczyć jeszcze jakieś panienki w bikini... jak pomyśle o tej postaci to jest to pierwsze skojażenie z nim :D

    Zdał by się jeszcze opis itemków które zbieram, nie doszedłem jeszcze do tego co robi "R R" i ta "Lampa jina" (Nie pamietam jak to sie nazywało w Anime)

     

    PS. Jestem pierwszy w TOPSCORE :D Bijcie ludzie :D

  2. Dziękuje za pomoc, jednak kod który podałeś nie spełniał moich oczekiwań, bo UNION łączy tabele o tych samych nazwach kolumn (musi byc ich tyle samo) co mnie nie pasowalo, drogą eksperymentów i przemyśleń doszedłem do rozwiązania:

     

    SELECT 
    M.match_id,
    M.match_clan_a,
    M.match_clan_b,
    M.match_start,
    M.match_end,
    C.clan_id as clan_a_ID,
    C.clan_name as clan_a_name,
    C.clan_tag as clan_a_tag,
    C.clan_logo as clan_a_logo,
    CC.clan_id as clan_b_id,
    CC.clan_name as clan_b_name,
    CC.clan_tag as clan_b_tag,
    CC.clan_logo as clan_b_logo
    FROM schedule_matches M
    LEFT JOIN schedule_clans C ON M.match_clan_a = C.clan_id
    LEFT JOIN schedule_clans CC ON M.match_clan_b = CC.clan_id

     

    Czego wynikiem jest np:

     

    array
      'match_id' => string '3' (length=1)
      'match_clan_a' => string '1' (length=1)
      'match_clan_b' => string '2' (length=1)
      'match_start' => string '23423423' (length=8)
      'match_end' => string '34234232' (length=8)
      'clan_a_ID' => string '1' (length=1)
      'clan_a_name' => string 'Klan Name 1' (length=22)
      'clan_a_tag' => string 'Klan Tag 1' (length=11)
      'clan_a_logo' => string '4fa14092c95b7b11c9230c28136c1746.png' (length=36)
      'clan_b_id' => string '2' (length=1)
      'clan_b_name' => string 'Klan Name 2' (length=12)
      'clan_b_tag' => string 'Klan Tag 2' (length=9)
      'clan_b_logo' => string 'f2c9e85b57cc18eafb59a5426fa9689d.jpg' (length=36)

  3. Witam ponownie GMClanowiczów, dawno mnie tu nie było :) ale nie rozpisując się mam pytanie:

     

    Mam 2 tabele w MYSQL:

     

    KLANY:

    CLAN_ID | CLAN_NAME | CLAN_TAG | CLAN_LOGO

     

    MECZE:

    MATCH_ID | MATCH_CLAN_A | MATCH_CLAN_B | MATCH_START | MATCH_END |

     

    I teraz potrzebuje do tego wymyslić zapytanie które wybierze z bazy wszystkie mecze oraz klany które w nich uczestniczną czyli przykładowym wynikiem będzie:

     

    Nazwa klanu A, Tag klanu A, Logo klanu A

    Nazwa klanu B, Tag klanu B, Logo klanu B

    Rozpoczecie meczu, Zakonczenie meczu

     

    Połączenie 1 do 1 jest proste ale to jest troche inne... bo chodzi o to że z tabelki MECZE wybieram 1 rekord, a z tabelki KLANY juz 2.

    Mam nadzieje ze wystarczająco to opisałem...

     

    Moje działania staneły na:

                $matches_query = mysql_query(
                "SELECT 
                schedule_clans.clan_id,
                schedule_clans.clan_name,
                schedule_clans.clan_tag,
                schedule_matches.match_id,
                schedule_matches.match_clan_a,
                schedule_matches.match_clan_b,
                schedule_matches.match_start,
                schedule_matches.match_end 
                FROM schedule_matches 
                LEFT JOIN schedule_clans ON schedule_matches.match_clan_a = schedule_clans.clan_id
                ");

     

    Na hardcore oczywiscie mogl bym pobrac te dane a nastpenie je zlaczyc jakos w petli i tez by dzialalo, ale chcial bym to zrobic jakos ladnie :) i przy okazji sie czegos nauczyc :)

  4. Na każdym GM'ie będzie to wyglądać tak samo z powodu utraty jakości przy skalowaniu obrazu.

     

    Rozwiązanie:

    1: Tworzyć gry na wyższej rozdzielczości

    2: Przy fullscreen nie skalować obrazu lecz dodawać czarne brzegi do gry (bezsens)

    3. Napisać jakiś skrypt który wygryje rozdzielczość ekranu gracza i dostasouje wielkość viewa do tejże rozdzielczośći, trzeba jednak pamiętać aby mapa była odpowiednio wielka...

  5. Tytuł:Catch The Clown - The Big Return

     

    Gatunek: Catch The Clown o.O

     

    Opis: Głównym celem jest złapanie piłki która porusza się na ekranie przez gracza. Z czasem ilość piłek wzrasta. Mamy ograniczoną ilość czasu (30 sekund). Gra się na punkty. Kto zdobędzie więcej punktów ten wygrywa.

    Jest 5 zdań... wymóg spełniony lol...

     

    Dobra teraz tak troche na serio, dla czego ja to w ogóle tutaj wrzucam? Otóż postanowiłem po programować troche w C++, i troche sie przy tym narobiłem, wiem że w game maker taka gra to 10 min roboty, Dla ludzi programujących w C++ pewnie coś ok 20min... ja sie dopiero uczę i robiłem to cały dzień (hahah huhuh wyśmiejcie mnie xD zmarnowałem cały dzień by napisać Catch The Clown)... Całość działa na Allegro... Tyle moge powiedzieć... kupa niezorganizowanego kodu który jako tako działa... Jestem z niego dumny :D

     

    Ps.

    Dawno mnie tu nie było :crying:

     

    Download: https://gmclan.org/up3309_4_CatchTheClown.html

    Rozmiar pliku: 453KB (Po rozpakowaniu 2.55MB)

     

     

    Autorzy:

    Programowanie:
    OriPL

    Fabuła:
    OriPL

    Grafika:
    OriPL

    Muzyka:
    OriPL

    Screeny:

     

    CatchTheClown1.png

    CatchTheClown2.png

  6. Witam napisałem sobie fale w oparciu o funkcje trygonometryczną sinus :)

    Wszystko fajnie... rysuje sie... ale... no własnie ale... różnica poziomów między rysowanymi punktami jest zbyt mała i fala jest prawie niewidoczna (unosi się i opada w dół na całej szerokości ekranu zamiast "falować")

     

    KOD:

    GML
    for (i = 0; i <= 32; i+=1)

    {

    l+=0.1

    if l>359 then l = 1;

    yy = (sin(degtorad(l)) * 8);

    }

     

    draw_primitive_begin(pr_trianglefan)

     

    for (i = 0; i <= 32; i+=1)

    {

    draw_vertex_color(i * 32,700 + yy,c_blue,0.3);

    }

     

    draw_vertex_color(room_width,room_height,c_blue,0.3);

    draw_vertex_color(0,room_height,c_blue,0.3);

     

    draw_primitive_end();

     

    żeby zwiększyć różnice poziomów między rysowanymi punktami musiał bym zwiększyć inkrementacje "l"... to jest proste... kłopot w tym że jak zwiększam l to fala zaczyna szaleć... faktycznie zaczyna ona falować tak jak należy ale wykonuje się ona zbyt szybko... tzn w 60 klatkach na sekunde widać tylko jakieś takie przeskakujące coś... nie wygląda to za ciekawie... nie mam już pomysłu jak rozwiązać mój problem... może wy coś doradzicie ?

  7. Teraz sprawdza po ukosie :/

     

    GML
    box_id = collision_line(x+16,y+17,x+16,y-17,obj_box_normal,0,1);

     

    if box_id

    {

    x -= box_id.xprevious - box_id.x;

    }

     

    Ten jest dobrze.

     

    E: w sumie można to zrobić jeszcze lepiej:

    GML
    box_id = collision_point(x+16,y-16,obj_box_normal,0,1)

    if(box_id) box_id.x = x

     

     

    A po jakiego grzyba mam sprawdzać po ukosie?? Chryste...

     

    Drugi kod były poprawny gdyby nie fakt że skrzynki nie zawsze stoją idealnie na sobie... inaczej mówiąc gdy przesunę tą niżej to ta wyżej mocno skoczy... powtarzam... mój kod działa ale jest problem z kolejnością wykonywania kodu...

     

    Jeżeli kłade skrzynki od dołu do góry... to działa... gdy na odwrót to nie... inaczej mówiąc w drugim przypadku kod skrzyni na samym dole wykonuje się jako ostatni... a teoretycznie powinien jako pierwszy by cała reszta mogła zareagować...

  8. Witam postanowiłem od początku zacząć pisać LabEscape, bo wraz z formatem zginą mi projekt... w tamtym i w aktualnym projekcie mam taki pewien problem...

     

    Chce dostać taki efekt że jak postawie 3 skrzynki na sobie i przesune tą na samym dole to skrzynki na górze również się przesuwają... efekt uzyskałem lecz nie jest on zbyt elastyczny... otóż problem polega na tym że jeżeli w edytorze postawie skrzynki od dołu to wszystko działa jak należy... jednak jeżeli będę stawiał skrzynki od góry to już się nic nie przesuwa... skrzynki nie reagują... problem pokaże obrazek:

     

    36779458093783386663.png

     

    Kod na przesuwanie w STEP:

    GML
    box_id = collision_line(x-16,y+17,x+16,y+17,obj_box_normal,0,1);

     

    if box_id != -4

    {

    x -= box_id.xprevious - box_id.x;

    }

  9. Niestety nie umiem tego zrobić żeby działało bez biblioteki.

    Download(DLL, przykład, MSVCR100d.dll)

    lub wystarczy pobrać: http://www.microsoft.com/download/en/details.aspx?id=5555

    EDIT:OriPL założę się że masz odznaczoną opcję "Display errors messages" w zakładce errors.

     

    Problem rozwiązuje dodanie biblioteki MSVCR100d.dll do katalogu z grą... ciekawe... jak nie możesz tego napisać w MS Visual czy jak to się tam zwie to może przerzucisz się na coś mniej obszernego... np CodeBlock++ czy coś innego, ja się w to nie zagłębiałem wiec nie wiem...

     

    A co do twojego Edita... gienialne rozwiązanie!! wyłączyć pokazywanie błędów wiedząc że on jest omg... świetny koder...

  10. Nie otwieram gier i programów prosto z archiwum... dla twojej wiadomości wypakowałem te pliki i pokazał się ten błąd...

     

    ___________________________________________
    ERROR in
    action number 1
    of Create Event
    for object object0:
    
    Error defining an external function.

     

    Edit:

    msvcr100d.dll - w innym jego DLL'u wyskoczyło mi to samo, pobrałem z google (no wiedzie znalazłem ten DLL w google) i wrzuciłem do folderu z grą, w tedy zaczęło działać :)

  11. I tu się mylisz :D . Wartość cofnięcia od ściany jest stała, a składowa prędkości prostopadła do powierzchni ściany jest zmienna. Efekt? Będzie skakał jak po schodkach :) ...

     

    nie mam pojęcia co tu napisałeś ale sprawdziłem i masz racje skacze... nie testowałem tego, mój błąd... lepszym rozwiązaniem będzie użycie "place_free(x,y)"

     

    GML
    if keyboard_check(vk_left) and place_free(x-3,y) then x-=3;

    if keyboard_check(vk_right) and place_free(x+3,y)then x+=3;

    if keyboard_check(vk_up) and place_free(x,y-3) then y-=3;

    if keyboard_check(vk_down) and place_free(x,y+3) then y+=3;

  12. Ja na jego miejscu sprawdzał bym kolizje "Collision Line" z 4 stron (góra, dół, lewo, prawo)

     

     

    STEP:

    GML
    if keyboard_check(vk_left) and !collision_line(x-16,y-16,x-16,y+16,obj_wall,1,0) then x-=3;

    if keyboard_check(vk_right) and !collision_line(x+16,y-16,x+16,y+16,obj_wall,1,0) then x+=3;

    if keyboard_check(vk_up) and !collision_line(x-16,y-16,x+16,y-16,obj_wall,1,0) then y-=3;

    if keyboard_check(vk_down) and !collision_line(x-16,y+16,x-16,y+16,obj_wall,1,0) then y+=3;

     

    Warunkiem działania tego kodu jest to że sprite gracza musi mieć 32x32 pixele... jeżeli nie ma to trzeba kombinować z wartościami ale zasada jest prosta... jeżeli ma 64x64 to wartości będą 32... jeżeli jednak sprite gracza nie jest kwadratem to już będzie tutaj więcej matematyki niż to co podałem, tak czy siak mój kod zapewnia "ślizganie" się po ścianach gdy się na nie wejdzie... nie tak jak w dużej ilości wrzucanych tutaj gier że się wejdzie na ścianę i zwiecha... ;p

  13. Widzę że wiele osób się tutaj wypowiada więc ja też coś dorzucę :D

     

    Aktualnie pracuje nad: Eksperymentalnym Game Play'em wykorzystującym silnik fizyczny "ExtremePhysics" z gmc...

     

    http://www.youtube.com/watch?v=V3iZTgQylmQ

     

    Na razie dużo nie ma bo to tylko eksperyment, i zastanawiam się czy to dobry pomysł :) jeżeli miał bym gdzieś to wrzucić to z pewnością znalazło by się w drugiej odsłonie mojej starej gry "Star Platform", jednak jeszcze nic nie zapowiadam bo tak naprawde nawet nie ma czego pokazać :)

     

    Liczę na jakieś komentarze i czy idę w dobrą stronę jeżeli chodzi o Game Play "Star Platform 2"

  14. hmmm

    Grafika -1/5

    Muzyka -1/5

    Grywalność -1/5

    ilość lvl (tylko 1) -1/5

    Klon lub cośopodobnego do Seida -1/5

     

    Edit: Można by tu jeszcze dorzucić staranność wykonania poziomów (a raczej poziomu)... klocki nachodzą na siebie, są krzywo ustawione... "Health Bar" znika pod klockami i ma efekt pływania...

     

    W Sumie -5/5... Gra jest bez sensu jak wszystkie od tego twórcy ;/ po raz kolejny się nie postarał.

    lepiej zamknijcie temat bo karmimy trolla :D on wrzuca słabe gierki, my go besztamy a on się z tego cieszy :D

  15. no to sprawdzasz jaka jest odległość między obiektem pierwszym i ostatnim... następnie dzielisz tą wartość przez długość suwaka (225px) i wychodzi ci o ile mają być przesunięte wszystkie elementy gdy przesuniesz suwak o 1px...

     

    Następnie gdy już masz ten współczynnik to mnożysz pozycje suwaka przez niego i przesuwasz obiekty...

  16. Nikt Ci nie poda własnego sposobu szyfrowania. Wtedy szyfr będzie znany i będzie można go złamać.

    Nie powiedziałem żeby podać mi przykład ich kodowania lecz koncepcje na to jak można te dane przechować (Nie koniecznie kodując)

     

    A więcej trzykropków to matula nie dała do posiania?

    To jest jedna kropka... tylko siedzisz za blisko ^^

     

    Zrób bez kodowania. Jak ktoś będzie chciał sobie popsuć grę to sobie popsuje tongue2.gif A jak nie, to po prostu będzie normalnie grał jak każdy normalny gracz :s

    A ja właśnie chce żeby nawet nie kusiło :) bo tak to każdy sobie ustawi i dostanie bonusa...

     

    Edit: i chyba trochę zawyżyłem swoje umiejętności... nie wiem jak to zrobić ^^

    Dobra sytuacja wygląda tak:

    Mam 30 roomów, w każdym znajduje się pewien obiekt (tylko jeden), przy jego zebraniu, powinno się gdzieś zapisać że on w danym roomie został zebrany by przy ponownym do niego wejściu po prostu go skasować :)

  17. Witam chciał bym zapisać w osobnym pliku pewne dane... które później mógł bym wykorzystać w grze...

    chodzi tutaj dokładnie o to że chce zapisać czy dany przedmiot, na danej mapie został zebrany...

     

    Można by to zrobić w ini ale problem w tym że ktoś może sobie to otworzyć notatnikiem, a następnie pozmieniać wartości i mieć te zebrane rzeczy w grze... a jak dobrze wam się zdaje... to nie o to chodzi...

     

    Tak więc potrzebuje w jakiś sposób zakodować te dane by nie mogły zostać one zmienione przez gracza w tym pliku :)

     

    Poza tym możemy odejść od mojej koncepcji i przyjąć waszą jeżeli macie na mój problem własne rozwiązanie :) być może lepsze :)

    pozdrawiam :)

×
×
  • Dodaj nową pozycję...