Skocz do zawartości

Gibki Kaktus

Użytkownicy
  • Postów

    820
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    7

Odpowiedzi opublikowane przez Gibki Kaktus

  1. Witam, mam pewien dziwny bug.

     

    Mianowicie mam sobie obiekt o_champion, który jest podpięty pod obiekt przeciwnicy. No i cóż, mam sobie w tym o_championie kod, który nie działa, bo nie wykrywa mi gracza, pomimo, iż reszta przeciwników go wykrywa. Z tego co zauważyłem to normalnie wykrywa, a nie wykrywa go jak jest poza viewem i zostaje deaktywowany. Ale to i tak dziwne, bo w innych przeciwnikach mi nie wywala takiego błędu z graczem :/

     

    Tutaj jest kod błędu:

    ERROR!!! :: ################################################################################

    ############

    FATAL ERROR in

    action number 1

    of Step Event0

    for object o_champion:

     

     

    Unable to find any instance for object index '106757' name '<undefined>'

    at gml_Object_o_champion_StepNormalEvent_1 (line 41) - if abs(x-cel.x)<250 && distance_to_object(cel)<250 goni=1 else goni=0;

    ################################################################################

    ############

     

     

    Tutaj podaje wam cały step z o_championa:

    GML
    var cel=global.graczek[1];

    var ocel=noone

    if global.gracze=1

    {

    cel=global.graczek[1]

    }

    else

    {

    if distance_to_object(global.graczek[1])<distance_to_object(global.graczek[2]) && global.graczek[1].ginie=0

    {

    ocel=global.graczek[2];

    cel=global.graczek[1];

    }

    else

    {

    ocel=global.graczek[1];

    if global.graczek[2].ginie=0 cel=global.graczek[2] else cel=global.gracze[1];

    }

    }

    //Odpych

    if hspeed>0

    {

    hspeed-=0.2

    }

    if hspeed<0

    {

    hspeed+=0.2

    }

    if atakuje=2 && hspeed<=2 && hspeed>=-2 hspeed=0;

    if moze>0 moze--;

     

    //Grawitacja

    if place_free(x,y+1)

    {gravity = 0.5}

    else

    {gravity = 0}

     

    if ginie=0 && stun=0{

    //Kod na chodzenie

    if goni=0 && stoi=0{

    if abs(x-cel.x)<250 && distance_to_object(cel)<250 goni=1 else goni=0;

    if zmien<1 and vspeed=0{

    zmien=random(2*room_speed)

    kierunek=irandom(2)

    }

    if zmien>0{

    if kierunek=1{

    image_xscale=-1

    if place_free(x-spd,y){

    x-=spd/2

    sprite_index=sprit;

    }

    image_speed=0.3

    }else{

    image_xscale=1

    if place_free(x+spd,y){

    x+=spd/2

    sprite_index=sprit;

    }

    image_speed=0.3

    }

    }

    }else if goni=1 && cel.image_alpha=1{

    if atakuje=0 && distance_to_object(cel)>dystans/2{

    if cel.x>x image_xscale=1 else image_xscale=-1;

    if place_free(x+spd*image_xscale,y) {x+=spd*image_xscale; sprite_index=sprit} else sprite_index=spr;

    }

    if atakuje=0 && moze=0 && distance_to_object(cel)<dystans{

    moze=coile*room_speed;

    atakuje=1;

    image_index=0;

    sprite_index=sprit_atak

    image_speed=0.5;

    if cel.x>x image_xscale=1 else image_xscale=-1;

    }else if atakuje=1 && image_index>5{

    atakuje=2;

    kol=instance_create(x,y,o_wilk_kolizja);

    kol.pan=id;

    kol.atak=atak;

    kol.sprite_index=spr_champion_kolizja;

    }else if atakuje=2{

    if place_free(x+(spd)*image_xscale,y){

    x+=(spd)*image_xscale;

    }

    if image_index>9{

    atakuje=3;

    with(kol) instance_destroy();

    }

    }

    }

    }else if stun=1 && ginie=0{

    atakuje=0;

    image_speed=0.3;

    sprite_index=spr;

    stoi=0;

    }

     

    if hp<=0

    {

    with(kol) instance_destroy();

    if ginie=0

    {

    dusz=instance_create(x,y,dusza)

    dusz.sprite_index=duszas

    dusz.image_xscale=image_xscale

    dusz.pan=id

    ginie=1

    sprite_index=sprit_ginie

    image_speed=0.4

    image_index=0

    }

    }

     

    if stun=1 and s=0

    {

    s=instance_create(x,y-yp,stunik)

    s.pan=id

    s.niszcz=0

    }

    if s!=0

    {

    if stun=0 or ginie!=0

    {

    if instance_exists(s) s.niszcz=1;

    }

    }

  2. @Threef, używam jedynie jednego surface, który potem usuwam, po planszy.

    Nawet jak przeciwników nie ma, to i tak rośnie tak samo.

     

    @Vader na jedną planszę jest jeden mp_grid, potem jest usuwany.

     

    Ogólnie to odkryłem już o co chodzi z tym stałym przyrostem. Particle. Ale jak używam part_system_clear lub part_system_destroy to i tak te dane nie znikają :/

    I do tego jest coś jeszcze, ale,co tylko na początku planszy jest tworzone/wczytywane, a potem jeszcze nie jest usuwane, ale nie mam pojęcia co to xD

  3. Pytanie odnośnie optymalizacji. Jak sprawdzać co zużywa tak dużo pamięci, oraz jak to kasować? XD

    Sprawdziłem sobie graph: Na początku było menu, pod koniec też wróciłem do menu:

    Zrzut-ekranu-2017-03-26-22.53.51-1024x516.png

    Dla porównania z innej gry graph, jak wchodziłem i wychodziłem z menu:

    Zrzut-ekranu-2017-03-27-08.56.02-1024x600.png

     

    I jak najlepiej sprawdzać co laguje najbardziej? XD

  4. Tytuł: tytuł gry (np. Przygody Babcii Stasi i jej Bociana)

     

    Gatunek: Shooter 2D

     

    Opis: W grze wcielamy się w nieznajomego bohatera, który utracił pamięć i został uratowany przez myśliwego. By się odwdzięczyć za uratowanie pomagamy mu w jego pracy, jednak później stajemy sie ważną podporą dla całej wyspy....

    Gra jest niewielkim Shooterem 2D polegającym na przebijaniu się przez hordy przeciwników.

     

    Download: https://dravisoft.itch.io/orghia-kulus

    Rozmiar pliku:8MB

     

     

    Autorzy:

    Programowanie:
    Gibki Kaktus

    Fabuła:
    Gibki Kaktus

    Grafika:
    Gibki Kaktus

    Muzyka:
    freesound.org, battle for wesnoth, opengameart.org

    Screeny:

    Zrzut-ekranu-2017-03-20-02.29.57.png

    Zrzut-ekranu-2017-03-20-02.31.28.png

    Zrzut-ekranu-2017-03-20-02.33.21.png

     

    Oprócz tego wraz z dniem dzisiejszym oficjalnie ruszyła strona Dravisoftu! :D

×
×
  • Dodaj nową pozycję...