Skocz do zawartości

losowy loot oraz małe pytanko


exide

Rekomendowane odpowiedzi

witam mam obj_box i ma z niego wypadać np

uridium wartości np 25 50 100 150

kredyty 100 250 500 1000

a w dzieniku który działa wpis że otrzymał to i tyle

inne pytanko jak zrobić podział dmg chodzi o

hp=800//hp

shd=400//osłona

damage

osłona pochłania zależy jaka ileś tam % np 20/80 //poszycie/osłona i jak odejmować to od tego

oraz prosty ekwipunek typu klikam na ikonke np laserka typu lf i strzałeczka na statek oraz spowrotem statek ma np 15 slotów laserów 15 na generatory naped albo osłona i dodatek 3

są rózne statki i dużo itemów do dodania więc chce prosty system żeby łatwo można było to zmieniać

dziekuję za pomoc praca idzie pełną parą :)

Odnośnik do komentarza
Udostępnij na innych stronach

Postaram się pomóc mimo, że nie zrozumiałem tego co napisałeś.

witam mam obj_box i ma z niego wypadać np

uridium wartości np 25 50 100 150

kredyty 100 250 500 1000

a w dzieniku który działa wpis że otrzymał to i tyle

Więc, zależy w jaki sposób chcesz to zbierać. No ale może coś takiego.

GML
var ii=choose(0,1);

if(ii)

{

var dot=choose(25, 50, 100, 150);

uridium+=dot;

show_message("Dostales "+string(dot)+" uridium");

}

else

{

var dot=choose(100, 250, 500, 1000);

kredyty+=dot;

show_message("Dostales "+string(dot)+" kredytow");

}</span>

 

Przejdźmy dalej.

inne pytanko jak zrobić podział dmg chodzi o

hp=800//hp

shd=400//osłona

damage

osłona pochłania zależy jaka ileś tam % np 20/80 //poszycie/osłona i jak odejmować to od tego

GML (ATAK)
hp-=(damage-shd)
Z procentami Ci nie pomogę, bo w moim śmiesznym gimnazjum, nawet procentów nie było. Muszę zacząć się samemu doszkalać.
Odnośnik do komentarza
Udostępnij na innych stronach

inne pytanko jak zrobić podział dmg chodzi o

hp=800//hp

shd=400//osłona

damage

osłona pochłania zależy jaka ileś tam % np 20/80 //poszycie/osłona i jak odejmować to od tego

Potrzebujesz dwóch funkcji.

GML
//ta funkcja zwróci ci procent obrażeń otrzymywanych przez pancerz

switch argument0

{

/*PRZYKŁAD

case "zielony pancerz": return 0.5 //liczba po return musi należeć do przedziału <0; 1>

case "czerwony pancerz": return 0.9

case 2: return 0.2

*/

}

GML
//ta funkcja zada obrażenia bohaterowi

var sh1,hp1,dmg_sh,dmg_hp,ratio;

ratio = FunkcjaPowyżej(argument) //w zależności od tego, jaki typ pancerza ma postać, otrzyma on różne obrażenia

sh1 = aktualny_pancerz //pamiętaj, aby zmienić nazwy zmiennych, np. u ciebie "aktualny_pancerz" będzie "shd"

hp1 = aktualne_hp

dmg_hp = argument0*(1-ratio)

dmg_sh = argument0*ratio

if(sh1 < dmg_sh)

{

aktualny_pancerz = 0

dmg_hp += (dmg_sh-sh1)

dmg_sh = 0

}

aktualny_pancerz -= dmg_sh

aktualne_hp -= dmg_hp

if(aktualne_hp <= 0)

{

//kod umierania

}

Tę funkcję nazwij np. ZadajObrażenia(argument), argumentem jest ilość zadanych obrażeń, użyj tej funkcji za każdym razem, gdy postać otrzymuje obrażenia (np. w evencie kolizji z wrogiem/pociskiem).

Odnośnik do komentarza
Udostępnij na innych stronach

dziekuje że ktoś odpowiedział :) na te boxy nie wpadłem może to by była kwestia czasu hehe tak jak z tym ammo zbugowanym :D

jak zrobie jeden kod to zobacze te pochłanianie

 

co do boxa to tymczasowo jako kolizja :D kiedyś dodam na klikanie z animacją wsysania :D

edit:

boxy fajne dziekuje ci bardzo

a jak boxom mam dodać losowy loot rakiet amunicji laserowej lub inne to jak to przerobic ?

 

co do dmg to gdzie definuje damage moje ?? bo dmg_hp i sh nie mogą być wczesniej bylo ze hp-= damage=((lf1*40)+(mp1*60)+(lf2*100)+(lf3*150))*ammo i jak teraz to tam nie nawidze tych osłon xd i są rakiety bija stałą wartość jedne 1000 2 2000 3 4000 ale też dzieli w hp oslone

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...