Skocz do zawartości
Chell

Temat zbiorczy na drobnostki

Rekomendowane odpowiedzi

Pomyliłeś GMS2 z GMS1.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Dokładnie, też mi się wydaje, że nie ma automatycznych backupów w gms2 ( przynajmniej nie jest to domyślnie ustawione). Przykro mi to słyszeć Mastodont - to co Cię spotkało jest na maksa frustrujące. Mnie korzystanie z gms nauczyło jednego - backupy to konieczność, nawet nie musi być github, po prostu możesz wrzucać co jakiś czas projekt na google drive'a.

 

A  i btw. to niepolecam bawić się GMem w pracy. Człowiek cały czas się martwi, czy szef nie looknie w monitor i przez to można niestety popełnić jakiś błąd, nadpisać sobie niechcący projekt , itp itd. 

 

Ja bym próbował na twoim miejscu napisać do oficjalnego supportu, może będą w stanie Ci powiedzieć jak przywrócić do życia uszkodzony projekt.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
2 godziny temu, nowy_user napisał:

możesz wrzucać co jakiś czas projekt na google drive'a

Ale wtedy nie masz historii. Wrzucenie do gita jak robisz projekt samemu to jest dwa kliknięcia - commit wszystkiego i push. I masz do tego dostęp na całym świecie. Teraz github ma za free prywatne repozytoria.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Witam, już raz napisałem z dosyć prostym problemem nowy post, może nie będę zakładał nowego tylko się tu podepnę tym razem.

Kompletnie nie rozumiem surface'ów wykorzystałem poradnik z neta na oświetlenie lala, wziąłem kamerę z zoomem od innego gościa no i się wszystko popsuło.

Udało mi się dzisiaj pogodzić je ze sobą no i teraz chciałem zrobić źródło światła - pochodnie - no i światło zostaje na swojej zamierzonej pozycji natomiast kiedy kamera przesuwa/oddala

się po pokoju obiekty jakby podążają do pewnego momentu za kamerą . Może ktoś mi podpowiedzieć co jest powodem ? Jeśli będzie trzeba wkleję te moje gryzmoły. 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Czy twoja gra korzysta z viewów? Jeśli dobrze rozumiem, to gdzieś trzeba odjąć/dodać view_xview i view_yview, albo coś rysujesz w draw_gui, choć powinno być w draw, lub na odwrót.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Wszystko juz dziala jak należy, wybaczcie zamieszanie

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Cześć chłopaki..Potrzebuje pomocy..Nie mogę sobie poradzić z blokiem kodu...Już tłumaczę o co chodzi..Mam trzy bloki takie same kodu w zdarzeniu step bohatera no i tak..

1 blok jest to atak bohatera który strzela podczas stania i podczas biegania..

2.blok kodu to atak bohatera który strzela podczas skoku

3 blok kodu to atak bohatera który strzela kiedy znajduje się na drabinie..

 

Chciałbym wrzucić te trzy same bloki kodu w jeden blok uwzględniając zmiany spritów i warunki,że jeśli jest na drabinie to używa tego sprita,że jeśli strzela podczas skoku to używa tego sprita..że jeśli strzela podczas stania i biegu używa tego sprita..

 

Tak wyglądają moje bloki kodu.

Proszę wybaczcie,że wkleiłem aż trzy bloki kodu

Siedzę nad tym i nie mogę to dobrze ze sobą poskładać..

Mógłbym prosić o pomoc?

 

Bardzo dziękuje z góry za każdą pomoc

 

 

//bohater strzela podczas stania i biegu

var cur = obj_kontroler_gry.current_weapon; // obiekt kontrolny ma indeks aktualnej broni, więc musimy go najpierw pobrać



if keyboard_check_pressed(vk_control) && czasAtaku <= 0 && wPowietrzu=false &&



(global.wep[cur,e_wep.ammo] > 0 || global.wep[cur,e_wep.ammo] == -1) {
czasAtaku = global.wep[cur,e_wep.firerate];

czasAtaku = _attackTime;
czasBierzacy =1;

with instance_create(x,y,attack) {

sprite_index = spr_bohater_strzela;
image_xscale = other.image_xscale;


}

    var box, ins;
    if image_xscale == -1
        box = bbox_left;
    else
        box = bbox_right;


if (global.wep[cur,e_wep.ammo] >= 1) // jeśli nie nieskończona amunicja
{
global.wep[cur,e_wep.ammo]-=1;
}



 var ins = instance_create(box+image_xscale*42, y-17,global.wep[cur,e_wep.ammo_type] );
 ins.hspeed = image_xscale * 15;
 ins.dmg = irandom_range(global.wep[cur,e_wep.dmg_min],global.wep[cur,e_wep.dmg_max]);
 ins.sprite_index = paintballs[paintball_color++]; //nowa linijka do wyboru kolorow kulki
 paintball_color &= 3;
 
   audio_play_sound(global.wep[cur,e_wep.ammo_sound],10,false)
}

  
   


//bohater strzela podczas skoku i skoku 

var cur = obj_kontroler_gry.current_weapon; // obiekt kontrolny ma indeks aktualnej broni, więc musimy go najpierw pobrać

 
if keyboard_check_pressed(vk_control) and keyboard_check(vk_space)  && czasAtaku <= 0 && 
(global.wep[cur,e_wep.ammo] > 0 || global.wep[cur,e_wep.ammo] == -1){
czasAtaku = global.wep[cur,e_wep.firerate];

czasAtaku = (_attackTime * 0.5);
czasBierzacy =1;

with instance_create(x,y,attack) {
sprite_index = spr_bohater_strzelawskoku;
image_xscale = other.image_xscale;


}

    var box, ins;
    if image_xscale == -1
        box = bbox_left;
    else
        box = bbox_right;
    
        
        

if (global.wep[cur,e_wep.ammo] >= 1) // jeśli nie nieskończona amunicja
{
global.wep[cur,e_wep.ammo]-=1;
}


  var ins = instance_create(box+image_xscale*50, y-25,global.wep[cur,e_wep.ammo_type] );
  ins.hspeed = image_xscale * 15;
  ins.dmg = irandom_range(global.wep[cur,e_wep.dmg_min],global.wep[cur,e_wep.dmg_max]);
  ins.sprite_index = paintballs[paintball_color++]; //nowa linijka do wyboru kolorow kulki
  paintball_color &= 3;
  
    audio_play_sound(global.wep[cur,e_wep.ammo_sound],10,false)

}

  
//bohater strzela kiedy znajduje się na drabinie
  
  
  var cur = obj_kontroler_gry.current_weapon; // obiekt kontrolny ma indeks aktualnej broni, więc musimy go najpierw pobrać

 
if keyboard_check_pressed(vk_control) and keyboard_check(vk_space)  && czasAtaku <= 0 && drabina==true && place_meeting(x,y,obj_drabina) &&
(global.wep[cur,e_wep.ammo] > 0 || global.wep[cur,e_wep.ammo] == -1){
czasAtaku = global.wep[cur,e_wep.firerate];

czasAtaku = (_attackTime * 0.5);
czasBierzacy =1;

with instance_create(x,y,attack) {
sprite_index = spr_bohater_strzelanadrabinie;
image_xscale = other.image_xscale;


}

    var box, ins;
    if image_xscale == -1
        box = bbox_left;
    else
        box = bbox_right;
    
        
        

if (global.wep[cur,e_wep.ammo] >= 1) // jeśli nie nieskończona amunicja
{
global.wep[cur,e_wep.ammo]-=1;
}


  var ins = instance_create(box+image_xscale*50, y-25,global.wep[cur,e_wep.ammo_type] );
  ins.hspeed = image_xscale * 15;
  ins.dmg = irandom_range(global.wep[cur,e_wep.dmg_min],global.wep[cur,e_wep.dmg_max]);
  ins.sprite_index = paintballs[paintball_color++]; //nowa linijka do wyboru kolorow kulki
  paintball_color &= 3;
  
    audio_play_sound(global.wep[cur,e_wep.ammo_sound],10,false)

}

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Witam,
Natknąłem się na taki błąd i nie mam pojęcia czego on wynika. Ktoś ma jakiś pomysł? 

Create:

for(var i=0; i < 64; i++) //64 - tyle jest promieni
{
	grid[i] = -1;	//ray type
	grid[i][i] = -1; //ray length
}

Draw:

for(var i=0; i < 64; i++) //64 - tyle jest promieni
{
	draw_text(400, 5 + (i*10), grid[5]);
}

wynik:
image.png.f1c85e1cefb6e8a7d76614522b38eff2.png

 

[0,0,0,0,0,-1] <-- zależnie co wpiszę w index tablicy, tyle jest zer
np.
grid[3] = [0,0,0,-1]
grid[6] = [0,0,0,0,0,0,-1]

jak wpiszę grid[ i ][ i ] to jest ok. ale przy jednym grid[ i ] to już nie :/ 

Przy zmianie zmiennej grid, jest to samo. Uruchomienie ponownie kompa, to samo. 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ja nie bardzo rozumiem co tu się dzieje, ale:

 

jeśli napiszesz grid[0][0] = 1, to tak samo jakby napisać grid[0] = [1];
jeśli dodasz grid[0][1] = 2, to mamy grid[0] = [1, 2];

 

Mam wrażenie, że kasujesz sobie tablicę 2D.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Generalnie sam już nie pamiętam co miałem wczoraj na myśli. Coś kojarzę, że w gm teraz nie ma tablic dwuwymiarowych tylko są zagnieżdżenia, a nie miałem z tym nigdy styczności. Dlatego chciałem zrobić tak jakby tablice jedno i dwuwymiarową pod jedną zmienną. Czyli jakbym chciał się odwołać do pierwszej tablicy to wpisywałbym grid[ i ], a jak do zagnieżdżonej drugiej tablicy (coś na styl dwuwymiarowej) to grid[ i ][ i ].

Generalnie błąd rozwiązałem tym, że mam
grid[ 0 ] [ i ] - jakby do 1D
grid[ i ] [ i ]  - jakby do 2D 

... właśnie pisząc to zauważyłem, że mogę zrobić
grid[ 0 ][ i ]
grid[ 1 ][ i ]

i traktować to jak dawne tablice dwuwymiarowe 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Dokładnie tak. A przed chwilą próbowałeś pod jedną wartością mieć dwie zmienne - i liczbę i tablicę jednocześnie. Tablica w tablicy to generalnie stara tablica 2D, jedyna różnica teraz, to że za każdym razem możesz mieć inną ilość elementów jeśli chcesz, ale jak się pilnujesz, to używasz je tak samo (i nawet zapis grid[1, 2] powinien działać).

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

×