Kod jest ok, ale czy zdajesz sobie sprawę że
tj. ord("s") + i to nie jest kolejność jak na klawiaturze, tylko według tablicy znaków ascii:
kulki - "s"
laser - "t"
strzelba - "u"
miotacz - "v"
bazooka - "w"
Podejrzewam że gdy tworzysz nowy obiekt broni wywołuje się dla niej collision event a bit dla keyboard pressed jest nadal aktywny i kod wykonuje się jeszcze raz, dodanie zmiennej is_pressed by pomogło.
Racja: https://docs.yoyogames.com/source/dadiospic..._directory.html
EDIT: Co do zapisywania w innych folderach ja używam tego http://gmc.yoyogames.com/index.php?showtopic=567528
Tylko na czas jak uruchamiamy grę z poziomu GMa, kompiluje ją do folderu tymczasowego.
Jak będę miał chwilę to napisze te text input, przynajmniej sobie gml przypomnę ;)
Po pierwsze primo od kiedy można używać execute shell w studio?
Po drugie working_directory to folder w którym jest plik exe z grą i na 100% ten co podaje jest ok.
Po trzecie możesz użyć jakiegoś dll do obsługi plików
Po czwarte napisanie "text input" nie jest trudne.
Czyli metoda z kluczami odpada. Mógłbyś zrobić bazę danych i ręcznie aktywować daną kopie programu, według np nazwy komputera albo mac karty sieciowej.
E: Albo mieć pulę kluczy i sprawdzać czy dany klucz został aktywowany.