Skocz do zawartości
  • Ogłoszenia

  • Gdzie świętować urodziny GMCLANu   27 użytkowników zagłosowało

    1. 1. Gdzie świętować urodziny GMCLANu


      • Warszawa (bo w centrum)
      • Szczecin (bo tam mieszka Ranma i narodził się GMCLAN)

    Żeby zagłosować w tej ankiecie, prosimy się zalogować lub zarejestrować. Zobacz temat
  • 0
Sutikku

System skilli

Pytanie

Sutikku    0

Cześć, biorę się za jakiegoś skromnego rpg, takiego wiecie, klasycznego. Taka tibia czy realm of the mad god. Tylko, że offline.

Właśnie chciałem się wziąć za umiejętności, ale nie mam pojęcia jak. Mam 2 pomysły, ale oba wydają mi się zbyt długie i może ma ktoś jakiś koncept w głowie jak to zrobić lepiej, jakoś może mnie naprowadzić na inny tor myślenia. To ja może przedstawię jak ja myślałem.

1) Najprostszy

GML (pseudokod)
if skill==1

{

var f=instance_create(x,y,obj_fireball);

f.direction=direction;

f.speed=10;

}

if skill==2

{

invincible=1;

alarm[x]=240;

}

2) Trochę bardziej uporządkowany, bo coś w stylu paru gotowych umiejętności w postaci skryptów w których zmieniam tylko zmienne w stylu

GML (pseudokod)
if skill==3

{

area_skill(sprite,range,inna_zmienna);

}

if skill==4

{

passive_skill(dlugosc_trwania,invincible)

}

Ale ten sposób znów trochę ogranicza różnorodność umiejętności. Ktoś coś?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
gnysek    34

Drugi sposób wcale niczego nie ogranicza. Drugi sposób może być po prostu "wycięciem" kodu z obiektu i przeniesieniem do skryptów. Pamiętaj, że skrypty mają dostęp do danego obiektu z którego są wywołane i widzą je tak, jakby były wklejone w tym momencie w ten obiekt.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0
Dester    0

Drugi lepszy. Ogarnięty kod + o wiele mniej roboty + łatwiej dokonywać małych zmian.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0
pablo1517    0

A gdyby tak array? Powiedzmy ze masz sobie skrypty ponazywane "Skill1" "Skill2" itd

GML
skill = 0; // to co miales w ifach

Skills[0] = Skill1;

Skills[1] = Skill2;

Skills[2] = Skill3;

 

i zdaje sie ze jest taka funkcja jak

GML
script_execute(Skills[skill]);

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0
Uzjel    11

Nie ma tego w Studio.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0
Jaklub    0

script_execute które tylko wywołuje skrypty ze zmiennej dalej jest, poleciało execute_string i inne funkcje które parsują gmla na żywo

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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

Tylko 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ę tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×