Ultima Forum

Pełna wersja: Skrypt powtórzenia walki po przegranej.
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
To znowu ja. :euforia:

A więc, skrypt na powtórzenie walki od nowa kiedy ją przegraliśmy sprawił problem. Były w nim linijki otwierające, zamykające i usuwające "data/retry.sg". Napisałem do Reptil'a która polecił mi je usunąć. Tak też zrobiłem. Jednak wywala linijkę 59. A dokładniej pisze:
Script "Przegrania" line 59 NameError occurred.
undefined local variable or method `file' for #<Scene_Save:0x417c038 @help_text="Który plik zapisac?">

Proszę. czy ktoś mógłby dla mnie zedytować ten skrypt? Gdy dochodzi do końca
Skrypt normalny:
Spoiler: (Otwórz)
Z usuniętymi mam nadzieje wszystkimi retry.sg:
Spoiler: (Otwórz)
Bardzo proszę o pomoc. :cry:
No dobrze chcesz usunąć te linijki, ale po co? Przecież te pliki powstają po to, by zapisać zmienne sprzed walki. Przecież program musi jakoś zapisać stan drużyny przed starciem.
Jak ma zatem działać, jeśli chcesz je pousuwać?
(06-01-14 13:36)Ayene napisał(a): [ -> ]No dobrze chcesz usunąć te linijki, ale po co? Przecież te pliki powstają po to, by zapisać zmienne sprzed walki. Przecież program musi jakoś zapisać stan drużyny przed starciem.
Jak ma zatem działać, jeśli chcesz je pousuwać?

Sytuacja wygląda tak: Demo gry skończone, wszystko działa można testować. Skrypty działają jest pięknie. Nadchodzi koniec i ostateczna walka. Co się dzieje? Skrypt wywala ponieważ nie może znaleźć tego pliku retry.sg I zniszczyło to troche klimatu.
Napisałem do pana R. w tej sprawie o tak mi odpisał:
Spoiler: (Otwórz)
Nie chciałbym zrezygnować z skryptu a też nie wiem jak go naprawić. Ostatecznie mogę go usunąć, podupadnie to na grze w dużym stopniu ale jak nie można nic zrobić to trudno.
Uprzedzam że grę wywala zanim się walka rozpoczyna, więc nie mógł się ten plik nawet stworzyć.
Oczywiście, że w zapakowanym projekcie nie utworzy się pliku w folderze Data. Wydaje mi się, że wystarczy, że wszystkie odwołania zamienisz na katalog główny z grą, czyli pousuwasz 'Data/' ze wszystkich linii, w których występuje, np.:
Kod:
file = File.open('Data/retry.sg', 'wb')
zamień na:
Kod:
file = File.open('retry.sg', 'wb')
Plik powinien być wówczas tworzony, nadpisywany i usuwany bez problemów.
Przekierowanie