Skocz do zawartości

I am Lord

Użytkownicy
  • Postów

    4 891
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    53

Treść opublikowana przez I am Lord

  1. Taki sobie test odbijającej się kulki w GMogre3D Zacząłem się tego uczyć od wczoraj. :P
  2. GMclan witamy Przyzwyczaisz się że tutaj są tylko krytycy :P
  3. I am Lord

    Crack do riven

    Yhy na bank kupiłeś orginał, twoja sygna mówi co innego.
  4. ten switch nie działa poprawnie. Powinien on wyglądać tak: GML switch dir { case 1: pos -= 16 yy = pos break; case 2: pos += 16 yy = pos break; case 3: yy = pos break; }
  5. http://www.maartenbaert.be/extremephysics/
  6. W to puste miejsce daj może zniszczoną studzienkę. A no i podłoże wydaje się zbyt rozmyte w porównaniu do reszty.
  7. I am Lord

    Shot

    użyj length_dir lub trygonometri do tego by wylatywały z lufy.
  8. GML if wstaje is equal to 1 set the sprite to sPlayerWstaje with subimage 0 and speed 1 if image_index is equal to 6 set the sprite to sPlayer with subimage 0 and speed 1 execute code: siedze=0; wstaje=0; zamień is equal na is larger than 6 i sprawdź czy sprit się zmieni, jeżeli tak to w tej równości trzeba będzie zaokrąglić image_index
  9. "Road To Nowhere" jak dla mnie jest najlepsza, trochę mi przypomniało utwór Callista z NFS:HS aż zapragnąłem w to zagrać :D
  10. Biegania :P Wygląda dobrze, nawet ten kawał płyty od zbroi się rusza.
  11. To źle bo to nie miało być w alarmie tylko w colizji W ten sposób: GML (collision with player) dealDMG = true; if ( alarm[0] <= 0 ) alarm[0] = room_speed * 2; GML (alarm0) global.hp -= 100; if ( dealDMG == true ) alarm[0] = room_speed * 2; Przeczytaj ten artykuł https://gmclan.org/index.php?czytajart=51 ostatnia część tego artykułu porusza właśnie ten problem.
  12. @up następnym razem jakoś lepiej konstruuj swoje pytanie bo dopiero teraz wyjaśniłeś dokładnie o co ci chodziło. No więc teraz te zmienne nastawy w ogóle nie są potrzebne skoro ma dodawać max hp i mp. GML (create) siad = false; GML if ( siad == false ) { //sterowanie } GML (D) if ( siad == false ) siad = true; GML (step) if ( siad ) { global.hp = min( global.hp_max, global.hp + 0.1*global.hp_max ); global.mp = min( global.mp_max, global.mp + 0.1*global.mp_max ); if ( global.hp == global.hp_max && global.mp == global.mp_max ) siad = false; } Teraz ci będzie dodawać po 10% z każdego dopuki nie dojdzie do maxa
  13. No przecież chciałeś by dodawało 10% z maxymalnego hp a to jest stała. edytowałeś :P EDIT: Jeżeli w stepie zrobiłeś dokładnie tak: GML if ( siad ) { global.hp = min( nastawaHP, global.hp + predkosc_dodawania ); global.mp = min( nastawaMP, global.mp + predkosc_dodawania ); if ( global.hp == nastawaHP && global.mp == nastawaMP ) siad = false; } to nie ma opcji żebyś mógł proces napełniania hp przerwać. To jest jedyne miejsce w kodzie gdzie zmienna blokująca ruch zmienia stan na false ( czyli przestaje blokować ) a jak widać stanie się to tylko i wyłącznie gdy hp i mp osiągnie +10% lub mniej w przypadku dojścia do limitu.
  14. Bo alarm się resetuje zrób to co edie dał.
  15. No to jest problem z kolizjami może sprit ma jakąś lichą maskę, może ma ustawione źle orginy?
  16. Przekopiowałem powyższy kod do GMa i działa: https://gmclan.org/up539_14_przyk_ad.html Coś musiałeś nie tak zrobić.
  17. No to skoro czas się niepoprawnie odlicza to znaczy że coś innego z zewnątrz modyfikuje ten alarm[0].
  18. OMG trzeba było tak od razu to było by mniej kombinowania :D GML (create) siad = false; nastawaHP = 0; nastawaMP = 0; GML if ( siad == false ) { //sterowanie } GML (D) if ( siad == false ) { siad = true; nastawaHP = min(global.hp + 0.1*global.hp_max, global.hp_max); nastawaMP = min(global.mp + 0.1*global.mp_max, global.mp_max); } GML (step) if ( siad ) { global.hp = min( nastawaHP, global.hp + predkosc_dodawania ); global.mp = min( nastawaMP, global.mp + predkosc_dodawania ); if ( global.hp == nastawaHP && global.mp == nastawaMP ) siad = false; }
  19. To znaczy że gdzieś ustawiasz hp na 1000, mój kod działa więc szukaj co może ci resetować hp. Może step tego obiektu to gdzieś robi? Edit: @up gdyby się resetował to żaden komunikat by mu nie wyskoczył ale fakt lepiej to tak zmodyfikowac.
  20. zmodyfikuj tego alarma na takie coś: GML global.hp -= 100; show_debug_message(string(global.hp)) if ( dealDMG == true ) alarm[0] = room_speed * 2; odpal grę w debug mode wejdź w tools> show messages i sprawdź czy liczby się pojawiają.
  21. Prawie GML (create) blok=false; nastawa = global.hp; GML if ( blok == false ) { // sterowanie } GML (step) var _diff; _diff = global.hp - nastawa; global.hp -=(_diff) / 5; // tutaj dałeś za mało, 1 oznacza w tym przypadku natychmiast if ( round(global.hp) >= round( nastawa ) ) blok = false; trzeba ustawić zmienna nastawa tak by wynosiła obecne hp + 10% ale nie przekroczyła max HP a więc: GML (D) nastawa = min(global.hp + 0.1*global.hp_max, global.hp_max); blok = true; Podobnie zrób dla many
  22. a ten alarm[0] był wolny czy miałeś coś tam w nim? Bo jak tak to zmień na następny pusty alarm.
  23. Po kliknięciu D ma tylko zmienić wartość_ustawioną a reszta się już sama załatwi. EDIT: @up jak chcesz do tego dorobić jeszcze blokadę ruchu to stwórz w create zmienną np. blok = false; obejmij cały kod na ruch w klamry z warunkiem: GML if ( blok == false ) { // tutaj kod na twoj ruch } a w stepie : GML if ( round(wartosc_aktualna) >= round( wartosc_ustawiona ) ) blok = false; W 'D' pod nastawieniem wartosci_ustawionej dodaj jeszcze: blok = true;
  24. GML (collision with player) dealDMG = true; alarm[0] = room_speed * 2; GML (alarm0) global.hp -= 100; if ( dealDMG == true ) alarm[0] = room_speed * 2; Będzie tak długo schodzić HP puki dealDMG się nie przełączy na false. To dorób sobie już sam.
×
×
  • Dodaj nową pozycję...