Hallo!
Ich bin gerade dabei eine waffen engine für einen 2D shooter zu machen, mit der man 2 Waffen tragen und nachladen können soll. Man kann allerdings schießen, während man nachlädt, obwohl ich die Variable "global.canshoot" = 0 setze, wenn nachgeladen wird und es auch überprüft wird, bevor geschossen wird.
Außerdem funktioniert der Autoreload, wenn keine Munition mehr im magazin ist (currentchip=0) nicht.
Ich probiere jezt bestimmt schon über 2h rum, um die Fehler zu beheben, aber finde keine Lösung
Kann mir jemand von euch sagen, warum man während dem Nachladen schießen kann nd warum der Autoreload nicht funktioniert und mir bestenfalls auch sagen, wie dies zu beheben ist? Im Anhang ist auch noch die ungekürzte .gmk Datei.
Create
Glob left button
alarm 1
release key r
Alles anzeigen
Alarm 5,6,7
Und das soll der Autoreload sein, der aber leider gar nicht funktioniert:
step
Alles anzeigen
Alarm 3,4
Ich bin gerade dabei eine waffen engine für einen 2D shooter zu machen, mit der man 2 Waffen tragen und nachladen können soll. Man kann allerdings schießen, während man nachlädt, obwohl ich die Variable "global.canshoot" = 0 setze, wenn nachgeladen wird und es auch überprüft wird, bevor geschossen wird.
Außerdem funktioniert der Autoreload, wenn keine Munition mehr im magazin ist (currentchip=0) nicht.
Ich probiere jezt bestimmt schon über 2h rum, um die Fehler zu beheben, aber finde keine Lösung
Kann mir jemand von euch sagen, warum man während dem Nachladen schießen kann nd warum der Autoreload nicht funktioniert und mir bestenfalls auch sagen, wie dies zu beheben ist? Im Anhang ist auch noch die ungekürzte .gmk Datei.
Create
GML-Quellcode
- global.weapon=1 //Startwaffe
- global.maxrounds=180 //Maximale tragbare Munition
- global.chipsize=30 //Magazingröße
- global.currentrounds=180 //momentane Munition
- global.currentchip=30 // momentanes Magazin
- global.firerate=10 //firerate
- global.reloadtime=60 //Nachladedauer
- global.reloadtimeempty=75
- global.firemode=2 // 1=Halbautomatik 2= vollautomatik
Glob left button
alarm 1
release key r
GML-Quellcode
- //manueller reload
- //Die drei möglichen Fälle, wie die Munition verteilt sein könnte.
- //Bei den 3 volgenden zusammengefassten Alarmen wird dementsprechend nachgeladen.
- if global.currentrounds>global.chipsize-0.1
- {global.canshoot=0;
- alarm[5]=global.reloadtime;}
- if global.currentchip<global.chipsize
- if global.currentchip+global.currentrounds<global.chipsize-0.1
- {global.canshoot=0;
- alarm[6]=global.reloadtime}
- if global.currentchip<global.chipsize
- if global.currentchip+global.currentrounds>global.chipsize
- {alarm[7]=global.reloadtime
- global.canshoot=0}
Alarm 5,6,7
Und das soll der Autoreload sein, der aber leider gar nicht funktioniert:
step
GML-Quellcode
- //autoreload
- //wenn ammo im chip kleiner als Magazingröße
- if global.currentchip<1
- {if global.currentrounds>global.chipsize-0.1
- {alarm[3]=global.reloadtimeempty;
- global.canshoot=0}}
- //wenn ammo im chip größer als Magazingröße
- if global.currentchip<1
- {if global.currentrounds<global.chipsize
- {alarm[4]=global.reloadtimeempty;
- global.canshoot=0}}
Alarm 3,4
=
+ + =
+ =
+ =
+ + =
+ =
+ =