kategoria: A1200
[#1] Skrypty właczane ikonką
Witam
Nie wiem co robię źle bo czasem skrypt działa a czasem nie mimo że wygląda dobrze.

Instaluję gry na HDD ale w taki sposób aby po ewentualnej zmianie systemu (czy instalacji) nie zdziwić się że gra się nie chce włączyć bo coś jej brakuje (zwykle czcionek).

Szczegółowo śledzę proces instalacji i jeśli instalator coś kopiuje do systemu to odpowiednie pliki z folderami przenoszę do gry.

Wygląda to tak - podam na przykładzie.

Mam grę "Co do grosza". Gra się instaluje na HDD w wybranym przez mnie dysku a pod koniec pyta czy zainstalować czcionkę - oczywiście w SYS:FONTS.

Kopiuję tą czcionkę do utworzonego folderu FONTS w folderze gry. Obok gry tworzę jakiś folder i tam przenoszę całą grę. Załóżmy że to jest folder C.

Z gry wyciągam ikonkę za pomocą ICON DELUXE i zmieniam jej typ z TOOL na PROJECT. Zapisuję jako CDG. Tworzę również plik CDG - to jest skrypt.

Podsumowując w folderze DH1:CDG mam pliki CDG, CDG.INFO oraz folder C.

Napisałem prosty skrypt:

CD C
ASSIGN FONTS: FONST
CDG

Wszystko zadziałało od razu.

Wziąłem się za CIVILIZATION i tu nie wiem czemu skrypt nie chciał się wykonać mimo że wszystko wyglądało ok. W końcu nie wiadomo czemu zadziałało mimo że nic nie zmieniałem!

Teraz męczę się z grą WHELLS ON FIRE.

W skrypcie mam wpisane

CD

Po uruchomieniu pokaże ścieżkę.

Ale jak wpiszę

CD W
CD

To pokaże OBJECT NOT FOUND
W drugiej linii ścieżkę tą samą jak by nie weszło do folderu.

W tym momencie ręce mi opadają bo coś co powinno trwać minutę przeradza się w godzinę i dalej nie działa.

Dodam że wszystko robię pod WINUAE.
[#2] Re: Skrypty właczane ikonką

@11111olo, post #1

CD W

Nie masz katalog 'W' w katalogu z którego uruchamiasz ten skrypt, więc Ci go polecenie CD nie znajduje i stąd taki komunikat (OBJECT NOT FOUND)

Napisz co chcesz zrobić, to napisze Ci przykładowy skrypt.

Np jeśli masz katalog z gra Civilization na dh1:gry/Civilization i do niego przekopiowaną zawartość 4 dyskietek, które nazywają się odpowiednio Civ0, Civ1.. Civ3 i dodatkowo gra ma własne fonty (katalog 'fonts') i polecenia w katalogu 'C' plus biblioteki w katalogu 'libs' (a nie chcesz śmiecić na dysku systemowym) to tworzysz następujący skrypt w dh1:gry/Civilization

cd ""
;wskazujesz domyślna ścieżkę dostępu, tutaj będzie to dh1:gry/Civilization równie dobrze mógłbyś napisać: cd dh1:gry/Civilization w naszej sytuacji można w ogóle pominąć tą linijkę

assign Civ0: ""
; wskazujesz gdzie znajduje się Civ0: równie dobrze możesz napisać: assign Civ0: dh1:gry/Civilization

assign Civ1: ""
assign Civ2: ""
assign Civ3: ""

assign c: c
;robisz przypis dla katalogu systemowego c: równie dobrze możesz napisać: assign c: dh1:gry/Civilization/c
assign fonts: fonts
assign libs: libs

Civilization.exe
; przyjmijmy, że Civilization.exe to nazywa się plik wykonywalny który uruchamia grę Civilization

Wielkość znaków nie ma znaczenia, puste linie też nie mają znaczenia, zostaną pominięte, tak samo tekst po znaku ; nie będzie wykonywany
W właściwościach ikony twojego skryptu wpisz sobie najlepiej c:IconX w takiej sytuacji do przypisania dla C warto urzyć argumentu ADD. Finalny skrypt może wyglądać tak:


cd ""
assign Civ0: ""
assign Civ1: ""
assign Civ2: ""
assign Civ3: ""

assign c: c ADD
assign fonts: fonts
assign libs: libs

Civilization.exe

Ostatnia aktualizacja: 22.02.2013 10:50:59 przez BULI
[#3] Re: Skrypty właczane ikonką

@BULI, post #2

Może inaczej. To takie dziwne jest że nie wiem w czym problem.

Postanowiłem skopiować ikonę CDG.INFO (z tej gry co działa) do gry WheelsOnFire.
Nazwę skryptu zmieniłem z WheelsOnFire na CDG i działa!

Obie ikony są typu PROJECT i w obu default tool to ICONX.

Z jednej gra działa a z drugiej nie.

Nie rozumiem dlaczego.
[#4] Re: Skrypty właczane ikonką

@11111olo, post #3

Atrybuty też mają takie same?
[#5] Re: Skrypty właczane ikonką

@GumBoy, post #4

Tak.
[#6] Re: Skrypty właczane ikonką

@11111olo, post #5

Nie oszukujmy się- błąd ludzki.
Jak działa Ci tylko z kopiowaną ikona (kopiujesz tylko ikonę a nie cały krypt? Jak przeciągasz ikone skryptu pod WB to kopiujesz też cały skrypt!) to tego się trzymaj, z czasem sam znajdziesz przyczynę.
Powodzenia
[#7] Re: Skrypty właczane ikonką

@BULI, post #6

No dobra.

Wiem że kopiując ikonę kopiuję również skrypt tylko że tworząc ikonę skryptu jeszcze nie ma, więc go tworzę z identyczną nazwą bez rozszerzenia.

Czemu w ten sposób ma nie zadziałać? W końcu to tylko pliki.
[#8] Re: Skrypty właczane ikonką

@11111olo, post #7

Już wiem o co chodzi.
Notatnik na końcu wiersza robi $0A, czyli przesunięcie papieru oraz $0D czyli powrót karetki i właśnie powrót karetki powoduje problem.

Niby to nic takiego ale Amiga nie akceptuje takiego formatu.

Ostatnia aktualizacja: 22.02.2013 11:36:45 przez 11111olo
[#9] Re: Skrypty właczane ikonką

@11111olo, post #1

Jak zmieniasz przypisy systemowe, to przy grach z których można wyjść powinieneś je przywrócić po zakończeniu pliku wykonywalnego.

Używaj jakiegoś edytora amigowego do tekstu jak np CED, notatnik też nie interpretuje dobrze znaku końca linii, tzn, brak znaku powrotu karetki powoduje, że tekst nie przechodzi do następnej linii przy samym znaku przesunięcia papieru.

Ostatnia aktualizacja: 22.02.2013 12:04:55 przez rafgc
[#10] Re: Skrypty właczane ikonką

@rafgc, post #9

Właśnie wiem o tym i dopisałem coś takiego

CD W
ASSIGN LIBSS: LIBS:
ASSIGN LIBS: LIBS
WHELL - to nazwa pliku uruchamiającego
ASSIGN LIBS: LIBSS:

Wyżej może niezrozumiale napisałem o co chodzi. Plik musi być kodowany w UNIX i będzie ok ;)
[#11] Re: Skrypty właczane ikonką

@11111olo, post #10

ASSIGN LIBS: LIBSS:
masło maślane, wskazujesz aby LIBS: wskazywało na LIBS:, czyli nie zmienisz nic
musisz z powrotem wskazać systemowy katalog jak

assign LIBS: sys:libs
assign FONTS: sys:fonts
[#12] Re: Skrypty właczane ikonką

@rafgc, post #11

Może i masło maślane ale tak jak piszesz u mnie nie zadziała bo zamiast SYS mam WB a tak jak napisałem zadziała zawsze i u każdego!

Może napiszę to inaczej aby było czytelniej

Chcę podmienić na czas uruchomienia gry zmienną LIBS.

ASSIGN TYMCZASOWE_PRZYPISANIE_POŁOŻENIA_ORYGINALNEGO_POŁOŻENIA_LIBS: LIBS:
ASSIGN LIBS: FOLDER_Z_BIBLIOTEKA_LIBS
URUCHOMIENIE_GRY
ASSIGN LIBS: TYMCZASOWE_PRZYPISANIE_POŁOŻENIA_ORYGINALNEGO_POŁOŻENIA_LIBS:

Czy teraz jest jaśniej?
[#13] Re: Skrypty właczane ikonką

@11111olo, post #8

Niby to nic takiego ale Amiga nie akceptuje takiego formatu.

Tworzysz skrypt AmigaDosu więc każdy znak będzie interpretowany w tym $0A i $0D, to tak jakbyś się dziwił dla czego strona html z błędną składnią nie działa poprawnie :)
[#14] Re: Skrypty właczane ikonką

@BULI, post #13

Nie wiedziałem że ma być UNIX i teraz się nie dziwię czemu nie działało.
[#15] Re: Skrypty właczane ikonką

@11111olo, post #12

Ale kombinujesz. Wystarczy zapoznac się ze składnią polecenia "assign" i odkryjesz parametr ADD.
[#16] Re: Skrypty właczane ikonką

@GumBoy, post #15

Czemu kombinuję?

Jak da się prościej to napisz.
[#17] Re: Skrypty właczane ikonką

@11111olo, post #12

Ło Matko, ale kombinujesz..

sys: to odwołanie do partycji systemowej, czasami może nie zadziałać.

W takiej sytuacji przez analogie w miejsce sys stosujesz nazwę napędu obojętnie którą, logiczna czy sytemową/wolumenu.
Więc, jeśli twoja partycja systemowa ma nawę wolumenu WB to tak jak Ci pisał rafgc:

assign LIBS: ścieżka_do_katalogu_nowymi_bibliotekami
assign Fonts: ścieżka_do_katalogu_nowymi_Fontami
URUCHOMIENIE_GRY
assign LIBS: wb:libs
assign FONTS: wb:fonts

lub tak jak radzi Ci GumBOY

Możesz skorzystać z ADD i w tedy będzie krócej bo wystarczy:

assign LIBS: ścieżka_do_katalogu_nowymi_bibliotekami ADD
assign Fonts: ścieżka_do_katalogu_nowymi_Fontami ADD
URUCHOMIENIE_GRY

..ale w tym przypadku jest trochę mniej bezpiecznie, trzeba uważać na dublujące się biblioteki, polecenia szczególnie w innych wersjach.
[#18] Re: Skrypty właczane ikonką

@BULI, post #17

Właśnie, czasami może nie zadziałać i po to tak robię żeby gra mi zadziałała później bez instalacji, zastanawiania się czy partycja z WB to WB, SYS, czy jeszcze inna nazwa.
[#19] Re: Skrypty właczane ikonką

@BULI, post #17

sys: to odwołanie do partycji systemowej,

Żeby uścislić, do partycji (czy jakiegokolwiek innego napędu) z którego został zabootowany komputer.

..ale w tym przypadku jest trochę mniej bezpiecznie, trzeba uważać na dublujące się biblioteki, polecenia szczególnie w innych wersjach.

Na co uważać? Jeśli nie znajdzie właściwej wersji w SYS:LIBS, to poszuka w PROGDIR:LIBS (czy cokolwiek innego przypiszesz przez ADD) Poza tym to nie jest kwestia bezpieczeństwa, tylko tego, że działać nie będzie :)

Swoją drogą, czy to nie jest tak, że jeśli jakiś przypis już istnieje, to polecenie stosuje ADD by deault?
[#20] Re: Skrypty właczane ikonką

@GumBoy, post #19

Na co [i]uważać?

Przykładowo gra w swoich libsach ma starszą wersję jakiejś biblioteki (wymaga właśnie takiej do poprawnego działania) niż ta w katalogu systemowym z której musi skorzystać np jakiś program, inna gra, która dla odmiany potrzebuje tej nowszej wersji (systemowej, pomijając kwestię, że taka biblioteka i tak mogła pozostać w pamięci po jej ostatnim użyciu) do poprawnego działania- czujesz o co mi chodzi (nie jest to problem akademicki tylko jak najbardziej życiowy).
Chyba, że chciałeś się czepić użytego słowa "bezpieczeństwa"?

Swoją drogą, czy to nie jest tak, że jeśli jakiś przypis już istnieje, to polecenie stosuje ADD by deault? [/i]

Zdecydowanie nie. Robi nowy przypis/zastępuje stary.
[#21] Re: Skrypty właczane ikonką

@11111olo, post #12

SYS: to odwołanie do partycji z której uruchomił się komputer, czyli w 99% przypadków, gdzie jest zainstalowany WB, FONTS:, LIBS: także zostają przypisane podczas bootowania do katalogów sys:libs i sys:fonts, o ile nikt nie robił jakichś zmina w przypisach systemowych (np start z dyskietki dla dysków PCMCIA), to sys: zadziała zawsze i u każdego, w przeciwieństwie do WB, bo nie wszyscy tak sobie nazywają partycję systemową.


ASSIGN TYMCZASOWE_PRZYPISANIE_POŁOŻENIA_ORYGINALNEGO_POŁOŻENIA_LIBS: LIBS:
chyba na odwrót

ASSIGN LIBS: FOLDER_Z_BIBLIOTEKA_LIBS
nie wiem po co to

URUCHOMIENIE_GRY

ASSIGN LIBS: TYMCZASOWE_PRZYPISANIE_POŁOŻENIA_ORYGINALNEGO_POŁOŻENIA_LIBS:
....

Chyba,źle rozumiesz czym jest polecenie assign, assign nie tworzy zmiennych, tylko łopatologicznie tłumacząc robi skrót systemowy albo alias do jakiegoś katalogu (np. FONTS: ). Możesz też tworzyć własne przypisy w formacie NAZWA:, ułatwia to poruszanie się w wierszu poleceń.


Powinno być tak jak napisałem wcześniej:

assign LIBS: ścieżka_do_katalogu libs gry
uruchomienie
assign LIBS: sys:libs (lub inna pełna ścieżka jak dh0:libs)





Ostatnia aktualizacja: 22.02.2013 13:21:02 przez rafgc
[#22] Re: Skrypty właczane ikonką

@rafgc, post #21

ASSIGN TYMCZASOWE_PRZYPISANIE_POŁOŻENIA_ORYGINALNEGO_POŁOŻENIA_LIBS: LIBS:
chyba na odwrót


To przypisuje położenie folderu LIBS (zapewne będzie to SYS:LIBS albo WB:LIBS)

ASSIGN LIBS: FOLDER_Z_BIBLIOTEKA_LIBS
nie wiem po co to


To podstawiony na czas grania w grę folder LIBS znajdujący się zwykle w folderze z grą

URUCHOMIENIE_GRY

To wszystko jasne

ASSIGN LIBS: TYMCZASOWE_PRZYPISANIE_POŁOŻENIA_ORYGINALNEGO_POŁOŻENIA_LIBS:


Przywrócenie wcześniejszej ścieżki położenia folderu LIBS
[#23] Re: Skrypty właczane ikonką

@BULI, post #20

Pomijając fakt, że nie przypominam sobie, żeby którys program odmówił mi posłuszeństwa, bo bilioteka była "za nowa", to wystarczy w skrypcie usunąć przypisy po wyjściu z gry.

ecydowanie nie. Robi nowy przypis/zastępuje stary.

Nawet w przypadku przypisów tworzonych domyślnie przez procedurę bootowania w ROMie (SYS: LIBS: DEVS: C:)? Bo pamiętam, że te przypisy wcale tak łatwo podmienić nie było, uzywałem niejakiego "movesys" do tego.
[#24] Re: Skrypty właczane ikonką

@11111olo, post #18

Właśnie, czasami może nie zadziałać i po to tak robię żeby gra mi zadziałała później bez instalacji, zastanawiania się czy partycja z WB to WB, SYS, czy jeszcze inna nazwa.

Nie pisz głupot SYS: to opisał Ci ładnie Gumboy

Chodzi o nazwę partycji, tak jak masz to w Windowsie np c (nazwa logiczna) lub windows_speed.
Pod Amigą masz tak samo do własciwego urządzenia musisz się odwołać.
Nazwa partycji (wolumenu) to nazwa pod ikonką dysku na blacie!

Nazwę logiczną możesz też odczytać w HDtoolBox'ie lub wpisując po prostu w CLI samo polecenie ASSIGN dostaniesz tam i nazwę logiczną napędu i przypisana mu nazwę wolumenu.

To co Ci piszemy wiedza "bardzo" podstawowa znajdź sobie jakiś podstawowy kurs AmigaDos'u to z tymi podstawami powinno być łatwo :)

Poza tym to co robisz zostało już zrobione x razy na x sposobów, ale nie neguję tego jeśli sprawia Ci to przyjemność/ciekawi cię no i masz szansę się czegoś nauczyć :D

Ostatnia aktualizacja: 22.02.2013 13:35:39 przez BULI
[#25] Re: Skrypty właczane ikonką

@BULI, post #24

Tak ja napisałem działa.

Jestem początkującym co nie znaczy że nie staram się samemu poszukać rozwiązania.
[#26] Re: Skrypty właczane ikonką

@11111olo, post #22

aha, rzeczywiście będzie działać, nie spojrzałem na to pod tym kątem :)

Ostatnia aktualizacja: 22.02.2013 13:36:15 przez rafgc
[#27] Re: Skrypty właczane ikonką

@GumBoy, post #23

Pomijając fakt, że nie przypominam sobie, żeby którys program odmówił mi posłuszeństwa, bo bilioteka była "za nowa",

Słusznie, pomińmy tak niewygodny fakt.
za nowa lub za stara jak napisałem. Poza tym to nie tylko kwestia nr. biblioteki, ale również jej optymalizacji pod konkretny sprzęt.

to wystarczy w skrypcie usunąć przypisy po wyjściu z gry


..ale wykasowanie tych linijek z skryptu po wyjściu z gry nie usunie tych przypisów w systemie :D
Juz na poważnie. Dlatego "bezpieczniej" jest w tej sytuacji skorzystać z rozwiązania rafgc niż z Twojej propozycji (ADD)

Nawet w przypadku przypisów tworzonych domyślnie przez procedurę bootowania w ROMie (SYS: LIBS: DEVS: Cusmiech? Bo pamiętam, że te przypisy wcale tak łatwo podmienić nie było, uzywałem niejakiego "movesys" do tego.

Problem będziesz miał w przypadku np nazwy logicznej czyli zamontowanych urządzeń pod systemem np nie zmienisz w ten sposób assignu dla CD0, DH0 itp.
[#28] Re: Skrypty właczane ikonką

@BULI, post #27

Poza tym to nie tylko kwestia nr. biblioteki, ale również jej optymalizacji pod konkretny sprzęt.

Czyli co, do jednej aplikacji będzie potrzebował zoptymalizowanej pod 030 biblioteki z folderu z grą, a do drugiej niezoptymalizowanej z SYS:LIBS bo międzyczasie kartę wyciągniesz? :)
Na żywo jej wyciągał nie będziesz chyba, więc reset assigny i tak usunie :)

..ale wykasowanie tych linijek z skryptu po wyjściu z gry nie usunie tych przypisów w systemie szeroki uśmiech

Paweł, ja Cię proszę. Przypisy można usunąć poprzez REMOVE.

Problem będziesz miał w przypadku np nazwy logicznej czyli zamontowanych urządzeń pod systemem np nie zmienisz w ten sposób assignu dla CD0, DH0 itp.

Wiem co to assign a co to device. Natomiast Ty mnie chyba nie zrozumiałeś i nigdy "mocesys" nie używałeś.

Aha. Wheels of Fire chyba nie ma opcji quit z tego co pamiętam (reset tylko), więc w ogóle teoretyzujemy.

PS. Pamiętajcie, że jest jeszcze coś takiego jak PROGDIR: który ma zdaje się najwyższy priorytet przy przeszukiwaniu ścieżek.
[#29] Re: Skrypty właczane ikonką

@GumBoy, post #28

Czyli co, do jednej aplikacji będzie potrzebował zoptymalizowanej pod 030 biblioteki z folderu z grą, a do drugiej niezoptymalizowanej z SYS:LIBS bo międzyczasie kartę wyciągniesz? usmiech
Na żywo jej wyciągał nie będziesz chyba, więc reset assigny i tak usunie usmiech


Nie kartę, tylko procesor z płyty głównej.. wyciągnę na ostro, wykorzystam do tego obsługę przerwań..

..ale wykasowanie tych linijek z skryptu po wyjściu z gry nie usunie tych przypisów w systemie szeroki uśmiech

Paweł, ja Cię proszę. Przypisy można usunąć poprzez REMOVE.


Służę uprzejmie, podaję na tacy: Marcinie, to był ŻART- przeczytaj sobie zacytowaną przeze mnie twoją wypowiedz- ..i zrozum- ..i nie grzesz więcej ;)

Ostatnia aktualizacja: 22.02.2013 21:54:38 przez BULI

Ostatnia aktualizacja: 22.02.2013 22:07:00 przez BULI
[#30] Re: Skrypty właczane ikonką

@11111olo, post #25

Jestem początkującym co nie znaczy że nie staram się samemu poszukać rozwiązania.


Odnośnie poleceń AmigaDOS polecam zapoznać się z naszym FAQ. Są tam opisane polecenie i ich parametry.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem