Skocz do zawartości

Problem zobracającym się wrogiem,kiedy zobaczy bohatera


Cygnus

Rekomendowane odpowiedzi

  • Odpowiedzi 78
  • Dodano
  • Ostatniej odpowiedzi

Top użytkownicy w tym temacie

Top użytkownicy w tym temacie

Dzięki;)

zaraz sprawdzę;)

 

to chyba w create ma być

 

GML
var stopped;

stopped=0;

 

dobra to tak to daje teraz:

 

GML
if distance_to_object(obj_player)<90

 

{

var stopped;

stopped=0;

 

 

a to już nie wiem,w którym dokładnie miejscu mam umieścić

 

GML
if (stopped)

hspd=0;

Odnośnik do komentarza
Udostępnij na innych stronach

kt117

 

zrobiłem dokładnie tak;)

 

step wroga

 

GML
///AI wroga Dino chodzi nerwowo i strzela jak nas zobaczy

var stopped;

stopped=0;

if (stopped)

hspd=0;

if place_free(x+32,y+3) && image_xscale = 1

{

image_xscale = -1;

}

if place_free(x-32,y+3) && image_xscale = -1

{

image_xscale = 1;

}

image_angle = direction;

if distance_to_object(obj_player)<90

 

{

stopped=1

if obj_player.x>x image_xscale=1;

 

else image_xscale=-1;

 

if( strzal )

{

var i;

i = instance_create( x, y, obj_laserek );

i.speed = 10;

i.hspeed=image_xscale*10;

//i.direction = point_direction(i.x,i.y,obj_player.x,obj_player.y); //ew i.hspeed=image_xscale*10; jak ma strzelac tylko w poziomie, niezaleznie od wysokosci bohatera

strzal = 0;

alarm[0]=room_speed*0.2

}

}

else

{

if alarm[1] = -1 alarm[1] = room_speed+random(room_speed*2);

if (place_free(x+image_xscale*5,y) && instance_position(x+image_xscale*5,y+32,par_wall)) x+=image_xscale*5;

}

 

 

 

 

//naprawiamy bugujacego sie wroga przy zawracaniu

if place_meeting(x+5,y,par_wall ) && image_xscale = 1

{

image_xscale = -1;

}

if place_meeting(x-5,y,par_wall) && image_xscale = -1

{

image_xscale = 1;

}

 

 

 

 

 

 

///Ruch wroga z odwracaniem go przez obiekty dziedziczace z par_solid

if !place_meeting(x+sign(image_xscale),y-2,par_solid) {

if image_xscale > 0 {

hspd = min(hspd+sign(image_xscale),2);

} else if image_xscale < 0 {

hspd = max(hspd+sign(image_xscale),-2);

}

}

if hspd == 0 {

image_xscale *= -1;

unstick(8);

}

//Obrazenia wroga

if hurtClock > 0 {

visible = !visible;

hurtClock -= 1;

} else {

visible = true;

}

 

if hp <= 0 {

instance_destroy();

instance_create(x,y+50,choose(obj_coin,object102)) // daje losowy item np monety albo jabłuszka

with instance_create(x,y,obj_entity_die) {

sprite_index = DinoGinie; //sprite do poruszania sie wroga

image_xscale = other.image_xscale;

image_yscale = other.image_yscale;

hspd = other.hspd;

vspd = other.vspd;

}

}

 

 

Bez zmian ,dalej dziad łazi i strzela zamiast stać i strzelać;)

Odnośnik do komentarza
Udostępnij na innych stronach

Tak ma być

GML
///AI wroga Dino chodzi nerwowo i strzela jak nas zobaczy

var stopped;

stopped=0;

 

if place_free(x+32,y+3) && image_xscale = 1

{

image_xscale = -1;

}

if place_free(x-32,y+3) && image_xscale = -1

{

image_xscale = 1;

}

image_angle = direction;

if distance_to_object(obj_player)<90

 

{

stopped=1

if obj_player.x>x image_xscale=1;

 

else image_xscale=-1;

 

if( strzal )

{

var i;

i = instance_create( x, y, obj_laserek );

i.speed = 10;

i.hspeed=image_xscale*10;

//i.direction = point_direction(i.x,i.y,obj_player.x,obj_player.y); //ew i.hspeed=image_xscale*10; jak ma strzelac tylko w poziomie, niezaleznie od wysokosci bohatera

strzal = 0;

alarm[0]=room_speed*0.2

}

}

else

{

if alarm[1] = -1 alarm[1] = room_speed+random(room_speed*2);

if (place_free(x+image_xscale*5,y) && instance_position(x+image_xscale*5,y+32,par_wall)) x+=image_xscale*5;

}

 

 

 

 

//naprawiamy bugujacego sie wroga przy zawracaniu

if place_meeting(x+5,y,par_wall ) && image_xscale = 1

{

image_xscale = -1;

}

if place_meeting(x-5,y,par_wall) && image_xscale = -1

{

image_xscale = 1;

}

 

 

 

 

 

 

///Ruch wroga z odwracaniem go przez obiekty dziedziczace z par_solid

if !place_meeting(x+sign(image_xscale),y-2,par_solid) {

if image_xscale > 0 {

hspd = min(hspd+sign(image_xscale),2);

} else if image_xscale < 0 {

hspd = max(hspd+sign(image_xscale),-2);

}

}

if hspd == 0 {

image_xscale *= -1;

unstick(8);

}

//Obrazenia wroga

if hurtClock > 0 {

visible = !visible;

hurtClock -= 1;

} else {

visible = true;

}

 

if hp <= 0 {

instance_destroy();

instance_create(x,y+50,choose(obj_coin,object102)) // daje losowy item np monety albo jabłuszka

with instance_create(x,y,obj_entity_die) {

sprite_index = DinoGinie; //sprite do poruszania sie wroga

image_xscale = other.image_xscale;

image_yscale = other.image_yscale;

hspd = other.hspd;

vspd = other.vspd;

}

}

if (stopped)

hspd=0;

Odnośnik do komentarza
Udostępnij na innych stronach

Dziękuje teraz działa jak należy;) zatrzymuje się i strzela;) w końcu;)

 

kt1117 mam jeszcze jeden mały problem,bo mam obiekty dziedziczące no i np mam obj par_wall i tu nie ma problemu na krawędzi wróg się obraca jak jest też przeszkoda,która z tym dziedziczy też się obraca..natomiast już przy obiekcie par_solid mam problem..bo jak nałożę par_solid na daną scenerie to jak jest krawędź to on dalej idzie,a jak jest przeszkoda z par_solid to się nie obraca tylko dostaje trzęsiawki..

Odnośnik do komentarza
Udostępnij na innych stronach

Zobacz teraz:

GML
///AI wroga Dino chodzi nerwowo i strzela jak nas zobaczy

var stopped;

stopped=0;

 

if place_free(x+32,y+3) && image_xscale = 1

{

image_xscale = -1;

}

if place_free(x-32,y+3) && image_xscale = -1

{

image_xscale = 1;

}

image_angle = direction;

if distance_to_object(obj_player)<90

 

{

stopped=1

if obj_player.x>x image_xscale=1;

 

else image_xscale=-1;

 

if( strzal )

{

var i;

i = instance_create( x, y, obj_laserek );

i.speed = 10;

i.hspeed=image_xscale*10;

//i.direction = point_direction(i.x,i.y,obj_player.x,obj_player.y); //ew i.hspeed=image_xscale*10; jak ma strzelac tylko w poziomie, niezaleznie od wysokosci bohatera

strzal = 0;

alarm[0]=room_speed*0.2

}

}

else

{

if alarm[1] = -1 alarm[1] = room_speed+random(room_speed*2);

if (place_free(x+image_xscale*5,y) && instance_position(x+image_xscale*5,y+32,par_solid)) x+=image_xscale*5;

}

 

 

 

 

//naprawiamy bugujacego sie wroga przy zawracaniu

if place_meeting(x+5,y,par_wall ) && image_xscale = 1

{

image_xscale = -1;

}

if place_meeting(x-5,y,par_wall) && image_xscale = -1

{

image_xscale = 1;

}

 

 

 

 

 

 

///Ruch wroga z odwracaniem go przez obiekty dziedziczace z par_solid

if !place_meeting(x+sign(image_xscale),y-2,par_solid) {

if image_xscale > 0 {

hspd = min(hspd+sign(image_xscale),2);

} else if image_xscale < 0 {

hspd = max(hspd+sign(image_xscale),-2);

}

}

if hspd == 0 {

image_xscale *= -1;

unstick(8);

}

//Obrazenia wroga

if hurtClock > 0 {

visible = !visible;

hurtClock -= 1;

} else {

visible = true;

}

 

if hp <= 0 {

instance_destroy();

instance_create(x,y+50,choose(obj_coin,object102)) // daje losowy item np monety albo jabłuszka

with instance_create(x,y,obj_entity_die) {

sprite_index = DinoGinie; //sprite do poruszania sie wroga

image_xscale = other.image_xscale;

image_yscale = other.image_yscale;

hspd = other.hspd;

vspd = other.vspd;

}

}

if (stopped)

hspd=0;

par_wall powinien dziedziczyć po par_solid

Odnośnik do komentarza
Udostępnij na innych stronach

kt1117 no właśnie teraz,to wróg zobaczy przeszkodę dziedziczącą z par_solid no to stoi w miejscu nie obraca się,może się wstydzi;) no nie działa to.

tylko z par_wall obiekty działają na krawędziach ładnie się obraca jak widzi krawędź i przeszkodę dziedziczącą z par_wall

Odnośnik do komentarza
Udostępnij na innych stronach

kt1117 no właśnie tak zrobiłem podmieniłem kod,i teraz jest tak,że wróg ucieka sobie szybko w drugą stronę i jak napotka przeszkodę,to stoi w miejscu,ja do niego podejde strzela..śmiesznie to wygląda,wtedy się nie obracał ale szedł jakby w miejscu,a teraz to tak jest,że idzie szybko w danym kierunku nawet jak mnie nie widzi napotyka przeszkodę z par_solid,i nie zawraca,ale odwraca się do niej plecami i sobie stoi wróg;)

to jest ta różnica.

Odnośnik do komentarza
Udostępnij na innych stronach

OK, nie wszędzie podmieniłem

GML
///AI wroga Dino chodzi nerwowo i strzela jak nas zobaczy

var stopped;

stopped=0;

 

if place_free(x+32,y+3) && image_xscale = 1

{

image_xscale = -1;

}

if place_free(x-32,y+3) && image_xscale = -1

{

image_xscale = 1;

}

image_angle = direction;

if distance_to_object(obj_player)<90

 

{

stopped=1

if obj_player.x>x image_xscale=1;

 

else image_xscale=-1;

 

if( strzal )

{

var i;

i = instance_create( x, y, obj_laserek );

i.speed = 10;

i.hspeed=image_xscale*10;

//i.direction = point_direction(i.x,i.y,obj_player.x,obj_player.y); //ew i.hspeed=image_xscale*10; jak ma strzelac tylko w poziomie, niezaleznie od wysokosci bohatera

strzal = 0;

alarm[0]=room_speed*0.2

}

}

else

{

if alarm[1] = -1 alarm[1] = room_speed+random(room_speed*2);

if (place_free(x+image_xscale*5,y) && instance_position(x+image_xscale*5,y+32,par_solid)) x+=image_xscale*5;

}

 

 

 

 

//naprawiamy bugujacego sie wroga przy zawracaniu

if place_meeting(x+5,y,par_solid ) && image_xscale = 1

{

image_xscale = -1;

}

if place_meeting(x-5,y,par_solid) && image_xscale = -1

{

image_xscale = 1;

}

 

 

 

 

 

 

///Ruch wroga z odwracaniem go przez obiekty dziedziczace z par_solid

if !place_meeting(x+sign(image_xscale),y-2,par_solid) {

if image_xscale > 0 {

hspd = min(hspd+sign(image_xscale),2);

} else if image_xscale < 0 {

hspd = max(hspd+sign(image_xscale),-2);

}

}

if hspd == 0 {

image_xscale *= -1;

unstick(8);

}

//Obrazenia wroga

if hurtClock > 0 {

visible = !visible;

hurtClock -= 1;

} else {

visible = true;

}

 

if hp <= 0 {

instance_destroy();

instance_create(x,y+50,choose(obj_coin,object102)) // daje losowy item np monety albo jabłuszka

with instance_create(x,y,obj_entity_die) {

sprite_index = DinoGinie; //sprite do poruszania sie wroga

image_xscale = other.image_xscale;

image_yscale = other.image_yscale;

hspd = other.hspd;

vspd = other.vspd;

}

}

if (stopped)

hspd=0;

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności
Ty nawet nie masz pojęcia co zmieniasz ani jak to działa, jaki jest sens, żebyś cokolwiek zmieniał? Naucz się a nie męczysz gmclan.

co tylko świadczy, że dawanie komuś gotowych rozwiązań w postaci kodu niczego nie uczy, typ po 100 tematach i tysiącu postów podajacych mu gotowy kod nie rozumie NIC, w ogóle nie ogarnia na czym polega programowanie

Odnośnik do komentarza
Udostępnij na innych stronach

Cygnus, raz Ci pomoglem i juz leciales na PW pytac sie mnie o rozwiazanie.

Jestem suerem ktory jak mial blad siedzial nad nim 3 dni albo i tydzien aby samemu go rozwiazac. I rozumiem wszystkie co pisze, jestem w stanie zaprogramowac wszystko czego mi trzeba. Ty natomiast powinienes dostac medal za najwiecej zalozonych tematow w dziale pytan ostatniej dekady.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

ok, to my wszyscy przejdziemy na nowe forum do krytyki, a ty sobie tu sam zostań, powodzenia w uzyskiwaniu dalszej pomocy! :thumbsup:

Odnośnik do komentarza
Udostępnij na innych stronach

Okej to tak dla zabawy mam rozpiskę:

 

Tematy w 2015: 22

Pierwszy temat w 2015: 19.06.2015

To daje 22 tematy w 2 miesiące i 1 dzień.

To daje 1 temat na 3 dni.

 

Okej ale lecimy dalej

Użytkownicy którzy Ci próbowali pomóc w tych 21(odjalem ten temat) tematach:

(sortowanie po ilosci postow)

Użytkownik[ilość unikalnych tematów / Ilość postów]

 

jasiek_209[5/32],

Threef[8/29],

kt1117[6/22],

I am Lord[6/17],

ANtY[6/17],

Boad[7/14],

Mateusz Nejman[3/8],

Sutikku[5/7],

Gnysek[5/6],

I am Vader[3/4],

Uzjel[3/3],

MaxGaming[2/2],

bLaze[2/2],

Orcadiusz[1/2],

Arathar[1/2],

PatrykPlayingPOLSKA[1/2],

Explosivo[1/2],

Ignatus[1/1],

 

Wkurzyłeś dwóch najbardziej pomocnych użytkowników(Threef i ANty), posty jaśka są bardzo mało pomocne, I am Lord pomogl w pierwsych 6 tematach, a potem przestal Ci odpisywac, wiec na jego pomoc bym nie liczyl i to tylko kwestia czasu zanim kt1117 znudzi sie mowienie do sciany.

 

Lada dzien nikt Ci nie pomoze. Posluchaj nas i zacznij sie uczyc poki jeszcze ktos Ci chce dawac rady.

A i masz tak epicką historię double i triple postów, że gdyby jakiemuś modowi chciało się wstawiać warny, miałbyś jakieś 150%, więc byłoby dużo banów.

 

Ogarnij się.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

Dobrze..naprawdę nie mam zamiaru z nikim się kłócić.Jeśli kogoś zdenerwowałem,to przepraszam nie miałem złych zamiarów.

 

Słuchajcie może ktoś miał ten sam problem co Ja..

 

wróg ładnie obraca się i wykrywa krawędź na planszach zbudowanych z tilesetów,natomiast mam dalej problem z obracaniem się wroga i wykrywaniem krawędzi na planszach zbudowanych z ręcznie malowanych scenerii.

 

 

No i teraz tak:

 

par_wall

par_wall dla niego parentem,czyli rodzicem jest par_solid

par_wall ma mnóstwo dzieci,czyli wszystkie w sobie tilesety,które w momencie jak dodamy do nich rodzica par_wall stają się solidami widzialnymi po których można chodzićsmile2.gif

 

par_solid

par_solid nie ma rodzica

jego dziecko to par_wall

depth mam ustawione na nim na -100

Tu visible jest odznaczone,bo to obiekt niewidzialny...który służy na nanoszenie go na daną narysowaną scenerię..

 

Co zrobić,żeby na sceneriach,gdzie są rysowane całe ręcznie i nanoszone na nich par_solid wróg normalnie się obracał i wykrywał krawędzie przeszkody...Dokładnie żeby tak samo się zachowywał jak w sceneriach przy par_wall.

 

 

 

a tu jeszcze raz kod wroga jego STEP przy par_wall działa idealnie,ale przy par_solid nie obraca się jak widzi przeszkodę,dostaję trzęsiawki ,a jak widzi krawędź to schodzi niżej:/

problem jest prawdopodobnie w STEPIE wroga,bo jeśli wywaliłem część kodu AI to wróg obracał się widząc przeszkodę dziedziczącą z par_solid,no,ale tylko się obracał nic więcej nie robił..a mi chodzi o takie same zachowanie jak przy par_wall

 

 

STEP wroga

 

GML
///AI wroga Dino chodzi nerwowo i strzela jak nas zobaczy

var stopped;

stopped=0;

 

if place_free(x+32,y+3) && image_xscale = 1

{

image_xscale = -1;

}

if place_free(x-32,y+3) && image_xscale = -1

{

image_xscale = 1;

}

image_angle = direction;

if distance_to_object(obj_player)<90

 

{

stopped=1

if obj_player.x>x image_xscale=1;

 

else image_xscale=-1;

 

if( strzal )

{

var i;

i = instance_create( x, y, obj_laserek );

i.speed = 10;

i.hspeed=image_xscale*10;

//i.direction = point_direction(i.x,i.y,obj_player.x,obj_player.y); //ew i.hspeed=image_xscale*10; jak ma strzelac tylko w poziomie, niezaleznie od wysokosci bohatera

strzal = 0;

alarm[0]=room_speed*0.2

}

}

else

{

if alarm[1] = -1 alarm[1] = room_speed+random(room_speed*2);

if (place_free(x+image_xscale*5,y) && instance_position(x+image_xscale*5,y+32,par_wall)) x+=image_xscale*5;

}

 

 

 

 

//naprawiamy bugujacego sie wroga przy zawracaniu przeszkoda par_wall

if place_meeting(x+5,y,par_wall) && image_xscale = 1

{

image_xscale = -1;

}

if place_meeting(x-5,y,par_wall) && image_xscale = -1

{

image_xscale = 1;

}

 

//naprawiamy bugujacego sie wroga przy zawracaniu obiekty niewidzialne

if place_meeting(x+5,y,par_solid_ghost) && image_xscale = 1

{

image_xscale = -1;

}

if place_meeting(x-5,y,par_solid_ghost) && image_xscale = -1

{

image_xscale = 1;

}

//jak to wyżej wywalę tą część kodu,to powraca na obiekcie par_solid zawracanie widząc przeszkodę

 

 

///Ruch wroga z odwracaniem go przez obiekty dziedziczace z par_solid

if !place_meeting(x+sign(image_xscale),y-2,par_solid) {

if image_xscale > 0 {

hspd = min(hspd+sign(image_xscale),2);

} else if image_xscale < 0 {

hspd = max(hspd+sign(image_xscale),-2);

}

}

if hspd == 0 {

image_xscale *= -1;

unstick(8);

}

//Obrazenia wroga

if hurtClock > 0 {

visible = !visible;

hurtClock -= 1;

} else {

visible = true;

}

 

if hp <= 0 {

instance_destroy();

instance_create(x,y+50,choose(obj_coin,object102)) // daje losowy item np monety albo jabłuszka

with instance_create(x,y,obj_entity_die) {

sprite_index = DinoGinie; //sprite do poruszania sie wroga

image_xscale = other.image_xscale;

image_yscale = other.image_yscale;

hspd = other.hspd;

vspd = other.vspd;

}

}

if (stopped)

hspd=0;

 

 

// czasowy respawn wrogow troche pomeczyles sie ale dziala jak trzeba :)

if (dead == true)

{

//obj_spawn.dead = true; //respawn zabitego wroga jak nie bedzie dzialac to wtedy dead=true i wpisac instance_create(x,y,obj_spawn)

instance_create(x,y,obj_spawn_dino);

}

 

 

 

 

 

Proszę o pomoc..

 

 

 

 

 

 

 

 

Może przedstawie to na prostym obrazku

 

 

 

scenerie.jpg

Odnośnik do komentarza
Udostępnij na innych stronach

Tam masz w kodzie par_solid_ghost, wydaje mi się że powinno być par_solid po prostu.

Ogólnie nie rozumiem dlaczego wszędzie nie masz par_solid przy tych kolizjach, przecież wszystko po tym dziedziczy.

 

 

 

zaraz dam wszędzie par_solid chociaż nie wiem,czy to akurat pomoże... dzięki

Odnośnik do komentarza
Udostępnij na innych stronach

Tam masz w kodzie par_solid_ghost, wydaje mi się że powinno być par_solid po prostu.

Ogólnie nie rozumiem dlaczego wszędzie nie masz par_solid przy tych kolizjach, przecież wszystko po tym dziedziczy.

 

 

A,więc tak dałem wszędzie par_solid zamiast par_wall teoretycznie powinno już być w porządku...

Ale teraz wróg podąża bardzo szybko w prawo,i jak napotka przeszkodę mur na scenerii,który ma nałożony obiekt niewidzialny par_solid to nie obraca się tylko zatrzymuje się i chodzi w miejscu w prawo,a jak ja się bohaterem wtedy zbliżę do niego,to odwróci się w moja stronę zacznie strzelać,tak to dziwnie wygląda...

 

 

Dziwne to jest ponieważ rodzicem par_wall jest par_solid i on po nim wszystko dziedziczy...

 

wygląda na to,że na par_solid nie działa funkcja if place_free albo coś jest nie tak...bo nie wykrywa krawędzi ani przeszkody po której ma zmienić wróg kierunek ruchu na przeciwny...

 

 

kod wroga wygląda teraz tak po zmianach:

 

step

 

GML
///AI wroga Dino chodzi nerwowo i strzela jak nas zobaczy

var stopped;

stopped=0;

 

if place_free(x+32,y+3) && image_xscale = 1

{

image_xscale = -1;

}

if place_free(x-32,y+3) && image_xscale = -1

{

image_xscale = 1;

}

image_angle = direction;

if distance_to_object(obj_player)<90

 

{

stopped=1

if obj_player.x>x image_xscale=1;

 

else image_xscale=-1;

 

if( strzal )

{

var i;

i = instance_create( x, y, obj_laserek );

i.speed = 10;

i.hspeed=image_xscale*10;

strzal = 0;

alarm[0]=room_speed*0.2

}

}

else

{

if alarm[1] = -1 alarm[1] = room_speed+random(room_speed*2);

if (place_free(x+image_xscale*5,y) && instance_position(x+image_xscale*5,y+32,par_solid)) x+=image_xscale*5;

}

 

 

 

 

//naprawiamy bugujacego sie wroga przy zawracaniu przeszkoda par_wall

if place_meeting(x+5,y,par_solid) && image_xscale = 1

{

image_xscale = -1;

}

if place_meeting(x-5,y,par_solid) && image_xscale = -1

{

image_xscale = 1;

}

 

------------------------------------------------------------------------------------------------------------------------ // to niżej jak zostanie ta część kodu,a górną chwilowo wyrzucę czyli AI,wróg zaczyna normalnie się obracać widziąc przeszkodę par_solid no,ale AI wtedy nie działa wroga..

///Ruch wroga z odwracaniem go przez obiekty dziedziczace z par_solid

if !place_meeting(x+sign(image_xscale),y-2,par_solid) {

if image_xscale > 0 {

hspd = min(hspd+sign(image_xscale),2);

} else if image_xscale < 0 {

hspd = max(hspd+sign(image_xscale),-2);

}

}

if hspd == 0 {

image_xscale *= -1;

unstick(8);

}

//Obrazenia wroga

if hurtClock > 0 {

visible = !visible;

hurtClock -= 1;

} else {

visible = true;

}

 

if hp <= 0 {

instance_destroy();

instance_create(x,y+50,choose(obj_coin,object102)) // daje losowy item np monety albo jabłuszka

with instance_create(x,y,obj_entity_die) {

sprite_index = DinoGinie; //sprite do poruszania sie wroga

image_xscale = other.image_xscale;

image_yscale = other.image_yscale;

hspd = other.hspd;

vspd = other.vspd;

}

}

if (stopped)

hspd=0;

 

 

// czasowy respawn wrogow troche pomeczyles sie ale dziala jak trzeba :)

if (dead == true)

{

//obj_spawn.dead = true; //respawn zabitego wroga jak nie bedzie dzialac to wtedy dead=true i wpisac instance_create(x,y,obj_spawn)

instance_create(x,y,obj_spawn_dino);

}

 

O dziwo jak wywalę tą nową część kodu z AI to wróg zmienia kierunek widząc przeszkodę z par_solid

dziwna sytuacja,no,ale wtedy AI wroga nie działa:/

Odnośnik do komentarza
Udostępnij na innych stronach

Siekanka na całego.

Na razie jeszcze można z tego coś wyrozumieć, a jak dodasz obsługę jeszcze 50 zachowań wroga?

 

Zacznij już porządki w kodzie, oddzielnie STOMwroga, oddzielnie STOM wyświetlania wroga, oddzielnie obsługę zmiany stanu wroga względem wejść ze środowiska.

Odnośnik do komentarza
Udostępnij na innych stronach

Siekanka na całego.

Na razie jeszcze można z tego coś wyrozumieć, a jak dodasz obsługę jeszcze 50 zachowań wroga?

 

Zacznij już porządki w kodzie, oddzielnie STOMwroga, oddzielnie STOM wyświetlania wroga, oddzielnie obsługę zmiany stanu wroga względem wejść ze środowiska.

 

 

 

Właśnie robię powoli porządki w kodzie..już nic więcej do wroga nie będę dodawał w końcu to platformówka.

Odnośnik do komentarza
Udostępnij na innych stronach

Właśnie robię powoli porządki w kodzie..już nic więcej do wroga nie będę dodawał w końcu to platformówka.

 

A czemu nie dodawać? Nie ma co sobie żałować drzewa zachowań i podstępności u wroga.

 

Po prostu podziel to na sekcje odpowiedzialne za stan, za interakcję, za grafikę i za decyzje

 

W step event masz możliwość dodania wielu kartek z kodem, można porozdzielać je żółtymi wykrzyknikami z opisami :)

Odnośnik do komentarza
Udostępnij na innych stronach

A czemu nie dodawać? Nie ma co sobie żałować drzewa zachowań i podstępności u wroga.

 

Po prostu podziel to na sekcje odpowiedzialne za stan, za interakcję, za grafikę i za decyzje

 

W step event masz możliwość dodania wielu kartek z kodem, można porozdzielać je żółtymi wykrzyknikami z opisami :)

 

 

 

Tak a potem strasznie obciąży mi to grę;)

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